1、以下能正确定义数组并正确赋初值的语句是( D )。 A、int N=5,b[N][N];
B、int a[1][2]={{1},{3}}; D、int d[][2]={{1,2},{3,4}};
C、int c[2][]={{1,2},{3,4}}; main() { int x;
scanf(\"%d\
if(x++>5) printf(\"%d\\n\
else printf(\"%d\\n\
A、7 B、6 C、5 D、4
3、下列四组选项中,不合法的用户标识符的选项是( D )。
A、P_0 B、 _A C、temp_123 D、b-a 4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( C )。 x=(i=4,j=16,k=32)
A、 4 B、 16 C、 32 D、 52 5、下列选项中哪个是合法的标识符( B )。
A、 int B、 _a2 C、 b# D、 7b
6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是( B )。
A、 int a=5,b=5; B、 int a=b=5; C、 int a,b; D、 int a=5,b;
a=5;b=5; b=5;
7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是( A)。 A、a=a+7; B、a=7+b+c,a++ C、int 12.3%4 D、a=a+7=a+b 8、执行下面的程序时若从键盘上输入6,则输出结果是( C )。 main() { int x;
scanf(\"%d\
if(x-->5) printf(\"%d\\n\
else printf(\"%d\\n\
A、7 B、6 C、5 D、4
1
2、执行下面的程序时若从键盘上输入6,则输出结果是( D )。
9、设有程序段 int k=10;
while(k==0) k=k-1;
则下面描述中正确的是( B )。
A、 while循环 10次 B、 循环体一次也不执行 C、 循环是无限循环 D、 循环体只执行一次 10、以下对数组的定义方式哪个是正确的?( A ) A、 #define size 10 B、 int n=2;
int a[size] ; int a[n];
C、 char name(-10); D、 float weight[10.3]; 11、以下对二维数组a的正确说明是( C )。
A、 int a[7][]; B、 float a[7,7]; C、 double a[7][7]; D、 float a(7)(7); 12、以下程序的运行结果是( A )。 main()
{ int x=1,a=0,b=0;
switch(x) { case 0: b++;
case 1: a++; 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 13、下列字符中,ASCⅡ码值最小的是( A )。
A、 A B、 a C、 Z D 、x
14、设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为1的表达式是:( C ) A、!c&&1 B、a>=b C、!a||b+c&&b-c D、!a||!b
15、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为2、3,则正确的输入格式为( D )。 A、 a=2,b=3 B、 a=2 b=3 C、 2 3 D、 2,3 16、若有定义int i=3,j=3; printf(\"%d, %d\其运行结果为( A )。
2
A、 4,3 B、 3,3 C、 4,4 D、 3,4 17、以下不正确的语句是( B )。 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 19、若有定义char array[]=\"hello\";则数组array所占存储空间的字节数为 ( C )。 A 、4 B、 5 C、 6 D、 7 20、C语言规定:源程序中main函数的位置( C )。 A、 必须在最开始 B、 必须在系统调用的库函数的后面 C、 可以任意 D、 必须在后面 21、以下叙述不正确的是( D )。 A、 一个C程序可由一个或多个函数组成 B、 一个C程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 22、下列选项中哪个是合法的标识符( C )。 A、3days B、 char C、 _above D、 a>b 23、设int n=3;则有表达式++n,n的结果是( C )。 A、2 B、3 C、4 D、5 24、从循环体内某一层跳出,继续执行循环外的语句是( A )。 A、 break语句 B、 return语句 C、 continue语句 D、 空语句 25、下面for 循环的正确描述是( A )。 A、for循环体语句中,可以包含多条语句,但必须用花括号括起来 B、for循环只能用于循环次数已经确定的情况,不能用于无限循环 C、for循环是先执行循环体语句后判断表达式 D、在for循环中,不能用break语句结束循环 26、下列实型常量用指数形式表示正确的是( A )。 A、 123E2 B、 .e4 C、 e-5 D、 1.2E-3.5 3 27、a是int类型变量,c是字符变量。下列输入语句中错误的是( B )。 A、 scanf(\"%d,%c\、 scanf(\"%d%c\C、 scanf(\"%d%c\、 scanf(\"d=%d,c=%c\28、执行下列语句后输出结果是( C )。 int i,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、 147 B、 159 C、 357 D、 369 29、设有int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值( D )。 A、 1 B、 2 C、 3 D、 0 30、C语言中while和do-while循环的主要区别是( A )。 A、do-while的循环体至少无条件执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 31、下列运算符中优先级最高的是( B )。 A、 < B、 + C、 && D、 != 32、执行以下程序段后的输出结果是( C )。 main() { int a=4; float b=9.5; printf(“a=%d,b=%4.2f\\n”,a,b); } A、 a=%d,b=%f\\n B、a=%d,b=%f C、 a=4,b=9.50 D、 a=4,b=9.5 33、下列选项定义了整型变量a,b和c,并为这三个变量赋初值为2,不正确的 语句是( A )。 A、 int a=b=c=2; B、 int a=2,b=2,c=2; C、 int a,b,c; D、 int a=2,c=2,b; a=2;b=2;c=2; b=2; 34、在C语言中,要求运算对象必须是整型的运算符是( D )。 A、 / B、 + C、 == D、 % 35、若t为double类型,表达式t=1,t+5,t++的值是( C )。 A、1 B、6.0 C、2.0 D、1.0 36、在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式 是( A )。 4 A、 单向值传递 B、 地址传递 C、 由实参传给形参,再由形参传给实参 D、 传递方式由用户指定 37、不能把字符串“Hello!”赋给数组b的语句是( B )。 A、 char b[10]={'H','e','l','l','o','!'}; B、 char b[10] ;b=\"Hello!\"; C、 char b[10] ;strcpy(b,\"Hello!\"); D、 char b[10]=\"Hello!\"; 38、以下正确的函数声明形式是( C )。 A、 float fun( int x, int y ) B、 float fun( int x; int y); C、 float fun( int, int) ; D、 float fun( int x, y ) ; 39、以下对二维数组a的正确说明是( C )。 A、 int a[3][]; B、 float a[3,4]; C、 double a[3][4]; D、 float a(3)(4); 40、下列关于C语言中注释的叙述中错误的是( D )。 A、 注释部分可以出现在程序中任意合适的地方 B、 以“/*”开头并以“*/”结尾的字符串为C语言的注释符 C、 程序编译时,不对注释作任何处理 D、 程序编译时,需要对注释进行处理 41、下列各组字符序列中,全部为合法标识符的一组是( D )。 A、 X.O , sum , _above B、 class , lotus_1 , 2day C、 #md , month , student_n1 D、 D56 , r_1_2 , st_1 42、表达式“!5 || 6 && 8”的值是( A )。 A、 1 B、 0 C、 5 43、若定义int a[5];则对a数组元素的引用错误的有( C )。A、a[3] B、a[5-2] C、a(0) D、a[0] 44、假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( B )A、 7 B、 8 C、 6 45、下面不正确的字符常量是( A )。 A、“C” B、‘?’ C、‘W’ D、‘\\101’ 5 D、 8 。 D、 2 46、若有定义int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。 A、 2.500000 B、2.750000 C、 3.500000 D、 0.000000 47、以下程序的输出结果是( D )。 main( ) { int x=11,y=11; printf(\"%d,%d\\n\,--y); } A、 11,11 B、 10,10 C、10,11 D、 11,10 48、以下不正确的描述是( B ) A、 break 语句能够用于循环语句和switch语句 B、 continue语句的作用是结束整个循环的执行 C、 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行 D、 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 49、C语言程序是由( D )组成。 A、 过程 B、 子程序 C、主程序和子程序 D、 函数 50、执行以下程序段后的输出结果是( B )。 int x=7,y=8,z=9; if(x>y) x=y; y=z; z=x; printf(“x=%d,y=%d,z=%d\\n”,x,y,z); A、 x=7,y=8,z=7 B、 x=7,y=9,z=7 C、 x=8,y=9,z=7 D、 x=8,y=9,z=8 51、执行以下程序段后的输出结果是( C )。 main() { int n=3; while(n- -!=0) ; printf(“%d\\n”,n); } A、 0 B、 1 C、 -1 D、 死循环 52、逻辑运算符两侧运算对象的数据类型是 ( D )。 A、只是0或1 B、 只能是0或非0正数 C、 只能是整型或字符型数据 D、 可以是任何合法的数据类型 6 53、下面能正确表示八进制数的是( D )。 A、 0x16 B、 029 C、 -114 D、 033 54、C语言中主函数的个数是( A )。 A、 1 B、 2 C、 3 D、 任意个 55、以下描述中正确的是( D )。 A、 while、do-while、for循环中的循环体语句都至少被执行一次 B、 do-while循环中,while(表达式)后面的分号可以省略 C、 while循环体中,一定要有能使while后面表达式的值变为“假”的操作 D、 do-while循环中,根据情况可以省略while 56、下面正确的字符常量是( B )。 A、 'abc' B、 'a' C、 \"a\" D、 \"ab2\" 57、下列实型常量用指数形式表示正确的是( B )。 A、.e6 B、 123E4 (C、e-6 D、 2.1E-5.3 58、以下程序的输出结果是( B )。 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf(\"%d%d%d\; } A、 258 B、 741 C、 852 D、 369 59、设有以下程序段,则下面描述中正确的是( B )。 int k=2; while(k==0) k=k-1; A、 while循环 2次 B、 循环体一次也不执行 C、 循环是无限循环 D、 循环体只执行一次 60、下列实型常量用指数形式表示正确的是( B )。 A、3E B、1.23E4 C、E D、1.2E-3.4 61、设x,y和z均为int型变量,则执行语句“x=(y=(z=10)+5)- 5;”后,x,y和z的值是( A )。 A、 x=10 B、 x=10 C、 x=10 D、 x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=10 62、以下程序的输出结果是( D )。 7 main( ) { int x=5,y=5; printf(“%d,%d\\n” ,--x,y++); } A、 4,6 B、 6,5 C、 5,5 D、 4,5 63、若用数组名作为函数调用的实参,传递给形参的是( A ) A、数组的地址 B、数组中第一个元素的值 C、数组中的全部元素的值 D、数组元素的个数 64、下列四组选项中,属于C语言合法标识符的选项是( C )。 A、2ab B、 @f C、_a12 D、?b 65、执行以下语句后,则x,y和z的值分别为( B )。 int x=1,y=2,z=3; if(x>y) z=x;x=y;y=z; A、 x=1,y=2,z=3 B、 x=2,y=3,z=3 C、 x=2,y=3,z=1 D、 x=2,y=3,z=2 66、以下叙述正确的是( C )。 A、 在C程序中main函数必须位于程序的最前面 B、 C程序的每行中只能写一条语句 C、 C语言本身没有输入输出语句,输入输出需要调用库函数 D、 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 67、已知各变量的类型说明如下: 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*3) 68、设有定义int a,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为3、5,则正确的输入格式为( C )。 A、a=3,b=5 B、a=3 b=5 C、3,5 D、3 5 69、判断char型变量ch是否为小写字母的正确表达式是( C ) 。 A、‘a’<=ch<=‘z’ B、(ch>=‘a’)&(ch<=‘z’) C、(ch>=‘a’)&&(ch<=‘z’) D、(‘a’<= ch)AND(‘z’>= ch) 8 70、下列选项中,正确的字符常量是( C )。 A、“F” B、’\\\\’’ C、’W ’ D、”” 71、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行。 B、在C 语言程序中,要调用的函数必须在main()函数中定义 C、C 语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 72、以下程序的运行结果是( A )。 main() { int k=4,a=3,b=2,c=1;