C语言基础 1.下列四组选项中,均不是C语言关健字的选项是(A A)define B)get C)include D) while 个选项中,均是合法整型常量的选项是(A) -Oxffff 986,012 3.下面四个选项中,均是不合法的转义符的选项是(B) 4.下面不正确的字符串常量是(A A)'abc'B)"1212C)"0 5.以下选项中不合法的用户标识符是(A D)PRINT 6.C语言提供的合法关键字是(D) A)swi C)Case D). Default 7.下列标识符组中,合法的用户标识符为 A)_0123与 sniped B) del-word与 signed 8.在C语言中,逻辑值”真”的表示是用(C)。 A) true B)整型值0C)非另整型值D)T 9若有以下定义 char s= A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则 float类型数据占(D)个字节。 11已知字母A的 ASCII A码为十进制数65,且c2为字符型,则执行语句c2=A’+6-3’后,c2中的值为(A)。 A)D C)不确定的值 12逻辑运算符两侧运算对象的数据类型是(D)。 A)只是0或1 B)只能是0或非0正数C)只能是整型或字符型数据 可以是任何合法的类型数据 13 TURBO C中int类型变量所占字节数是(B) 14在C语言中,char型数据在内存中的存储形式是(D) C)原码 D) ASCII码 15若有以下定义,则能使值为3的表达式是(D ntk=7,x=12 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 16判断char型变量c1是否为小写字母的正确表达式为(D B)(c1>=A.&&(c=c)|(z'='a')&(cl<=z) 17己知各变量的类型说明如下: double x=1. 42 则以下不符合C语言语法的 b=3,a+b)D)a+=a-=(b=4)*(a=3) 若t为 double类型,表达式 下 t+的值是(D) B)6.0 10,i=4,则赋值运算n%=i+1执行后,n的值是(A) 设Intn=3:则有表达式+n,n的结果是( C)4 D)5 用十进制形式输入有符号整数时,在 scanf函数语句里格式字符为(AB)。 D 在 scanf函数语句中可用的修饰符有(ABCD) B) h D)宽度 1数据是操作的对象,操作的结果会改变数据的状况。对 2字符型变量用来存放字符常量,注意只能放2个字符。错 3C语言中可以把一个字符串赋给一个字符变量。错 4在C语言中的实型变量分为两种类型,它们是 float(实型)和 double(双精度实型)。错 5在C语言中,要求参加运算的数必须是整数的运算符是%.对 6若有以下定义,则执行下面表达式y+=y-=m*=y后,y的值为-6。intm=5,y=2;对 7输入语句的格式为: scanf("%d%d%d",&a,&b,kc);是正确的。对 8在 scanf("%d,%d”,&a,数b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。错 tchar函数的功能是接收从键盘输入的一串字符。错 10在变量说明中给变量赋初值的方法是:inta=b==10:错 12 printf函数是一个标准库函数,它的函数原型在头文件" stdio.h中。对 13 printf函数称为格式输入函数,它的函数原型在头文件" stdio.h"中。错 14在 printf函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。对 15若intx=3; printf("%d",&x);则系统会报错,没有任何结果。错 16逻辑运算符的优先级别高于算术运算符错 1在C语言中,表示逻辑”真”值用【1 2表达式pow(2.8,sqrt( double(x)值的数据类型为( doubt) 3假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是【8】
C 语言基础一: 1.下列四组选项中,均不是 C 语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C 语言提供的合法关键字是( D )。 A) swith B) cher C) Case D). Default 7.下列标识符组中,合法的用户标识符为 A A)_0123 与 ssiped B)del-word 与 signed C)list 与*jer D) keep%与 wind 8.在 C 语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值 0 C)非另整型值 D) T 9 若有以下定义 char s='\092'; 则该语句( B ) A)使 s 的值包含一个字符 B)定义不合法,s 的值不确定 C)使 s 的值包含 4 个字符 D)使 s 的值包含 3 个字符 10 设 C 语言中,int 类型数据占 2 个字节,则 float 类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11 已知字母 A 的 ASCII 码为十进制数 65,且 c2 为字符型,则执行语句 c2='A'+'6'-'3'后,c2 中的值为( A )。 A)D B)68 C)不确定的值 D)C 12 逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是 0 或 1 B) 只能是 0 或非 0 正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C 中 int 类型变量所占字节数是( B )。 A)1 B)2 C)3 D)4 14 在 C 语言中,char 型数据在内存中的存储形式是( D )。 A) 补码 B) 反码 C) 原码 D) ASCII 码 15 若有以下定义,则能使值为 3 的表达式是( D )。 int k=7, x=12; A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 16 判断 char 型变量 c1 是否为小写字母的正确表达式为 ( D )。 A) 'a'=A. &&(c1=c1)||('z'='a')&&(c1<='z') 17 已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42 则以下不符合 C 语言语法的表达式是( A )。 A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3) 若 t 为 double 类型,表达式 t=1,t+5,t++的值是( D )。 A)1 B)6.0 C)2.0 D)1.0 设 n=10,i=4,则赋值运算 n%=i+1 执行后,n 的值是( A ). A) 0 B) 3 C) 2 D) 1 设 Int n=3;则有表达式++n,n 的结果是( C )。 A)2 B)3 C)4 D)5 用十进制形式输入有符号整数时,在 scanf 函数语句里格式字符为( AB )。 A)d B)i C)n D)u 在 scanf 函数语句中可用的修饰符有( ABCD )。 A)* B)h C)l D)宽度 1 数据是操作的对象,操作的结果会改变数据的状况。 对 2 字符型变量用来存放字符常量,注意只能放 2 个字符。 错 3C 语言中可以把一个字符串赋给一个字符变量。 错 4 在 C 语言中的实型变量分为两种类型,它们是 float(实型)和 double(双精度实型)。 错 5 在 C 语言中,要求参加运算的数必须是整数的运算符是% . 对 6 若有以下定义,则执行下面表达式 y+=y-=m*=y 后,y 的值为-6。int m=5,y=2; 对 7 输入语句的格式为: scanf("%d%d%d",&a,&b,&c);是正确的。 对 8 在 scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。 错 9getchar 函数的功能是接收从键盘输入的一串字符。 错 10 在变量说明中给变量赋初值的方法是:int a=b=c=10; 错 12printf 函数是一个标准库函数,它的函数原型在头文件"stdio.h"中。 对 13printf 函数称为格式输入函数,它的函数原型在头文件"stdio.h"中。 错 14 在 printf 函数中,不同系统对输出表列的求值顺序不一定相同,TC 是按从右到左进行的。 对 15 若 int x=3; printf("%d",&x);则系统会报错,没有任何结果。 错 16 逻辑运算符的优先级别高于算术运算符 错 1 在 C 语言中,表示逻辑"真"值用【 1 】. 2 表达式 pow(2.8,sqrt(double(x)))值的数据类型为( doubt )。 3 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是【 8 】
若x是int 5若k为int整型变量且赋值7,请写出赋值表达式k*k+3的运算结果【70】。 6 scanf函数是一个标准库函数,它的函数原型在头文件【 stdio 】中 8在语句中,给变量赋值时,赋值语句必须以【分号】结尾 9当a=3,b=2,c=1时,表达式f=a>b>c的值是【0】 有一个为负数”的表达式【 0|ly(0&kx>=0】 11若a=6,b=4,c=3,则表达式a&b||b-c的值是【】 4,2=5,则表达式!(xy)+(y!=z)(x+y)&(y=2)的值是【1】 量的选项是(A) -Offf 下面四个选项中,均是不合法整型常量的选项是(D -Oxffff 0011 3下面正确的字符常量是(C) 4以下每个选项都代表一个常量,其中正确的整型常量是(B)。 D)456 5以下选项中不合法的用户标识符是(C) B)Printf D)Dim 6在下列C语言程序中,可以用做变量名的是( 7C语言提供的合法数据关键字是( A)float B)Sagned C) Integer D)Char 8以下符号中不能用作用户标识符的符号是(B A)256 D)Struct 9若k为int型变量,则以下语句(C) printf("%-06d \n,k) 输出格式描述不合法 B)输出为|008567C)输出为|8567 D)输出为|-08567 10 sizeof( float)是(B) A)一个双精度表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式 1在C语言中,int、char和 short三种类型数据在内存中所占用的字节数(D) A)由用户自己定 B)均为2个字节C)是任意的 D)由所用机器的机器字长决定 12判断char型变量c1是否为小写字母的正确表达式为 B)(c1>=A.&&(cl=cl)II(z='a)&&(cl<='z' 13以下叙述中正确的是(B A.a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值 C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值己由原值改变为b的值,b的值由原值变为0 D.已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 14表达式18/4*sqrt(4.0)/8值的数据类型为(C C)double D)不确定 5下列运算符中,不属于关系运算符的是(C 16若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是 A)A%2==1B)!(A%2==0)C)!(A%2)D)A%2 17已知各变量的类型说明如下: ouble x=1.42,y=5.2; 则以下符合C语言语法的表达式是(A) A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y= float(i) 18若变量己正确定义并赋值,下面符合C语言语法的表达式是(B)。 B)a=7+b+c,a++C)int12.3%4D)a=a+7=a+b 19逗号表达式(a=3*5,a*4),a+15的值为(C)。 C)30D)不确定 20设Intn=3:则n++的结果是(B) 1用小数或指数形式输入实数时,在 scanf函数语句里格式字符为(BCD) 2可以使用(CD)输入字符型数据 A)putchar(c): B)getchar(c): C)getchar O D)scanf("%c. &c) lC语言中数据有常量与变量之分 2一般一个字符变量在内存中占一个字节 3C语言规定,可以在定义变量时,同时使变量初始化。 4把k1、k2定义成基本整型变量,并赋初值0的定义语句是 int kl=k2=0;。错 5如果i的原值为3,则:j=++i,j的值为3。错 6凡是表达式都有一个值 7输入语句的格式为: scanf("%d,%d,%d”,a,b,c);是正确的。错 8在 scanf(%d,%*d,%”,ka,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。错 9 getchar函数的功能是接收从键盘输入的一个整数。错
4 若 x 是 int 型变量,则执行下面表达式后,x 的值为【 12 】。x=(a=4,6*2) 5 若 k 为 int 整型变量且赋值 7,请写出赋值表达式 k *= k + 3 的运算结果【70 】。 6scanf 函数是一个标准库函数,它的函数原型在头文件【 stdio.h 】中。 7getchar 函数可以接收【 单 】个字符,输入数字也按字符处理。 8 在语句中,给变量赋值时,赋值语句必须以【 分号 】结尾。 9 当 a=3,b=2,c=1 时,表达式 f=a>b>c 的值是【 0 】 10 设 x,y,z 均为 int 型变量,请写出描述"x,y 中有一个为负数"的表达式【 x=0||y=0 】 11 若 a=6,b=4,c=3,则表达式 a&&b||b-c 的值是【1 】 12 设 x=3,y=-4,z=5,则表达式!(x>y)+(y!=z)||(x+y)&&(y=z)的值是【 1 】 基础二 1 下面四个选项中,均是非法常量的选项是( A )。 A)'as' B)'\\' C)-0x18 D)0xabc -0fff '\01' 01177 '\0' '\0a' 12,456 0xf "a" 2 下面四个选项中,均是不合法整型常量的选项是( D )。 A)-0f1 B)-0xcdf C) -018 D)-0x48eg -0xffff 017 999 -068 0011 12,456 5e2 03f 3 下面正确的字符常量是( C )。 A) "c" B) '\\'' C) 'W' D) ' 4 以下每个选项都代表一个常量,其中正确的整型常量是( B )。 A)1.2 B)-20 C)1,000 D)4 5 6 5 以下选项中不合法的用户标识符是( C )。 A)_123 B)Printf C)A$ D)Dim 6 在下列 C 语言程序中,可以用做变量名的是( B )。 A) 1 B) a1 C) int D) *p 7C 语言提供的合法数据关键字是( A )。 A) float B) Sagned C) Integer D) Char 8 以下符号中不能用作用户标识符的符号是( B )。 A)_256 B)void C)scanf D)Struct 9 若 k 为 int 型变量,则以下语句( C )。 k=8567; printf("|%-06d|\n",k); A)输出格式描述不合法 B)输出为|008567| C)输出为|8567| D)输出为|-08567| 10sizeof(float)是( B )。 A)一个双精度表达式 B)一个整型表达式 C)一种函数调用 D)一个不合法的表达式 11 在 C 语言中, int、char 和 short 三种类型数据在内存中所占用的字节数( D )。 A)由用户自己定义 B)均为 2 个字节 C)是任意的 D)由所用机器的机器字长决定 12 判断 char 型变量 c1 是否为小写字母的正确表达式为 ( D )。 A) 'a'=A. &&(c1=c1)||('z'='a')&&(c1 = C) ! D) ! = 16 若希望当 A 的值为奇数时,表达式的值为真,A 的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是 ( C )。 A) A%2= =1 B) !(A%2= =0) C) !(A%2) D) A%2 17 已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合 C 语言语法的表达式是( A )。 A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i) 18 若变量已正确定义并赋值,下面符合 C 语言语法的表达式是( B )。 A)a=a+7; B)a=7+b+c,a++ C)int 12.3%4 D)a=a+7=a+b 19 逗号表达式(a=3*5,a*4),a+15 的值为( C )。 A)15 B)60 C)30 D)不确定 20 设 Int n=3;则 n++的结果是( B )。 A)2 B)3 C)4 D)5 1 用小数或指数形式输入实数时,在 scanf 函数语句里格式字符为( BCD )。 A)i B)f C)e D)g 2 可以使用( CD )输入字符型数据。 A)putchar(c); B)getchar(c); C)getchar(); D)scanf("%c",&c); 1C 语言中数据有常量与变量之分。 2 一般一个字符变量在内存中占一个字节。 3C 语言规定,可以在定义变量时,同时使变量初始化。 4 把 k1、k2 定义成基本整型变量,并赋初值 0 的定义语句是 int k1=k2=0; 。错 5 如果 i 的原值为 3,则:j = ++ i,j 的值为 3。 错 6 凡是表达式都有一个值。 7 输入语句的格式为:scanf("%d,%d,%d",a,b,c);是正确的。 错 8 在 scanf("%d,%*d,%d",&a,&b)函数中,当输入为 1,2,3 时,将 1 赋给 a,将 2 赋给 b。 错 9getchar 函数的功能是接收从键盘输入的一个整数。 错
10假定变量a,b,c在说明时己赋初值,则if((a=b;:)>0)c=a;是正确的。错 12 printf函数是一个标准库函数,它的函数原型在头文件" string. h"中。错 13在 printf函数中,格式字符d的意义是:以十进制形式输出带符号整数 14在 printf函数中,输出表列的各输出项之间可用冒号分隔。错 15若intx=3; printf("%d",&x);则系统不会报错,会输出x的地址 16inta=0,b=1,c=2;则表达式al|b+c&kb==c的值为0 1若有以下定义: char c=010°;则变量C中包含的字符个数为( 2若有以下定义:intx=3,y=2: float a=2.5,b=3.5;则下面表达式的值为【1】。(x+y)‰+(int)a/(int)b 3若a是int型变量、且a的初值为6,则执行下面表达式后,a的值为【60】a+=a-=a*a 5若a是int型变量,且a的初值为6,则计算表达式后a的值为【60】。a+=a-=a*a 6 scanf函数的地址表列中给出各变量的地址,地址是由【地址运算符"&”】后跟变量名组成的。 7使用 getchar函数接收字符,若输入多于一个字符时,只接收第【 8C语言的格式输出函数是【 printf0】 9当a=5,b=4,c=2时,表达式a>b!=c的值是【1】 10已知A=7.5,B=2,C=3.6,表达式A>B&C>A||AB的值是【0】 11若a=3,b=2,c=1,则表达式a-b in() if((++i>0)&(++j>0) printf ("i=d, j=od. 3有如下程序 inta=2,b=-1,c=2; if(a12?x+10:x-12 intf("% 22 C)12D)10 6以下程序的输出结果是() t int i=0 if((+i1>0)|1(++j>0)k++; printf("%d, %d, %d\n, i, j, k) A)0,0,6B)1,0,7C)1,1,7D)0.1,7 7若变量都己正确说明,则以下程序段输出为( inta=1,b=2,c=3; printf("a=%d b=d c=%d\n", a, b, c) A)a=1b=2c=1B)a=1b=2c=3C)a=1b=3c=1D)a=2b=3c=2 8当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是() if(a<b if(c<d)x=
10 假定变量 a,b,c 在说明时已赋初值,则 if ((a=b;)>0) c=a;是正确的。 错 11 12printf 函数是一个标准库函数,它的函数原型在头文件"string.h"中。 错 13 在 printf 函数中,格式字符 d 的意义是:以十进制形式输出带符号整数。 14 在 printf 函数中,输出表列的各输出项之间可用冒号分隔。 错 15 若 int x=3; printf("%d",&x);则系统不会报错,会输出 x 的地址。 16int a=0,b=1,c=2;则表达式 a||b+c&&b==c 的值为 0 1 若有以下定义:char c='\010';则变量 C 中包含的字符个数为( 1 )。 2 若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【 1 】。(x+y)%2+(int)a/(int)b 3 若 a 是 int 型变量、且 a 的初值为 6,则执行下面表达式后,a 的值为【 60 】。a+=a-=a*a 4 若 x 是 int 型变量,则执行下面表达式后,x 的值为【 4 】。x=a=4,6*2 5 若 a 是 int 型变量,且 a 的初值为 6,则计算表达式后 a 的值为【 60 】。a+=a-=a*a 6scanf 函数的地址表列中给出各变量的地址,地址是由【 地址运算符"&" 】后跟变量名组成的。 7 使用 getchar 函数接收字符,若输入多于一个字符时,只接收第【 一 】个字符。 8 C 语言的格式输出函数是【 printf() 】。 9 当 a=5,b=4,c=2 时,表达式 a>b!=c 的值是【 1 】 10 已知 A=7.5,B=2,C=3.6,表达式 A>B&&C>A || AB 的值是【 0 】 11 若 a=3,b=2,c=1,则表达式 a-b5) printf("%d\n",m); else printf("%d\n",m--); A)7 B)6 C)5 D)4 2 以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3 有如下程序 main() { int a=2,b=-1,c=2; if(a12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6 以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7 若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c); A)a=1 b=2 c=1 B)a=1 b=2 c=3 C)a=1 b=3 c=1 D)a=2 b=3 c=2 8 当 a=1,b=3,c=5,d=4 时,执行完下面一段程序后 x 的值是( ) if(a<b) if(c<d)x=1; else if(a<c) if(b<d)x=2; else x=3;
9以下不正确的语句为() A)if(x>y) B)if(x=y)&&(x!=0)x+=y C)if(xl=y)scanf(%d", &): else scanf("%d", &y) 10有以下程序 for ((i=getchar ()!=\n': switch(i-’a') case 1: putchar (i+1): break case 3: break default: putchar (i): break; 输入下列数据后,程序的输出结果是() abcde A) abcde B)abee C)abbe D)abccdd b、cl、c2、x、y、均是整型变量,正确的 switch语句是() A) switch(a+b) B)switch(a*a+b*b) I case 1: y=a+b: break case 0: y=a-b: case 1: y=a+b: break ase 3: y=b-a, break C)switch a D) switch(a-b case 2 y=akd: break case cl: case 4: x=a+b: break default:x=a+b c2: case 11: y=a-b: break default: y=a*b: break: 12写出下面程序输出结果() intx=1,y=0,a=0,b=0 (case 0: a++: case 1: b++I case 2. a++: b++ printf("a=d, b=%d\n, a, b B)a=1,b=1C)a=1,b=0D)a=2,b=2 13C语言的for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 14下面有关for循环的正确描述是()。 B)for循环是先执行循环体语句,后判定表达式 C)在for循环中,不能用 break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来 15以下程序段( A)是死循环B)循环执行2次 循环执行一次 D)有语法错误 6如下的数组中,数组aray占用的内存空间是()个字节 char array]={c’,"h D.不确定 17设有程序段 while(k=0) A) while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次 18下列程序段的运行结果是() int n=0 while(n++<3) printf("d,n) D.以上都不对 19设有程序段
else x=6; else x=7; A) 1 B)2 C)3 D)6 9 以下不正确的语句为( ) A)if(x>y); B)if(x==y)&&(x!=0)x+=y; C)if(x!=y)scanf("%d",&x);else scanf("%d",&y); D)if(x A) abcde B) abcee C) abbde D) abccdd 11 若 a、 b、c1、c2、x、y、均是整型变量,正确的 switch 语句是( ) A) switch(a+b); B) switch(a*a+b*b) { case 1:y=a+b; break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case 1 :y=a-b; break { case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; } default:y=a*b;break; } 12 写出下面程序输出结果( ) {int x=1, y=0, a=0, b=0; switch(x) {case 1: switch(y) {case 0: a++; case 1: b++; } case 2: a++; b++; } printf("a=%d, b=%d\n", a, b) ; } A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 13C 语言的 for 语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式 均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。 A) < B) ++ C) ; D) , 14 下面有关 for 循环的正确描述是( )。 A) for 循环只能用于循环次数已经确定的情况 B) for 循环是先执行循环体语句,后判定表达式 C) 在 for 循环中,不能用 break 语句跳出循环体 D) for 循环体语句中,可以包含多条语句,但要用花括号括起来 15 以下程序段( )。 x=-1; do { x=x*x;} while(!x) A) 是死循环 B) 循环执行 2 次 C) 循环执行一次 D) 有语法错误 16 如下的数组中,数组 array 占用的内存空间是( )个字节。 char array[]={'c','h','i','n','a'}; A. 1 B. 5 C. 6 D. 不确定 17 设有程序段 int k=10; while(k=0) k=k-1; 则下面描述正确的是( )。 A) while 循环执行 10 次 B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次 18 下列程序段的运行结果是( ) int n=0; while(n++<3); printf("%d",n) A. 2 B. 3 C. 4 D. 以上都不对 19 设有程序段 t=0;
while( printf(*”)) if (t maino int y=10: do i y-: I while(--y printf("%d\n",y-) 8 21以下程序段的输出结果是() for(;i++y: x=i++)i=x: B)for(::x++=i C)while(1)(x++ I D)for (i=10: 23有如下语句 printf("%d\n,x-=2): while(! (--x)) 则上面程序段() B.输出的是1和-2C.输出的是3和0 D.是死循环 24以下不是无限循环的是() =i++) i=x: B. for( ) C. while(1)x++: D. for(i=10 25以下正确的描述是( A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和 switch语句内使用 break语句 C)在循环体内使用 break语句或 continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto语句 26以下程序输出结果为() Include stdio. h ain O nt i, b, k=0: while(b-->=0)k++: I printf("%d, %d\n",, b) 3,-1 B.8,-1 D.8.-2 27以下程序段中循环体总的执行次数是() for(i=7; i for(j=0:j<6:j+) B)21 D)36 28以下不正确的描述是() A. break语句不能用于循环语句和 switch语句外的任何其他语句 B.在 switch语句中使用 break语句或 continue语句的作用相同 C.在循环语句中使用 nue语句是为了结束本次循环,而不是终止整个循环的执行 D.在循环语句中使用 break语句是为了使流程跳出循环体,提前结束循环 se语句总是和靠它最近的if匹配 2 switch语句中一定有 default分支 3case后只能跟常量,不能跟变量 4 break语句的作用就是结束本层循环。 do- while语句构成的循环不能用其它语句构成的循环来代替 6用 do-while语句构成循环时,只要 while后的表达式为0时就结束循环 7for(表达式1;表达式2:表达式3)中,表达式1和表达式3不能同时都是逗号表达式 8for循环中,如果表达式2为空,则该循环一定是死循环 9while循环的 while(后没有分号,而 do-while循环的 whiled后一定要有一个分号。 l0for(i=0,j=10:i<=j:i+,j)k=i+j;执行完后,k的值为50。 1若a、b均为int型变量,且a=100.则以下的for循环是死循环 or(b=100;a!=b;++a,b++) 2以下程序的运行结果是【后;变量1的值是5 执行语句:for(i=1
while(printf("*")); { t++; if (t main() { int y=10; do { y--;} while(--y); printf("%d\n",y--); } A) -1 B) 1 C) 8 D) 0 21 以下程序段的输出结果是( ). main() { int i=5; for ( ;i++y;x=i++) i=x; B) for( ; ;x++=i); C) while(1){x++;} D) for(i=10; ; i--) sum+=i; 23 有如下语句 int x=3; do { printf("%d\n",x-=2);} while(!(--x)); 则上面程序段( ) A. 输出的是 1 B. 输出的是 1 和-2 C. 输出的是 3 和 0 D. 是死循环 24 以下不是无限循环的是( ) A. for(y=0,x=1;x>++y;x=i++) i=x; B. for( ; ;x++=i); C. while(1) x++; D. for(i=10; ;i--) s+=i; 25 以下正确的描述是( )。 A) continue 语句的作用是结束整个循环的执行 B) 只能在循环体内和 switch 语句内使用 break 语句 C) 在循环体内使用 break 语句或 continue 语句的作用相同 D) 从多层循环嵌套中退出时,只能使用 goto 语句 26 以下程序输出结果为( ) #include "stdio.h" main() {int i,b,k=0; for(i=1;i=0) k++;} printf("%d,%d\n",k,b); } A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2 27 以下程序段中循环体总的执行次数是( ) int i,j; for(i=7;i;i--) for(j=0;j<6;j++) {......} A) 42 B) 21 C) 13 D) 36 28 以下不正确的描述是( ) A. break 语句不能用于循环语句和 switch 语句外的任何其他语句 B. 在 switch 语句中使用 break 语句或 continue 语句的作用相同 C. 在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环的执行 D. 在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环 1else 语句总是和靠它最近的 if 匹配。 2switch 语句中一定有 default 分支 3case 后只能跟常量,不能跟变量 4break 语句的作用就是结束本层循环。 5do-while 语句构成的循环不能用其它语句构成的循环来代替。 6 用 do-while 语句构成循环时,只要 while 后的表达式为 0 时就结束循环。 7for(表达式 1;表达式 2;表达式 3)中,表达式 1 和表达式 3 不能同时都是逗号表达式。 8for 循环中,如果表达式 2 为空,则该循环一定是死循环。 9while 循环的 while()后没有分号,而 do-while 循环的 while()后一定要有一个分号。 10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k 的值为 50。 1 若 a、b 均为 int 型变量,且 a=100,则以下的 for 循环是死循环. for (b=100;a!=b;++a,b++) printf("----\n"); 执行语句:for(i=1;i++<4;++i);后;变量 i 的值是 5。 2 以下程序的运行结果是【 】
main O 3以下程序的运行结果是【】 main O printf("%d, %d,x, x&&lyl lz) 4以下程序的运行结果是【】 main O a=-1;b=3;c=3 if(a0) f(c0)w=a-b printf("%d, %d, %d\n", s, w, t) 5阅读下面程序 main o I int s, t, a, b scanf("%d%d f(a>0)s=s+1; if(a>b)t=s+t else if (a==b) t=5 printf(s=d. t=od.s, t) 6为了使输出结果t=4,输入量a和b应满足的条件是【】 7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。 include main O anf("%",&a) hile(【】){if(max scanf(%d,&a) printf("%d", max) 8执行下面的程序段后,k值是【】。 k*=n%10;n/=10;} while(n) 9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。 sinclude main O a=2;d=3;sum=0 u+=a; (【】) printf("%dun",sum) I while(sumb)a=b: printf (%d\n, a)
main() {int x,y,z; x=1;y=2;z=3; x=y--0)s=a+b; if(a0) if(c0)w=a-b; else t=c; printf("%d,%d,%d\n",s,w,t); } 5 阅读下面程序: main() { int s, t, a, b; scanf("%d%d",&a, &b); s=1; t=1; if(a>0) s=s+1; if(a>b) t=s+t; else if (a==b) t=5; else t=2*s; printf("s=%d, t=%d", s, t); } 6 为了使输出结果 t=4, 输入量 a 和 b 应满足的条件是【 】 7 下面程序的功能是在输入的一批整数中求出最大者,输入 0 结束循环。 #include main() { int a,max=0; scanf("%d",&a) while(【 】){ if (max main() { int a,d,sum; a=2;d=3;sum=0; do { sum+=a; a+=d; if (【 】) printf("%d\n",sum); } while(sum main ( ) { int a=14, b=63; while (a!=b) {while (a>b) a-=b; while (a<b) b-=a; } printf ("%d\n",a);
12下列程序的输出为【】 I if(i%3==2)break for(j=0:j<4:j++) if(j%2)break printf("x=%dn”,x) ase 1: printf(*2*): break 2: printf(*3*): break C语言(数组)一 main O int i,a[ll]: printf("给数组赋值:n") for(i=0:i<=10:i++) scanf(%d".( intf("输出数组:Ⅶn"): for(i=0;i<=10:i++ printf(%d 则在程序中的两个园括号中分别应填入 A)&a[i]和&a[i]B)a[i]和&a[i]C)&a[i和a[ D)a[i]和a[i] 设己定义:inta[15];则数组a占用的内存单元数是() A)15B)16C)30D)32 阅读程序 main O inta[2]={0},i,j,k=2 for(j=0: j<k: j++)alj=ali]+l printf("%d\n,a[k]) 以上程序的输出结果是 A)1B)3C)2D)不确定的值 f(int bl. int n) for(i=0: i<=n: i++)r=r*blil main o a[]={2,3,4,5,6,7,8,9} 以上程序的输出结果是() B)6C)24D)120 以下定义语句中,错误的是() A)inta[]=f6,7,8};B)intn=5,a[n]:C) char a[]=" string":D) char a[5]={0,"1',"2',3’,"4' 以下描述中正确的是() 名后面的常量表达式用一对圆括弧括起来B)数组下标从1开始 下标的数据类型可以是整型或实型D)数组名的规定与变量名相同 数组并初始化 char a[10]={0',1’,"2,3’,"’4',5’,6’,T,8',"g}:指出以下错误语句() f("%c",a[3]);D) ntf(%s", a) 若定义数组inta[10],其最后一个数组元素为 A)a[8]的值为0B)a[1]的值为1C)a[3]的值为4D)a[9]的值为0 指出以下错误语句() [10]:C) [10]={1,2,3} a[10]={1,2,3,4,5,67,8,9,10} main O
} 12 下列程序的输出为【 】。 #include main() { int i,j,x=0; for(i=0;i<3;i++) { if(i%3==2) break; x++; for(j=0;j<4;j++) { if(j%2) break; x++; } x++; } printf("x=%d\n",x); } case 1:printf("*2*");break;} case 2:printf("*3*");break; } C 语言(数组)一 设有程序: main() { int i,a[11]; printf("给数组赋值:\n"); for (i=0;i<=10;i++) scanf("%d",( )); ... ... printf("输出数组:\n"); for(i=0;i<=10;i++) printf("%d,",( )); } 则在程序中的两个园括号中分别应填入: A) &a[i]和&a[i] B) a[i]和&a[i] C) &a[i]和 a[i] D) a[i]和 a[i] 设已定义:int a[15]; 则数组 a 占用的内存单元数是( ). A) 15 B) 16 C) 30 D) 32 阅读程序: main() { int a[2]={0},i,j,k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) a[j]=a[i]+1; printf("%d\n",a[k]); } 以上程序的输出结果是( ). A) 1 B) 3 C) 2 D) 不确定的值 阅读程序: f(int b[],int n) { int i,r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 以上程序的输出结果是( ). A) 720 B) 6 C)24 D) 120 以下定义语句中,错误的是( ). A) int a[ ] = {6,7,8}; B) int n=5, a[n]; C) char a[ ]= "string"; D) char a[5 ]={'0','1','2','3','4'}; 以下描述中正确的是( ). A) 数组名后面的常量表达式用一对圆括弧括起来 B) 数组下标从 1 开始 C) 数组下标的数据类型可以是整型或实型 D) 数组名的规定与变量名相同 若定义数组并初始化 char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( ). A) scanf("%c",a[0]); B) scanf("%s",&a); C) printf("%c",a[3]); D) printf("%s",a); 若定义数组 int a[10] ,其最后一个数组元素为( ). A) a[0] B) a[1] C) a[9] D) a[10] 若定义数组并初始化 int a[10]={ 1,2,3,4},以下语句哪一个不成立( )? A) a[8] 的值为 0 B) a[1] 的值为 1 C) a[3] 的值为 4 D) a[9] 的值为 0 指出以下错误语句( ). A) int n=10,a[n]; B) int n,a[10]; C) int a[10]={1,2,3}; D) int a[10]={1,2,3,4,5,6,7,8,9,10}; 请读程序: main() {int n[2],i,j,k; for(i=0;i<2;i++) n[i]=0; k=2; for(i=0;i<k;i++)
for(j=0: j<k: j++)n[j]=n[i]+l 上面程序的输出结果是 A)不确定的值 D)1 若有以下的定义和语句 tstr[2]={1,2,3,4,5,6,7,8,9,10,11,12} char c 数值为2的表达式是() A)str[g-clB)str[2]C) str['d-’c’]D)str[d 设有数组定义:inta[5];则下列给数组元素赋值错误的是() A)a[3]=93;B) scanf("%c",a[3]);C)a[3]= getchar0;D)a[3]=a’+3 以下数组定义中错误的是( A)#define N 30 B)#define N 30 int a NI C) int a[30] 在定义一个一维数组时,不能用来表示数组长度的是() A)常量B)符号常量C)常量表达式D)已被赋值的变量 float型变量占用4个字节,有定义 float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是() 设已定义:intx2][4]={1,2,3,4,5,6,7,8};则元素x[1][1]的正确初值是( 设有定义:inta][3]={1,2,3},{4,5,6},{7,8,9}:则a[1][2]的初值为() A)2B)4C)6D)8 设有:inta[4][5];则数组a占用的内存字节数是() A)12B)24C)40D 以下数组定义中,不正确的是() A)intb[3][4]:B)intc[3][]={1,2},{1,2,3},{4,5,6.7};C)intb[200[100]={0} B)D)intc[][3]={ 定义数组:intx[2][3]:则数组x的维数是( A)1B)2C)3D) 若定义数组并初始化intb[2][3]={1,2,3,4,5,6,以下语句哪一个成立()? 表达式b[1][2]的值为1B)表达式b[[2]的值为4 C)表达式b[][2]的值为6D)表达式b[1][2]的值为2 若定义数组并初始化inta[2][3]={1,2,3},4,5,6}};for(i=0:i<2:i+)for(j=0:j3:j++) A)1,2,3,4,5,6B)123456C) 若定义数组并初始化inta[2][3]={{1,2,3},{4,5,6}};以下语句哪一个不成立()? 8a数组中有个汇蓄为数“b213是数组想的敏组个元素的明用 定义如下变量和数组 tx[3][3]={1,2,3,4,5,6,7,8,9 r(i=0:i<3;i++) printf("%d",x[i][2-i]) A)159B)1 如有以下定义: double s][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);则数值为2的元素是() A)s[1][3]B)s[0][3]C)s[0][2]D)s[l][2] 以下程序的输出结果是() maino {inta[3][3]={{1,2},{3,4},{5,6},i,j,s=0: (j=0:j<=i:j++) printf("%d,s): A)18B)19 若己有 char b[10][50]:则该二维字符数组在内存所占字节数为() int a 3}:C)intc[5][5]={0);D)intd[3][]={12},{1,2,3},{1,2,3,4} 设有: char a[10]:下列语句那个是正确的()? A)scanf("%s", a[o]): B)scanf(%s, &a): C) printf("%s", a[o]) D)printf("%s", a char a[10] for(i=l: i<=5 scanf("%c"&alil) printf("c, a[0]): 设从键盘输入字符串: abcde,则程序的输出结果是(). A)aB)空格C)不确定D)0 设有: char a[4][5];则数组a占用的内存字节数是() A)12B)24C)40D)20 A)int a[ ]="string" B)int a[5]=0, 1, 2, 3, 4, 5: C) char a="string": D)char a[ ]=to, '1, 2, 3) 设有数组定义: char string[]= China:则数组 string所占的空间为(
for(j=0;j<k;j++) n[j]=n[i]+1; printf("%d\n",n[k]); } 上面程序的输出结果是( ). A)不确定的值 B)3 C)2 D)1 若有以下的定义和语句: int str[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='e', 则数值为 2 的表达式是( ). A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c] 设有数组定义:int a[5];则下列给数组元素赋值错误的是( ). A) a[3]=93; B) scanf("%c",a[3]); C) a[3]=getchar(); D) a[3]='a'+3; 以下数组定义中错误的是( ). A) #define N 30 B) #define N 30 int a[N+30]; int a[N]; C) int a[30]; D) int a[N]; 在定义一个一维数组时,不能用来表示数组长度的是( ). A)常量 B)符号常量 C)常量表达式 D) 已被赋值的变量 若 float 型变量占用 4 个字节,有定义 float a[20]={1.1,2.1,3.1};则数组 a 在内存中所占的字节数是( ). A)12 B)20 C)40 D)80 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素 x[1][1]的正确初值是( ). A) 6 B) 5 C) 7 D) 1 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则 a[1][2]的初值为( ). A) 2 B) 4 C) 6 D) 8 设有:int a[4][5]; 则数组 a 占用的内存字节数是( ). A) 12 B) 24 C) 40 D) 20 以下数组定义中,不正确的是( ). A) int b[3][4]; B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}}; C) int b[200][100]={0}; B) D) int c[ ][3]={{1,2,3},{4,5,6}}; 定义数组:int x[2][3]; 则数组 x 的维数是( ). A) 1 B) 2 C) 3 D) 6 若定义数组并初始化 int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( )? A) 表达式 b[1][2]的值为 1 B) 表达式 b[1][2]的值为 4 C) 表达式 b[1][2]的值为 6 D) 表达式 b[1][2]的值为 2 若定义数组并初始化 int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++) for(j=0;j<3;j++) printf("%d",a[i][j]);语句的结果是哪一个( )? A) 1,2,3,4,5,6 B) 1 2 3 4 5 6 C) 123456 若定义数组并初始化 int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( )? A) a 数组中有 6 个元素 B) a[2][3]是 a 数组的最后一个元素的引用 C) a 数组中每个元素都为整数 D) a 数组是整型数组 定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( ). for(i=0;i<3;i++) printf("%d",x[i][2-i]); A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为 2 的元素是( ). A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2] 以下程序的输出结果是( ). main() {int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d",s); } A) 18 B) 19 C) 20 D) 21 若已有 char b[10][50];则该二维字符数组在内存所占字节数为( ). A) 10 B)50 C)60 D)500 A)int a[2][3]; B)int b[][3]={0,1,2,3}; C)int c[5][5]={0}; D)int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}}; 设有:char a[10]; 下列语句那个是正确的( )? A) scanf("%s",a[0]); B) scanf("%s",&a); C) printf("%s",a[0]) D) printf("%s",a) 阅读程序: main() { char a[10]; int i; for(i=1;i<=5;i++) scanf("%c",&a[i]); printf("%c",a[0]); } 设从键盘输入字符串:abcde,则程序的输出结果是( ). A) a B)空格 C)不确定 D)0 设有:char a[4][5]; 则数组 a 占用的内存字节数是( ). A) 12 B) 24 C) 40 D) 20 合法的数组定义是( ). A) int a[ ] = "string"; B) int a[5]={0,1,2,3,4,5}; C) char a= "string"; D) char a[ ]={'0','1','2','3'}; 设有数组定义:char string[ ]="China";则数组 string 所占的空间为( )
A)5个字节B)6个字节C)7个字节D)10个字节 定义字符数组c: char c[]={" c language"h:数组c在内存中所占字节数是() C)11D)12 出以下错误语句() A) char a[10]={0°,'1’,"2',3',"4',"5','6',"7,8,"g'}:B) char a[10]={0°,1',"2,3'} har a[2]=['a 若定义数组并初始化 char a[10]={" hello",该数组的元素个数是() 定义数组并初始化 char a[10]={"HELL0"},该数组的元素中a[2]是() 若定义数组并初始化intb[10]={1,2,3,4},以下哪几个语句成立()? A)b[8]的值为0B)b[的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素 若定义数组inta[10]:指出下列错误语句 A)a数组共有10个元素,其引用方法是:a[1],a[2]..a[10]:B)a数组是整型数组,其元素自动初始化为0 C)a数组最后一个元素的引用方法是a[10]:D)a数组第一个元素的引用方法是a[1] 数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。 数组是C语言的一种枃造数据类型,其元素的类型可以是整型、实型、字符型甚至结构 设需定义一个有15个元素的数组a,并对其前5个元素赋初值,可用如下语句实现 2,3,4,5} 数组定义时,只允许使用常量表达式定义数组的大小,其值必须是正整数,而不能用变量来定义数组长度 C语言数组的下标从0开始,下标必须是整数型的常量或变量。 数组是数目固定、类型相同的若干变量的有序集合。数组中的每一个数(变量)称为数组元素,数组中的所有元素都属于同 种数据类型。 数组元素下标的下界是固定的,总是为0 一维数组在引用时下标的范围是:0<=下标<数组的长度 若有数组定义为:inta[100]:则该数组的下界为0,上界为100。数组元素下标范围是:下界(=下标<上界 设已定义: double a[5][5];则数组a在内存中的存放顺序是:a[o][0],a[0][1],a[0][2] C语言(数组) 设已定义: float a[15];则数组a可引用的元素有() A)a[1]a[15]B)a[o]a[15] 以下程序段给数组所有元素输入数据 inta[10],i=0; while(i<10) scanf(%d".( ) 应在园括号中填入的是 A)a+(i++)B)a[i+1]C)a+iD)&a[++i] 若有以下定义: double w[100];则数组w的元素下标范围是() A)[0,100]B)[0,99]C)[1,100]D)[1,99 若有以下说明:inta[10]={1,2,3,4,5,6,7,8,9,10}; char c=a’;则数值为4的表达式是 A)a['f-c] B)a[4] c)al'd'-c] D)al'd'-cI 已知int类型变量在内存中占用2个字节,定义数组intb[8]={2,3,4}:则数组b在内存中所占字节数为() A)3B)6C)8D)16 用数组名作为函数调用时的实参,实际上传送给形参的是( B)数组的第一个元素值 C)数组中全部元素的值D)数组元素的个数 若定义数组inta[10],其数组元素的下标下限为( 若定义数组inta[10],以下语句哪一个不成立()? A)a数组在内存中占有一连续的存储区B)a代表a数组在内存中占有的存储区的首地址 C)*(a+1)与a[1代表的数组元素相同D)a是一个变量 若定义数组并初始化inta[10]={1,2,3,4},以下语句哪一个成立()? 若引用a[10],編译时报错B)若引用a[10],连接时报错C)若引用a[10],运行时出错D)若引用a[10],系统不报错 若定义数组并初始化inta[10]={1,2,3,4},以下语句哪一个不成立()? A)a[10]是a数组的最后一个元素的引用B)a数组中有10个元素 C)a数组中每个元素都为整数D)a数组是整型数组 执行下面的程序段后,变量k中的值为() s[0]=k;k=s[l]*10 A)不定值B)33C)30D)10 如己有定义:inta[4]:若要把10,20.30,40分别赋值给数组a的4个元素,下面正确的赋值方式是() A) scant("%d%d%d%d",a[0],a[1],a[2],a[3]} B)scanf(%s", a C)a={10,20,30,40} D)a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10:a[3]=a[2]+10 下列数组定义正确的是() A)int B) char a[100]={68,69,70};C)intn=100,a[n]:D) char n=4,a[n]={"abc"} 维数组初始化时,若对部分数组元素赋初值,则下面正确的说法是( A可以只对数组的前几个元素赋初值B)可以只对数组的中间几个元素赋初值 C)可以只对数组的后几个元素赋初值D)以上说法全部正确 决定数组所占内存单元多少的是( A)数组的长度B)数组的类型C)数组在初始化时被赋值的元素的个数D)数组元素的个数及其类型 以下程序的输出结果是() printf("%d%d%d",a[2],a[5],a[8])
A) 5 个字节 B) 6 个字节 C) 7 个字节 D) 10 个字节 定义字符数组 c:char c[ ]={"c language"};数组 c 在内存中所占字节数是( ). A) 9 B) 10 C) 11 D) 12 指出以下错误语句( ). A) char a[10]={'0','1','2','3','4','5','6','7','8','9'}; B) char a[10]={'0','1 ','2','3'}; C) char a[2]= {"1","2"}; D) char a[2]= {'a’,'b’}; 若定义数组并初始化 char a[10]={"hello"},该数组的元素个数是( ). A) 10 B) 5 C) 6 D) 7 若定义数组并初始化 char a[10]={"HELLO"},该数组的元素中 a[2]是( ). A) 'L' B) 'E' C) 'H' D) 'O' 若定义数组并初始化 int b[10]={ 1,2,3,4},以下哪几个语句成立( )? A)b[8]的值为 0 B)b[1]的值为 1 C)b[3]的值为整数 D)b[10]不是 b 数组中的元素 若定义数组 int a[10];指出下列错误语句: A) a 数组共有 10 个元素,其引用方法是:a[1],a[2]...a[10]; B) a 数组是整型数组,其元素自动初始化为 0; C) a 数组最后一个元素的引用方法是 a[10]; D) a 数组第一个元素的引用方法是 a[1]; 数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。 数组是 C 语言的一种构造数据类型,其元素的类型可以是整型、实型、字符型甚至结构类型。 设需定义一个有 15 个元素的数组 a,并对其前 5 个元素赋初值,可用如下语句实现:int a[]={1,2,3,4,5}; 数组定义时,只允许使用常量表达式定义数组的大小,其值必须是正整数,而不能用变量来定义数组长度。 C 语言数组的下标从 0 开始,下标必须是整数型的常量或变量。 数组是数目固定、类型相同的若干变量的有序集合。数组中的每一个数(变量)称为数组元素,数组中的所有元素都属于同 一种数据类型。 数组元素下标的下界是固定的,总是为 0。 一维数组在引用时下标的范围是:0 =0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]);
A)258B)741C)852D)369 *define N #define m n 则数组a的元素个数和最后一个元素分别为( A)15,a[5][3] 15,a[3][5]C)8,a[4][2]D)15,a[4][2 设有:intx[2][4]={1,2,3,4,5,6,7,8}; printf("",x[2][41]):则输出结果是() )8B)lC)随机数D)语法检查出错 maino inti,a[3][3]={1,2,3,4,5,6,7,8,9 for(i=0: i<3; i++) printf("d,,ali][2-i] A)1,5,9B)1,4,7C)3,5.7D)3,6,9 以下数组定义中正确的是( A)float f[3, 4]: B)int a[ ][4]: c) char c(3) D) double d[3+2][4] 指出以下错误语句 ta[2][3]={1,2,3},{4,5,6}};B)intb[2][3]={1,2,3,4,5,6} C)inta]={{1,2,3},{4,5,6};D) 12,3},{4,5,6}} 若定义数组并初始化 int bl[3]={1,2,3},{4,5,6}};以下语句哪一个成立()? A)b[1[2]的值为1 b[1][2]的值为4C)b[[2]的值为6D)b[][2]的值为2 若定义数组并初始化intb[[3]={1,2,3},{4,5,6}};以下语句 A)b[1][2]的值为1B)b[][2]的值为4C)b[1][2]的值为6D)b[1][2]的值为2 若定义数组并初始化inta[2][3]={12,3},{4,5,6},b[2][3]={1,2,3,4,5,6} 以下语句哪一个不成立() A)a和b数组中各有6个元素B)b数组的初始化是错误的C)a数组与b数组中每个对应元素相等D)a、b数组都是整型数组 合法的数组初始化是 A)intx={{1,2,3},{4,5,6}};B)intx[[3]=1,2,3,4,5 C)intx[3][3]={1,2,3:4,5,6:7,8,9};D)intx[3][3]={1,2,3} 在对二维数组初始化时,错误的说法是( A)可对二维数组的全部元素赋初值B)可对二维数组的部分元素赋初值 C)给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省 D)给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略 {inta[4][4]={{1,3,5},{2,4,6},{3,5,7] printf("%d%d%%dhn",a[o][3],a[1[2],a[2][1],a[3][0]) A)0650B)1470C)5430D)输出值不确定 在内存中,二维数组存放的顺序是( A)按行顺序B按列顺序C)按元素的大小D)按元素被赋值的先后顺序 定义了: char a[10]={1’,2,3',4',5’}:则a[5]的正确初值是() B)5C)" 设有: char a[10]:下列语句那个是正确的()? C) printf("‰c",a)D) printf("%c",a[0])设有定义 *},{*,’,*},{*}} 则a[0][0]和a[4][4]的初值分别为( A)*,*B)空格,空格C)空白符,*D)*空白符 设有: char al={" I am a student."};则a在内存中占用的字节数是() A)15B)12C)16D)32 给出以下定义: char u[]=" abcdef"; char v[]={'a’,"b',’c’,’d f}:则下列正确的描述为() A)数组u和数组v等价 B)数组u和数组v的长度相等 C)数组u的长度大于数组v的长度D)数组u的长度小于数组v的长度 若有以下定义和语句,则输出结果是() char string[ ]="Sunny printf(%.3s", string A)Su B)Sun C)Sunn D) Sunny C语言中实现字符串输入的库函数是( A)gets(字符数组)B)puts(字符数组) 定义数组并初始化 char a[]={" hello"},该数组的元素个数是() 5C)6D)7 若定义数组并初始化 char a[10]={" hello"],该数组的元素中’\0的个数是() 若定义数组并初始化 char a[10]={" hello"],该数组的元素中a[5]是() 若定义数组并初始化 char a[10]={0,"1’,2',3’,4',5’,’6’,7,8,g},指出以下错误语句(): A)可以用 scanf("%s",a[0]);语句对a[0]元素重新赋值。 B)可以用 scanf("%s",&a);语句对a数组重新赋值 C)可以用 scanf(wc",a[3]);语句对a[3]元素重新赋值 D)可以用 scanf("%s",a);语句对a数组重新赋值 数组初始化时,下面说法错误的是( A)当对一维数组的全部元素赋初值 值时,可以不指定长度 B)当对二维数组的全部元素赋初值时,可以省略维数 C)用字符串对一维字符数组赋值时,可以不指定长度
} A)258 B)741 C)852 D)369 设有程序段: #define N 3 #define M N+2 float a[M][N]; 则数组 a 的元素个数和最后一个元素分别为( ). A) 15,a[5][3] B) 15,a[3][5] C) 8,a[4][2] D) 15,a[4][2] 设有:int x[2][4]={1,2,3,4,5,6,7,8};printf("%d",x[2][4]); 则输出结果是( ). A) 8 B) 1 C) 随机数 D) 语法检查出错 以下程序的输出结果是( ). main() { int i,a[3][3]={ 1,2,3,4,5,6,7,8,9 }; for(i=0;i<3;i++) printf("%d,",a[i][2-i] ); } A) 1,5,9 B) 1,4,7 C) 3,5,7 D) 3,6,9 以下数组定义中正确的是( ). A) float f[3,4]; B) int a[ ][4]; C) char c(3); D) double d[3+2][4]; 指出以下错误语句( ). A) int a[2][3]= {{1,2,3},{4,5,6}}; B) int b[2][3]= {1,2,3,4,5,6}; C) int a[][]={{1,2,3},{4,5,6}}; D) int a[][3]= {{1,2,3},{4,5,6}}; 若定义数组并初始化 int b[][3]={{1,2,3},{4,5,6}};以下语句哪一个成立( )? A) b[1][2]的值为 1 B) b[1][2]的值为 4 C) b[1][2]的值为 6 D) b[1][2]的值为 2 若定义数组并初始化 int b[][3]={{1,2,3},{4,5,6}};以下语句哪一个成立( )? A) b[1][2]的值为 1 B) b[1][2]的值为 4 C) b[1][2]的值为 6 D) b[1][2]的值为 2 若定义数组并初始化 int a[2][3]={{1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6}; 以下语句哪一个不成立( )? A) a 和 b 数组中各有 6 个元素 B) b 数组的初始化是错误的 C)a 数组与 b 数组中每个对应元素相等 D)a、b 数组都是整型数组 合法的数组初始化是( ). A) int x[][]={{1,2,3},{4,5,6}}; B) int x[][3]={1,2,3,4,5}; C) int x[3][3]={1,2,3;4,5,6;7,8,9}; D) int x[3][3]={1,2,3}; 在对二维数组初始化时,错误的说法是( ). A)可对二维数组的全部元素赋初值 B)可对二维数组的部分元素赋初值 C)给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略 D)给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略 以下程序的输出结果是( ). main() {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A)0650 B) 1470 C) 5430 D)输出值不确定 在内存中,二维数组存放的顺序是( ). A)按行顺序 B)按列顺序 C)按元素的大小 D)按元素被赋值的先后顺序 设定义了:char a[10]={'1','2','3','4','5'}; 则 a[5]的正确初值是( ). A) '5' B) 5 C) '\0' D) ' ' 设有:char a[10]; 下列语句那个是正确的( )? A) scanf("%c",a[0]); B) scanf("%c",a); C)printf("%c",a) D)printf("%c",a[0]) 设有定义: char a[][5]={{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}}; 则 a[0][0]和 a[4][4]的初值分别为( ). A) *,* B) 空格,空格 C) 空白符,*D) *,空白符 设有:char a[]={"I am a student."}; 则 a 在内存中占用的字节数是( ). A) 15 B) 12 C) 16 D) 32 给出以下定义:char u[ ]="abcdef"; char v[ ]={'a','b','c','d','e','f'}; 则下列正确的描述为( ). A) 数组 u 和数组 v 等价 B) 数组 u 和数组 v 的长度相等 C) 数组 u 的长度大于数组 v 的长度 D) 数组 u 的长度小于数组 v 的长度 若有以下定义和语句,则输出结果是( ). char string[ ]="Sunny"; printf("%.3s",string); A) Su B) Sun C) Sunn D) Sunny C 语言中实现字符串输入的库函数是( ). A) gets(字符数组) B) puts(字符数组) C) strlen (字符串) D) strcmp(字符串 1,字符串 2) 若定义数组并初始化 char a[]={"hello"},该数组的元素个数是( ). A) 不知道 B) 5 C) 6 D) 7 若定义数组并初始化 char a[10]={"hello"},该数组的元素中’\0’的个数是( ). A) 10 B) 5 C) 6 若定义数组并初始化 char a[10]={"hello"},该数组的元素中 a[5]是( ). A) 'h' B) 'o' C) '\0' D) 'l' 若定义数组并初始化 char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下错误语句( ): A)可以用 scanf("%s",a[0]);语句对 a[0]元素重新赋值。 B)可以用 scanf("%s",&a);语句对 a 数组重新赋值。 C)可以用 scanf("%c",a[3]);语句对 a[3]元素重新赋值。 D)可以用 scanf("%s",a);语句对 a 数组重新赋值。 数组初始化时,下面说法错误的是( ). A)当对一维数组的全部元素赋初值时,可以不指定长度 B)当对二维数组的全部元素赋初值时,可以省略维数 C)用字符串对一维字符数组赋值时,可以不指定长度