c语言习题4章.docx
《c语言习题4章.docx》由会员分享,可在线阅读,更多相关《c语言习题4章.docx(14页珍藏版)》请在冰豆网上搜索。
c语言习题4章
习题1
1.C语言的主要特点是什么?
答:
♦c语言是具有低级语言功能的高级语言;
♦c语言简洁、紧凑,使用方便、灵活;
♦运算符丰富,表达能力强:
♦数据结构丰富,便于数据的描述与存储:
♦c语言是结构化、模块化的编程语言;
♦编译预处理;
♦允许直接访问物理地址,对硬件进行操作;
♦可移植性好;
♦书写格式自由;
♦C程序的执行总是从main函数开始,并在main函数中结束;
♦main函数可以调用其他任何函数;
♦C语言本身没有输入输出语句。
2.请参照本章例题,编写一个c程序,输出以下信息:
Thisismyfirstprogram.
答^include"stdio.h”
main()
{
printf(uThisismyfirstprogram./n");
renturn0;
}
3.C语言源程序文件、目标文件和可执行文件的扩展名是什么?
答;源程序文件.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;floatf;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
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).
#include
voidmain()
{
iiita=10,b=10;
printf(”%d,%d,%d,%d\iT,a—,a,—b,b);
}
2.下面程序的输出是(2,12,21,21,110,6).
#include
voidmain()
{
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}
结果:
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,&c);
Dscanf(d%d%d”,&a,&b,&c);
6已知a、b、c为float类型,执行语句:
scanf(a%f%f%fw,&a,&b,&c);使得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;
b=a;
a=t;
8.执行下面的程序:
#include〈stdio.h>
VoidmainO
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
voidmainO
inta;
floatb,c;
scanf(2d%3f%4f”.&a,&b,&c);
printf(a\na=%d,b=%.If,c=%.l\n",a,b,c);
}
运行时,从键盘上输入,则输出结果是(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.执行卞面的程序:
#include
voidmainO
{
inta=3,b=7;
printf(ua=%%d,b=%%d\nv,a,b);
}
则输出结果是(B)
A.a=%3,b=%7B.a=%d,b=%d
C.a=%%d,b=%%dD.a=3,b=7
二、阅读程序,写出程序运行结果
1・#include
voidmainO
{
floatd,f;
longk;inti;
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>
voidmainO
{
intx二0177;
floaty=123.4567;
printf("x=%2d,x=%6d,x=%o,x=%x\nn,x,x,x,x);
printf("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
voidmain()
hita=l,b=2;
a+=b;b=a-b;a-=b;
Prmtf(u%d,%d\nn,a5b);
}
答案:
2,1
4
#iiiclude
voidmain()
{
hita=1234;
Printf(c<%2dW\a);
}
答案:
1234
5
#iiiclude
voidmain()
{
hitx=3、y=5;
Printf(“%d,%d\n”,(x-r--y),x++);
}
答案:
4,3
6
#iiiclude
voidmain()
{
hita=3;
Printf(“%d,%d\n”,a,(a«=a*a));
}
答案:
-6,-6
三,程序设计题
1,编程求方程2xA2-3x-6=0的根。
#iiiclude
#iiiclude
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}
2,已知正方体的棱长为3.2,求正方体的体积和表面积(保留2位小数)。
#iiiclude
main()
{
Floata,v,s;
Scanf(c<%f\&a);
V=a*a*a;
S=6*a*a;
pnntff
}
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.
a>=5ora<=T
B.
a>=5a<=-1
C・
a>=5&&a<=-1
D・
a>=5||a<=-1
3、辻语句的控制条件是(D)。
A.
只能用关系表达式
B.
只能用关系表达式或逻辑表达式
C・
只能用逻辑表达式
D・
可以用任何表达式
4、设intx=2,y二1;,则表达式(!
xIy--)的值是(
B)。
5.与y=(x>O?
l:
x-l:
O