《C语言程序设计》综合复习资料Word下载.docx
《《C语言程序设计》综合复习资料Word下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》综合复习资料Word下载.docx(31页珍藏版)》请在冰豆网上搜索。
A)ElseB)elseC)user$2D)5_examp
15.以下不正确的字符常量是
A)'
8'
B)'
\xff'
C)'
\887'
D)'
'
16.以下不正确的字符常量是
A)'
\0'
B)'
\xgg'
C)'
0'
D)'
a'
17.以下选项中不合法的八进制数是
A)01B)077C)028D)00
18.下列运算符优先级最高的是
A)∙B)+C)&
&
D)!
=
19.若有说明:
chars1='
\067'
s2='
1'
;
则变量s1,s2在内存中各占的字节数是。
A)11B)41C)31D)12
20.以下不能定义为用户标识符的是
A)scanfB)VoidC)_3com_D)inte
21.在C语言中,可以作为用户标识符的一组标识符是
A)voiddefineWORDB)as_b3_224Else
C)Switch-wercaseD)4bDOSIG
22.若有:
intx=1,n=5;
则执行语句x%=(n%2)后,x的值为
A)3B)2C)1D)0
23.设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值是
A)10B)9C)8D)7
24.已知:
chara=’a’;
intb=0;
floatc=-1.2;
doubled=0;
执行语句:
c=a+b+c+d;
后,变量c的类型是
A)charB)intC)doubleD)float
25.表示x≤0或x≥1的正确的表达式是
A)x>
=1||x<
=0B)x>
1||x<
=0
C)x>
=1orx<
=0D)x>
=1||x<
26.对于intx=12,y=8;
printf(“%d%d%d”,!
x,x||y,x&
y);
输出的结果是
A)011B)010C)000D)111
27.设有intx=11;
则表达式(x++*1/3)的值是
A)3B)4C)11D)12
28.以下非法的赋值语句是
A)n=(i=2,++i);
B)j++;
C)++(i+1);
D)x=j>
0;
29.已定义c为字符型变量,则下列语句中正确的是
A)c='
97'
;
B)c="
97"
C)c="
a"
D)c=97;
30.执行intj,i=1;
j=-i++;
后j的值是
A)-1B)-2C)1D)2
31.以下选项中非法的表达式是
A)(a+2)++B)i=j==0C)(char)(65+3)D)x+1=x+1
32.已知小写字母的ASCII码为97,对于inta=99,b='
b'
printf(“%c,%d”,a,b);
的结果是
A)99,bB)c,98C)99,98D)c,b
33.以下选项中非法的表达式是
A)0<
=x<
100B)i=j==0C)(char)(65+3)D)x+1=x+1
34.下列错误的表达式是
A)-x++B)(-x)++C)x+++yD)++x+y
35.对于intx=12,y=8;
36.设a,b,c均为int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是
a'
&
B)0||1C)a||b+c&
b-cD)!
((a<
b)&
!
c||1)
37.若有定义:
inta=8,b=5,C;
,执行语句C=a/b+0.4;
后,C的值是
A)1.4B)1C)2.0D)2
38.以下选项中,与k=n++完全等价的表达式是
A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1
39.设a=3,b=4,c=5,则逻辑表达式:
a||b+c&
b==c的值是
A)1B)0C)非0D)语法错
40.若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是
A)20B)45C)100D)表达式不合法
41.若有语句inti=﹣19,j=i%4;
printf("
%d\n"
j);
则输出结果是
A)3B)-3C)4.75D)0
42.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
A)x=x*100+0.5/100.0;
B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0;
D)x=(x/100+0.5)*100.0;
43.已知小写字母的ASCII码为97,对于inta=99,b='
的结果是
44.若有语句inti=﹣19,j=i%4;
则输出结果是。
45.语句:
printf("
%d"
(a=2)&
(b=-2));
的输出结果为
a)无输出b)结果不确定c)1d)2
46.有定义语句:
intx,y;
,若要通过scanf("
%d,%d"
&
x,&
语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A)1112<
回车>
B)11,12<
C)11,12<
D)11,<
12<
47.设a=3,b=4,c=5,则逻辑表达式:
48.已知charch='
A'
且表达式ch=(ch>
='
ch<
Z'
)?
(ch+32):
:
ch 的值是()
A)AB)aC)ZD)出错
49.如下程序段:
intx=2005,y=2006;
(x,y));
则以下叙述中正确的是
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2005
D)输出值为2006
50.设有如下程序段:
intx=2,y=3;
C)输出值为2
D)输出值为3
1.C语言中逻辑”真”用表示,逻辑”假”用表示。
2.在C语言中,整数可用进制、进制和进制3种数制表示。
3.十进制数52转化成八进制数是。
4.十六进制数7A转化成八进制数是。
5.十进制数47转化成八进制数是。
6.在C语言中,’\101’是种特殊的字符常量,它称为,其表示的字符为。
7.在C语言程序中,整型数可用十进制、进制和进制3种数制表示。
070是个合法的整型数。
8.字符串“ab\034\\\x79”的长度为。
9.十六进制数7A转化成八进制数是。
10.语句:
(a=-10)&
(b=0));
的输出结果为。
11.若w=1,x=2,y=3,z=4,则条件表达式w<
x?
w:
y<
z?
y:
z的结果为。
12.设a,b,c均为int型变量,且a=3,b=4,c=5,则表达式:
‘a’||b+c&
b-c的值是。
13.在C语言中,”a”表示常量,’a’表示常量。
14.表达式:
–0x20–'
的值是
16.若有说明语句,inti=-3,j;
则执行语句j=(++i)+(i++);
后j的值是。
17.已知intj,i=2;
执行语句j=-i++;
后,j的值是。
18.设inti=1;
charc='
则条件表达式c==1的值是。
19.语句:
20有:
charc='
c+1);
则输出的结果为。
21有:
intx=-3;
则执行语句:
x+=x-=x*x;
后x的值为
22语句printf(“%%%%\n”);
的输出为。
23若有说明:
\xff'
f'
则变量s1,s2在内存中所占的字节数均为。
24在C语言中,char型数据在内存中是以形式存储,其存储的字节数是。
25设x,y,,z均为int型变量,写出描述“x或y中至少有一个小于z”的表达式是
第4章最简单的C程序设计——顺序程序设计
一、读程序,写出程序执行结果
1.voidmain()
{inta=5,b=8;
printf(“a=%db=%d\n”,a,b);
a=a+b;
b=a-b;
a=a-b;
}
2.main()
{intx,y=1;
printf(“%c\n”,x=99);
printf(“%d\n”,(x++,++y,x+y));
}
3.main()
{intp=30;
(p/3>
0?
p/10:
p%3));
4.main()
{intx,y=0;
printf(“%d\n”,(x++,++y,x+y));
第5章选择结构程序设计
{intx=-9,y;
if(x>
0)y=10;
elseif(x==0)y=0;
elseif(x<
-5)y=-3;
elsey=-2;
printf(“%d\n”,y);
2.voidmain()
{inta,b,c,x;
a=b=c=1;
x=3;
if(!
a)x--;
elseif(b)
if(c)x=3;
elsex=4;
printf(“%d\n”,x);
3.voidmain()
{inta=12,b=5,c=-3;
if(a>
b)
if(b<
0)c=0;
elsec++;
printf(“%d\n”,c);
4.main()
{intx=100,a=20,b=10;
intv1=5;
if(a<
b)
if(b!
=15)
if(!
v1)
x=1;
else
x=10;
x=-1;
printf(“%d”,x);
}
5.main()
{inta=4,b=3,c=5,t=0;
if(a<
b)t=a;
a=b;
b=t;
c)t=a;
a=c;
c=t;
%d%d%d\n"
a,b,c);
}
6.main()
{inti=2;
switch(i)
{case1:
printf(“%d”,i++);
break;
case2:
case3:
case4:
7.voidmain()
{ints=’3’;
switch(s-'
2'
)
{case0;
case1:
putchar(s+4);
case2:
case3:
putchar(s+3);
default:
putchar(s+2);
8.voidmain()
{intx=2;
switch(1+x)
{case0;
printf(“apple”);
break;
printf(“hello”);
printf(“world”);
printf(“thankyou”);
第6章循环控制
1.对于循环for(k=16;
k>
k-=3)putchar(‘*’);
输出是
A)*****B)******C)*******D)无限循环
2.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;
b<
=c;
b++)s=s+1;
则与上述程序段功能等价的赋值语句是
A)s=a+b;
B)s=a+c;
C)s=s+c;
D)s=b+c;
3.设有inti,x;
则循环语句:
for(i=0,x=0;
i<
=9&
x!
=876;
i++)scanf(“%d”,&
x);
A)最多执行10次B)最多执行9次
C)是无限循环D)循环体一次也不执行
二、读程序,写出程序执行结果
1.main()
{intn=4;
while(n--)printf("
%2d"
--n);
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case1:
%d"
i);
case2:
{inti,m=0,n=0,k=0;
for(i=9;
=11;
i++)
switch(i/10)
{case0:
m++;
n++;
case10:
default:
k++;
m,n,k);
{inti,j;
for(i=5;
i>
1;
i--)
{for(j=0;
j<
11-2*i;
j++)putchar(‘‘);
for(j=0;
2*i-1;
j++)putchar('
9'
);
5.main()
{inta;
for(a=1;
a<
6;
a++)
{if(a%2)
printf(“%”);
continue;
printf(“@”);
6.voidmain()
{intx=2,y=3;
intj;
for(j=1;
y>
0;
y--)j=j*x;
printf(“j=%d\n”,j);
7.voidmain()
{intn=-5;
while(++n)
++n);
8.main()
{intx=15;
while(x>
10&
x<
50)
{x++;
if(x/3){x++;
break;
elsecontinue;
printf(“%d\n”,x);
9.voidmain()
{intx,y;
for(x=1,y=1;
y<
=50;
y++)
{if(x>
=10)break;
if(x%2==1){x+=5;
continue;
x-=3;
%d%d\n"
x,y);
}
10.main()
{intk=4,n=0;
for(;
n<
k;
)
{n++;
if(n%3!
=0)continue;
k--;
%d,%d\n"
k,n);
11.voidmain()
{inti=1;
while(i<
10)
if(++i%5!
=3)continue;
elseprintf("
i);
12.main()
{intk=0,m=0;
inti,j;
for(i=0;
2;
{for(j=0;
j++)
k-=j;
m=i+j;
printf(“k=%d,m=%d”,k,m);
13.voidmain()
{intt,n=15;
t=0;
do{
t+=n;
n-=2;
}while(n>
0);
printf(“%d\n”,t);
14.voidmain()
{intn1,n2;
n2=5678;
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
n1);
第7章数组
1.在执行inta[][3]={{1,2},{3,4}};
语句后a[1][2]的值是
A、3 B、4 C、0 D、2
2.已知:
inta[][3]={1,2,3,4,5,6,7,8,9,0};
则数组a的第一维的大小是
A)2B)3C)4D)无法确定;
3.以下能正确定义数组并正确赋初值的语句是
A)intN=5,b[N][N];
B)inta[1][2]={{1},{3}};
C)intc[2][]={{1,2},{3,4}};
D)intd[3][2]={{1,2},{34}};
4.以下不能正确定义二维数组的选项是
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}};
5.有语句:
chars1[10],s2[10]={"
books"
};
则能将字符串books赋给数组s1的正确语句是
A)s1={"
};
B)strcpy(s1,s2);
C)s1=s2;
D)strcpy(s2,s1);
6.C语言标准函数strcpy(s3,strcat(s1,s2))的功能是
A)将字符串s1复制到s2中,再连接到s3之后
B)将字符串s2连接到s1之后,再将s1复制到s3中
C)将字符串s2复制到s1中,再将s1连接到s3之后
D)将字符串s2连接到s1之后,再将s3复制到s1中
1.main()
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0;
for(i=0;
4;
i++)s+=aa[i][3];
printf(“%d\n”,s);
{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
inti,j,s=0;
{for(j=0;
j<
j++)
{if(a[i][j]<
0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
s);
{intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<
7&
p[i]%2){k=k+p[i];
i++;
k);
{