1、第 1 题 (1 分) 题号:2662C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()(A).必须为字母(B).可以是字母、数字和下划线中的任一字符(C).必须为字母或下划线(D).必须为下划线答案:C第 2 题 (1 分) 题号:2721下列关于单目运算符+、-的叙述中正确的是_。(A).它们的运算对象可以是任何变量和常量(B).它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量(C).它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量(D).它们的运算对象可以是 char 型变量、int 型
2、变量和 float 型变量答案:D第 3 题 (1 分) 题号:2687设有语句 int a=3; 则执行了语句 a+=a-=a*a;后,变量 a 的值是_。(A).-12(B).0(C).3(D).9答案:A第 4 题 (1 分) 题号:2701设 x,y 均为 int 型变量,且 x=10,y=3,则 printf(“%d,%dn“,x-,-y)的输出结果是 ( )。(A).10,3(B).9,3(C).9,2(D).10,2答案:D第 5 题 (1 分) 题号:2702X、Y、Z 被定义为 int 型变量,若从键盘给 X、Y 、Z 输入数据,正确的输入语句是_。(A).INPUT X,Y
3、,Z;(B).scanf(“%d%d%d“,X,Y,Z);(C).scanf(“%d%d%d“,(D).read(“%d%d%d“,答案:C第 6 题 (1 分) 题号:2700以下程序的输出结果是_。main() int x=05; char z=a;printf(“%dn“,(xprintf(“%dn“,+a);(A).9(B).10(C).11(D).12答案:B第 2 题 (1 分) 题号:2667属于合法的 C 语言长整型常量的是()(A).0L(B).(long)123456(C).2e10(D).5876273000答案:A第 3 题 (1 分) 题号:2715与数学式子 3 乘
4、以 x 的 n 次方/(2x-1)对应的 C 语言表达式是_。(A).3*xn/(2*x-1)(B).3*x*n/(2*x-1)(C).3*pow(x,n)*(1/(2*x-1)(D).3*pow(n,x)/(2*x-1)答案:C第 4 题 (1 分) 题号:2737有以下程序main() int m=3,n=4,x;x=-m+;x=x+8/+n;printf(“%dn“,x);程序运行后的输出结果是_。(A).3(B).5(C).-1(D).-2:D第 5 题 (1 分) 题号:2735以下定义语句中正确的是_。(A).char a=Ab=B;(B).float a=b=10.0;(C).i
5、nt a=10,*b=(D).float *a,b=答案:C第 6 题 (1 分) 题号:2732有以下程序main() int x=102,y=012;printf(“%2d,%2dn“,x,y);执行后输出结果是_。(A).10,01(B).02,12(C).02,10(D).102,10答案:D第 8 题 (1 分) 题号:2760设 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7 、d=8、m=2、n=2 则逻辑表达式(m=ab)n=203;k=1; dok*=n%10*r;n/=10;r+;while(n);(A).0(B).1(C).2(D).3答案:A第
6、 11 题 (1 分) 题号:543若有 int a10=0,1,2,3,4,5,6,7,8,9,*p=a;则输出结果不为 5的语句为() 。(A).printf(“%d“,*(a+5);(B).printf(“%d“,p5);(C).printf(“%d“,*(p+5);(D).printf(“%d“,*p5);答案:D第 12 题 (1 分) 题号:642在 C 语言中,一维数组的定义方式为: 类型说明符数组名() 。(A).常量表达式(B).整型表达式(C).整型常量或整型表达式(D).整型常量 答案:D第 13 题 (1 分) 题号:646若有说明 int a34;则 a 数组元素的非
7、法引用是() 。(A).a02*1(B).a13(C).a4-20(D).a04答案:D第 14 题 (1 分) 题号:654以下不能正确定义二维数组的选项是() 。(A).int a22=1,2;(B).int a2=1,2,3,4;(C).int a22=1,2,3;(D).int a2=1,2,3,4;答案:D第 17 题 (1 分) 题号:714若有定义:int aa 8;则以下表达式中不能代表数组元 aa1的地址的是() 。(A).)后,地址偏移值为 2,则其数据类型为() 。(A).int(B).float(C).double(D).char答案:A第 20 题 (1 分) 题号:
8、2915static struct int a1;float a2;char a3;a10=1,3.5,A;说明数组 a 是地址常量,它有 10 个.(A).a1(B).a-1(C).a0(D).a10答案:C第 1 题 (1 分) 题号:2696以下列出 C 语言常量中,错误的是 _。(A).OxFF(B).1.2e0.5(C).2L(D).83答案:B第 3 题 (1 分) 题号:2674下面程序的运行结果是_。#include void main()int a=2;a%=4-1;printf(“%d,“,a);a+=a*=a-=a*3; printf(“%d“,a);(A).2,0(B)
9、.1,0(C).2,32(D).-1,32答案:C第 4 题 (1 分) 题号:2689以下程序的输出结果是_。#includemain()int i=10,j=10;printf(“%d,%dn“,+i,j-); (A).11,10(B).9,10(C).010,9(D).10,9答案:A第 5 题 (1 分) 题号:2714已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1、j 的值为 2、k 的值为3,以下选.(A).scanf(“%2d%2d%2d“,(B).scanf(“%d %d %d“,(C).scanf(“%d,%d,%d“, (D).scanf
10、(“i=%d,j=%d,k=%d“,答案:C第 7 题 (1 分) 题号:2765有一函数 1 x0y = 0 x=0 -1 x0) y=1;else if(x=0) y=0;else y=-1;(B).y=0;if(x0) y=1;else if(x=0)if(x0) y=1;else y=-1;(D).if(x=0) if(x0) y=1;else y=0;else y=-1;答案:C第 8 题 (1 分) 题号:2758设 x、y、t 均为 int 型变量,则执行语句:x=y=3;t=+x|+y;后,y 的值为_。(A).不定值(B).4(C).3(D).1答案:C第 9 题 (1 分)
11、 题号:2807C 语言中下列叙述正确的是( )(A).不能使用 do-while 语句构成的循环(B).dowhile 语句构成的循环,必须用 break 语句才能退出(C).dowhile 语句构成的循环,当 while 语句中的表达式值为非零时结束循环 (D).dowhile 语句构成的循环 ,当 while 语句中的表达式值为零时结束循环答案:D第 10 题 (1 分) 题号:2809有以下程序段int n=0,p; do scanf(“%d“,n+; while(p!=12345a%=4-1;printf(“%d,“,a);a+=a*=a-=a*3;printf(“%d“,a);(A
12、).2,0(B).1,0(C).2,32(D).-1,32答案:C第 3 题 (1 分) 题号:2661下面程序的输出结果是( ) 。#include void main() int m=5;if(m+5) printf(“%d n“,m);else printf(“%dn“,m-); (A).7(B).6(C).5(D).4答案:B第 4 题 (1 分) 题号:2698设 x、y、t 均为 int 型变量,则执行语句:x=y=3;t=+x|+y;后,y 的值为_。(A).1(B).3(C).4(D).不定值答案:B第 5 题 (1 分) 题号:2693有如下程序main() int y=3,
13、x=3,z=1;printf(“%d %dn“,(+x,y+),z+2);运行该程序的输出结果是_。(A).3 4(B).4 2(C).4 3(D).3 3答案:D第 6 题 (1 分) 题号:2716设有定义:long x=-123456L;,则以下能够正确输出变量 x 值的语句是_。(A).printf(“x=%dn“,x);(B).printf(“x=%ldn“,x);(C).printf(“x=%8dLn“,x);(D).printf(“x=%LDn“,x);答案:B第 8 题 (1 分) 题号:2760设 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7 、d
14、=8、m=2、n=2 则逻辑表达式(m=ab)则输出结果不为 5的语句为() 。(A).printf(“%d“,*(a+5);(B).printf(“%d“,p5);(C).printf(“%d“,*(p+5);(D).printf(“%d“,*p5);答案:D第 12 题 (1 分) 题号:513int a10;合法的数组元素的最小下标值为() 。(A).10(B).9(C).1(D).0答案:D第 13 题 (1 分) 题号:654以下不能正确定义二维数组的选项是() 。(A).int a22=1,2;(B).int a2=1,2,3,4;(C).int a22=1,2,3;(D).int
15、 a2=1,2,3,4;答案:D第 15 题 (1 分) 题号:521char a1=“abc“,a280=“1234“;将 a1 串连接到 a2 串后面的语句是() 。(A).strcat(a2,a1);(B).strcpy(a2,a1);(C).strcat(a1,a2);(D).strcpy(a1,a2);答案:A第 17 题 (1 分) 题号:704变量的指针,其含义是指该变量的() 。(A).值(B).地址(C).名(D).一个标志答案:B第 18 题 (1 分) 题号:708下面判断正确的是() 。(A).char *a=“china“;等价于 char *a;*a=“china“
16、;(B).char str10=“china“;等价于 char str10;str=“china“;(C).char *s=“china“;等价于 char *s;s=“china“;(D).char c4=“abc“,d4=“abc“;等价于 char c4=d4=“abc“;答案:C第 1 题 (1 分) 题号:2666正确的赋值表达式是()(A).(a=3*5,b+5),c-3(B).a=b=a*b(C).a=b+=c-(D).a5+b-=4+k答案:B第 2 题 (1 分) 题号:2727以下选项中非法的表达式是_。(A).0void main() int n,k; float sc
17、ore,sum,ave; sum=0.0; for(n=1;n=10;n+) (k=1;k=4;k+) scanf(“%f“, sum+=score; ave=sum/4.0; printf(“NO%d:%fn“,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确.这条语句是_.(A).sum=0.0;(B).sum+=score;(C).ave=sum/4.0;(D).printf(“NO%d:%fn“,n,ave);答案:A第 11 题 (1 分) 题号:187经过下列的语句 int j,a10,*p;定义后,下列语句中合法的是() 。(A).p=p+2;
18、(B).p=a5;(C).p=a2+2;(D).p=答案:A第 14 题 (1 分) 题号:647以下能对二维数组 a 进行正确初始化的语句是() 。(A).int a2=1,0,1,5,2,3;(B).int a3=1,2,3,4,5,6;(C).int a24=1,2,3,4,5,6;(D).int a3=1,0,1,1,1;答案:B第 17 题 (1 分) 题号:707有说明:int *p1,*p2,m=5,n; 以下均是正确赋值语句的选项是() 。A).p1=p2=p2=*p1=*p2;C).p1=p2=p1;D).p1=*p2=*p1;案:C第 18 题 (1 分) 题号:194有下
19、列定义,则对 a 数组元素地址的正确引用是() 。 nt a5,*p=a;A).float a2;char a3;a10=1,3.5,A;说明数组 a 是地址常量,它有 10 个A).a1B).a-1C).a0D).a10:C第 1 题 (1 分) 题号:2697以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式子 x/(y*z)的 C 语言表达式是.(A).x/y*z(B).x*(1/(y*z)(C).x/y*1/z(D).x/y/z答案:A第 2 题 (1 分) 题号:2713设 a 和 b 均为 double 型常量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是_。(A).6.500000(C).5.500000(D).6.000000答案:D第 3 题 (1 分) 题号:2675下列字符序列中,可用作 C 标识符的一组字符序列是( ) 。(A).S.b,sum,average,_above(B).class,day,lotus_1,2day(C).D56,r_1_2,name ,_st_1(D).#md,&12x,month,student_n!答案:C