资源描述:
《c++教材课后题答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题11.1书写一个简单的C++程序,从而理解C++程序的结构及特点。该程序只由一个主函数组成,主函数的函数体中只包含一个语句:cout<<"ThisisaC++program.";【1.1答】#includevoidmain(){cout<<"ThisisaC++program.";} 习题22.1 写出C++标识符的命名规则,写出5个合法的标识符和5个不合法的标识符。2.2 下列符号哪些是C++标识符?哪些不是,为什么?2m a+c int i*j mm data n-a m22 x
2、 -n a_1【2.2答】mm data m22 x a_1是C++标识符,int是是C++标识符也是关键字2.3 指出下列合法的常量,并说明其类型。 65538 1.3 2.1E47L 9uL '9' 'a' 123u【2.3答】65538 整型常量1.3 double型常量2.1E4 double型常量7L 长整型常量9uL 无符号长整型常量'9' 字符型常量'a' 字符型常量123u 无符号整型常量2.4 写出符合C++规则的int、double、char和
3、字符串4种类型的常量各2个。2.5 说明字符常量和字符串常量有何区别?2.6 下列变量的定义是否合法?为什么?⑴INT i,j,k; ⑵ charc1,c2; ⑶inta,b;floatf,b;⑷unsignedintm ⑸ char:a1,a2,a3;⑹unsignedfloatx,y;【2.6答】⑵和⑶合法。⑴的INT要小写;⑷少分号;⑸char后多了冒号;⑹数据类型错误2.7 将下列数学表示式写成C++表达式。(1) (2)(3) (4)
4、【2.7答】(1)(2*x*x+3*y*y)/(x-y)(2)(-b+sqrt(b*b-4*a*c))/(2*a) 和 (-b-sqrt(b*b-4*a*c))/(2*a)或(-b+sqrt(b*b-4*a*c))/2/a 和 (-b-sqrt(b*b-4*a*c))/2/a(3)1+(1+a/b)/(1-(a/c)(4)x/sqrt(fabs(x*x*x+y*y*y+z*z*z))2.8 已有如下变量定义,求下列表达式的值。⑴doublex=1.2,y=8.5;inta=3;x+a%3*(int)(x+
5、y)⑵inta=2,b=3;doublex=3.5,y=2.5;(double)(a+b)/2+(int)x%(int)y⑶intx=4,y=8;(++x)*(--y)⑷inte=1,f=4,g=2;doublem=10.5,n=4.0,k;k=(e+f)/g+sqrt(n)*1.2/g+m⑸doublex=2.5,y=4.7;inta=7;x+a%3*(int)(x+y)%2/4⑹inta,b;intx;x=(a=2,b=5,a++,b++,a+b)【2.8答】⑴ 1.2⑵3.5⑶35⑷13.7⑸2.5⑹ 9⑴ 1.2#in
6、cludevoidmain(){ doublex=1.2,y=8.5; inta=3; cout<<(x+a%3*(int)(x+y))<voidmain(){ inta=2,b=3; doublex=3.5,y=2.5; cout<<((double)(a+b)/2+(int)x%(int)y)<voidmain(){ intx=4,y=8; cou
7、t<<((++x)*(--y))<#includevoidmain(){ inte=1,f=4,g=2; doublem=10.5,n=4.0,k; k=(e+f)/g+sqrt(n)*1.2/g+m; cout<voidmain(){ doublex=2.5,y=4.7; inta=7; cout<<(x+a%3*(int)(x+y)%2/4)<8、ndl;}⑹ 9#includevoidmain(){ inta,b; intx; x=(a=2,b=5,a++,b++,a+b); cout<