C 语言程序设计习题参考答案.pdf
《C 语言程序设计习题参考答案.pdf》由会员分享,可在线阅读,更多相关《C 语言程序设计习题参考答案.pdf(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计习题参考答案习 题1一、判断题3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。4.在整数的二进制表示方法中,0 的原码、反码都有两种形式。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0 有两种表示:+0和-0),其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。5.有符号数有三种表示法:原码、反码和补码。6.常用字符的ASCH码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字
2、母。解:1.F 2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是。A.原码 B.反码 C.补码 D.移码4.设在机器字长4 位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是。A.XAY=10()0 B.XVY=1111 C.XY=0011 D.Y=1(X)06.用 C 语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。A.生成可执行文件 B.生成目标文件6567.下列叙述中不正确的是()。A.main函数在C 程序中必须有且只有一个B.C 程序的执行从main函数开始,所以main函数必须放在程序最前面C.函数可以带参
3、数,也可以不带参数。D.每个函数执行时,按函数体中语句的先后次序,依次执行每条语句解:1.C 2.C 3.D 4.B 5.B 6.B 7.B三、填空题1.(87.625)io=()2=()8=()1 62.(1001010111001.10111)2=()8=()16=()io3.输入三个数,计算并输出三个数的和与三个数的乘积。程序如下:in clu d e v o id m ain()in t a,b,c,s,z;p r in tf (P lease in p u t a b c:n );s=a+b+c;printf(n%dnz s);*4.输入三角形三条边的边长,计算并输出三角形的面积。根
4、据三条边的边长,计算三角形面积的公式如下:面积=J s(s-x)(s-y)(s-z)(其中 =,+;十,程序如下:#include#include void main()double x,yz z,s,dime;scanf(n%lf%lf%lfnz&x,&y,&z);dime=sqrt(s*(s-x)*(s-y)*(s-z);解:1.1 0 1 0 1 1 1.1 0 1 1 2 7.55 7.A2.1 1 2 7 1.5 6 1 2 B 9.B 8 4 7 9 3.7 1 8 7 53.s c a n f(n%f%f%f ,&a,&b,&c);z=a*b*c;p r i n t f z);4
5、.s=(x+y+2)/2;p r i n t f d i m);四、编程题1.仿 照 例1.1,编程序在屏幕上显示:*Merry Christmas!Happy New Year!解:#i n c l u d e v o i d m a i n()解:p r i n t f(*n );p r i n t f C M e r r y C h r i s t m a s!nz,);p r i n t f C Ha p p y N e w Y e a r!nz,);p r i n t f(*n );)2 .仿照例1.2编程,输入一个整数,计算这个数的平方。#i n c l u d e v o i d
6、 m a i n()i n t a,z;p r i n t f (请输入一个整数:n);s c a n f (%d ,&a);z=a*a;1p r i n t f(d*%d=%d n ,a,a,z);)*3.仿照例1.3 编程,输入两个数后,输出其中较小值。解:#i n c l u d e f l o a t m i n(f l o a t x,f l o a t y)f l o a t m;i f (x y)m=x;e l s e m=y;r e t u r n m;)v o i d m a i n()f l o a t a,b,c,m i n d a t a;p r i n t f (请输
7、入二个数:n );s c a n f (f%f&a,&b);m i n d a t a=m i n(a,b);p r i n t f (较小数:f n ,m i n d a t a);)*4.仿 照 例 1.2 编程,输入、b 后,输出一元一次方程以+=0的解。解:#i n c l u d e v o i d m a i n()f l o a t a,b,x;p r i n t f (请输入 a、b:n,z);s c a n f C%f%f”,&a,&b);x=-a/b;p r i n t f (/zx=%f nz,,x);)*5.仿照例1.2 编程,输入圆柱体的半径和高,计算并输出圆柱体的体
8、积。解:#i n c l u d e v o i d m a i n()f l o a t r,h,s,v;p r i n t f C?P l e a s e i n p u t r a n d h:r T);s c a n f (%f%f”,&r,&h);v=3.1 4*r*r*h;p r i n t f C V=%f nz,,v);)习 题2一、判断题1.任何变量都必须要定义其类型。2.C语言的d o u b l e 类型数据在其数值范围内可以表示任何实数。3.C语言的任何类型数据在计算机内都是以二进制形式存储的。4.i s d i g i t(5)的结果为 0。5.pri ntf 函数中
9、格式符“c”对应的参数只能是字符类型。26 .按格式符“d”输出f l oat类型变量时,截断小数位取整后输出。7 .在C语言程序中,A B C与ab c是两个相同的变量。8 .sc anf函数中的格式符“d”不能用于输入实型数据。9.格 式 符“f”不能用于输入d oub l e类型数据。1 0 .当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。解:T (2)F (3)T (4)F (5)F (6)F (7)F (8)T (9)T (1 0)F二、指出下列各项中哪些是C语言中的常量,并指出其类型1 0,1 5 0 0 0 7-0 x3 dJ il e Oe lo7 o8 x xo1.
10、5 2e 0.5si n(3)O xf l 6,a 0 0 91.41 4E+2 2.54 a+2O xl O O h0 1 281 0 L解:合法的C常量有:整型常量:0 0 7-0 x3 dO xf l 61 0 L实型常量:l e O1.414E+2字符型常量:X,a三、指出下列各项中哪些是C语言中的用户标识符X _1X _2H i g hpri ntfB3 D Si/je2-e 2c ountIntnumb e r$23ne xt_si z e ofIFsum_ 1 2_1 23#N O 1:d oub l ef or解:c的用户标识符有:X_1X_2H i g he2count In
11、 tnumbernext_IFsum_12四、单项选择题1 .C语言中,c h ar型数据在内存中的存储形式是()oA.原码 B.反码 C.补码 D.A SCH码2.若有定义语句“c h arc=7 2,;”则变量c ()。A.包 含1个 字 符B.包含2个 字 符C.包含3个 字 符D.定义不合法3 .C语言中的基本数据类型包括()。A.整型、实型、逻辑型 B.整型、实型、字符型C.整型、逻辑型、字符型 D.整型、实型、逻辑型、字符型4 .设c l、c 2为字符型变量,执行语句 c l=g e tc h ar();c 2=g e tc h ar();”时,从键盘输入A/,c l和c 2的值分
12、别为()。A.都 是 A B.c l是 A,c 2未输入C.c l 未输入,c 2 是 A D.c l 是 A,c 2 是 n5.a、b是整型变量,执行语句“sc anf(a=%d,b=%d ,&a,&b);,使a和b的值分别 为I和2,正确的输入是()。A.1 2 B.1,2 C.a=l,b=2 D.a=l b=26.设c为字符型变量值为A ,a为整型变量值为97,执行语句“putc h ar(c);putc h ar(a);”后,输出结果为()oA.Aa B.A97 C.A9 D.aA7 .已知字母A的A SCH码值为65,以下语句段的输出结果是()。char cl=A,c2=Y1;pri
13、ntf(%d,%dn,cl,c2);A.输出格式非法,输出错误信息 B.6 5,903C.A,Y D.6 5,8 98 .若要使用输入语句“sc anf(%4d%4d%1 0,&i,&j,&x);,为 i输入一 1 0,为 j输 入 1 2,为 x 输入3 45.6 7,则正确的输入形式是()。A.-1 0 1 23 45.6 7/B.-1 0 1 2 3 45.6 7/C.-1 0 0 0 1 20 0 3 45.6 7/D.-1 0,1 2,3 45.6 7/9.能正确地定义符号常量的是()。A.#d e f i ne n=1 0 B.#d e f i ne n 1 0 C.#d e f
14、i ne n 1 0;D.#D E F IN E N 1 01 0 .在 C语言中,i nt、c h ar、sh ort三种类型数据在内存中所占的字节数()。A.由用户自己定义B.均为2 个 字 节 C.是 任 意 的 D.由机器字长决定解:D (2)A(3)B(4)D (5)C (6)A(7)D (8)B(9)B(1 0)D五、填空题1.c h ar c h=$;f l oat x=l 5 3.45 23 ;语句“pri ntf(%c%-8.2f n”,c h,x);”的输出结果是。解:$1 5 3.45 n2.i nt i=1 23;f l oat x=-1 23 4.5 6 7 8 9;
15、语句“pri ntf(i=%5 d x=%7.3 f n,i,x);”的输出结果是。解:i=1 23 x=-1 23 4.5 6 83.c h ar c=a;i nt a=6 5;语 句 putc h ar(c+l);putc h ar(a);”的输出结果是。解:b A4.i nta=98;语句“pri ntf(d,%c,%o,%x”,a,a+l,a+2,a+3);”的输出结果是。解:98,c,1 44,6 55.i nt k;f l oat f;语句“sc anf(3 d%*4d%6 F ,&k,&f);”执行时输入 1 23 45 6 7 8 7 6 5.43 /贝!1 k=,f=o解:k
16、=1 23 f=8 7 6 5.46.使用pow()函数时,程序的开头必须写一条预处理命令:。解:i nc l ud e 5.填 空 题。(1)i nt i=1 23,j=45;函数 pri ntf (/z%d,%d n”,i,j);的输出结果是。解:1 23,45(2)i nt i=1 23;f l oat x=-45.6 7 8;语句 pri ntf (z zi=%5 d x=%7.4f n”,i,x);的输出结果是。解:i=1 23 x=-45.6 7 8 0(3)f l oat al f a=6 0,pi=3习 题3一、根据下列数学式,写出c的算术表达式。4-(a2+Z 73)x y4
17、-J|sin(x)|3 5 x6-e5tan-x+解:-(+b)Xy 的 C 表达式:-(a*a+b*b)*pow(y,4)ab+c+d2c+dcda+2b 拒:1 一的 c 表达式:tan X+TT(sq rt(2)+10*10)/(pow(tan(x),-1)+3.141593)sin(x)的 C 表达式:sqrt(pow(fabs(sin(x),3.5)x6 e5 的 C 表达式:pow(x,6)-exp(5)1 ,+c+d工-的 C 表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d)二、按照要求,写出下列C 的表达式。1.写 出 in t类型变量x 为“奇数”的
18、表达式。解:x%2=l2.I n t类型变量x、y、z,写出描述“x 或 y 中有且仅有一个小于z”的表达式。解:x=z|x=z&y=0?1:-D*(y=0?y:-y)5.条 件“-5WxW3”所对应的C逻辑表达式。解:-5=x&x21&yb?a:b)c?(ab?a:b):c10.若字符变量ch 为小写字母,则将其转换为对应的大写字母。解:ch=ch=a&ch=z?ch-32:ch三、单项选择题1.设 intx=3,y=4,z=5;,下列表达式中值为0 的 是()。A.x&y B.x=y C.x|y+z&y-z D.!(x=y&ch B&!y 的 值 是(2A.0 B.1 C.“假 D.“真”
19、3.判 断 char 型变量c 为数字字符的正确表达式为()。A.0 =c=9 B.0 =c&c=0|c=0&c c);后,m 和 n 的值分别6为 O解:m为0,n为29.设inta=2;,表达式“a%2!=0的值为。解:010.设 charc=y;,表达式c=a&c=A&c=Z的值为解:111.写 出 与 代 数 式(x+2)e*2对应的C表达式。解:(x+2)*exp(x+2)12.设int a=2;执行语句a=3*5,a*4;后a的值为。解:15五、写出下列程序的输出结果。1.include void m ain()(unsigned k,n;scanf(n%uM,&n);/输入数据为
20、:69k=n%10*10+n/10;p r in tf(nn=%d k=%dnMz nz k);)解:n=69 k=962.#include void m ain()(in t x=2,y=3;x*=y+4;p rin tf(n%d,%dnxzy);x/=y=5;p r in tf(”d,%dn”,x,y);x-=y%2;p r in tf(“告d,%dn“,x,y);)解:14,32,51,53.#include void m ain()(in t a,b;a=8;b=7;7a=(a-=b+)?a%3:a/3;printf(na=%d b=%dn,a,b);)解:a=2 b=8六、程序填空题
21、。1 .以下程序输入三个整数值给a,b,c,程序把b中的值给a,把 c 中的值给b,把 a 中的值给c,交换后输出a、b、c 的值。例如输入1 2 3,输出a=2 b=3 c=lo#include v oid m ain()int a,b,c,;pr intf(E nter a,b,c:);scanf(u%d%d%dv,);;a=b;b=c;;printf(a=%d b=%d c=%dn,a,b,c);)解:t&a,&b,&c t=a c=t2 .以下程序不借助任何变量把a、b中的值进行交换。#include v oid m ain()int a,b;pr intf(I nput a,b:);
22、scanf(,);a+=;b=a-;a-=;pr intf(wa=%d b=%dn”,a,b);)解:&a,&b b b b七、编程题。1 .输入3 个字符后,按各字符A S C H 码从小到大的顺序输出这些字符。解:#include v oid m ain()char cl,c2,c3,t,m in,m id,m ax;cl=getchar ();c2=getchar();c3=getchar ();m in=(t=cl c2?c1:c2)c2?c1:c2)c3?t:c3;m i d=c1+c2+c3-m in-m ax;putchar(m in);putchar(m id);putchar
23、(m ax);)2 .输入两点坐标(x l,y l)(x 2,y 2),计算并输出两点间的距离。解:#include#include 8v oid m ain()(doub le x l,y l,x 2,y 2,d;pr intf(“请输入两点坐标(x l,y l),(x 2,y 2)n );scanf(%lf,%lf),(%lf,%lf)w,&x l,&y l,&x 2,&y 2);d=sqr t(x l-x 2)*(x 1-x 2)+(y l-y 2)*(y l-y 2);pr intf(“两点间距离二%fn,d);)3.编写程序,计算球体积并输出它的值。要求输入半径值,计算结果保留三位小
24、数。解:include#include define P I 3.1 4 1 59 2 6v oid m ain()doub le r,gv;pr intf(“请输入半径值:n );scanf(%lf,&r);gv=4.0/3*P I*pow(r,3);pr intf(“半径为%f 的球的体积为:%.3fn,r,gv);)4 .输入三角形的底和高,求三角形面积。解:#i n c l u d e#d e f i n e PI 3.1 4 1 59v o i d m a i n()(d o u b l e az h,s;p r i n t f (、请输入三角形的底,高 n);s c a n f (
25、%l f,%l f ,&a,&h);s=a*h/2;p r i n t f (三角形面积=*n,s);)5.编写程序,输入一个实数后输出该数的绝对值。解:#i n c l u d e v o i d m a i n()(d o u b l e x,y;p r i n t f (请输入一个实数 n);s c a n f&x);y=x=0?x:-x;p r i n t f (v I%g I=%g nz z,x,y);)6 .输入梯形的上底、下底和高,求梯形面积。解:#i n c l u d e v o i d m a i n()d o u b l e a,b,h,s;9print-、请输入梯形的上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计习题参考答案 语言程序设计 习题 参考答案
限制150内