当前位置:首页 > 面向对象程序设计(C++)(第二版)模仿练习参考源代码
面向对象程序设计(C++)第二版《模仿练习》解答
作者:王明福
? 说明:所有源程序代码按章建立工程。
第2章 数据类型、运算符和表达式
模仿练习 判断下列标识符的合法性,并说明理由。 A3,-a,_3a,a#,good,iSum,fnMax2,a+5
答: A3,_3a,good,iSum,fnMax2 均为合法标识符,符合标识符的命名规则。
-a,_3a,a#,a+5 均为不合法标识符,不符合标识符的命名规则。
模仿练习 1. 将下列二进制数分别转换为十进制数 (1) 10001101 (2) 01110111 (3) 00110001 2. 将下列八进制数和十六进制数分别转换为十进制数 (1) 035 (2) 0x1f4 (3) 0x4DF1 答:请参考教材2.3.1节内容。
模仿练习 1. 设 a = 10,b = 3,计算表达式a-b+++1的值。 2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。 /*
1. 设 a = 10,b = 3,计算表达式a-b+++1的值。
2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。 */
#include
{ //1. 设 a = 10,b = 3,计算表达式a-b+++1的值。 int a =10,b=3,c;
c = a-b+++1; //相当于 c = a-(b++)+1->c = 10-3+1 =8;b = b+1=4 cout<<\
//2. 输入一个3位数的整数,编写一个程序,将它的十位数和百位数互换位置。 int x,y,x1,x2,x3;
cout<<\输入一个3位数的整数:\ cin>>x; x1=x/100;
x2= (x/10); x3=x;
y = x3*100+x2*10+x1; cout< 模仿练习 1. 写出表达下列条件的关系表达式: (1) x为负数 (2) x为奇数 (3) x不能被3整除 (4) x为非负数 2. 设 a = -1,b = 3,c=2,计算表达式a+++c<5的值。 //1. 写出表达下列条件的关系表达式: (1) x为负数(x<0) (2) x为奇数(x%2 == 1) (3) x不能被3整除(x%3 != 0) (4) x为非负数(x>=0) //2. 设 a = -1,b = 3,c=2,计算表达式++a+++c<5的值。 a+++c<5 -> a+(++c)<5 -> -1+ 4<5 -> 3<5 模仿练习 1. 写出表达下列条件的表达式。 (1) x为负数或大于10的数 (2) x能被3整除,但不能被5整除 2. 有A、B、C、D四人是否参加会议,请用逻辑表达式表达如下的条件。 (1) 如果A不参加,B也不参加 (2) A、B、C中最多一人不参加 (3) A和C有且有一个人参加 (4) 如果A参加,那么C和D也都参加; // 1. 写出表达下列条件的表达式。 (1) x为负数或大于10的数 (x<0 || x >10) (2) x能被3整除,但不能被5整除(x%3==0 && x%5 !=0) //2. 有A、B、C、D四人是否参加会议,请用逻辑表达式表达如下的条件。 (1) 如果A不参加,B也不参加 (等价命题是“A参加或B不参加”:A==1 || B==0) (2) A、B、C中最多一人不参加 (A+B+C<= 1) (3) A和C有且有一个人参加 (A+C==1) (4) 如果A参加,那么C和D也都参加 (A==0|| C+D==2) 模仿练习(ex3.cpp) 1.设x是一个字符型变量(8位二进制位),判断x的最低位是否为0。 2.设计一个字符型变量(8位二进制位),把它的低4位清0。 #include \ void main() { char x; x = 'A'; if((x&0x01) == 0) //判断x的最低位是否为0 cout< cout< 模仿练习 (ex4.cpp) 输入一个字符,判断它是不是大写字母,如果是,则将其转换为小写字母,否则不转换。 #include \ void main() { char a,b; cout<<\请输入个字符 :\ cin>>a; b = (a>='a' && a<='z') ? a-32 : a; cout< 模仿练习(ex5.cpp) 1.设a = 10, b = 3, c = 10,且a *= b = c-2;计算a,b,c的值。 2.设计一个程序计算a*=7*3-15和a*=b*=5+4的值,并分析执行过程。 #include \void main() { //1.设a = 10, b = 3, c = 10,且a *= b = c-2;计算a,b,c的值。 int a=10, b=3, c=10; a *= b = c-2; cout<<\ //2.设计一个程序计算a*=7*3-15和a*=b*=5+4的值,并分析执行过程。 a=10; a*=7*3-15; cout<<\ a=10; b=3; a*=b*=5+4; cout<<\} 模仿练习(ex6.cpp) 设a=2,b=5,c=6,计算下列表达式值。 (1) ++a-b+++1 (2) a+b>c&&b=c (3) !(a+b)+c-1&&b+c/2 (4) ++a+10+3*4/5-'a' #include \void main() { int a=2,b=5,c=6; printf(\ //(1) ++a-b+++1 printf(\ // (2) a+b>c&&b==c printf(\ printf(\} 模仿练习(ex7.cpp) 1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值 2. 若有int a=2,b=6;表达式(a++)*(--b)执行后,变量a和b的值分别为多少? #include \void main() { //1.若有int b=7;float a=2.5F,c=4.7F;求表达式a+(b/2*(int)(a+c)/2)%4的值 int b=7; float a=2.5F,c=4.7F; printf(\ //2. 若有int a=2,b=6;表达式(a++)*(--b)执行后,变量a和b的值分别为多少? a=2;b=6; (a++)*(--b); printf(\} 训练项目(ex8.cpp) 正四棱台上底边长为a,下底边长为b,高为h,求其体积。 提示: 正四棱台的体积公式为: 1h(s1+s2+s1s2) 3#include \#include \void main() { float a,b,h,s1,s2,v;
共分享92篇相关文档