当前位置:文档之家› c语言经典选择填空题1

c语言经典选择填空题1

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:简单类题目( 50个题目,从中选择10,每题1分)1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C) A.4 B.16 C.32 D.5222.以下程序的输出结果(B)。

main( ){ int x1=3, x2=0, x3=0;if (x1=x2+x3)printf("* * * *");else printf("# # # #");}A.输出:* * * * B.输出:# # # #C.存在语法错误 D.无输出结果3.下面四个选项中,均是合法转义字符的选项是(A)。

A.'\'' '\\' '\n' B.'\' '\017' '\"'C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf'4.若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是(D)。

A、4B、3C、2D、15.设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是(D)。

A. i&&j B.i<=jC.i||j+k&&j-k D.!((i<j)&&!k||1)6.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是(C)。

A.num%2= =1 B. !(num%2= =0) C.!(num%2) D.num%27.有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序运行后的输出结果是 ( D ) 。

A.3 B.5 C.-1 D.-28.若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是 ( C ) 。

A.a=9+b+c=a+9 B.a=9+b;c=a+9;C.a=(9+b,b++) D.a=9+b++=a+79.若有以下定义,若int m=7,n=12,则能得到值为3的表达式是 ( D ) 。

A.n%=(m%=5) B.n%=(m-m%5)C.n%=m-m%5 D.(n%=m)-(m%=5)10.以下能正确定义整型变量x、y和z并为其赋初值5的语句是 ( C ) 。

A.int x=y=z=5; B.int x,y,z=5;C.int x=5,y=5,z=5; D.x=5,y=5,z=5;11.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 ( C ) 。

A.abs(x-y)<10 B.x-y>-10&&x-y<10C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<10012. 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是( D )。

A 552B 264C 144D -26413 以下叙述不正确的是( D )A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面14 下关于运算符优先顺序的描述中正确的是( C )。

A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B)逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符15 下列程序的输出结果是( C )main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值16 printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式(B)A) 从左起输出该字串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格D) 输出错误信息17. 以下叙述正确的是( C )A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行中只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误18. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B )A. 7B. 8C. 6D. 219. 下面不正确的字符串常量是( A )··················A. 'abc'B. "1212"C. "0"D. ""20. 已知各变量的类型说明如下: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=2C. x%(-3)D. y=f1oat(i)21. 若有说明语句:char c='\72'则变量c描述正确的是( A )A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法,c的值不确定22. 已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若输入12345 78(回车),则x 的值为 ( B )A. 12345B. 123C. 45D. 34523. 能正确表示"当x 的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( C )A. (x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)c. (x>=1) && (x<=10) || (x>=200) && (x<=210)D. (x>=1) || (x<=10) && (x>=200) || (x<=210)24.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)A. 0B. 1C. 2D. 325.在if(x)语句中的x与下面条件表达式等价的是:(A)A) x!=0 B) x==1 C) x!=1 D) x==026、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为(A)A、DB、EC、一个不确定的值D、C27. 已知x=3、y=2,则表达式 x*=y+8的值为( C )A)3 B)2 C)30 D)1028. 设x为int型变量,则执行以下语句后,x的值为( B )。

x=10;x+=x- =x-x;A)10 B)20 C)40 D)3029 若有以下类型说明语句:char a; int b;float c; double d; 则表达式a*b+d-c的结果类型为( D )A.float B.char C.int D.double30 若二维数组a有m列,则在a[i][j]前的元素个数为( B )A)j*m+i B) i*m+jC)i*m+j-1 D) i*m+j+131 对for(表达式1;;表达式3)可理解为( B )A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)32 以下描述不正确的是( C )。

A.使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成B.while循环是先判断表达式,后执行循环语句C.do-while 和for循环均是先执行循环语句,后判断表达式D.for、while 和do-while循环中的循环体均可以由空语句构成33.下列程序段的运行结果是( C )。

int n=0; while(n++<=3); printf(“%d”,n);A 3B 4C 5D 有语法错误34. 设int a=3,b=4,c=5;,下列表达式的值不为1的是( A )。

A)a+b>c&&b==c B)a||b+c&&b-cC)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/235. 有以下程序:#include <stdio.h>void main ( ){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf ("%d,%d\n",k,m);}程序运行后的输出结果是( C )。

A)0,0 B)0,1 C)1,0 D)1,136、以下能正确进行字符串赋值操作的是( D )A、char s[5]={"ABCDE"};B、char s[5]={'A', 'B', 'C', 'D', 'E'};C、char *s; *s="ABCDE";D、char *s="ABCDE";37 下面程序的运行结果是(B)#include <stdio.h>#include <string.h>main(){char *s1="AbDeG";char *s2="AbdEg";s1+=2;s2+=2;printf("%d",strcmp(s1,s2));}A) 正数 B) 负数C) 零D) 不确定的值38若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为(A )A) *(a[i]+j) B) (a+i) C) *(a+j) D) a[i]+j39以下能对二维数组y进行初始化的语句是(B)A、static int y[2][ ]={{1,0,1}, {5,2,3}};B、static int y[ ][3]={{1,2,3}, {4,5,6}};C、static int y[2][4]={{1,2,3}, {4,5} , {6}};D、static int y[ ][3]={{1,0,1,0}, { }, {1,1}};40 以下printf语句的输出结果是(B)printf("%d\n", strlen("school");A、7B、6C、存在语法错误D、不定值41 不能把字符串:Hello!赋给数组b的语句是( B)。

相关主题