(C)a>10&&a<15(D)!
(a<=10)&&!
(a>=15)
8、若有以下定义:
chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为()
(A)float(B)int(C)char(D)double
9、设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)函数调用后使a为’A’,b为’B’,正确的输入是()
(A)a=A,b=B(B)‘A’,’B’(C)A=A,B=B(D)‘A’’B’
10、设有inti=010,j=10;执行printf(“%d,%d\n”,++i,j--);语句后的输出是(B)
(A)11,10(B)9,10(C)010,9(D)10,9
11、设a=3,b=4,执行printf(“%d,%d”,(a,b),(b,a));语句后的输出是(B)
(A)3,4(B)4,3(C)3,3(D)4,4
12、假定所有变量均已正确定义,下列程序段运行后x的值是(B)
a=b=c=0;x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
(A)34(B)4(C)35(D)3
13、执行下列程序段后的输出结果是(C)
x=9;
while(x>7)
{printf(“*”);x--;}
(A)****(B)***(C)**(D)*
14、下列语句中错误的是(B)
(A)while(x=y)5;(B)dox++while(x==10);
(C)while(0);(D)do2;while(a==b);
15、循环语句for(x=0,y=0;(y!
=123)||(x<4);x++);的循环执行(A)
(A)无限次(B)不确定次(C)4次(D)3次
16、若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是(A)
for(i=5;i;i--)
for(j=0;j<4;j++){……}
(A)20(B)24(C)25(D)30
17、执行语句chara[10]={“abcd”},*p=a;后,*(p+4)的值是(C)
(A)“abcd”(B)‘d’(C)‘\0’(D)不能确定
18、函数调用时,下列说法中不正确的是(A)
(A)若用值传递方式,则形式参数不予分配内存
(B)实际参数和形式参数可以同名
(C)主调函数和被调用函数可以不在同一个文件中
(D)函数间传递数据可以使用全局变量
19、定义一个具有10个元素的整型数组,应该使用语句(A)
(A)inta[10];(B)inta[2,5];(C)inta[];(D)int*a[10]
20、设有定义inta=3,b,*p=&a;,则下列语句中不能使为3的语句是(D)
(A)b=*&a(B)b=*p(C)b=a(D)b=*a
21、若已定义:
inta[9],*p=a;,并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是(C)
(A)p+1(B)a+1(C)a++(D)++p
22、要使doublea;longb;的数据能正确的输出,输出语句应是(D)
(A)printf("%d,%f",b,a);(B)printf("%d,%1f",b,a);
(C)scanf("%1d,%1f",&b,&a);(D)printf("%1d,%lf",b,a);
23、以下数据类型属于构造类型的是(C)
(A)整型(B)字符型(C)数组型(D)单精度实型
24、字符串"m\x42\\\np\102q"的长度是(A)
(A)7(B)9(C)15(D)16
25、执行下列程序段后*(p+7)的值为(C)
chars[]=”student”,*p;p=s;
(A)‘t’(B)‘t’的地址(C)‘\0’(D)不确定值
26、字符串"xyz"在内存中占用的字节数是(B)
(A)3(B)4(C)5(D)6
27、一个char型数据,它的值在内存中存放的是(A)
(A)ASCII码值(B)BCD码值(C)内码值(D)十进制码值
28、若已定义x和y为double类型,则表达式x=1,y=x+3/2的结果是(C)
(A)1(B)2(C)2.0(D)2.5
29、若有以下定义:
chara;intb;floatc;doubled;,则表达式a*b+d-c值的类型为(D)
(A)float(B)int(C)char(D)double
30、表达式9!
=7的值是(D)
(A)true(B)非0值(C)0(D)1
31、使用scanf(""x=%f,y=%f"",&x,&y)函数调用,要使x,y均为1.25,正确的输入是(C)
(A)"1.25,1.25"(B)1.251.25(C)"x=1.25,y=1.25"(D)x=1.25y=1.25
32、设inta=8,b=7,c=6,x=1;,则执行下列语句
if(a>6)
if(b>7)
if(c>8)
x=2;
elsex=3;后x的值是(B)
(A)0(B)1(C)2(D)3
33、在c语言中,下列说法中正确的是(D)
(A)编程时尽量不要使用"do语句while(条件)"的循环
(B)do语句while(条件)"的循环中必须使用"break"语句退出循环
(C)do语句while(条件)"的循环中,当条件非0时将结束循环
(D)do语句while(条件)"的循环中,当条件为0时将结束循环
34、下列c代码中,合法的数组定义是(D)
(A)inta[]={""string""};(B)inta[5]={0,1,2,3,4,5};
(C)chara={""string""};(D)chara[]={0,1,2,3,4,5};
35、设有如下定义,则正确的叙述为(C)
charx[]={""abcdefg""},y[]={'a','b','c','d','e','f','g'};
(A)数组x和数组y等价(B)数组x和数组y长度相同
(C)数组x的长度大于数组y的长度(D)数组x的长度小于数组y的长度
36、在c语言中,下列说法中错误的是(D)
(A)函数定义可以分为两个部分:
函数说明部分和函数体
(B)主函数可以调用任何非主函数
(C)任何非主函数可以调用其他任何非主函数
(D)程序可以从任何函数开始执行
37、若有说明语句inta[10],*p=a;,对数组元素的正确引用是(C)
(A)a[p](B)p[a](C)*(p+2)(D)p+2
38、若有以下定义,则不能表示a数组元素的表达式是(B)
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
(A)*p(B)a[10](C)*a(D)a[p-a]
39、以下对C语言函数的有关描述中,正确的是(A)
(A)在C语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
(B)C函数数组既可以嵌套定义,又可以递归调用
(C)函数必须有返回值,否则不能使用函数
(D)C程序中,有调用关系的所有函数必须放在同一个源程序文件中"
40、C语言中运算对象必须是整型的运算符是(A)
(A)%(B)/(C)<>(D)<=
41、C语言开始于二十世纪(B)年代
(A)六十(B)七十(C)八十(D)九十
42、函数调用语句f((e1,e2),(e3,e4,e5));中参数的个数是(B)
(A)1(B)2(C)4(D)5
43、C语言中最简单的数据类型包括(B)
(A)整型、实型、逻辑型(B)整型、实型、字符型
(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型
44、若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
(B)
(A)10<回车>22<回车>33<回车>(B)10.0,22.0,33.0<回车>
(C)10.0<回车>22.033.0<回车>(D)1022<回车>33<回车>
45、若变量c为char类型,能正确判断出c为小写字母的表达式是(D)
(A)'a'<=c<='z'(B)(c>='a')||(c<='z')
(C)('a'<=c)and('z'>=c)(D)(c>='a')&&(c<='z')
46、假定所有变量均已正确说明,下列是程序段运行后x的值是?
(D)
a=b=c=0;x=33;if(!
a)x--;elseif(b);if(c)x=7;elsex=6;
(A)32(B)33(C)7(D)6
47、下面程序段的运行结果是(C)
chara[7]="abcdef";
charb[4]="ABC";
strcpy(a,b);
printf("%c",a[5]);
(A)空格(B)\0(C)e(D)f
48、以下所列的C语言常量中,错误的是(B)
(A)0xFF(B)1.2e0.5(C)2L(D)'\72'
49、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是:
()
(A)p2=**p1(B)p2=*&p1(C)p2=*p1(D)p2=&*p1地址
50、函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为:
(B)
(A)1(B)2(C)4(D)5
51、以下c语言函数声明中,不正确的是:
(C)
(A)voidfun(intx,inty);(B)fun(intx,inty);
(C)intfun(intx,y)(D)char*fun(char*s);
52、表达式1&&3&&5&&7的值为:
(A)
(A)1(B)3(C)5(D)7
53、以下程序的输出结果是(C)
voidfun(intx,inty,intz)
{z=x*x+y*y;}没有return
intmain()
{inta=31;
fun(5,2,a);
printf("%d",a);
return0 ;
}
(A)0(B)29(C)31(D)无确定值
54、若有以下说明和语句,则输出结果是(C)
(strlen(s)为求字符串s的长度的函数)
charsp[]="\t\v\\\0will\n";
printf("%d",strlen(sp));
(A)14(B)3(C)9(D)字符串中有非法字符
55、循环语句while(!
E)中的表达式!
E等价于:
(B)
(A)E!
=0(B)E==0(C)E!
=1(D)E==1
56、函数调用:
strcat(strcpy(str1,str2),str3)的功能是(C)
(A)将串str1复制到串str2中后再连接到串str3之后
(B)将串str1连接到串str2之后再复制到串str3之后
(C)将串str2复制到串str1中后再将串str3连接到串str1之后
(D)将串str2连接到串str1之后再将串str1复制到串str3中
57、设有定义语句“int*ptr[10]”,其中的ptr是(D)
(A)10个指向整型变量的指针
(B)指向10个整型变量的函数指针
(C)一个指向具有10个元素的一维数组的指针
(D)具有10个指针元素的一维数组
58、表达式-1<=3<=-5值是:
(A)
(A)0(B)1(C)3(D)表达式语法有错
59、在用一个字节存储一个字符的系统中,’\n’在内存中占用的字节数是(C)
(A)3(B)2(C)1(D)4
60、设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是(C)
(A)0,0(B)0,1(C)1,0(D)1,1
61、以下选项中,不是C的合法关键字的是(A)
(A)scanf(B)dowhile(C)for(D)continue
62、设a=3,b=4,执行printf(“%d,%d”,(b,a,a+b),(a,b,b-a))(D)
(A)3,4(B)4,3(C)4,1(D)7,1
63、设a=1,b=2,c=3,d=4,则表达式a
a:
cc:
d的结果为(D)
(A)4(B)3(C)2(D)1
64、下述语句中,if语句语法是错误的。
(C)
(A)if(x>y);
(B)if(x==y)x+=y;
(C)if(x!
=y)scanf("%d",&x)elsescanf("%d",&y);
(D)if(x65、设有如下定义;intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是(A)
(A)3(B)0(C)4(D)1
66、下列选项中不属于C语言数据类型的是(C)
(A)整型(B)双精度型(C)逻辑型(D)枚举型
67、C语言中各种基本数据类型的存储空间长度排列为(C)
(A)char(C)char68、以下叙述中错误的是(C)
(A)在C程序中,APH和aph是两个不同的变量
(B)C程序中的变量,代表内存中的一个存储单元,它的值可以根据需要随时修改
(C)在C程序中,无论是整数还是实数,都能准确无误地表示
(D)在C程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示
69、C语言可执行程序的开始执行点是(C)
(A)程序中第一条可执行语言(B)程序中第一个函数
(C)程序中的main函数(D)包含文件中的第一个函数
70、C语言程序的基本单位是(A)
(A)函数(B)过程(C)字符(D)语句
71、有以下程序:
{intx=10,y=10;printf("%d,%d\n",x--,--y);}程序运行后的输出结果是(D)
(A)10,10(B)9,9(C)9,10(D)10,9
72、以下选项中,与k=n++完全等价的表达式是(D)
(A)k+=n+1(B)n=n+1,k=n(C)k=++n(D)k=n,n=n+1
73、已有定义:
intx=3,y=4,z=5;则表达式!
(x+y)+z-l&&y+z/2的值是(D)。
(A)6 (B)0 (C)2 (D)1
74、以下四个选项中不能看作一条语句的是(D)。
(A){;} (B)a=0,b=0,c=0; (C)if(a>0); (D)if(b==0)m=l;n=2;
75、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)。
(A)6.500000 (B)6 (C)5.500000 (D)6.000000
76、设有如下定义:
charx[]={"abcdefg”},y[]={'a','b','c','d','e','f','g'},则正确的叙述为(C)
(A)数组x和y等价(B)数组x和y长度相同
(C)数组x的长度大于数组y的长度(D)数组x的长度小于数组y的长度
77、已有定义语句:
intx=3,y=0,z=0;,则值为0的表达式是(A)
(A)x&&y(B)x||z(C)x||z+2&&y-z(D)!
((xz||y)
78、以下语句中,不属于循环语句的是(D)
(A)while…(B)dowhile…(C)for…(D)switch…
79、printf(“\65”);语句输出的是(C)六进制
(A)\65(B))65(C)5(D)A
80、x=(a=3*5,a*4);那么x的值为(B)
(A)15(B)60(C)75(D)不确定值
81、若有以下程序段
intc1=1,c2=2,c3;c3=1.0/c2*c1;
则执行后,c3中的值是(A)
(A)0(B)0.5(C)1(D)2
82、有如下程序
intmain()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
return0 ;
}
运行该程序的输出结果是(D)
(A)34(B)42(C)43(D)33
83、能正确表示逻辑关系:
“a≥=1或a≤0”的C语言表达式是()
(A)a>=1ora<=0(B)a>=1|a<=0(C)a>=1&&a<=0(D)a>=1||a<=0
84、有如下程序
intmain()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++
case2:
a++;b++
}
printf(“a=%d,b=%d\n”,a,b);
return0 ;
}
该程序的输出结果是(A)
(A)a=2,b=1(B)a=1,b=1(C)a=1,b=0(D)a=2,b=2
85、有如下程序
intmain()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
return0 ;
}
该程序的输出结果是(C)
(A)0.000000(B)0.250000(C)0.500000(D)1.000000
86、有如下程序
intmain()
{inta=2,b=-1,c=2;
if(if(b<0))c=0;
elsec++
printf(“%d\n”,c);
return0 ;
}
该程序的输出结果是(A)
(A)0(B)1(C)2(D)3
87、有如下程序
intmain()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d\n”,sum);
return0 ;
}
该程序的执行结果是(C)
(A)6(B)3(C)死循环(D)0
88、以下对一维整形数组a进行正确初始化的语句是(C)
(A)inta[10]=(0,0,0,0,0);(B)inta[10]={};(C)inta[]={0};(D)inta[10]={10*1};
89、有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&&‘B’)&&(c<’B’);
执行该程序段后,x的值为(D)
(A)true(B)false(C)0(D)1
90、函数的实参是简单变量时,它与对应形参之间的数据传递方式是(C)
(A)地址传送(B)由实参传给形参,再由形参传回给实参
(C)单向值传递(D)由用户指定传递方式
91、如果在一个函数的复合语句中定义了一个变量,则正确的说法是:
(C)
(A)该变量在该函数中有效(B)该变量在本程序范围内均有效
(C)该变量只在该复合语句中有效(D)该变量为非法变量
92、逻辑运算符两侧运算对象的数据类型:
(A)
(A)可以是任何类型的数据(B)只能是整型或字符型数据
(C)只能是0或非0数(D)只能是0或1
93、对for(表达式1;;表达式3)可理解为:
(D)
(A)for(表达式1;表达式3;表达式3)(B)for(表达式1;表达式3)
(C)for(表达式1;表达式1;表达式3)(D)for(表达式1;1;表达式3)
94、表达式x=(3+2,5*6),x+1运算后,x的值为:
(D)
(A)无确定值(B)5(C)31(D)30
95已定义charc;c=’a’;,则在内存中存储c的值为:
(B)
(A)a(B)97(C)65(D)‘a’
96、定义如下变量和数组:
intk;
inta[3][3]=
1,2,3
4,5,6
7,8,9
则下面语句的输出结果是(A)
for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);
(A)357(B)369(C)159(D)147
97、以下程序段(C);
x=-1;do
{x=x*x;}
while(!
x);
(A)死循环(B)循环执行两次(C)循环执行一次(D)有语法错误
98、设inta,b,c;执