2022年c语言的答案 .pdf
![资源得分’ 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)
《2022年c语言的答案 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言的答案 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言程序设计 (第二版 )习题参考答案语言程序设计 习题参考答案C 语言程序设计 习题参考答案习 题 1 一、判断题1在计算机中,小数点和正负号都有专用部件来保存和表示。2二进制是由0 和 1 两个数字组成的进制方式。3二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。4在整数的二进制表示方法中,0 的原码、反码都有两种形式。5有符号数有三种表示法:原码、反码和补码。6常用字符的ASCII 码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。2T 3T 4T 5T 6T 解: 1F 二、单选题1在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码B
2、. 反码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 位,X0111B, Y1011B, 则下列逻辑运算中,正确的是_。 A. X Y1000 B. X Y1111 C. XY0011 D. Y 1000 ? 5下列
3、叙述中正确的是() 。 A高级语言就是机器语言B汇编语言程序、高级语言程序都是计算机程序, 但只有机器语言程序才是计算机可以直接识别并执行的程序CC 语言因为具有汇编语言的一些特性,所以是汇编语言的一种DC 源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6用C 语言编写的源程序经过编译后,若没有产生编译错误,则系统将() 。 A生成可执行文件B生成目标文件C输出运行结果D自动保存源文件7下列叙述中不正确的是() 。 Amain 函数在C 程序中必须有且只有一个B. C 程序的执行从main 函数开始, 所以main 函数必须放在程序最前面C. 函数可名师资料总结 - - -精品资料
4、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 34 页 - - - - - - - - - 以带参数,也可以不带参数。D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句解: 1 C 2C 3D 4B 5 B 6B 7B 三、填空题1 (87.625)10=( )2=( )8=( )16 )8=( )16=( 2 (1001010111001.10111)2=( 3输入三个数,计算并输出三个数的和与三个数的乘积。程序如下:#include void main() int a,b,c,s,z
5、; printf(Please input a b c:n); s=a+b+c; printf(%dn,s); *4. 输入三角形三条边的边长,计算并输出三角形的面积。根据三条边的边长, 计算三角形面积的公式如下:x+ y+z? ? 面积= s ( s ? x)( s ? y )( s ? z ) ? 其中s = ? 2 ? ? 程序如下:#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); 127.5 57.A 解: 110101
6、11.101 211271.56 12B9.B8 4793.71875 3scanf(%f%f%f,&a,&b,&c); z=a*b*c; 4s=(x+y+2)/2; printf(%f,dim); 四、编程题1仿照例1.1,编程序在屏幕上显示:* Merry Christmas! Happy New Year! * 解: #include void main() printf(*n); printf( Merry Christmas!n); 1 )10 printf(%f,z); printf( Happy New Year!n); printf(*n); 2仿照例1.2 编程,输入一个整数
7、, 计算这个数的平方。解:#include void main() int a,z; printf( 请输入一个整数:n); scanf(%d,&a); z=a*a; printf(%d*%d=%dn,a,a,z); *3 仿照例1.3 编程,输入两个数后, 输出其中较小值。解:#include float min(float x, float y) float m; if (xy) m=x; else m=y; return m; void main() float a,b,c,mindata; printf(请输入二个数 :n); scanf(%f %f,&a,&b); mindata=m
8、in(a,b); printf(较小数:%fn,mindata); *4 仿照例1.2 编程,输入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=%fn,x); *5仿照例1.2 编程, 输入圆柱体的半径和高,计算并输出圆柱体的体积。解: #include void main() float r,h,s,v; printf(Please input r and h:n); scanf(%f %f,&r,&h)
9、; v=3.14*r*r*h; printf(V=%fn,v); 2 习 题2 一、判断题1任何变量都必须要定义其类型。2C 语言的double 类型数据在其数值范围内可以表示任何实数。3C 语言的任何类型数据在计算机内都是以二进制形式存储的。4 isdigit(,5?) 的结果为0。5printf 函数中格式符 “ %c”对应的参数只能是字符类型。6按格式符 “ %d ”输出float 类型变量时,截断小数位取整后输出。7在C 语言程序中, ABC 与 abc 是两个相同的变量。 8scanf 函数中的格式符“%d ” 不能用于输入实型数据。9格式符 “%f”不能用于输入double 类型数
10、据。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 ,x? ,xo? 1.414E+2 2.54 解:合法的C 常量有: 整型常量: 007 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 34 页 - - - - - - - - - 实型常量:1e0 字符型常量: ,x? 0
11、 x3d 1.52e0.5 , ? 0 x3d 1.414E+2 , a? sin(3) ,a?+2 0 xf16 , ? 1e0 0 xf16 0 x100h e1 , a? 0128 o7o8 ,009? 10L 10L 三、指出下列各项中哪些是C 语言中的用户标识符x_1 X_2 High printf e2 e2 count Int sizeof IF sum_12 _123# X_2 High 解: C 的用户标识符有:x_1 next_ IF sum_12 四、单项选择题1C 语言中, char 型数据在内存中的存储形式是() 。 A原码B反码C补码 DASCII 码 2若有定义语
12、句“char c=72; ” 则变量c ( ) 。 A 包含 1 个字符B 包含 2 个字符C包含3 个字符D定义不合法3C 语言中的基本数据类型包括() 。 A整型、实型、逻辑型B整型、实型、字符型C整型、逻辑型、字符型D整型、实型、逻辑型、字符型4设c1、c2 为字符型变量, 执行语句 “c1=getchar( ) ; c2=getchar( ); ” 时,从键盘输入 A, c1 和 c2 的值分别为 ( ) 。 A都是 ,A? Bc1 是,A? ,c2 未输入3 3DS number $23 NO1: double e2 count Int i/j next_ for number C
13、c1 未输入, c2 是,A? Dc1 是,A? ,c2 是, n? 5 a、b 是整型变量,执行语句“scanf(a=%d ,b=%d,&a,&b) ; ,使a 和 b 的值分” 别为1 和 2,正确的输入是() 。 A1 2 B1,2 Ca=1,b=2 Da=1 b=2 6 c 为字符型变量值为设 ,A? a 为整型变量值为97, , 执行语句“putchar(c) ; putchar(a); ” 后,输出结果为( ) 。 AAa B A97 C A9 D aA 7已知字母A 的 ASCII 码值为65,以下语句段的输出结果是() 。 char c1=A,c2=Y; printf(%d,%
14、dn,c1,c2); A输出格式非法,输出错误信息B65,90 CA,Y D65,89 8若要使用输入语句“scanf(%4d%4d%10f,&i ,&j ,&x) ; ,为 i 输入 10,为 j ” 输入12,为 x 输入345.67,则正确的输入形式是( ) 。A 1012345.67 B 10 12 345.67 C 10001200345.67 D 10,12,345.67 9能正确地定义符号常量的是 ( ) 。 A#define n=10 B #define n 10 C#define n 10; D#DEFINE N 10 10在 C 语言中, int、char、short 三种
15、类型数据在内存中所占的字节数( ) 。 A由用户自己定义B 均为2 个字节C 是任意的D由机器字长决定解:(1) D (2) A (3) B (4) D (5) C (6) A (7) D (8) B (9) B (10) D 五、填空题1char ch=$;float x=153.4523 ; 。 语句“ printf(%c%8.2fn,ch,x) ; ” 的输出结果是解: $153.45 n 2int i=123 ;float x= 1234.56789; 语句 “ printf(i=%5d x=%7.3f n,i,x) ; ” 的输出结果是。 解:i= 123 x=-1234.568 3
16、char c=a;int a=65 ; 语句 “putchar(c+1);putchar(a) ; ” 的输出结果是。 解:bA 4 int a=98;语句 “printf(“%d,%c,%o,%x ”,a,a+1,a+2,a+3);”的输出结果是解:98,c,144,65 5 int k; float f; 语句“scanf( “%3d%*4d%6f ”,&k,&f);”执行时输入12345678765.43 则 k= ,f= 。 f=8765.4 解:k=123 6 使用pow()函数时, 程序的开头必须写一条预处理命令:解:#include 5填空题。(1)int i=123,j=45;
17、 函数printf(%d,%dn,i,j);的输出结果是。 解:123,45 。 。4 (2)int i=123; float x=-45.678; 语句printf(i=%5d x=%7.4fn,i,x); 的输出结果是解:i= 123 x=-45.6780 (3)float alfa=60,pi=3 。 习 题 3 一、根据下列数学式,写出C 的算术表达式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 34 页 - - - - - - - - - 2 + 10 2
18、tan ?1 x + 4 ? (a + b ) y 2 3 4 | sin( x ) | 3 .5 x ?e 6 5 1 ab + c + d 2 c+d a + 2b ? cd 2 2 解: -(a +b )y 的 C 表达式: -(a*a+b*b)*pow(y,4) 2 + 10 2 的 C 表达式:(sqrt(2)+10*10)/(pow(tan(x),-1)+3.141593) tan ?1 x + | sin( x) | 3.5 的 C 表达式: sqrt(pow (fabs (sin(x),3.5) x 6 ? e 5 的 C 表达式: pow(x,6)-exp(5) 1 ab +
19、 c + d 2 的 C 表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d) c+d a + 2b ? cd 二、按照要求,写出下列C 的表达式。1写出int 类型变量x 为“ 奇数 ” 的表达式。解:x%2=1 2 Int 类型变量x、y、z,写出描述 “x 或 y 中有且仅有一个小于z” 的表达式。解: x=z|x=z&y=0?1:-1)*(y=0?y:-y) 5条件 “ -5x3”所对应的C 逻辑表达式。解:-5=x&x21&yb?a:b)c?(ab?a:b):c 10若字符变量ch 为小写字母,则将其转换为对应的大写字母。解:ch=ch=a&ch=z?ch-32
20、:ch 三、单项选择题1设 int x=3 ,y=4,z=5; ,下列表达式中值为0 的是() 。 Ax&y B. x=y Cx|y+z&y z D. !(x=y&chB&!y”的值是( ) 。 A0 B. 1 C “ 假” D “ 真 ” 3 判断char 型变量c 为数字字符的正确表达式为() 。 A 0=c=9 B 0=c&c=0|c=0&c=9 4 下列运算符中,优先级最低的是 ( ) 。A ?: B & C = = D *= 5 若有条件表达式“x?a+:b -” ,则以下表达式中()等价于表达式x。 Ax=0 B x!=0 C x=1 D x!=1 6 有定义int k=4,a=3
21、,b=2,c=1; ,表达式 “ ka?k:cc);后,m 和n 的值分别为 。 解:m 为 0,n 为 2 。 9设 int a=2; ,表达式 “ a%2!=0”的值为解:0 10设 char c=y; ,表达式 “ c=a&c=A&c=Z”的值为。 解:1 x+2 11写出与代数式(x+2)e 对应的C 表达式。 解: (x+2)*exp(x+2) 。 12设int a=2;执行语句a=3*5,a*4; 后 a 的值为解:15 五、写出下列程序的输出结果。1 #include void main() unsigned k,n; scanf(%u,&n); /输入数据为: 69 k=n%1
22、0*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); x-=y%2; printf(%d,%dn,x,y); 解:14,3 7 2,5 1,5 3 #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 六、程序填空题。1以下程序输
23、入三个整数值给 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 n” ,a,b,c); 解: t &a,&b,&c t=a c=t 2以下程序不借助任何变量把a、b 中的值进行交换。#include void main() int a,b; printf(“Input
24、 a,b:”); scanf(“%d%d ”, ); a+= ; b=a- ; a- = ; printf(“a=%d b=%dn”,a,b); 解: &a,&b b b b 七、编程题。1输入3 个字符后,按各字符ASCII 码从小到大的顺序输出这些字符。解:#include void main() char c1,c2,c3,t,min,mid,max; c1=getchar(); c2=getchar(); c3=getchar(); min=(t=c1c2?c1:c2)c2?c1:c2)c3?t:c3; mid=c1+c2+c3-min-max; putchar(min); putch
25、ar(mid); putchar(max); 2输入两点坐标(x1,y1) (x2,y2) 、 ,计算并输出两点间的距离。解:#include #include void main() double x1,y1,x2,y2,d; printf(“请输入两点坐标n”); scanf(“ (%lf,%lf),(%lf,%lf)” ,&x1,&y1,&x2,&y2); d=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); printf(“两点间距离n” ,d); 3 编写程序,计算球体积并输出它的值。要求输入半径值,名师资料总结 - - -精品资料欢迎下载 - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c语言的答案 2022 语言 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内