c语言习题4章Word下载.docx
《c语言习题4章Word下载.docx》由会员分享,可在线阅读,更多相关《c语言习题4章Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
源程序文件.c
目标文件.obj
可执行文件.exe
4.用TurboC2.0或VisualC++6.0调试本章的三个程序。
习题2
一、选择题
1.下列变量定义中合法的事(C)
A.int_a二.el;
B・doubleb=l+le1・1:
2•运算符有优先级,在C语言中关于运算符优先级的正确叙述是(B)
A.逻辑运算符高于算术运算符,
B.算术运算符高于关系运算符,
C.算术运算符高于逻辑运算符,
D.关系运算符高于逻辑运算符,算术运算符高于关系运算符;
关系运算符高于逻辑运算符;
逻辑运算符高于关系运算符;
逻辑运算符高于算术运算符。
3.C语言并不是非常严格的算法语言,在以下关于C语言不严格的叙述中,错误的是(D)o
A.任何不同数据类型都不可以同用
B.有些不同类型的变量可以在一个表达式中运算
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符在不用的场合可以有不同的含义
4.以下选项中属于C语言的数据类型是(C)。
A.复数型E.逻辑型C.双精度型D.集合型
5.设有说明语句:
charc=J\10r;
则变量c(A)
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法
6.下列常数中不能作为c语言常量的是(D)。
A.OxA5B.2.5e-2C.3e2D.0582
7.在C语言中,数字091是一个(D)
A.八进制数E.十六进制数C.十进制数D.非法数
8.下列可以正确表示字符型常量的是(E)
A.”a”C.”\n”DA168
9.己知mH;
floatf;
正确的语句是(D)
A.int(f)%2.0;
B.iiit(f)%i;
C.int(f%i);
D(mt)f%i;
10.设有以下变量定义,并已赋确定的值:
charc;
inti;
doubled;
则表达式c+1+f/d值的数据类型为(D)。
A.chaiB.iiitC.floatD.double
11.E知inti,a;
执行语句i=(a=6,a*5),a+6;
后,变量i的值是(C)
A.6B.12C.30D.36
12.卞列程序的输出结果是(D)
#include<
stdio.h>
voidmain()
floatd=2.2;
iiitx.y;
x=6・2;
y=(x+3.8)/5.0;
printf('
%d\nH,d*y);
A.4B.4.4C.2D.O
二、阅读程序题
1.下面程序的输出是(10,10,9,10).
iiita=10,b=10;
printf(”%d,%d,%d,%d\iT,a—,a,—b,b);
2.下面程序的输出是(2,12,21,21,110,6).
mti=l,j,k;
尸i++;
pmitfCj=%d」=%dEj,i);
k=++i;
pnntfpk=%dd=%d\iT,k,i);
j=i--;
prmtf(nj=%d4=%d\nMj4);
k=--i;
prmtf(nk=%d4=%d,,ii,\kj);
i=J=5;
p】iiitf(”i+j=%d,++j=%d\n冷i+j<
Hj);
结果:
j=2,i=l
k=2,i=2
j=l,i=2
k=lj=l
i+j=10,++j=6
习题3
1•若x,y,z都定义是int类型且初值为0,则以下不正确的赋值语句是(D)A.x=y=z+10;
B・x+二y+2;
C・z++:
D・x+y+z;
2.下面不是C语言语句的是(C)
A.inti;
B・;
C.a=l,b=5D.{;
3.以下合法的c语言赋值语句是(D)
A.a=b=58B.k=a+b
C.a=58,b=58D.—i4•运行卞面的程序:
#include〈stdio.h>
VoidmainO
Inta=5,b=3;
printf("
%d\n"
a=a/b);
则输出结果是(B)
A.5B.1C.3D.25若变量以说明为int类型,要给养b、c输入数据,以卞正确的输入语句是(A)
Ascanf(d%d%d”,&
a,&
b,&
c);
Bscanf(u%d%d%d,"
a,b,c);
Cscanf(凶凶D”,&
a;
&
b,&
Dscanf(d%d%d”,&
6已知a、b、c为float类型,执行语句:
scanf(a%f%f%fw,&
使得a为10,b为20,c为30,则以下不正确的输入形式是(B)
A10
B10.0,20.0,30.020.030.0
C10.030
D1020
7.若变量已定义,现要将a和b中的数据进行交换,下面不正确的是(C)。
A.
a=a+b,
b=b~a,a=a~b;
B.
t=a,
a=b,
b=t;
C.
a=t;
t二b;
b=a;
D.
t=b;
8.执行下面的程序:
inta=l,b=2,c=3;
c=(a+=a+2),(a=b,b+3);
printf(u%d,%d,%d\n"
a,b,c);
则输出结果是(A)
A.2,2,4B・4,2,3C・4,2,5D・5,5,3
9.执行下面的程序:
#include<
stdio.h>
voidmainO
inta;
floatb,c;
scanf(2d%3f%4f”.&
a,&
printf(a\na=%d,b=%.If,c=%.l\n"
运行时,从键盘上输入,则输出结果是(C)
A.a=12,b二345,c二6543
B・a=12,b=123,c=1234
C.a=12,b二345.0,c二6543.0
D.a=12.0,b=345.0,c二6543.0
10.执行卞面的程序:
inta=3,b=7;
printf(ua=%%d,b=%%d\nv,a,b);
A.a=%3,b=%7B.a=%d,b=%d
C.a=%%d,b=%%dD.a=3,b=7
二、阅读程序,写出程序运行结果
1・#include<
floatd,f;
longk;
i=f=k=d=20/3;
printf(a%3d%31d%5.2f%5.2f%5.2f\n”,i,k,f,d);
答案:
666.006.00
2.Sinclude〈stdio.h>
intx二0177;
floaty=123.4567;
printf("
x=%2d,x=%6d,x=%o,x=%x\nn,x,x,x,x);
y=%8・4f,y=%8.2f,y=%.5\n"
y,y,y);
X二127,x=127,x=177
y=123.4567,y=123.46,y=123.45670
3
#mclude<
hita=l,b=2;
a+=b;
b=a-b;
a-=b;
Prmtf(u%d,%d\nn,a5b);
2,1
4
#iiiclude<
hita=1234;
Printf(c<
%2dW\a);
答案:
1234
5
hitx=3、y=5;
Printf(“%d,%d\n”,(x-r--y),x++);
4,3
6
hita=3;
Printf(“%d,%d\n”,a,(a«
=a*a));
-6,-6
三,程序设计题
1,编程求方程2xA2-3x-6=0的根。
math.h>
main()
floata,b.c,d,xl,x2;
a=2、b=・3,c=・6;
d=b*b-4a*c;
xl=(-b+sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
pnntf(t<
xl=%.2f,x2=%.2faV\xl,x2);
2,已知正方体的棱长为3.2,求正方体的体积和表面积(保留2位小数)。
#iiiclude<
Floata,v,s;
Scanf(c<
%f\&
a);
V=a*a*a;
S=6*a*a;
pnntff<
s=%.2fAT=%.2fn,\sAT);
3、输入三个整数养b、c.,编程交换它们的值,即把a中的值给b,把b中的值给6把C中的值给a。
4、编程将任意输入的小写字母转化成人写字母并输出。
习题4
1、若X为int类型,则下面与逻辑表达式!
X等价的C语言关系表达式是(C)0
2、能正确表示逻辑关系5或aW-1的C语言表达式是(D)。
a>
=5ora<
=T
=5a<
=-1
C・
=5&
a<
D・
=5||a<
3、辻语句的控制条件是(D)。
只能用关系表达式
只能用关系表达式或逻辑表达式
只能用逻辑表达式
可以用任何表达式
4、设intx=2,y二1;
则表达式(!
xIy--)的值是(
B)。
5.与y=(x>
O?
l:
x<
-l:
O