C语言程序设计(第二版)习题参考题答案 联系客服

发布时间 : 星期一 文章C语言程序设计(第二版)习题参考题答案更新完毕开始阅读d9fb072503f69e3143323968011ca300a7c3f600

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. ˉ =1000 Y5.下列叙述中正确的是( )。

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(\

s=a+b+c; printf(\ }

*4. 输入三角形三条边的边长,计算并输出三角形的面积。 根据三条边的边长,计算三角形面积的公式如下:

x?y?z??面积?s(s?x)(s?y)(s?z) ?其中s?? 2??程序如下:

#include <> #include <> void main() {

double x,y,z,s,dime; scanf(\

dime=sqrt(s*(s-x)*(s-y)*(s-z)); }

解:1.

2.

3.scanf(\ z=a*b*c; printf(\ 4.s=(x+y+2)/2; printf(\ 四、编程题

1.仿照例,编程序在屏幕上显示:

***************************** Merry Christmas! Happy New Year! ***************************** 解:#include <> void main()

{ printf(\ printf(\ Merry Christmas!\\n\ printf(\ Happy New Year!\\n\

printf(\ }

2.仿照例编程,输入一个整数,计算这个数的平方。 解:#include<> void main() { int a,z;

printf(\请输入一个整数:\\n\ scanf(\ z=a*a; printf(\

}

*3.仿照例编程,输入两个数后,输出其中较小值。 解:#include<>

float min(float x, float y) { float m; if (x

void main()

{ float a,b,c,mindata; printf(\请输入二个数:\\n\ scanf(\

mindata=min(a,b);

printf(\较小数:%f\\n\ }

*4.仿照例编程,输入a、b后,输出一元一次方程ax+b=0的解。 解:#include<> void main()

{ float a,b,x; printf(\请输入a、b:\\n\ scanf(\ x=-a/b; printf(\ }

*5.仿照例编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。 解:#include <> void main()

{ float r,h,s,v;

printf(\ scanf(\

v=*r*r*h;

printf(\ }

习 题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’ ‘xo’ 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( );”时,从键盘输入