c语言第二章课后习题答案.doc_第1页
c语言第二章课后习题答案.doc_第2页
c语言第二章课后习题答案.doc_第3页
c语言第二章课后习题答案.doc_第4页
c语言第二章课后习题答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 数据类型、运算符与表达式习 题 答 案一、 选择题1. 以下表示正确常量的是( )。 (A) E-5 (B) 1E5.1 (C) a12 (D) 32766L【答案】D2. 若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式 (x=ab)&(y=cd) 的值为( )。(A)0 (B) 1 (C) 5 (D) 6【答案】A3. 以下( )是正确的字符常量。(A)c (B) (C) W (D) 32a【答案】C4. 以下( )是不正确的字符串常量。 (A) abc (B) 1212 (C) 0 (D) 【答案】A5. 以下是正确的浮点数的是( )。(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6. 若有定义:int a=2; 则正确的赋值表达式是( )。(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7. 若有定义:int x=1111,y=222,z=33;则语句printf(%4d+%3d+%2d, x, y, z);运行后的输出结果为( )。 (A)111122233(B)1111,222,33(C)1111 222 33(D)1111+222+33【答案】D8. 已有如下定义和输入语句:int a,b;scanf(%d,%d,&a,&b); 若要求a、b的值分别为11和22,正确的数据输入是哪一个?( )(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9. 已有如下定义和输入语句,int a; char c1,c2;scanf(%d%c%c,&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是( )。 (A) 40AA (B) 40 A A (C) 40A A (D) 40,A,A【答案】A10. 语句a=(3/4)+3%2;运行后,a的值为( )。 (A) 0 (B) 1 (C) 2 (D) 3【答案】B11. char型变量存放的是( )。 (A) ASCII代码值 (B) 字符本身 (C) 十进制代码值 (D) 十六进制代码值【答案】A12. 在下列运算符中,优先级最高的运算符是( )。 (A) =j|ij 的值为( )。 (A) 1 (B) 变量i的值 (C) 0 (D) 变量j的值【答案】A15. 若希望当a的值为奇数时,表达式的值为真,a的值为偶数时,表达式的值为假。则不能满足要求的表达式是( )。 (A) a%2=1 (B) !(a%2=0) (C) !(a%2) (D) a%2【答案】C16. 若有定义:int x=3,y=4,z=5;则值为0的表达式是( )。 (A) x&y (B) x=y (C) x|y+z&y-z (D) !(xy)&!z|1)【答案】D17. 若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为( )。(A) 3.75 (B) 3.5 (C) 3 (D) 4【答案】B18. 已知char a=R; 则正确的赋值表达式是( )。 (A) a=(a+)%4 (B) a+2=3 (C) a+=256- (D) a=078【答案】A19. 若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是( )。 (A) 2.5 (B) 3.5 (C) 4.5 (D) 5.5【答案】C20. 若已定义:int i=3,k; 则语句 k=(i-)+(i-); 运行后k的值为( )。 (A) 4 (B) 5 (C) 6 (D) 7【答案】C21. 若已定义:int a=5;float b=63.72; 以下语句中能输出正确值的是( )。 (A) printf(%d %d,a,b); (B) printf(%d %.2f,a,b); (C) printf(%.2f %.2f,a,b); (D) printf(%.2f %d,a,b);【答案】B22. C语言中,能正确表示条件10x20的逻辑表达式是( )。 (A) 10x10 | x10 & 10) & (x20)【答案】D23. 若表达式!x的值为1,则以下哪个表达式的值为1( )。 (A) x=0 (B) x=1 (C) x=!1 (D) x!=0【答案】A24. 语句x=(y=3,b=+y);运行后,x、y、b的值依次为( )。 (A)4,4,3(B)3,3,3(C)4,4,4(D)4,3,4【答案】C25. 若有定义:int x,c;则语句x=(c=3,c+1);运行后,x,c的值分别是( )。(A)3,3(B)4,4(C)3,3(D)4,3【答案】D26. 语句a=(6/8)+6%5;运行后,a的值为( )。(A)1(B)2(C)1.75(D)1.2【答案】A27. 若有定义:int x,y;则表达式(x=2,y=5,x*2,y+,x+y)的值是( )。(A)7(B)8(C)9(D)10【答案】B28. 对代数式(4ad)/(bc),不正确的C语言表达式是( )。(A)a/b/c*d*4 (B)4*a*d/b/c (C)4*a*d/b*c (D)a*d/c/b*4【答案】C29. 若x和y为整数,以下表达式中不能正确表示数学关系|x-y|10的是( )。(A)abs(x-y)-10&(x-y)10(C)!(x-y)10 (D)(x-y)*(x-y)100【答案】C30. 若有以下程序段,则z的二进制值是( )。int x=3,y=6,z;z=xyb; 运行后c的值为 。【答案】06. 若有定义:int a=2,b=3; float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是 。【答案】3.57. 已知double a=5.2; 则语句a+=a-=(a=4)*(a=3);运行后a的值为 。【答案】-18.08. 若有定义:int x,y;则表达式(x=2,y=5,x+,x+y+)的值是 。 【答案】89. 若有定义:int m=3,n=5;则表达式(m+1,n+1,(-m)+(n-)的值是 。 【答案】710. 若有定义:int x=3,y=4;则表达式 !x|y 的值为 。【答案】111. 若有定义:int a=5,b=2,c=1;则表达式a-bc|b=c的值是 。【答案】012. 若有定义:int a=2,b=2,c=2; 则语句 +a|+b&+c;运行后b的值为 。 【答案】213. 以下程序段中,要将a的值的低4位取反,b的值应取 。unsigned char a=0x39,b;b= ;a=ab;【答案】15或0xf14. pow(3.0,2.0)的函数值是 。【答案】9.015. 若有定义:int k,i=3,j=3; 则表达式 k=(+i)*(j-) 的值是 。 【答案】12三、程序设计题1. 编写程序,从键盘输入大写字母,用小写字母输出。【参考答案】void mainchar c1;printf(“input a uppercase:”);scanf(“%c”,&c1);c1=c1+32;/*在ASCII表中,小写字母的ASCII值比对应的大写字母大32*/printf(%cn, c1);2. 编写程序,从键盘输入一个矩形的长度和宽度,输出面积和周长。【参考答案】void mainfloat len,wid,size;/*len,wid,size分别表示矩形的长、宽、面积*/printf(input length:);scanf(%f,&len);printf(input width:);scanf(%f,&wid);size=len*wid;printf(size of the rectangle is: %fn, size);3. 编写一个程序,从键盘输入华氏温度,将其转换成摄氏温度值后输出。转换的公式为:C=(F-32)/1.8【参考答案】void mainfloat c,f;printf(input Fahrenheit temperature f:);scanf(%f,&f);c=(f-32)/1.8;printf(Centigrade temperature c is: %fn, c);4. 编写程序,输入两个字符,利用条件运算符,输出其中较小字符的ASCII 码值。【参考答案】void main()char c1,c2;int i;printf(input two letters:);scanf(%c,%c,&c1,&c2); /*注意:输入的两个字符之间要用逗号隔开*/i= c1c2?c1:c2;printf(minimum ASCII is %dn,i);5. 用C赋值语句表示以下计算式:1)Area=pr2+2prh2)Torque=3)Side=4)Energy=massaccelerationheight+【参考答案】1)Area=PI*r*r+2*PI*r*h2)Torque=((2*m1*m2)/(m1+m2))*g3)Side=sqrt(a*a+b*b-2*a*b*cos(x)4)Energy=mass(acceleration*height+velocity*velocity/2)转换成程序:#include stdio.h#define PI 3.1415926void main() float r,h,Area; printf(Input r:); scanf(%f,&r); pirntf(Input h:); scanf(%f,&h); Area=PI*r*r+2*PI*r*h; printf(Area=%f,Area); 2)#include stdio.h#define g 9.8void main() float m1,m2,Torque; printf(Input m1:); scanf(%f,&m1); pirntf(Input m2:); scanf(%f,&m2); Torque=((2*m1*m2)/(m1+m2))*g; printf(Torque=%f,Torque); 3)#include stdio.h#include math.hvoid main() float a,b,c,Side; printf(Input a:); scanf(%f,&a); printf(Input b:); scanf(%f,&b); printf(Input c:); scanf(%f,&c); Side=sqrt(a*a+b*b-2*a*b*cos(x); printf(Side=%f,Side); 4)#include stdio.hvoid main() float mass,acceleration,height,velocity; printf(Input mass:);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论