
CC++程序设计课后答案解析.doc
51页第一章一、 选择题1.C/C++规定,在一个源程序中,main()函数的位置( )CA.必须在最开始 B.必须在最后C.可以任意 D.必须在系统调用的库函数的后面2.以下()是C/C++合法的标识符AA.char2 B.@x C.int D.7Bw3.下面的程序,对于输入:2 9 15,输出的结果是( )B#include"iostream.h"void main(){int a; float b;cout<<"input a,b:"< CA.一条文件包含命令能包含多个文件B.文件包含命令不可以嵌套使用C.编译预处理命令是在编译之前被处理的命令D.编译预处理命令中的“#”可以省略8.使用( )可以设置数据输出的宽度BA.setbase(int n) B.setw(int n) C.setfill(int n) D.setprecision(int n)二、 填空题1.C/C++程序是由一个或多个函数组成的,但必须要有一个( )函数,程序从这个函数开始运行的 main()2.C/C++字符集包括大、小写英文字母、( )、( )和包括运算符在内的特殊字符,程序中出现字符集以外的字符就是一个语法错误 数字0-9、下划线3.在Visual C++中编写程序时,除了注释中可以出现汉字,还能在( )中使用汉字字符串4.文件包含命令是以( )开始的预处理命令,而宏定义命令是以 ( )开始的预处理命令include #define5.在cout命令中,使用 ( )格式控制符可以把一个数据以十六进制的形式输出hex6.在C/C++中,头文件的扩展名一般为( )h7.程序的错误一般分两种:( )和( )前者是编译器可以发现的,而后者编译器则无法发现。 语法错误和逻辑错误8.在Visual C++中调试程序时,可以使用快捷菜单中的 ( )命令来插入断点和清除断点Insert/Remove Breakpoint9.C++源程序的扩展名为( )cpp10.在Visual C++中,浏览当前项目中的所有源程序文件应在工作区的( )选项卡Fileview三、 简答题1. C++与C语言的主要区别是什么?C++是C语言的超集C++中的类和对象部分,C语言没有,C++是面向对象的程序设计见教材P32. C/C++程序由哪些部分组成?C/C++程序是由一个或多个函数组成,其中必须要有一个main()函数在一个函数内,语句的执行是从上到下的3. 判断下列符号中哪些不能作为C/C++的标识符:a? , 3a, a-b, f(x), A D, a.txt, D $, ∏, double 能作为C/C++的标识符:abc,b,s_2,Int4. C/C++语言的书写格式有哪些特点?C/C++程序书写形式自由一行可以写多条语句,一条语句也可以分别写在不同行上区别大小写字母5. 何时在#include中使用尖括号,何时使用双引号?用尖括号时,预处理程序在系统指定的文件夹中寻找文件;用双引号时,预处理程序首先在当前文件所在的文件目录中寻找文件,若找不到再到系统指定的文件夹中查找。 6. 如果程序顺利地通过编译、连接,但是程序运行时结果有错误,最好的调试手段是什么?最好的调试手段是设置断点,并让程序运行到该断点,然后在Debug窗口观察各变量的值,从中发现错误第二章一、 选择题1.下列选项中可以作为C/C++的合法整型常量的是( )B A.1011B B.047 C.x23 D.20H2.下列不合法的常量是( )CA.2.7 B.1.0E+3 C.3.5E-3.0 D.3.4e-53.下列常量中不是字符型常量的是( )DA. '\x44' B.'\t' C.'\\' D."m" 4.下列选项中合法的变量名为( )CA.#define B.float C.a12_3 D.sqrt(x) 5.下列不正确的变量定义方法是( )D A.int a,&b=a; B.float a,*b=&a; C.int a(4),b(0); D.int a=b=5;6.下列运算符优先级按由高到低的顺序排列正确的是( )CA.*=、&&、!=、% B.*=、%、&&、!= C. %、!= 、&&、*= D.&&、!=、%、=7.已知x、y为整型,z为实型,ch为字符型,下列表达式中合法的是( )。 CA.z=(y+x)++ B.x+y=z C.y=ch+x D.y=z%x 8.若有定义"int x;",则经过表达式"x=(float)7/3"运算后,x的值为( )CA.0 B.2.3 C.2 D.1 9.若有定义"int x=13,y=5;",则表达式"x++,y+=2,x/y"的值为( )B 10.设整型变量m、n、a、b、c、d均为数值1,表达式(m=a>b)&&(n=c>d)运算后,m、n的值分别是( )BA.0,0 B.0,1 C.1,0 D.1,1二、把下列数学表达式写成C/C++表达式1.x+y≠a+b : (x+y)!=(a+b).2.(ln10+xy)3 :pow(log(10)+x*y),3)3.:sin(w*u)/(cos(45*180/3.14)+3*pow(x,y))4.:exp(3)+sqrt(2*x+3*y)5.:fabs(x-y)+(x+y)/(3*x)6.:1/(1/r1+1/r2+1/r3)三、根据下列条件写一个C/C++表达式1.a和b中有一个大于d:a>d||b>d2.将x、y中较大的值送给z:z=x>y?x : y3.将直角坐标系中点(x,y)表示在第3象限内:x<0&&y<04.3个数据x、y、z能组成三角形:x+y>z||y+z>z||x+z>y5.将含有3位小数的实型变量x的值,四舍五入到百分位:(int)(x*100+0.5)/100.6.d是不大于100的偶数:d>0&&d<=100&&d%2==07.x、y中至少有一个是5的倍数:x%5==0||y%5==08.对n(>0)个人进行分班,每班k(>0)个人,最后不足k人也编一个班,问要编几个班:n%k==0?n/k : n/k+1四、编程题:1 编程序求半径为r、高为h的圆柱体的体积。 #include "iostream.h"void main(){float r,h,v;cin>>r>>h;v=3.1416*r*r*h;cout< 解1:#include "iostream.h"void main(){int year,x;cin>>year;x=year%400==0||year%4==0&&year%100!=0;x!=0?cout< D A. if(x<=0) B. y=1;if(x<0)y=-1; if(x<=0)else y=0; if(x<0)y=-1;else y=1; else y=0;C.y=-1; D. y=-1;if(x>=0) if(x!=0) if(x==0)y=0; if(x>0)y=1; else y=1; else y=0;3.若有变量定义“int a=7;”,则下列语句组对应的输出结果是( )D(该答案后还应附“其他值”) switch(a%5){case 0:cout<












