C语言-程序设计(第二版.)习题参考.答案.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言-程序设计(第二版.)习题参考.答案.doc》由会员分享,可在线阅读,更多相关《C语言-程序设计(第二版.)习题参考.答案.doc(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C C 语言程序设计习题参考答案语言程序设计习题参考答案习 题 1一、判断题 1在计算机中,小数点和正负号都有专用部件来保存和表示。 2二进制是由 0 和 1 两个数字组成的进制方式。 3二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4在整数的二进制表示方法中,0 的原码、反码都有两种形式。 5有符号数有三种表示法:原码、反码和补码。 6常用字符的 ASCII 码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字 母、小写英文字母。 解:解:1F 2T 3T 4T 5T 6T二、单选题1在计算机中,最适合进行数值加减运算的数值编码是 。 A. 原码 B. 反码 C. 补码
2、 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 位,X0111B,Y1011B,则下列逻辑运算中,正确的是 _。A. XY1000 B. XY1111 C. XY0011 D. 1000 5下列叙
3、述中正确的是( ) 。 A高级语言就是机器语言 B汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计 算机可以直接识别并执行的程序 CC 语言因为具有汇编语言的一些特性,所以是汇编语言的一种 DC 源程序经过编译、连接,若正确,执行后就能得到正确的运行结果 6用 C 语言编写的源程序经过编译后,若没有产生编译错误,则系统将( ) 。 A生成可执行文件B生成目标文件 C输出运行结果D自动保存源文件 7下列叙述中不正确的是( ) 。 Amain 函数在 C 程序中必须有且只有一个 B. C 程序的执行从 main 函数开始,所以 main 函数必须放在程序最前面 C. 函数可以带参
4、数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:解:1C 2C 3D 4B 5B 6B 7B1三、填空题1 (87.625)10=( )2=( )8=( )16 2 (1001010111001.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(“%dn“,s); *4. 输入三角形三条边的边长,计算并输出三角形的面积。
5、根据三条边的边长,计算三角形面积的公式如下:()()() 2xyzs sx sy szs面积其中程序如下:#include #include void main() double x,y,z,s,dime; scanf(“%lf%lf%lf“, dime=sqrt(s*(s-x)*(s-y)*(s-z); 解:解:11010111.101 127.5 57.A 211271.56 12B9.B8 4793.71875 3scanf(“%f%f%f“, z=a*b*c; printf(“%f“,z); 4s=(x+y+2)/2; printf(“%f“,dim);四、编程题1仿照例 1.1,编程
6、序在屏幕上显示: *Merry Christmas! Happy New Year! * 解:解:#include void main()2 printf(“*n“);printf(“ Merry Christmas!n“);printf(“ Happy New Year!n“);printf(“*n“); 2仿照例 1.2 编程,输入一个整数,计算这个数的平方。 解:解:#includevoid main() int a,z; printf(“请输入一个整数:n“);scanf(“%d“,z=a*a; printf(“%d*%d=%dn“,a,a,z); *3仿照例 1.3 编程,输入两个数
7、后,输出其中较小值。 解:解:#includefloat min(float x, float y) float m; if (xvoid main() float a,b,x; printf(“请输入 a、b:n“);scanf(“%f %f“,x=-a/b; printf(“x=%fn“,x); *5仿照例 1.2 编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。 解:解:#include void main() float r,h,s,v;printf(“Please input r and h:n“);scanf(“%f %f“,3v=3.14*r*r*h;printf(“V=%f
8、n“,v);习 题 2一、判断题1任何变量都必须要定义其类型。 2C 语言的 double 类型数据在其数值范围内可以表示任何实数。 3C 语言的任何类型数据在计算机内都是以二进制形式存储的。 4isdigit(5)的结果为 0。 5printf 函数中格式符“%c”对应的参数只能是字符类型。 6按格式符“%d”输出 float 类型变量时,截断小数位取整后输出。 7在 C 语言程序中,ABC 与 abc 是两个相同的变量。 8scanf 函数中的格式符“%d”不能用于输入实型数据。 9格式符“%f”不能用于输入 double 类型数据。 10当格式符中指定宽度时,输出的信息完全取决于所指定的
9、宽度。 解解:(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 1.52e0.5 sin(3) 0xf16 a 009 1.414E+2 2.54 a+2 0x100h 0128 10L 解解:合法的 C 常量有:整型常量: 007 0x3d 0xf16 10L实型常量: 1e0 1.414E+2字符型常量:x a 三、指出下列各项中哪些是 C 语言中的用户标识符x_1 X_2 High printf 3DS i/j e2
10、e2 count Int number $23 next_ sizeof IF sum_12 _123# NO1: double for 解解:C 的用户标识符有:x_1 X_2 High e2 count Int numbernext_ IF sum_12 四、单项选择题1C 语言中,char 型数据在内存中的存储形式是( ) 。 A原码 B反码 C补码DASCII 码 2若有定义语句“char c=72;”则变量 c( ) 。 A包含 1 个字符 B包含 2 个字符 C包含 3 个字符 D定义不合法 3C 语言中的基本数据类型包括( ) 。 A整型、实型、逻辑型B整型、实型、字符型 C整型
11、、逻辑型、字符型D整型、实型、逻辑型、字符型 4设 c1、c2 为字符型变量,执行语句“c1=getchar( );c2=getchar( );”时,从键盘4输入 A,c1 和 c2 的值分别为( ) 。 A都是ABc1 是A ,c2 未输入 Cc1 未输入,c2 是ADc1 是A ,c2 是n 5a、b 是整型变量,执行语句“scanf(“a=%d,b=%d“, printf(“%d,%dn“,c1,c2);A输出格式非法,输出错误信息B65,90 CA,YD65,89 8若要使用输入语句“scanf(“%4d%4d%10f“,putchar(a);”的输出结果是 。解解:bA 4int a
12、=98; 语句“printf(“%d,%c,%o,%x”,a,a+1,a+2,a+3);”的输出结果是 。解解:98,c,144,65 5int k; float f; 语句“scanf(“%3d%*4d%6f”,”执行时输入 12345678765.43 则 k= ,f= 。解解:k=123 f=8765.4 6使用 pow()函数时,程序的开头必须写一条预处理命令: 。解解:#include 5填空题。(1)int i=123,j=45;5函数 printf(“%d,%dn“,i,j);的输出结果是 。解解:123,45(2)int i=123; float x=-45.678;语句 pr
13、intf(“i=%5d x=%7.4fn“,i,x); 的输出结果是 。解解:i= 123 x=-45.6780(3)float alfa=60,pi=3习 题 3一、根据下列数学式,写出 C 的算术表达式。cddcbadcab exxxyba 221| )sin(|tan102)(565.3 12 432 解解:-(a2+b2)y4 的 C 表达式:-(a*a+b*b)*pow(y,4)的 C 表达式:(sqrt(2)+10*10)/(pow(tan(x),-1)+3.141593)x12tan102的 C 表达式:sqrt(pow (fabs (sin(x),3.5)5 . 3| )sin
14、(|x的 C 表达式:pow(x,6)-exp(5)56ex 的 C 表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d)cddcbadcab221二、按照要求,写出下列 C 的表达式。1写出 int 类型变量 x 为“奇数”的表达式。解解:x%2=12Int 类型变量 x、y、z,写出描述“x 或 y 中有且仅有一个小于 z”的表达式。解解:x=z|x=z后,m 和 n 的值分 别为 。解解:m 为 0,n 为 2 9设 int a=2;,表达式“a%2!=0”的值为 。解解:0 10设 char c=y;,表达式“c=ascanf(“%u“, /输入数据为:69k=n
15、%10*10+n/10;printf(“n=%d k=%dn“,n,k); 解:解:n=69 k=96 2 #include void main() int x=2,y=3;x*=y+4; printf(“%d,%dn“,x,y); x/=y=5; printf(“%d,%dn“,x,y);8x-=y%2; printf(“%d,%dn“,x,y); 解:解:14,32,51,53 #include void main() int a, b;a=8; b=7; a=(a- =b+)? a%3 : a/3; printf(“a=%d b=%dn“,a,b); 解:解:a=2 b=8六、程序填空题
16、。1以下程序输入三个整数值给 a,b,c,程序把 b 中的值给 a,把 c 中的值给 b,把 a 中的值给 c,交换后输出 a、b、c 的值。例如输入 1 2 3,输出 a=2 b=3 c=1。#include void main() int a,b,c, ;printf(“Enter a,b,c:”);scanf(“%d%d%d”, ); ; a=b; b=c; ;printf(“a=%d b=%d c=%dn”,a,b,c);解解: t printf(“Input a,b:”);scanf(“%d%d”, );a+= ; b=a- ; a- = ;printf(“a=%d b=%dn”,a
17、,b);解解: c1=getchar(); c2=getchar(); c3=getchar();min=(t=c1c2?c1:c2)c3?t:c3;mid=c1+c2+c3-min-max;putchar(min);putchar(mid);putchar(max); 2输入两点坐标(x1,y1) 、 (x2,y2) ,计算并输出两点间的距离。解:解:#include #include void main() double x1,y1,x2,y2,d;printf(“请输入两点坐标 (x1,y1),(x2,y2)n”);scanf(“(%lf,%lf),(%lf,%lf)”,d=sqrt(x
18、1-x2)*(x1-x2)+(y1-y2)*(y1-y2);printf(“两点间距离=%fn”,d); 3编写程序,计算球体积并输出它的值。要求输入半径值,计算结果保留三位小数。解解:#include #include #define PI 3.1415926void main() double r,gv;printf(“请输入半径值:n”);scanf(“%lf”,gv=4.0/3*PI*pow(r,3);printf(“半径为%f 的球的体积为:%.3fn”,r,gv);4输入三角形的底和高,求三角形面积。 解解:#include #define PI 3.14159 void main
19、() double a,h,s;printf(“请输入三角形的底,高n”);scanf(“%lf,%lf”,s=a*h/2;printf(“三角形面积=%fn”,s); 5编写程序,输入一个实数后输出该数的绝对值。10解解:#include void main() double x,y;printf(“请输入一个实数n”);scanf(“%lf”,y=x=0?x:-x;printf(“|%g|=%gn”,x,y); 6输入梯形的上底、下底和高,求梯形面积。 解解:#include void main() double a,b,h,s;printf(“请输入梯形的上底,下底,高n”);scanf
20、(“%lf,%lf,%lf”,s=(a+b)*h/2;printf(“ 梯形面积=%fn”,s); 7. 输入矩形的边长,求矩形面积。 解解:#include void main() double a,b,s;printf(“请输入矩形的长,宽n”);scanf(“%lf,%lf”,s=a*b;printf(“ 矩形面积=%fn”,s); 8. 已知等差数列的第一项为 a,公差为 d,求前 n 项之和,a、d、n 由键盘输入。 解解:#include void main() int a,d,n,sum;printf(“请输入等差数列的首项 公差 项数n”);scanf(“%d%d%d”,sum
21、=a*n+n*(n-1)*d/2;printf(“ sum=%dn”,sum); 9. 编写程序,将 d 天 h 小时 m 分钟换算成分钟,输入 d、h、m,输出换算结果。 解解:#include void main() int d,h,m,t;printf(“请输入天 小时 分钟n”);11scanf(“%d%d%d”,t=d*24*60+h*60+m;printf(“%d 天%d 小时%d 分钟=%d 分钟n”,d,h,m,t); 10. 编写程序,求出给定半径 r 的圆以及内接正 n 边形的面积,输出计算结果。r 和 n 的值 由键盘输入。 解解:#include #include #d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序设计 第二 习题 参考 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内