elsex=2;
eslex=3;如a>b>c,则x=()
A.0,B.1,C.2,D.3
12.inta=5,b=0;printf(“%d,%d\n”,a&&b,a||b);输出值为:
A.5,0B.1,5C.1,0D.0,1
13.inta=5;b=3;x,y;x=a/b;y=a%b,则x、y的值分别为:
A.1、2,B.2、3C.3、5D.2、5
14.intx,y,z;x=y=z=0;++x||++y&&++z;则x、y、z的值分别为:
A. 000;B.001; C.100; D.111。
15.scanf(“%d%f%d”,&a,&b,&c),若要使a=1000,c=3,b=0.025,则应输入____。
A.100030.025B.10000.0253
C.1000,3,0.025D.1000,0.025,3
16.while(!
x)等价于while()。
A.x==1B、x==0C、x!
=0D、x!
=1
17.表达式:
10==9的值是
A.trueB.非零值C.0D.1
18.不合法的八进制数是____。
A.0B.028C.077D.01
19.不能正确表示ab除以cd的C语言表达式是____________。
A.a*b/c*dB.a/(c*d)*bC.a*b/c/dD.a*b/(c*d)
20.不是单个字符的是______。
A.‘a’B.“b”C.‘\n’D.‘#’
21.不正确的赋值或赋初值的方式是
A.charstr[]=“string”;
B.charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’};
C.char*p=“string”;
D.enumcolor{red,blue,black}a;a=3;
22.
程序设计的基本控制结构有:
顺序结构、选择结构和循环结构。
下图中选择结构的是:
A.B.C.D.
23.程序运行后z的值为__________。
#include
#definen2
#definey(n)((n+1)*n)
main()
{intz;
z=2*(n+y(5));
printf("%d\n",z);
}
A.64B.34C.65D.输出值不确定
24.错误的转义字符是____________。
A.‘\091’B.‘\t’C.‘\0’D.‘\n’
25.当顺利执行了文件关闭操作后,fclose函数的返回值为______。
A.-1B.TC.0D.1
26.对于以下变量定义,
int*p[3],a[3];
正确的赋值是:
A.p=aB.*p=a[0]C.p=&a[0]D.p[0]=&a[0]
27.函数的指针,其含义是指该函数的:
A.值B.地址C.入口地址D.函数的参数
28.假定a和b为int型变量,则执行以下语句后,b的值为__A____。
inta=1,b=10;
do
{b-=a;a++;}//这一步执行
while(b--<0);//循环不执行
A.9B.-2C.-1D.8
29.类型定义中正确的是________。
A.DoubleB.shortC.integerD.Char
30.满足:
当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式是__D__。
A.(c=1)||(c=3)||(c=5)B.(c!
=1)&&(c!
=3)&&(c!
=5)
C.(c==1)&&(c==3)&&(c==5)D.(c==1)||(c==3)||(c==5)
31.判断char型变量ch是否为大写字母的正确表达式是。
A.’A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)
C.(ch>=’A’)&&(ch<=’Z’)D.(‘A’<=ch)AND(‘Z’>=ch)
32.判断两个字符串s1和s2相等,应当使用___C_。
A.if(s1==s2)B.if(s1=s2)
C.if(strcmp(s1,s2))D.if(strcmp(s1,s2)==0)
33.若a=-14,b=3,则条件表达式a
a:
b+1的值为____。
A.-14B.-13C.3D.4
34.若ch为char型变量(已知字符a的ASCII码是97),则执行下列语句后输出为________________。
ch=’c’;
print(“%x,%o”,ch,ch);
A.97,97B.61,97C.97,61D.63,143
35.若fp是指向某文件的指针,且已读到此文件的末尾,则库函数feof(fp)的返回值是__________。
A.EOFB.0C.非零值D.NULL
36.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为____。
A.0B.1C.-1D.一个非0值
37.若k为整型,以下while循环____次。
intk=10;
while(k=1)k=k-1;
A.10次B.无限循环C.一次不执行D.执行一次
38.若p1和p2都是整型指针,p1已指向变量x,要使p2也指向x,正确的是。
A.p2=p1B.p2=**p1C.p2=&p1D.p2=*p1
39.若变量已说明为int类型,并且有语句scanf(“%f%f%f”,&a,&b,&c);要给a,b,c输入数据,下列不正确的输入方法是_____。
A.10B.10.0,22.0,33.0C.10.0D.1022
2222.033.033
33
40.若程序中定义了以下函数,则下面选项中对该函数错误的说明是______。
doublemyadd(doublea,doubleb)
A.doublemyadd(doublea,b);
B.doublemyadd(double,double);
C.doublemyadd(doubleb,doublea);
D.doublemyadd(doublex,doubley);
41.若二维数组a有m列,则在a[i][j]前的元素个数为________。
A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1
42.若要打开A:
盘上的user子目录下名为abc.txt的文本文件进行读、写操作则下列符合要求的函数调用是__________________________。
A.fopen(“A:
\user\abc.txt”,“r”)
B.fopen(“A:
\user\abc.txt”,“r+”)
C.fopen(“A:
\user\abc.txt”,“rb”)
D.fopen(“A:
\user\abc.txt”,“w”)}
43.下列为合法的用户标识符的是___________。
A._98B.#PdC.2aD.char
44.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D___。
A.a<>0B.!
aC.a=0D.a
45.若有如下定义:
intx=10,y=3,z;
则语句printf("%d\n",z=(x%y,x/y))的输出结果是____________。
A.1B.0C.4D.3
46.若有说明:
inta[3][4];则对数组元素的非法引用是______。
A.a[0][2*1]B.a[0][4]C.a[4-2][0]D.a[1][3]
47.若有说明:
inta[10];则对a数组元素的正确引用是_______________。
A.a[10]B.a[10-10]C.a(5)D.a[3.5]
48.若有下列程序段,其输出的结果是_____B__________。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
A.0,0,-10B.0,0,5C.-10,3,-10D.3,3,-10
49.若有以下定义,则p+5表示_______A_____。
inta[10],*p=a;
A.元素a[5]的地址B.元素a[5]的值
C.元素a[6]的地址D.元素a[6]的值
50.若有以下定义,则对a数组元素的正确引用是__B_________。
inta[5],*p=a;
A.*&a[5]B.a+2C.*(p+5)D.*(a+2)
51.若有语句:
inta=4,*p=&a;,下面均代表地址的一组选项是__C__。
A.a,p,&*aB.*&a,&a,*pC.&a,p,&*pD.*&p,*p,&a
52.若有语句int*point,a=4和point=&a;下面均代表地址的一组选项是___D__。
A.a,point,*&aB.&*a,&a,*point
C.*&point,*point,&aD.&a,&*point,point
53.若运行时给变量x输入12,则以下程序的运行结果是____________。
main()
{intx,y;
scanf(“%d”,&x);
y=x>12?
x+10:
x-12;
printf(“%d\n”,y);
}
A.4B.3C.2D.0
54.若整型变量k的当前值为9,则执行语句“x=k>>2”后,变量k,x的值分别是C(>>2表示右移两位)
A.9,2B.2,2C.9,9D.2,9
55.设inta,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是_D__。
A.2,1,2B.2,0,3C.2,2,3D.2,1,3
56.设a=4,b=3,c=2,d=1,则表达式:
a
a:
ca:
d的结果为:
D
A..4B.3C.2D.1
57.设a和b均为double型常量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是:
A.6.500000B.6C.5.500000D.6.000000
58.设x、y均为float型变量,则以下不合法的赋值语句是__B__。
A.++x;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;
59.设变量定义如下,则对其中的结构分量num正确的引用是。
structstudent{
intnum;
Charname[20];
floatscire;
}stud[10];
A.stud[1].num=10;B.student.stud.num=10;
C.struct.stud.num=10;D.structstudent.num=10;
60.设有如下定义:
structsk
{intn;
floatx;
}data;
Int*p;
若要使p指向data中的n域,则正确的赋值语句是______。
A.p=&n;B.p=data.n;C.p=&data.n;D.*p=data.n;
61.数组定义为inta[3][2]={1,2,3,4,5,6},数组元素B的值为6。
A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3]
62.说明和语句:
inta=4;
a++;
最后a的值是________。
A.7B.6C.5D.4
63.说明和语句:
intx=5;
++x;
最后a的值是______。
A.7B.6C.8D.4
64.算法具有五个特性,以下选项中不属于算法特性的是____。
A.有穷性B.简洁性C.可行性D.确定性
65.为表示关系x≤y≤z,正确的C语言表达式是____。
A.(x<=y)&&(y<=z)B.(x<=y)AND(y<=z)
C.(x<=y<=z.)D.(x<=y)&(y<=z)
66.下列scanf函数调用语句中对结构体变量成员的不正确引用是________。
structpupil
{charname[20];
intage;
intsex;
}pup[5],*p;
p=&pup[0];
A.scanf(“%s”,pup[0].name);
B.scanf(“%d”,&pup[0].age);
C.scanf(“%c”,&(p->sex));
D.scanf(“%d”,p->age);
67.下列while循环,将执行A次。
i=4;
while(--i);
printf(“%d”,i);
A.3B.4C.0D.无限次
68.下列不能正确定义二维数组的选项是____D____。
A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};D.inta[2][]={{1,2},{3,4}};
69.下列不属于字符型常量的是___________。
A.‘A’B.“B”C.‘\n’D.‘*’
70.下列程序的输出结果是__D_orA___。
#include
#defineP3
F(intx)//C-FREE中没有定义函数类型通不过,c++可以通过
{return(P*x*x);}
main()
{printf(“%d\n”,F(3+5));
}
A.192B.29C.25D.编译出错
71.下列程序的输出结果是_______。
#include
main()
{inta=0,b=0,c=0,d=0;
if(a=1)
{b=1;c=2;}
else
d=3;
printf(“%d,%d,%d,%d\n”,a,b,c,d);
}
A.1,2,1,0B.0,0,0,3C.1,1,2,0D.编译有错
72.下列程序的输出结果是___C____。
#include
main()
{inta=-1,b=1,k;
if((++a<0)&&!
(b--<=0))
printf(“%d%d\n”,a,b);
else
printf(“%d%d\n”,b,a);
}
A.-11B.01C.10D.00
73.下列程序的输出结果是________。
#include
#defineSQR(x)x*x
main()
{inta=10,k=3,m=2;
a=SQR(k+m);
printf(“%d\n”,a);
}
A.25B.11C.5D.15
74.下列程序的输出结果是_____C____。
#include
main()
{doubled=3.2;
intx,y,z;x=1.2;
y=(x+3.8)/5.0;
z=(d+3.8)/5.0;
printf(“%d,%d\n”,y,z);
}
A.1,1B.0,0C.0,1D.1,0
75.下列程序的输出结果是_________。
intx=3;
do
{printf("%d",x-=2);
}
while(!
(--x));
A.1B.30C.1-2D.死循环
76.下列程序的输出结果是__________。
#include
main()
{
inta,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf(“%d,%d\n”,a,b);
}
A.2,1B.3,2C.4,3D.2,-1
77.下列程序的输出结果是__________。
#include
#include
voidmain()
{charstr[10]={'s','t','r','i','n'};
printf("%d\n",strlen(str));
}
A.5B.6C.不确定D.7
78.下列程序的输出结果是_____C______。
intm=5;
if(m++>5)//先判断m=5不大于5,之后m变成6,然后执行else先输出m=6,再m--。
printf(“%d\n”,m);
else
printf(“%d\n”,m--);
A.4B.5C.6D.7
79.下列程序的输出结果是_____________。
#include
#defineN5
#defineM1N*3
#defineM2N*2
main()
{inti;
i=M1+M2;
printf(“%d\n”,i);
}
A.10B.20C.25D.30
80.下列程序的输出结果是______C___________。
#include
#defineM(x,y)(x)<(y)?
(x):
(y)
main()
{inti=20,j=10,k;
k=10*M(i,j);
printf(“%d\n”,k);
}
A.10B.20C.100D.200
81.下列程序的输出结果是__________________。
#include
main()
{intx;
for(x=3;x<6;x++)
printf((x%2)?
(“**%d”):
(“##%d\n),x);
}
A.**3##4B.##3C.##3**4D.**3##4
**5**4##5**5##5
82.下列程序段的输出结果是___A_。
#defineM(x,y)x/y
printf("%d",M(10,2+3));
A.2B.2.0C.5D.8
83.下列程序段的输出结果是__C_____。
inta=1234;
printf(“%2d\n”,a);//当输出长度比a的长度小时,定义的长度无效
A.12B.34C.1234D.提示出错,无结果
84.下列各表达式中哪个值为“真”。
A.7>10&&4>2;B.10>’A’&&2>0;
C.’a’<50||’a’>’b’;D.0||1
85.下列描述正确的是___________。
A.C语言的预处理功能是指完成宏替换和包含文件的调用
B.预处理指令只能位于C源程序文件的首部
C.凡是C源程序中行首以“#”标识的控制行都是预处理指令
D.C语言的编译预处理就是对源程序进行初步的语法检查
86.下列能正确地定义整型变量a、b和c并为其赋初值3的语句是________。
A.inta=b=c=3B.inta,b,c=3
C.inta=3,b=3,c=3D.a=b=c=3
87.下列能正确进行字符串赋值操作的是______。
A.chars[5]={“ABCDE”};
B.chars[5]={‘A’,’B’,’C’,’D’,’E’,’\0’};
C.char*s;s=“ABCDE”;
D.char*s,scanf(“%s”,s);
88.下列说明不正确的是___D________。
A.chara[10]={"china"};B.chara[10],*p=a;p="china";
C.char*a;a="china";D.chara[10],*p;p=a=