C语⾔程序设计(第⼆版)习题参考答案1
C语⾔程序设计习题参考答案
习题 1
⼀、判断题
1.在计算机中,⼩数点和正负号都有专⽤部件来保存和表⽰。
2.⼆进制是由0和1两个数字组成的进制⽅式。
3.⼆进制数的逻辑运算是按位进⾏的,位与位之间没有进位和借位的关系。
4.在整数的⼆进制表⽰⽅法中,0的原码、反码都有两种形式。
5.有符号数有三种表⽰法:原码、反码和补码。
!
6.常⽤字符的ASCII码值从⼩到⼤的排列规律是:空格、阿拉伯数字、⼤写英⽂字母、⼩写英⽂字母。解:1.F 2.T 3.T 4.T 5.T 6.T
⼆、单选题
1.在计算机中,最适合进⾏数值加减运算的数值编码是。
A. 原码
B. 反码
C. 补码
D. 移码
2.已知英⽂⼩写字母m的ASCII码为⼗进制数109,则英⽂⼩写字母y的ASCII码为⼗进制数。
A. 112
B. 120
C. 121
D. 122
3.关于ASCII码,在计算机中的表⽰⽅法准确地描述是。
'
A. 使⽤8位⼆进制数,最右边⼀位为1
B. 使⽤8位⼆进制数,最左边⼀位为1
C. 使⽤8位⼆进制数,最右边⼀位为0
D. 使⽤8位⼆进制数,最左边⼀位为0
4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。
A. X∧Y=1000
B. X∨Y=1111
C. X⊕Y=0011
D. ¯Y=1000
5.下列叙述中正确的是()。
A.⾼级语⾔就是机器语⾔
:
B.汇编语⾔程序、⾼级语⾔程序都是计算机程序,但只有机器语⾔程序才是计算机可以直接识别并执⾏的程序
C.C语⾔因为具有汇编语⾔的⼀些特性,所以是汇编语⾔的⼀种
D.C源程序经过编译、连接,若正确,执⾏后就能得到正确的运⾏结果6.⽤C语⾔编写的源程序经过编译后,若没有产⽣编译错误,则系统将()。
A.⽣成可执⾏⽂件B.⽣成⽬标⽂件
C.输出运⾏结果D.⾃动保存源⽂件
7.下列叙述中不正确的是()。
A.main函数在C程序中必须有且只有⼀个
{
B. C程序的执⾏从main函数开始,所以main函数必须放在程序最前⾯
C. 函数可以带参数,也可以不带参数。
D. 每个函数执⾏时,按函数体中语句的先后次序,依次执⾏每条语句
解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题
1.()10=()2=()8=()16 2.(.10111)2=()8=()16=()10 3.输⼊三个数,计算并输出三个数的和与三个数的乘积。
,
程序如下:
#include <>
void main() {
int a,b,c,s,z;
printf("Please input a b c:\n");
-
s=a+b+c; printf("%d\n",s); }
*4. 输⼊三⾓形三条边的边长,计算并输出三⾓形的⾯积。根据三条边的边长,计算三⾓形⾯积的公式如下:
2x y z s ++?
==
⾯积其中 ,
程序如下:
#include <>
#include <> void main() {
double x,y,z,s,dime; scanf("%lf%lf%lf",&x,&y,&z);
#
dime=sqrt(s*(s-x)*(s-y)*(s-z)); }
3.scanf("%f%f%f",&a,&b,&c); z=a*b*c; printf("%f",z); 4.s=(x+y+2)/2; printf("%f",dim);
四、编程题
[
1.仿照例,编程序在屏幕上显⽰:
*****************************
Merry Christmas!
Happy New Year!
*****************************
解:#include <>
void main()
{ printf("*****************************\n");
$
printf(" Merry Christmas!\n");
printf(" Happy New Year!\n");
printf("*****************************\n");
}
2.仿照例编程,输⼊⼀个整数,计算这个数的平⽅。
解:#include<>
void main()
{ int a,z;
.
printf("请输⼊⼀个整数:\n");
scanf("%d",&a);
z=a*a;
printf("%d*%d=%d\n",a,a,z);
}
*3.仿照例编程,输⼊两个数后,输出其中较⼩值。
解:#include<>
float min(float x, float y)
—
{ float m;
if (x
else m=y;
void main()
{ float a,b,c,mindata;
printf("请输⼊⼆个数:\n");
}
scanf("%f %f",&a,&b);
mindata=min(a,b);
printf("较⼩数:%f\n",mindata);
}
*4.仿照例编程,输⼊a、b后,输出⼀元⼀次⽅程ax+b=0的解。解:#include<> void main()
{ float a,b,x;
】
printf("请输⼊a、b:\n");
scanf("%f %f",&a,&b);
x=-a/b;
printf("x=%f\n",x);
}
*5.仿照例编程,输⼊圆柱体的半径和⾼,计算并输出圆柱体的体积。
解:#include <>
void main()
}
{ float r,h,s,v;
printf("Please input r and h:\n");
scanf("%f %f",&r,&h);
v=*r*r*h;
printf("V=%f\n",v);
}
习题2
⼀、判断题
)
1.任何变量都必须要定义其类型。
2.C语⾔的double类型数据在其数值范围内可以表⽰任何实数。
3.C语⾔的任何类型数据在计算机内都是以⼆进制形式存储的。
4.isdigit(‘5’)的结果为0。
5.printf函数中格式符“%c”对应的参数只能是字符类型。
6.按格式符“%d”输出float类型变量时,截断⼩数位取整后输出。
7.在C语⾔程序中,ABC与abc是两个相同的变量。
8.scanf函数中的格式符“%d”不能⽤于输⼊实型数据。
;
小数的原码9.格式符“%f”不能⽤于输⼊double类型数据。
10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。
解:(1)T (2)F (3)T (4)F (5)F (6)F (7)F (8)T (9)T (10)F
⼆、指出下列各项中哪些是C语⾔中的常量,并指出其类型
10,150 007 –0x3d π 1e0 e1 o7o8
‘x’ ‘x o’ sin(3) 0xf16 ‘\a’‘\009’+2 ‘\\’ ‘a’+2 0x100h 0128 10L
解:合法的C常量有:
}
整型常量: 007 –0x3d 0xf16 10L
实型常量: 1e0 +2
字符型常量:‘x’‘\a’‘\\’
三、指出下列各项中哪些是C语⾔中的⽤户标识符
x_1 X_2 High printf β 3DS i/j
e2 -e2 count Int number $23 next_
sizeof IF sum_12 _123# NO1: double for
解:C的⽤户标识符有:x_1 X_2 High e2 count Int number <
next_ IF sum_12
四、单项选择题
1.C语⾔中,char型数据在内存中的存储形式是()。
A.原码 B.反码 C.补码D.ASCII码2.若有定义语句“char c='\72';”则变量c()。
A.包含1个字符B.包含2个字符 C.包含3个字符 D.定义不合法3.C语⾔中的基本数据类型包括()。
A.整型、实型、逻辑型B.整型、实型、字符型
)
C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型4.设c1、c2为字符型变量,执⾏语句“c1=getchar( );
c2=getchar( );”时,从键盘输⼊A↙,c1和c2的值分别为()。
A.都是‘A’B.c1是‘A’,c2未输⼊
C.c1未输⼊,c2是‘A’D.c1是‘A’,c2是‘\n’5.a、b是整型变量,执⾏语句“scanf("a=%d,b=%d",&a,&b);”,使a和b的值分别为1和2,正确的输⼊是()。
A.1 2 B.1,2 C.a=1,b=2 D.a=1 b=2
6.设c为字符型变量值为‘A’,a为整型变量值为97,执⾏语句“putchar(c);putchar(a);”后,输出结果为()。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论