第34章习题Word格式文档下载.docx
- 文档编号:16507943
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:45.04KB
第34章习题Word格式文档下载.docx
《第34章习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第34章习题Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
b)&
c||1)
16.设x为整型变量,和表达式“!
(!
x)”值完全相同的表达式是(AB)。
A.x==0B.x==1C.x!
=0D.x!
=1
17.设有语句inta=3;
,则执行了语句a+=a-=a*a;
后,变量a的值是(D)。
A.3B.0C.9D.-12
18.下列选项中,正确的赋值表达式是(C)。
A.a=7+b+C=a+7B.a=7+b++=a+7
C.a=(7+b,b++,a+7)D.a=7+b,C=a+7
19.设整型变量m,n,a,b,C,d的值均为0,执行(m=a==b)||(n=c==d)后,m,n的值是(C)。
A.0,0B.0,1C.1,0D.1,1
20.设整型变量m,n,a,b的值均为1,执行“(rll=a>
(n=a>
b)”后m,n的值是()。
A.0,0B.0,1C.1,0D.1.1
21.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。
A.1B.2C.2.0D.2.5
22.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(C)。
A.3,3,2B.3,2,2C.3,2,3D.2,3,2
23.设a为5,执行下列语句后,b的值不为2的是(C)。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>
3?
2:
2
24.设a=1,b=2,c=3,d=4,则表达式:
b?
a:
c<
d?
c:
d的结果为(D)。
A.4B.3C.2D.1
25.设charch=’A’;
则表达式“ch=(ch>
=’A’&
ch<
=’Z’)?
(ch+32):
ch”的值是(B)。
A.’A’B.’a’C.’Z’D.’z’
26.在c语言中,结果不等于4的表达式是(A)。
A.sizeof(double)B.sizeof(long)
C.sizeof(float)D.sizeof(unsignedlong)
27.用十进制数表示表达式“12|012”的运算结果是(C)。
A.1B.0C.14D.12
28.设有定义“chara=3,b=6,c;
”,计算表达式c=(a^b)<
<
2后c的二进制值是(D)。
A.B.C.D.
29.设有定义“shorti=013,j=0x13,k;
”。
计算表达式“k=~i|j>
>
3;
”后,k的值是(-10)。
A.06B.C.066D.
30.设整型变量x、y、z均已赋值,下列选项中,正确的赋值表达式是(B)。
A.<
x=3B.x+=z---yC.x==y=zD.x=y+1,z-2
31.在以下一组运算符中,优先级最高的运算符是(C)。
A.<
=B.=C.%D.&
32.在以下一组运算符中,优先级最高的运算符是(A)。
A.--B.==C.||D.&
33.若有以下定义语句:
chara;
intb;
floatc;
doubled;
则表达式a*b+d-c值的类型为(D)。
A.floatB.intC.char·
D.double
34.关于运算时的数据类型转换,下列说法中错误的是(C)。
A.表达式计算中,数据要转换成数据长度最长的数据类型再运算
B.赋值时,右边表达式的运算结果转换成左边变量的数据类型再赋值
C.赋值时,左边变量的数据类型转换成右边表达式的运算结果类型再赋值
D.(noat)(n+m)是先计算n+m,然后将结果转换成单精度实型
二、填空题
1.C语言中的常量有四种类型:
整型、实型、字符型和字符串型。
2.用十进制表示整型常量-017为-15,表示整型常量-0xf为-15。
3.无符号短整型数据的范围是0至65535。
4.在内存中存储”A”要占用2个字节,存储’A’要占用1字节。
5.在内存中存放字符串,其最后一个字符称为“空字符”,对应的转义字符是\0,其值为0。
6.符号常量的定义方法是#define。
7.设有宏定义#definex3-2;
则2*x的宏替换结果是2*3-2。
8.定义变量的语句格式是数据类型符变量。
9.无符号基本整型的数据类型符为int,双精度实型数据类型符为double,字符型数据类型符为char。
10.定义整型有名常量nn的初值为199,正确的定义语句是constintnn=199;
。
11.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。
12.请写出数学式
的c语言表达式a/(b*c)。
13.设a=3,b=2,c=1,则a>
b的值为1,a>
b>
c的值为0。
14.C语言中作为运算对象时的逻辑值“真”是用非0表示的,逻辑值“假”是用0表示的。
逻辑表达式值为“真”是用1表示的,逻辑表达式值为“假”是用0表示的。
15.若已知a=10,b=20,则表达式!
b的值为1。
16.能表述“20<
x<
30或x<
-100'
’的C语言表达式是(x>
20&
30)||x<
-100。
17.设变量x、y、z均为实型,表示其中至少有一个负数的表达式应为x<
0||y<
0||z<
0。
18.表达式“’a’>
’A’>
=1<
=0==1!
=0”的值等于0。
19.设二进制数A是,若想通过按位加运算A^B使A的高4位取反,低4位不变,则二进制数B应是。
20.设整型变量x,y,z均为5:
A.执行“x-=y-z”后x=5,
B.执行“x%=y+z”后x=5,
c.执行“x=(y>
z)?
x+2:
x-2,3,2”后x=3。
21.设有下列运算符:
.<
、+、++、&
、<
=,其中优先级最高的是.,优先级最低的是&
。
22.C语言中运算结果可以当成逻辑值使用的表达式有关系表达式、逻辑表达式、算术表达式、位表达式、赋值表达式和逗号表达式。
第4章
一、单项选择题(题中的口代表一个空格符)
1.设a=3,b=4,执行语句“printf("
%d,%d"
,(a,b),(b,a));
"
的输出是(B)。
A.3,4B.4,3C.3,3D.4,4
2.使用语句“scanf("
x=%f,y=%f"
,&
x,&
y);
”使x,y均为1.25,正确的输入是(C)。
A.1.25,1.25B.1.25口1.25
C.x=1.25,y=1.25D.x=1.25口y=1.25
3.设有inti=010,j=10;
则printf("
%d,%d\n"
,++i,j--);
A.11,10B.9,10C.010,9D.10,9
4.设a、b为字符型变量,执行语句“scanf(”a=%c,b=%c”,&
a,&
b);
”后使a为’A’,b为’B'
从键盘上的正确输入是(D)。
A.‘A’B’B.‘A’,’B’C.A=A,B=BD.a=A,b=B
5.设x,y,z,t均为int型变量,则执行以下语句串后,t的值为(C)。
x=y=z=1;
t=++x||++y&
++z;
A.不定值B.2C.1D.0
6.设x,y,z,t均为int型变量,则执行下列语句串后,变量t的值为(C)。
x=y=z=0:
if(x=y)t=z;
elset=!
z;
A.不定值B.2C.1D.0
7.假定所有变量均已正确定义,下列程序段运行后x的值是(A)。
a=b=c=0;
x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A.34B.4C.35D.3
8.下面的程序段所表示的数学函数关系是(C)。
y=-1;
if(x!
=0)if(x>
0)y=1;
elsey=0;
A.y=
B.y=
C.y=
D.y=
9.设整型变量m1值为3、m2值为2、m3值为1,执行下列语句后,整型变量m4值是(A)。
switch(m1=m2==m3+1)
{case1:
m4=1;
break;
case3:
m4=3;
case2:
m4=2;
default:
m4=4;
}
A.1B.2C.3D.4
10.下列语句中,错误的是(B)。
A.while(x=y)5;
B.dox++while(x==10);
C.while(0);
D.do2;
while(a==b);
11.设有循环语句“for(i=-1;
i<
4;
i++)i++;
”,其循环体执行的次数是(C)。
A.无限B.0C.3D.4
12.设有循环语句for(x=0,y=0;
(y!
=123)||(x<
4);
x++);
其循环体执行的次数是(C)。
A.无限次B.不确定次C.4次D.3次
13.若i、j已定义为int类型,则以下程序段中内循环体{...}的执行次数是(A)。
for(i=5;
i;
i--)for(j=0;
j<
j++){…}
A.20B.24C.25D.30
14.假定a和b为int型变量,则执行以下语句后b的值为(D)。
a=1;
b=10;
do{b-=a;
a++;
}
while(b--<
0);
A.9B.-2C.-1D.8
15.设x和y均为int型变量,则执行下面的循环后,y的值为(C)。
for(y=1,x=1;
y<
=50;
y++)
{if(x>
=10)break;
if(x%2==1){x+=5;
continue;
x-=3;
A.2B.4C.6D.8
16.设有数据定义语句“ints,k;
”,不能正确计算s=1+2+…+10的程序段是(A)。
A.s+=1+2+3+4+5;
B.s=k=0:
s+=6+7+8+9+10;
dos+=k:
while(k++<
10);
C.s=k=0;
D.for(s=k=0;
k<
11:
k++)
while(k<
11)s+=k:
s+=k++:
17.在C语言中,下列说法中正确的是(D)。
A.不能使用“do语句;
while(表达式);
”实现循环结构。
B.“do语句;
”的循环必须使用"
break"
语句退出循环。
C.“do语句;
”的循环中,当表达式为非0时将结束循环。
D.“do语句;
”的循环中,当表达式为0时将结束循环。
18.以下说法中正确的是(A)。
A.continue只能在循环体中使用B.break只能在循环体中使用
C.break不能在循环体中使用D.break只能在switch语句中使用
1.结构化程序设计规定的三种基本结构是顺序结构、选择结构和循环结构。
2.选择结构通常包括三种形式:
单分支选择结构、双分支选择结构、多分支选择结构。
3.先执行循环体,后判断控制循环条件的循环一般称为直到型型循环;
先判断控制循环条件,后执行循环体的循环一般称为当型循环。
4.使用系统函数getchar(),必须在程序的开头写上一条命令include<
stdio.h>
5.printf()系统函数的第一个参数是格式串,后面参数是表达式表。
6.在格式输入/输出函数中,“%d’,格式可以用于整型、短整型、无符号整型、字符型的数据。
“%ld”格式可以用于长整型、型的数据。
对格式输入函数,“%f”.格式只可以用于无符号长整型的数据,“%lf’格式只可以用于实型的数据;
对格式输出函数,“%f”格式既可以用于实型的数据,又可以用于双精度型的数据。
7.语句“if(e1)if(e2)s;
”的基本功能是:
表达式e1、e2均为真时,执行语句s。
8.语句“if(e1)s1;
elseif(e2)s2;
表达式e1为真时执行语句s1,e1为假且e2为真时执行语句s2。
9.若有定义语句“inta=25,b=14,c=19;
”,则下列语句的执行结果是输出:
###a=26,b=13,c=19。
if(a++<
=25&&
b--<
=2&&
c++)printf(“***a=%d,b=%d,c=%d\n”,a,b,c);
elseprinff(“###a=%d,b=%d,c=%d\n”,a,b,c);
10.以下两条if—else语句可合并成一条if—else语句:
if(a<
=b){
x=1;
printf(”%d”,x);
}
else{
y=2;
printf(“%d”,y);
}
=b)x=1;
elsey=2:
if(a>
b)printf(”%d”,y);
elseprintf(”%d”,x);
11.语句“do语句;
循环执行语句,直到表达式为假。
12.语句“for(;
表达式;
)语句;
13.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为10。
for(i=0,j=10;
=j;
i++,j--)k=i+j;
三、阅读程序题
1.阅读下列程序,写出程序运行的输出结果。
voidmain()
{charc1=’A’,c2=’\101’,c3=’\x41’;
printf(“A=%d,%C=0101,%c=0x41\n”,c1,c2,c3);
2.阅读下列程序,写出程序运行的输出结果。
{inta=10,b=4,c=3;
if(a<
b)a=b;
c)a=c;
printf(“%d,%d,%d”,a,b,c);
3.阅读下列程序,写出程序运行的输出结果。
{intx=100,a=10,b=20,ok1=5,ok2=0;
b)if(b!
=15)if(!
ok1)x=1;
elseif(ok2)x=10;
elsex=-1:
prinff(“%d\n”,x);
4.阅读下列程序,写出程序运行的输出结果。
{intm,n,i;
m=n;
i=4;
do{n+=1;
i--;
m-=n;
}while(i>
0);
printf(“%d,%d,%d\n”,i,n,m);
5.阅读下列程序,写出程序运行的输出结果。
voidmain()
{inty=9;
for(;
y>
0;
y--)
if(y%3==0){prinff(”%d”,--y);
continue;
6.阅读下列程序,写出程序的主要功能。
{intx;
while
(1)
{scanf(“%d”,&
x);
if(x<
0)printf(“-1\n”);
elseif(x>
0)printf(”1\n”);
elsebreak;
7,阅读下列程序,写出程序的主要功能。
{inti,x,s1,s2;
s1=s2=0:
for(i=1;
11;
i++)
{seanf(“%d”,&
if(x%2==0)s1+=x;
if(x%2==1)s2+=x;
printf(“s1=%ds2=%d\n”,s1,s2);
8.阅读下列程序,写出程序的主要功能。
{intn;
for(n=1;
n<
100;
n++)
if((n%10==1)&
(n%3==0O))
printf(“%d\n”,n);
四、程序填空题
1.下列程序的功能是将变量x、y、z中大者存放到x中,请填写程序中缺少的语句。
voidmain(){
intx,y,z;
scanf("
%d,%d,%d"
&
x,&
y,&
z);
if(x<
y)x=y;
_____________
printf("
%d\n"
x);
2.下列程序的功能是求输入的4个实数之和并输出,
请填写程序中缺少的语句成分
{floata,x;
inti;
for(___________;
i>
=0;
i)
{scanf("
%f"
x);
s=s+x;
%f\n"
s);
3.假定运行下列程序输出的是:
“***”,
{intx=6;
do{printf("
*"
);
x--;
}while__________;
4.下列程序的功能是求输入输入1个正整数,判断是否为素数,
若为素数输出1,否则输出0.,请填写程序中缺少的语句成分
{inti,x,y=1;
%d"
for(i=2;
=x/2;
if_________{y=0;
break;
y);
5.下列程序是按照以下公式计算并输出л的值,请填写程序中缺少的语句
л/4=1-1/3+1/5-1/7+…+1/n(精度要求|1/n|<
1e-4)
#include<
math.h>
{doublepi=1.0,t1=3.0,t2=3.0,t3=-1;
while(fabs(t1)>
=1e-4)
{t1=t3/t2;
pi+=t1;
t2+=2;
____________
4*pi);
五、程序设计题
1.编写一个程序输入华氏温度(F),按下列公式计算并输出华氏温度(C)。
C=
2.编一个程序,输入一个整数,输出其符号(若>
=0,输出1,若<
0,输出-1)
3.编写一个程序,输入实数x的值,按下列计算并输出y的值:
y=
4.编一个程序,输入三个单精度数,求出其中的最小数。
5.编一个程序求一个短整型正整数的最大数字。
例如整数12354中的最大数字是5.
6.编一个程序,求出所有各位数字的立方和等于1099的3位整数。
7.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。
8.编写程序按以下公式计算e的值:
e=
(精度为10-6)
9.编写程序按下列公式计算y的值:
(提示:
y的值约为1.)
10.编一个程序显示ASCII代码0x30~0x5f的10进制数值及其对应字符
11.用三种循环语句分别编写程序显示1~100的平方值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 34 习题