elsex=3;
elsex=4;
elsex=5;
A.1B.2C.3D.4
38.执行以下程序段后,变量x,y,z的值分别为_____。
inta=1,b=0,x,y,z;
x=(--a==b++)--a:
++b;
y=a++;
z=b;
A.x=0,y=0,z=0B.x=-1,y=-1,z=1
C.x=0,y=1,z=0D.x=-1,y=2,z=1
39.执行以下语句后,y的值为_____。
intx,y,z;
x=y=z=0;
++x||++y&&++z;
A.0B.1C.2D.不确定值20
40.以下程序的输出结果是_____。
#include<>
main()
{
inta=5,b=4,c=6,d;
printf(”%d\n”,d=a>ba>ca:
c:
b);
}
A.5B.4C.6D.不确定
41.C编译程序是_____。
A.C程序的机器语言版本
B.一组机器语言指令
C.将C源程序编译成目标程序
D.由制造厂家提供的一套应用软件
42.以下选项中,合法的用户标识符是_____。
A.longB._2abcC.3dmaxD.
43.以下选项中可作为C语言合法整数的是_____。
A.10110BB.0386C.0XffaD.x2a2
44.表达式13/3*sqrt/8的数据类型是_____。
A.intB.floatC.doubleD.不确定
45.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是_____。
A.7B.8C.6D.2
46.已知s是字符型变量,下面不正确的赋值语句是_____。
A.s=’\012’;B.s=’u+v’;
C.s=’1’+’2’;D.s=1+2;
47.putchar函数可以向终端输出一个_____。
A.整型变量表达式值。
B.字符串
C.实型变量值。
D.字符或字符型变量值。
48.有如下程序段:
intx1,x2;
chary1,y2;
scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);
若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是_____。
(注:
└┘代表空格)
A.10A└┘20BB.10└┘A20B
C.10└┘A└┘20└┘BD.10A20└┘B
49.已有定义inta=-2;和输出语句:
printf(”%8lx”,a);以下正确的叙述是_____。
A.整型变量的输出格式符只有%d一种
B.%x是格式符的一种,它可以适用于任何一种类型的数据
C.%x是格式符
D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
50.能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是_____。
A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)
B.(x>=-58)||(x<=-40)||(x>=40)||(x<=58)
C.(x>=-58)&&(x<=-40)||(x>=40)&&(x<=58)
D.(x>=-58)||(x<=-40)&&(x>=40)||(x<=58)
51.已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!
y)的值是_____。
A.0B.语法错
C.1D.“假”
52.指出下列程序段所表示的逻辑关系是_____。
if(a
{if(c==d)
x=10;
}
else
x=-10;
A.
B.
C.
D.
53.以下程序的运行结果是_____。
#include<>
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)
c=0;
elsec++;
printf(”%d\n”,c);
}
A.0B.1C.2D.3
54.有以下程序,程序运行后的输出结果是_____。
#include<>
main()
{
inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{default:
m++;
case0:
m++;break;
}
}
printf(”%d\n”,m);
}
A.1B.2C.3D.4
55.以下程序的输出结果是_____。
main()
{intn=4;
while(n--)
printf(〞%d〞,--n);
}
56.执行以下程序后输出的结果是_____。
main()
{inty=10;
do{y--;}
while(--y);
printf("%d\n",y--);
}
57.若输入B,以下程序的运行结果为_____。
main()
{chargrade;scanf("%c",&grade);
switch(grade)
{case'A':
printf(">=85.");
case'B':
case'C':
printf(">=60.");
case'D':
printf("<60.");
default:
printf("error.");
}
}
A.>=85.B.>=60.C.>=60.<..
58.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为_____。
D.非0
59.C语言的if语句嵌套时,if与else的配对关系是_____。
A.每个else总是与它上面的最近的if配对
B.每个else总是与最外的if配对
C.每个else与if的配对是任意的
D.每个else总是与它上面的if配对
60.下列程序段的输出结果为_____。
main()
{intx=3;
do
{printf("%3d",x-=2);}
while(!
(--x));
}
0-2D.死循环
61、以下选项中属于C语言的数据类型是()
A.复数型B.逻辑型C.集合型D.双精度型
62、一个C程序的执行是从()
A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束
63、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是()
A.3B.0 C.-12 D.9
64、若有charc[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是()。
A.cd\0eB.'c''d'C.cdD.cde
65、已知:
inta[2][3]={1,2,3,4,5,6},(*p)[3]=a;则下列表达式不是4的是()。
A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3]
66、以下有宏替换不正确的叙述().
A.宏替换不占用运行时间B.宏名无类型
C.宏替换只是字符串替换D.宏名必须用大写字母表示
67、执行charstr[10]=”Ch\nina”;strlen(str)的值是()
A.5B.6C.7D.9
68、下面程序的输出结果是:
()
#definePOWER(x)(x*x)
main()
{inti=4;printf("%d",POWER(i-2));}
A.-9B.-7C.5D.-6
69、在定义inta[3][4][2];后,第10个元素是()
A.a[2][1][2]B.a[1][0][1]C.a[2][0][1]D.a[2][2][1]
70、下列程序的输出结果是()。
main()
{inta=7,b=5;
printf("%d\n",b=b/a);
}
A5B1C0D不确定值
71、.假设变量a,b均为整型,表达式(a=5,b=2,a>ba++:
b++,a+b)的值是()。
A7B8C9D2
72、设有如下程序段,下面描述中正确的是()。
intk=10;while(k=0)k=k-1;
A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
73、以下程序的输出结果为()。
inti;
voidprt()
{for(i=5;i<8;i++)printf("%c",'*');
printf("\t");
}
main()
{for(i=5;i<=8;i++)prt();
}
A***B************C******D***
74、在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可以嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用都不可以嵌套
D函数的定义和函数的调用都可以嵌套
75、以下函数调用语句中含有()个实参。
func((e1,e2),(e3,e4,e5));
A2B3C5D语法错误
二、填空题
1.C语言源程序的基本单位是________。
2.若a为整型变量,a=12,则表达式:
a+=4的值________。
3.通常一个字节包含________个二进制位。
4.一个C程序有且仅有一个________函数。
5.在C语言中,字符输入函数和字符输出函数分别是:
________和________。
6.在C语言中,最基本的数据类型只有四种,它们分别是:
int、________、________和double。
7.已知字符A的ACSII码值为65,以下语句的输出结果是________。
charch=’B’;
printf("%c%d\n",ch,ch);
8.’a’在内存中占________个字节,”a”在内存中占________个字节。
9.若有inta[3][2]={{1},{3,2},{4,5}};,则a[1][1]的值是________。
10.在循环语句中,break语句的作用是________,continue语句的作用是________。
11.一个C语言程序的语句至少应包含一个__________。
12.C语言源程序文件的扩展名是_______,经过编译、连接后,生成文件的扩展名是_______。
13.结构化程序由顺序结构、________和_________三种基本结构组成。
14.C语言的执行是从________开始执行的。
15.表达式10/3的结果是_________。
16.在C语言中,有三种逻辑运算符,它们分别是:
&&、________、_________。
17.if语句中的表达式可以是关系表达式、________、________。
18.C语言中基本的数据类型有:
整型、________、________。
19.整数-35在机内的补码表示为_____________。
20.有如下语句:
charA[]={”Iamastudent”};该字符串的长度是________,A[3]=________。
21.C语言源程序的基本单位是______________。
22.表达式9%5的结果是______________。
23.C语言中普通整型变量的类型说明符为__________,在内存中占__________字节。
24.符号”a”和’a’的区别是_______________。
25.C语言提供的预处理命令主要包括如下三种:
宏定义、____________、____________。
26.语句printf(“%%d%d”,123);将输出:
______________。
27.C语言中,int型数据在内存中的存储形式是_______________。
28.在C语言中,格式输入库函数为_______________,格式输出库函数为_______________。
29.判断一个字符是否是字母或数字的逻辑判断语句是:
_______________。
30.有以下程序,执行后输出结果是_______________。
main()
{
intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
31、字符串"A"在内存中占用的字节数为_____________。
32、C语言中的标识符只能由字母、下划线和_____________组成。
33、若有定义语句“inta=25,b=14,c=19;",以下语句的执行结果是_____________
if(a++<=25&&b--<=2&&c++)printf("***a=%d,b=%d,c=%d\n",a,b,c);
elseprintf("###a=%d,b=%d,c=%d\n",a,b,c);
34、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为_____________。
35、若有定义:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++)p[i]=&a[i*3];则*(*(p+1)+2)的值为,*p[2]的值为____________。
若数组的首地址为2000,则p[1]指向的地址为_____________。
36、设a=2,b=3,x=,y=,则表达式(float)(a+b)/2+(int)x%(int)y的结果是_____________。
37、设x、y都是int型变量,初值都为1,则执行表达式:
--x&&y++后,y的值为_____________。
38、语句for(i