第二章
2-1 c++语言有哪些优点和缺点?
答:c++语言的主要特点表现在两个方面,一是全面兼容c,二是支持面向对象的方法。C+十是一个
更好的c,它保持了c的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对的类型系统
进行了改革和扩充,因此c++比c更安全,c++的编译系统能检查出更多的类型错误。C++语言最重要的特点是支持面向对象的方法。
2-2 下列标识符哪些是合法的?
Programe,-page,_lock, test2, 3inl, @mail ,A_B_C_D 答:Programe,_lock, test2, A_B_C_D是合法的标识符。 2-3 例2-1中每条语句的作用是什么?
答:#include
//嵌入到本程序中该指令所在的地方
void mian(viod) //主函数名, void表示函数没有返回值 {
cout<<”Hello!\\n”; //输出字符串Hello!到标准输出设备(显示器)上 cout<<”Welcome to C++!\\n”; //输出字符串Welcome to C++! }
2-4 请用c++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。
答:const定义的常量是有类型的,所以在使用它们时编译器可以检查类型错误;而且,这 些常量在调试时是可见的。
2-5 在下面的枚举类型中,BLUE的值是多少?
Enum Color{WHITE ,BLACK=100,RED,BLUE,GREEN=300}; 答:BLUE=102
2-6 注释有什么作用?(C++中有哪几种注释的方法?它们之间有什么区别?) 答:注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释, 能够提高程序的可读性。在 C++中,有两种给出注释的方法:一种是沿用 C语言的方法, 使用“/* ”和“*/ ”括起注释文字。另一种方法是使用“ //”,从“ //”开始,直到它所在行的行尾,所有字符都被作为注释处理。
2-7 什么叫做表达式?x=5+7是一个表达式吗?它的值是多少?
答:解:任何一个用于计算值的公式都可称为表达式。x=5+7 是一个表达式,它的值为12 2-8 下列表达式的值是多少? (1)201/4 =50 (2)201%4=1 (3)201/4.0=50.25 2-9 执行完下列语句后,a,b,c三个变量的值为多少? a=30; b=a++; c=++a;
答:a:32 b:30 c:32
2-10 在一个for语句中,可以给多个变量赋初值吗?如何实现?
答:在 循环设置条件的第一个“;”前用“,”分隔不同的赋值表达式。 例 如:
2-11 执行完下列语句后,n的值为多少? int n;
for (n=0;n<100;n++); 答:n=100
2-12 写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while循环完成同样的循环。 答:for循环
for(n=100;n<=200;n+=2;); while循环 int n=100; do{ n+=2; }while(n<=200)
2-13 if(x=3)和if(x= =3)这两条语句的差别是什么?
答:语句if(x=3)把 3赋给 x,赋值表达式的值为 true,作为 if语句的条件;语句if(x= =3))首先判断 x的值是否为 3若相等,条件表达式的值为true ,否则为faule.
2-14 已知x,y两个变量,写一条简单的if语句,把较小的值付给而原本值较大的量。 if (x>y) x=y; else
y=x;
2-15 修改下面这个程序中的错误,改正后它的运行结果是什么? #include
i=10; /*给i赋值*/ j=20; /*给j赋值*/
cout<<"i+j="<
答:#include
i=10; /*给i赋值 j=20; /*给j赋值*/
cout<<"i+j=<
2-16 编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。 #include
int i;
cout<<”请输入一个数:”; cin>>i;
cout<<”您输入的数是:”<
2-17 c++有那种数据类型?简述其值域。编程显示你使用的计算机中的各种数据类型的字节数。
答:#include
cout<<”the size of an int is:\\t\\t”< cout<<”the size of an short int is:\\t\\t”< 程序运行输出: the size of an int is:4 bytes the size of an short int is:2 bytes the size of an long int is:4 bytes the size of a char is:1 bytes the size of a double is:4 bytes the size of a float is:8 bytes 2-18 输出ASCII码为32~127的字符。 解:#include for(int i=32;i<128;i++) cout<<(char )i; return ; } 2-19 运行下面的程序,观察其输出,与你的设想是否相同? #include using namespace std; int main() { unsigned int x; unsigned int y=100; unsigned int z=50; x=y-z; cout<<”difference is: ”< cout<<”\\nNow difference is:”< } 程序运行输出: difference is:50 Now difference is:4294967246 2-20 运行下面的程序,观察其输出,体会i++与++i的差别。 #include int myAge=39; int yourAge=39; cout<<”I am :”< cout<<”one year passes….”< cout<<”I am : ”< cout<<”I am : ”< cout<<”I am : ”< 输出: I am 39years old You are 39years old One year passes I am 40years old You are 40years old Another year passes I am 40years old You are 41 years old Lets print it again I am 41 years old You are 41 years old 2-21 什么叫变量?什么叫常量? 答:所谓常量是指在程序运行的整个过程中其值始终不可改变的量。除了用文字表 示常量外 也可以为常量命名,这就是符号常量;在程序的执行过程中其值可以变化的量称为变量 变量是需要用名字来标识的。 2-22 变量有哪几种存储类型? 答: 变量有以下几种存储类型: auto存储类型:采用堆栈方式分配内存空间,属于一时性存储,其存储空间可 以被若干变量多次覆盖使用; register存储类型:存放在通用寄存器中; extern存储类型:在所有函数和程序段中都可引用; static存储类型:在内存中是以固定地址存放的,在整个程序运行期间都有效。 2-23 写出下列表达式的值: (1)2<3&&6<9 =true (2)!(4<7)=false (3)!(3<5)||(6<2)=true 2-24 若a=1,b=2,c=3,下列各式的结果是什么? (1)a|b-c=-1 (2)a^b&-c=1 (3)a&b|c=3 (4)a|b&c=3 2-25 若a=1,下列各式的结果是什么? (1)!a|a=1 (2)a|a=-1 (3)a^a=0 (4)a>>2=0 2-26 编写一个完整的的程序,实现功能:向用户提问“现在在下雨吗?”,提示用 户输入Y或N。若输入为Y,显示“现在正在下雨。”;若输入为N,显示“现在没有下雨。”; 否则继续提问“现在在下雨吗?”。 2-27 编写一个完整的程序,运行时向用户提问“你考试考了多少分?(0~100)”, 接收输入后判断其等级显示出来。规则如下: 优: 90<=分数<=100 良:80<=分时<=90 中:60<=分数<=80 差:0<=分数<60 2-28 实现一个简单的菜单程序,运行时显示“Menu : A(dd) D(elete) S(ort) Q(uit) , Select one:”提示用户输入。A表示增加,D表示删除,S表示排序,Q表示退出。 输入为A,D,S时分别提示“数据已经增加,删除,排序。”,输入为Q时程序结束。 (1)要求使用if…else语句进行判断,用break,continue控制程序流程。 (2)要求使用switch语句。 2-29 用穷举法找出1~100间的质数并显示出来。分别使用while,do…while,for 循环语句实现。 2-30 比较break语句与continue语句的不同用法 答-break使程序从循环体和 switch语句内跳出,继续执行逻辑上的下一条语句, 不能用在别处;continue 语句结束本次循环,接着开始判断决定是否继续执行下一次循环。 2-31 声明一个表示时间的结构体,可以精确表示年,月,日,小时,分,秒;提 示用户输入年,月,日,小时,分,秒的值,然后完整的显示出来。 2-32 在程序中定义一个整形变量,赋予1~100的值。要求用户猜这个数,比较两 个数的大小,把结果提示给用户,直到猜对为止。分别使用while,do…while语句实现循环。 2-33 声明枚举类型Weekday,包括SUNDAY到SATURDAY七个元素在程序中声明 Weekday类型的变量,对其赋值,声明整形变量,看看能否对其赋Weekday类型的值。 2-34口袋中有红,黄,蓝,白,黑5种颜色的求若干个。每次从口袋中取出三个 不同颜色的球,问有多少种取法? 2-35 输出九九乘法表。 2-36 有符号整数和无符号整数,在计算机内部是如何区分的?