c语言期末复习Word格式.docx
- 文档编号:17397462
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:47
- 大小:46.33KB
c语言期末复习Word格式.docx
《c语言期末复习Word格式.docx》由会员分享,可在线阅读,更多相关《c语言期末复习Word格式.docx(47页珍藏版)》请在冰豆网上搜索。
C、y=y*100+0.5/100.0
D、y=(y/100+0.5)*100.0
10、设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是____
A、0~255 B、0~65535
C、-32768~+32767 D、-256~+255
11、若有说明:
inta=1,b=2,c=3,d=4;
则表达式a<
b?
a:
c<
d?
c:
d的值是____
A、4 B、3 C、2 D、1
12、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___
A、20 B、100 C、表达式不正确 D、45
13、若有以下变量说明和数据的输入方式,则正确的输入语句为('
└─┘'
代表空格)____
变量说明:
floatx1,x2;
数据的输入方式:
4.52<
回车>
3.5<
A、scanf("
%f,%f"
&
x1,&
x2);
B、scanf("
%f%f"
C、scanf("
%3.2f└─┘%2.1f"
D、scanf("
%3.2f%2.1f"
14、已知a、b、c为int类型变量,若有输入语句:
scanf("
a=%db=%dc=%d"
a,&
b,&
c);
为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____
A、132<
B、a=1b=3c=2<
C、1<
3<
2<
D、a=1<
b=3<
c=2<
15、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____
A、intx=y=z=5;
B、intx,y,z=5;
C、intx=5,y=5,z=5;
D、x=5,y=5,z=5;
16、下面程序段的输出结果是____
inta=023;
printf("
%d\n"
--a);
A、23 B、17 C、18 D、24
17、已知ch是字符型变量,则不正确的赋值语句是____
A、ch=5+9;
B、ch='
\0'
C、ch='
7'
+'
9'
D、ch='
a+b'
18、以下程序段的输出结果是____
inti=1,j=4,k=2;
floatx=5.5,y=9.0,z;
z=(i+j)/k+sqrt((double)y)*1.2/k+x;
%f\n"
z);
A、9.800000 B、9.300000
C、8.500000 D、8.000000
19、若a为int类型变量,则执行以下程序段后a的值为____
a=5;
a*=a/=a++;
A、2 B、1 C、40 D、3
20、若x为unsignedint类型变量,则执行以下程序段后x的值是____
x=65535;
x);
A、65535 B、1 C、无定值 D、-1
21、执行语句printf("
Theprogram'
snameisc:
\\tools\book.txt"
);
后的输出是____
A、Theprogram'
toolsbook.txt
B、Theprogram'
\toolsbook.txt
C、Theprogram'
\\toolsbook.txt
D、Theprogram'
\toolook.txt
22、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:
1234+123+12+1,正确的输入形式应当是____
%4d+%3d+%2d+%1d"
c,&
d);
a,b,c,d);
A、1234123121<
B、1234123412341234<
C、1234+1234+1234+1234<
D、1234+123+12+1<
23、逻辑运算符两侧运算对象的数据____
A、只能是0或1 B、只能是0或非0正数
C、只能是整型或字符型数据D、可以是任何类型的数据
24、判断char型变量c1是否为大写字母的正确表达式是____
A、'
A'
<
=c1<
='
Z'
B、(c1>
)&
(c1<
)
C、(c1>
)D、('
=c1)AND('
=c1)
25、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是____
i'
'
j'
B、i<
=j
C、i||j+k&
j-k D、!
((i<
j)&
!
k||1)
二、填空题
1、在C语言中,输入操作可以由库函数____完成,输出操作可以由库函数____完成。
2、若有定义:
inty=7;
floatx=2.5,z=4.7;
,则表达式x+(int)(y/3*(int)(x+z)/2)%4的值为____。
3、若采用十进制数的表示形式,则077为___,0111为___,0x29为___,0xab为___。
4、设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果类型为____。
5、设有以下变量说明:
inta=5,b=10;
floatx=3.5,y=10.8;
charc1='
c2='
B'
请根据以下输出格式和结果,完成printf语句中的填空。
a=5,b=10,x+y=14.3
printf("
________"
_____);
x-y=-7.3└─┘a-b=-5
c1='
or65(ASCII)└─┘c2='
or66(ASCII)
6、已有定义intm;
floatn,k;
charch1,ch2;
,为使m=3,n=6.5,k=12.6,ch1='
a'
ch2='
对应的scanf语句是___________________,输入数据的方式是___________。
7、在C语言中,&
作为双目运算符时表示的是___,而作为单目运算符时表示的是__。
8、设x、y、z均为int型变量,且x=3,y=-4,z=5,请写出下面每个表达式对应的结果。
、(x&
y)==(x||z) ____
、!
(x>
y)+(y!
=z)||(x+y)&
(y-z)____
、x++-y+(++z) ____
9、以下程序的输出结果为____
main()
{
intx,y,z=246;
x=z/100%9;
y=(-1)&
(-1);
%d,%d\n"
x,y);
}
C语言程序设计第4章练习题
1、以下正确的if语句是____
A、if(n>
0)printf("
%f"
n)
-n);
B、if(n>
0)
{n=n+m;
n);
}
elseprintf("
C、if(n>
};
D、if(n>
n)};
2、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与__
A、缩排位置相同的if配对B、其之前最近且不带else的if配对
C、其之前最近的if配对D、第一个if配对
3、下面程序段所表示的数学函数关系是____
x=-1;
if(a!
=0)
if(a>
0)x=1;
elsex=0;
-1(a<
0) 1(a<
A、x=0(a=0)B、x=-1(a=0)
1(a>
0)0(a>
0(a<
0)-1(a<
C、x=-1(a=0) D、x=1(a=0)
4、以下关于switch语句和break语句的描述中正确的是____
A、在switch语句中必须使用break语句
B、break语句只能用于switch语句体中
C、break语句只能用于循环语句中
D、在switch语句中使用break语句或continue语句的作用相同
5、设有程序段____
intx=10;
while(x=0)
x=x-1;
A、while循环执行10次 B、循环是无限循环
C、循环体语句一次也不执行D、循环体语句只执行一次
6、以下关于do-while循环不正确的描述是___
A、d0-while的循环体至少执行一次
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C、在do-while循环体中,一定要有能使while后面表达式的值变为零("
假"
)的操作
D、do-while的循环体可以是复合语句
7、设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是____
for(y=100;
x!
=y;
++x,y++)
printf("
****\n"
A、循环体只执行一次 B、是无限循环
C、循环体一次都不执行
D、for语句中存在语法错误
8、语句for(表达式1;
;
表达式3)等价于____
A、for(表达式1;
0;
表达式3)
B、for(表达式1;
1;
C、for(表达式1;
表达式1;
D、for(表达式1;
表达式3;
9、以下程序段的执行结果是____
intx=-3;
do
{printf("
x++);
}while(!
x);
A、-3D、-3
B、-2-2
C、陷入死循环-1
10、执行以下程序段后,y的值是____,x的值是____
intx=1,y=10;
{y-=x;
x++;
}while(y--<
0);
A、9B、8C、-2D、2 E、4F、3
11、执行以下程序段后a的值是____,b的值是____
inta,b;
for(b=1,a=1;
b<
=50;
b++)
{if(a>
=10)break;
if(a%2==1)
{a+=5;
continue;
}
a-=3;
}
A、10B、6C、7D、8E、4
12、下面程序的运行结果是____
main()
{intm=0;
while(m<
=2)
{m++;
printf("
m);
}
}
A、1 B、1
2
C、1D、1
22
33
13、若有以下程序段:
for(m=1;
m<
=100;
m++)
{scanf("
%d"
&
y);
if(y<
continue;
printf("
%3d"
正确的描述是____
A、当y<
0时整个循环结束
B、y>
=0时什么也不输出
C、printf函数永远也不执行
D、最多允许输出100个非负整数
14、以下程序段等价于____
for(k=100;
k<
=200;
k++)
{if(k%3==0)
continue;
%4d"
k);
}
A、for(k=100;
(k%3)&
k<
B、for(k=100;
(k%3)||k<
C、for(k=100;
if(k%3!
=0)printf("
D、for(k=100;
{if(k%3)
else
break;
1、以下程序的功能是:
输入一个小写字母,按字母排列顺序后移5个位置后输出(如把'
变为'
f'
'
w'
变成'
b'
)。
请填空。
#include"
stdio.h"
{charc1;
c1=getchar();
if(c1>
&
c1<
u'
______;
elseif(c1>
v'
z'
______;
putchar(c1);
2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;
如果它是一个小写字母,则把它变成大写字母;
其它字符不变。
{charch1;
scanf("
%c"
ch1);
if(________________)
ch1=ch1+32;
elseif(ch1>
ch1<
________;
3、以下程序的功能是判断输入的年份是否是闰年。
{intyear,yes;
year);
if(year%400==0)
year=1;
elseif(__________________)
yes=1;
____;
if(yes)
%dis"
year);
printf("
%disnot"
aleapyear.\n"
4、若运行以下程序时,输入下面指定数据,则运行结果为______
#include<
stdio.h>
{intch;
while((ch=getchar())!
\n'
{switch(ch-'
1'
{case0:
case1:
putchar(ch+3);
case2:
break;
case3:
default:
putchar(ch+1);
\n"
输入数据(从第一列开始):
1234<
5、将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段,请填空。
含有switch语句的程序段:
ints,t,m;
t=(int)(s/10);
switch(t)
{case10:
m=5;
case9:
m=4;
case8:
m=3;
case7:
m=2;
case6:
m=1;
default:
m=0;
含有非嵌套if语句的程序段:
ints,m;
if(______)m=5;
if((s<
100)&
(s>
=90))m=4;
90)&
=80))m=3;
80)&
=70))m=2;
70)&
=60))m=1;
if(______)________;
6、用switch语句实现以下数学关系,请填空。
-1(x<
0)
y=0(x=0)
1(x>
switch(x<
{case1:
y=-1;
____
case0:
switch(x==0)
{case1:
y=0;
____y=1;
}
7、设a、b、c均是int类型变量,则执行以下for循环后,c的值为____
for(a=1,b=5;
a<
=b;
a++)
c=a+b;
8、以下程序的运行结果为____
{intj=5;
while(j<
=15)
if(++j%2!
=1)
continue;
%d"
j);
9、设ch1为char类型变量,若从键盘上由第一列输入以下数据:
right?
则以下三个程序段的输出结果分别是_____,____,____。
、c=getchar();
while(c!
?
{putchar(c);
c=getchar();
、while((c=getchar())!
putchar(++c);
、while(putchar(getchar())!
);
10、以下do-while语句中循环体的执行次数是____
a=10;
b=0;
do
{b+=2;
a-=2+b;
}while(a>
=0);
11、若用以下形式表示for循环语句:
for(表达式1;
表达式2;
表达式3)
循环体语句
则执行语句for(i=0;
i<
3;
i++)printf("
*"
时,表达式1执行____次,表达式3执行____次。
12、下面程序的功能是计算1-3+5-7+……-99+101的值,请填空。
{inti,t=1,s=0;
for(i=1;
=101;
i+=2)
{____;
s=s+t;
____;
s);
13、下面程序的功能是求1000以内的所有完全数,请填空。
(说明:
一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:
6=1+2+3,6为完全数。
{inta,i,m;
for(z=1;
=1000;
{for(____;
=a/2;
i++)
if(!
(a%i))____;
if(m==a)printf("
a);
14、下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5,请填空。
{inti,s,k,count=0;
for(i=100;
{s=0;
k=i;
while(____)
{s=s+k%10;
k=____;
if(s!
=5)
____;
count++;
}
count);
C语言程序设计第5章练习题
1、若有说明语句:
inta[2][4];
,则对a数组元素的正确引用是____
A、a[0][3] B、a[0][4] C、a[2][2] D、a[2][2+1]
2、以下能对二维数组y进行初始化的语句是___
A、staticinty[2][]={{1,0,1},{5,2,3}};
B、staticinty[][3]={{1,2,3},{4,5,6}};
C、staticinty[2][4]={{1,2,3},{4,5},{6}};
D、staticinty[][3]={{1,0,1,0},{},{1,1}};
3、若有说明语句:
inta[][3]={1,2,3,4,5,6,7,8};
则a数组的行数为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习