C语言复习题给学生Word格式文档下载.docx
- 文档编号:21627732
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:27
- 大小:33.05KB
C语言复习题给学生Word格式文档下载.docx
《C语言复习题给学生Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题给学生Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
则表达式(——a==++c)?
——a:
c++的值是5,此时c的存储单元的值为【6】.
15若有说明语句:
intx=1,y=0;
则表达式x>
(y+x)?
10:
12.5>
y++?
’a’:
’a’的值为【97】.
16若有intx=7,则表达式x+=x-=x+x;
执行后,x的值为【-14】。
17设inta=1,b=2,c=3,d;
执行d=!
(a+b+C)后,d的结果是【0】
18设intx=10,y,z;
执行y=z=x;
x=y==z后,变量x的结果是【1】。
19设intx=9,y=8;
表达式x==y+1的结果是【0】.
20若x,a都是int型变量,则表达式x=(a=4,6*2)的值是【12】,表达式x=a=4,6*2的值是【12】。
21若a是int型变量,则表达式(a=4*5,a*2),a+6的值是【26】。
22有inta;
则执行a=25/3%3;
后,a=【2】。
23若intb=7;
floata=2.5,c=4.7;
则表达式a+(int)(b/3*(int)(a+c)/2)%4的值是【5.5】。
24若intx=12,n=5;
则表达式x%=(n%=2)的值是【0】。
25已知字母b的ascii码为98,且charch;
则表达式ch=’b’+’8’-‘3’的值为【103】。
26,号运算符得结合方向为自左向右的
27与条件表达式"
(n)?
(c++):
(c--)"
中的表达式(n)等价的表达式是
(n!
=0)。
28C语言中,所有的C语言关键字必须小写。
29.检查以下的C语言标识符的正确性:
intB
a_1_2C
ab1exeD
_xE
printF
i\am
30检查以下的C语言的关键字的正确性:
auto,enum,include
switch,typedef,continue,signed,union,scanf
if,struct,type
default,
register,enum,external
31字符串"
"
的长度是0
32如果inta=1,b=2,c=3,d=4;
则条件表达式"
a<
b?
a:
c<
d?
c:
d"
的值是1
33为求出s=10!
的值,则变量s的类型应当为ong
34已知inti=10;
表达式"
20-0<
=i<
=9"
的值是1
35在32位的计算机中,一个字长等于1个字节。
36设y是int型变量,判断y为奇数的关系表达是(y%2)==1.
37计算机机领域中,通常用英文单词“Byte”表示字节。
38表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>
5||x<
-5.
39设有以下变量定义,并已赋确定的值
charw;
intx;
floaty;
doublez;
则表达式:
w*x+z-y所求得的数据类型为:
double.
40设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。
41若已知a=10,b=20,则表达式!
a*b的值是1。
第三章知识点
1有程序段:
intx;
scanf(“%d\n”,&
x);
printf(x%2==0?
“evennumber%d”:
“oddnumber%d”,x,x);
若输入3,则printf语句【输出oddnumber3】
2以下程序的输出结果是:
(1)main()
{intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(“%d”,pad);
}【7】
3下面程序的输出结果是
#include<
stdio.h>
main()
{intx=10;
{intx=20;
printf("
%d,"
x);
}
printf("
%d\n"
}【20,10】
4以下程序的输出结果是:
main()
{
inta=177;
%o\n"
a);
}【261】。
5以下程序的输出结果是
{inta=0
a+=(a=8);
}【16】
6以下程序输出的结果是
{inta=5,b=4,c=3,d;
d=(a>
b>
c);
d);
}【0】
7以下程序运行后的输出结果是
{charc;
intn=100;
floatf=10;
doublex;
x=f*=n/=(c=50);
printf("
%d%f\n"
n,x);
}【220】
8以下程序运行后的输出结果是
main()
{inta,b,c;
a=25;
b=025;
c=0x25;
%d%d%d\n"
a,b,c);
}【252137】
9对于语句scanf(“%f︼︼%f,z=%f”,&
x,&
y,&
z);
,其合法的输入形式为
14.7︼︼︼2.0,z=15(其中的︼表示空格)
10使用语句scanf("
x=%f,y=%f"
&
y);
输入变量x、y的值(︼代表空格),正确的输入是:
x=1.25,y=2.4
11以下程序的输出结果是:
n=65015
main()
{unsignedintn;
inti=-521;
n=i;
n=%u\n"
n);
12执行语句printf("
%x"
-1);
屏幕显示:
ffff。
13已知longi=32768;
执行语句printf("
%d"
i);
-32768
14以下程序的输出结果是八进制数261
main()
{inta=177;
printf("
}
15语句:
x++;
++x;
x=x+1;
x=l+x;
,执行后都使变量x中的值增1,与上述语句功能相同的赋值语句(不得与列举的相同)有x+=1等.
16以下程序的输出结果是_0_
{unsignedshorta=65536;
intb;
printf(“%d\n”,b=a);
}
17若有定义:
inta=10,b=9,c=8;
接着顺序执行下列语句后,变量b中的值是3。
c=(a-=(b-5));
c=(a%11)+(b=3);
18若想通过以下输入语句使a=5.0,b=4,c=3,
intb,c;
floata;
scanf("
%f,%d,c=%d"
,&
a,&
b,&
c);
则输入数据的形式应该是:
5.0,4,c=3
19C语言本身没有提供输入/出语句,输入/出由C语言的标准输入/出库函数提供。
20编写一个程序,从键盘输入一个三位整数,将它们逆序输出。
例如输入127,输出721。
第四章知识点
1C语言中,逻辑“真”等价于【非零的数】
2以下程序的输出结果是
{inti;
for(i=1;
i<
=5;
i++)
{if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
printf(“$”);
}【*#*#*#$】
3若有:
inta=1,b=2,c=3,d=4,m=2,n=2;
则执行(m=a>
b)&
&
(n=c>
d)后n的值是【2】
4main()
{inta,b,d=241;
a=d/100%9;
b=(-1)&
(-1);
printf(“%d,%d”,a,b);
输出的结果是【
2,1】
5若有intx=10,y=20,z=30;
以下语句执行后x,y,z的值是
if(x>
y)
z=x;
x=y;
y=z;
【
x=20,y=30,z=30】
6以下程序的输出结果是
{inta=1,b=3,c=5,d=4,x;
if(a<
b)
if(c<
d)x=1;
else
c)
if(b<
d)x=2;
elsex=3;
elsex=6;
elsex=7;
printf(“x=%d”,x);
}【2】
7以下程序的输出结果是
{intx=2,y=-1,z=2;
if(x<
if(y<
0)z=0;
elsez+=1;
printf(“%d\n”,z)
}【2】
8为了避免嵌套的if—else语句的二义性,C语言规定else总是与【在其之前未配对的最近的if】组成配对关系。
9已知intx=1,y;
执行语句y=++x>
5&
++x<
10;
后变量x的值是【2】。
10以下程序段的输出结果是
inta=10,b=50,c=30;
if(a>
a=b;
b=c;
c=a;
a=%db=%dc=%d\n"
a,b,c);
【a=10b=30c=10】
11以下程序的输出结果是
{inta=0,b=1,c=0,d=20;
if(a)d=d-10;
elseif(!
if(!
c)d=15;
elsed=25;
d=%d\n"
d);
}【d=20】
12下面程序的输出结果为
{inta=1,b=0;
switch(a)
{case1:
switch(b)
{case0:
**0**"
);
break;
case1:
**1**"
case2:
**2**"
}【**0****2**】
13从键盘上输入"
446755"
时,下面程序的输出是
{intc;
while((c=getchar())!
='
'
\n'
)
switch(c-'
2'
putchar(c+4);
break;
case3:
putchar(c+3);
default:
putchar(c+2);
\n"
}【88898787】
14将下列数学式改写成C语言的关系表达式或逻辑表达式A)a≠b或a<
=c;
【a!
=b||a<
=c】
B)|x|>
=4;
【x>
=4||x<
=-4】.
15C语言中用【1】表示逻辑值“真”,用【0】表示逻辑值“假”。
16以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。
当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:
a+b>
c,a+c>
b,b+c>
a。
请填空。
floata,b,c;
scanf(“%f%f%f”,&
a,&
b,&
if()printf(“YES\n”);
/*a,b,c能构成三角形*/
elseprintf(“NO\n”);
/*a,b,c不能构成三角形*/
}【a+b>
c&
a+c>
b&
b+c>
a】
17以下程序的运行结果是
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(n>
=2){m=fun(t,n-1);
returnm;
inta[]={11,4,6,3,8,2,3,5,9,2};
printf(“%d\n”,fun(a,10));
}【11】
18C语言的switch语句中,case后只能为常量或常量表达式
19有如下程序段:
intx=1,y=1;
intm,n;
m=n=1;
switch(m)
{case0:
x=x*2;
{
switch(n)
{case1:
case2:
y=y*2;
break;
case3:
x++;
y++;
x*=2;
y*=2;
执行完成后,x和y的值分别为:
(
x=6y=6)
20多分支选择可以用嵌套的if语句和switch语句来实现。
21若从键盘输入58,则以下程序输出的结果是585858。
{inta;
scanf("
a);
if(a>
50)printf("
40)printf("
30)printf("
22下列程序段的输出结果是passwarm。
intn=’c’;
switch(n++)
{default:
printf(“error”);
case‘a’:
case‘A’:
case‘b’:
case‘B’:
printf(“good”);
case‘c’:
case‘C’:
printf(“pass”);
case‘d’:
case‘D’:
printf(“warn”);
23以下两条if语句:
=b)x=1;
elsey=2;
b))printf("
****y%d\n"
y);
elseprintf("
####x=%\n"
x);
可合并成一条if语句是:
=b)printf("
####"
x=%d\n"
x=1);
elseprintf("
****y=%d\n"
y=2);
24编程判断输入的正整数是否既是5又是7的整倍数。
若是,输出yes,否则输出no。
25设N是一个四位数,它的9倍恰好是其反序数(例如:
123的反序数是321),求N的值。
26输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:
year%4==0&
year%100!
=0||year%400==0。
若表达式成立(即表达式值为1),则year为闰年;
否则,表达式不成立(即值为0),year为平年。
27打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该
数本身。
例如:
153是一水仙花数,因为153=1^3+5^3+3^3.
28编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
第五章知识点
1有程序段:
inta;
for(scanf(“%d”,&
!
a;
)
printf(“continue”);
则for语句中的!
a等价于【a==0】
2有程序段:
intx,y,z;
x=20,y=40,z=60;
while(x<
y)x+=4,
y-=4;
z/=2;
printf(“%d,%d,%d”,x,y,z);
则此程序执行的输出结果为【32,28,30】
3有程序段:
intj=0,k=0,a=0;
while(j<
2)
{j++;
a=a+1;
k=0;
while(k<
=3)
{k++;
if(k%2!
=0)
continue;
执行完成后,a的值为【8】
4以下程序的输出结果是
{intnum=0;
while(num<
=2)
{num++;
printf(“%d,”,num);
}【
1,2,3,】
5有程序段:
(1)intn=1;
do{n=++n*5;
while(n=10);
则此循环的循环体【
执行无限次】
(2)x=-1;
do
{x=x*x;
}while(!
语句执行次数是:
【循环执行一次】
(3)intk=10;
while(k=0)k--;
语句执行次数【循环体语句一次也不执行】
(4)for(x=0,y=10;
(y>
0)&
(x<
4);
x++,y--);
【循环执行4次】
{intn=0;
while(n++<
=2);
printf(“%d”,n);
}【4】
{inti,j,m=0;
15;
i+=4)
for(j=3;
j<
=19;
j+=4)m++;
printf(“%d”,m);
}【20】
8以下程序的输出结果是
{intn=10;
while(n>
7)
{n--;
printf(“%d,”,n);
}}【9,8,7,】
9以下程序的输出结果是
{inta=1,b=10;
do{b-=a;
a++;
}while(b--<
0);
printf(“a=%d,b=%d”,a,b);
}【a=2,b=8】
10已知inti=1;
执行语句while(i++<
4);
后,变量i的值为【5】
11下面程序的输出结果是
{inti;
for(i=0;
10;
i++);
printf(“%d”,i);
}【10】
12下面程序的输出结果是
{switch(a)
b=1;
b=2;
default:
b=0;
b=a+b;
}while(!
b);
a=%d,b=%d"
a,b);
}
【a=1,b=2】
13下面程序的输出结果是
{intk=0;
charc='
A'
;
{switch(c++)
{case'
:
k++;
case'
B'
k--;
C'
k+=2;
D'
k=k%2;
contiue;
E'
k=k+10;
k=k/3;
k++;
}while(c<
);
k=%d\n"
k);
【k=4】
14下面程序的输出结果是
{inti,j,k=10;
for(i=0;
2;
{k++;
for(j=0;
=3;
j++)
{if(j%2)continue;
k=14】
15下面程序的输出结果是
{intn[3][3],i,j;
3;
i++)
j++)
n[i][j]=i+j;
n[i+1][j+1]+=n[i][j];
n[i][j]);
}【6】
16break语句只能用于【循环】语句和【多分支选择】语句。
17以下程序的输出结果是
{ints,i;
for(s=0,i=1;
3;
i++,s+=i);
s);
}【5】
18以下程序的功能是计算:
s=1+12+123+1234+12345。
请填空。
main()
{intt=0,s=0,i;
for(i=1;
i<
=5;
i++)
{t=i+________;
s=s+t;
}
s=%d\n"
}【t*10】
19以下程序运行后的输出结果是
{
charc1,c2;
for(c1='
0'
c2='
9'
;
c1<
c2;
c1++,c2--)
%c%c"
c1,c2);
"
);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题 学生