您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C C++程序设计课后答案
第一章一、选择题1.C/C++规定,在一个源程序中,main()函数的位置()。CA.必须在最开始B.必须在最后C.可以任意D.必须在系统调用的库函数的后面2.以下()是C/C++合法的标识符。AA.char2B.@xC.intD.7Bw3.下面的程序,对于输入:2915,输出的结果是()。B#includeiostream.hvoidmain(){inta;floatb;coutinputa,b:endl;cinab;couta+b=a+bendl;}A.2B.11C.26D.244.在VisualC++中,打开一个项目只需要打开对应的项目工作区文件即可,项目工作区文件的扩展名为()。CA.objB.dspC.dswD.cpp5.下面关于C语言与C++关系的说法中,()是正确的。DA.C语言是C++的子集B.C++对C语言进行了改进C.C++和C语言都是面向对象的D.C++继承了C语言的众多优点6.设置一个断点的方法是将光标移到需要设置断点的行上,然后按()键。AA.F9B.F10C.F11D.F127.下面关于编译预处理命令的说法中,正确的是()。CA.一条文件包含命令能包含多个文件B.文件包含命令不可以嵌套使用C.编译预处理命令是在编译之前被处理的命令D.编译预处理命令中的“#”可以省略8.使用()可以设置数据输出的宽度。BA.setbase(intn)B.setw(intn)C.setfill(intn)D.setprecision(intn)二、填空题1.C/C++程序是由一个或多个函数组成的,但必须要有一个()函数,程序从这个函数开始运行的。main()2.C/C++字符集包括大、小写英文字母、()、()和包括运算符在内的特殊字符,程序中出现字符集以外的字符就是一个语法错误。数字0-9、下划线3.在VisualC++中编写程序时,除了注释中可以出现汉字,还能在()中使用汉字。字符串4.文件包含命令是以()开始的预处理命令,而宏定义命令是以()开始的预处理命令。#include#define5.在cout命令中,使用()格式控制符可以把一个数据以十六进制的形式输出。hex6.在C/C++中,头文件的扩展名一般为()。.h7.程序的错误一般分两种:()和()。前者是编译器可以发现的,而后者编译器则无法发现。语法错误和逻辑错误8.在VisualC++中调试程序时,可以使用快捷菜单中的()命令来插入断点和清除断点。Insert/RemoveBreakpoint9.C++源程序的扩展名为()。.cpp10.在VisualC++中,浏览当前项目中的所有源程序文件应在工作区的()选项卡。Fileview三、简答题1.C++与C语言的主要区别是什么?C++是C语言的超集。C++中的类和对象部分,C语言没有,C++是面向对象的程序设计。见教材P3。2.C/C++程序由哪些部分组成?C/C++程序是由一个或多个函数组成,其中必须要有一个main()函数。在一个函数内,语句的执行是从上到下的。3.判断下列符号中哪些不能作为C/C++的标识符:a?,3a,a-b,f(x),AD,a.txt,D$,∏,double能作为C/C++的标识符:abc,b,s_2,Int4.C/C++语言的书写格式有哪些特点?C/C++程序书写形式自由。一行可以写多条语句,一条语句也可以分别写在不同行上。区别大小写字母。5.何时在#include中使用尖括号,何时使用双引号?用尖括号时,预处理程序在系统指定的文件夹中寻找文件;用双引号时,预处理程序首先在当前文件所在的文件目录中寻找文件,若找不到再到系统指定的文件夹中查找。6.如果程序顺利地通过编译、连接,但是程序运行时结果有错误,最好的调试手段是什么?最好的调试手段是设置断点,并让程序运行到该断点,然后在Debug窗口观察各变量的值,从中发现错误。第二章一、选择题1.下列选项中可以作为C/C++的合法整型常量的是()。BA.1011BB.047C.x23D.20H2.下列不合法的常量是()。CA.2.7B.1.0E+3C.3.5E-3.0D.3.4e-53.下列常量中不是字符型常量的是()。DA.'\x44'B.'\t'C.'\\'D.m4.下列选项中合法的变量名为()。CA.#defineB.floatC.a12_3D.sqrt(x)5.下列不正确的变量定义方法是()。DA.inta,&b=a;B.floata,*b=&a;C.inta(4),b(0);D.inta=b=5;6.下列运算符优先级按由高到低的顺序排列正确的是()。CA.*=、&&、!=、%B.*=、%、&&、!=C.%、!=、&&、*=D.&&、!=、%、=7.已知x、y为整型,z为实型,ch为字符型,下列表达式中合法的是()。CA.z=(y+x)++B.x+y=zC.y=ch+xD.y=z%x8.若有定义intx;,则经过表达式x=(float)7/3运算后,x的值为()。CA.0B.2.3C.2D.19.若有定义intx=13,y=5;,则表达式x++,y+=2,x/y的值为()。B10.设整型变量m、n、a、b、c、d均为数值1,表达式(m=ab)&&(n=cd)运算后,m、n的值分别是()。BA.0,0B.0,1C.1,0D.1,1二、把下列数学表达式写成C/C++表达式。1.x+y≠a+b:(x+y)!=(a+b).2.(ln10+xy)3:pow(log(10)+x*y),3)3.yxcossin345)(:sin(w*u)/(cos(45*180/3.14)+3*pow(x,y))4.)(yxe323:exp(3)+sqrt(2*x+3*y)5.xyxy-x3:fabs(x-y)+(x+y)/(3*x)6.321rrr1111:1/(1/r1+1/r2+1/r3)三、根据下列条件写一个C/C++表达式。1.a和b中有一个大于d:ad||bd2.将x、y中较大的值送给z:z=xy?x:y3.将直角坐标系中点(x,y)表示在第3象限内:x0&&y04.3个数据x、y、z能组成三角形:x+yz||y+zz||x+zy5.将含有3位小数的实型变量x的值,四舍五入到百分位:(int)(x*100+0.5)/100.6.d是不大于100的偶数:d0&&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的圆柱体的体积。#includeiostream.hvoidmain(){floatr,h,v;cinrh;v=3.1416*r*r*h;coutv;}2.任意输入3个数据,输出它们的平均值和最小的一个数。#includeiostream.hvoidmain(){floata,b,c,ave,min;cinabc;ave=(a+b+c)/3;min=(ab)?a:b;min=(cmin)?c:min;coutave=avemin=minendl;}3.将字符串“12”转换为整数12并输出。#includeiostream.hvoidmain(){charc1='1',c2='2';intx;x=10*(c1-'0')+c2-'0';coutxendl;}4.编写程序,输入一个三位整数,反向输出该三位整数。#includeiostream.hvoidmain(){intx;intc1,c2,c3;cinx;c1=x/100;c2=x/10%10;c3=x%10;x=100*c3+10*c2+c1;coutxendl;}5.输入一个年份,判断是否为闰年。解1:#includeiostream.hvoidmain(){intyear,x;cinyear;x=year%400==0||year%4==0&&year%100!=0;x!=0?coutyearisaleapyear!:coutyearisnotaleapyear!;}解2:#includeiostream.hvoidmain(){intyear;charx;cinyear;x=(year%400==0||year%4==0&&year%100!=0)?'y':'n';coutxendl;}6.编写程序,求函数40cos*2)3lg(2xy的值,要求输入x,程序就输入y的值#includeiostream.h#includemath.hvoidmain(){doublex,y;cinx;y=log(x*x+3)/log(10)+3.14/2*cos(40*3.14/180);couty;}第三章一、选择题1.为了避免嵌套的ifelse语句的二义性,C/C++语言规定else总是与()组成配对关系。CA.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if2.设有函数关系为0,10,00,1xxxy,下面()选项不能正确表示上述关系。DA.if(x=0)B.y=1;if(x0)y=-1;if(x=0)elsey=0;if(x0)y=-1;elsey=1;elsey=0;C.y=-1;D.y=-1;if(x=0)if(x!=0)if(x==0)y=0;if(x0)y=1;elsey=1;elsey=0;3.若有变量定义“inta=7;”,则下列语句组对应的输出结果是()。D(该答案后还应附“其他值”)switch(a%5){case0:couta++;case1:cout++a;case2:couta--;case3:cout--a;default:cout”其他值”;}A.其他值B.5C.7D.75其他值4.以下程序段中循环体语句“k++”执行的次数为()。Cfor(k=0,m=4;m;m-=2)for(n=1;n4;n++)k++;A.16B.12C.6D.85.执行下面程序段后,变量k的值为()。Bfor(k=0,m=1;m4;m++){for(n=1;n5;n++)if(m*n%3==0)continue;k++;}A.1B.3C.6D.126.下面叙述中正确的是()。CA.for循环只能用于循环次数已经确定的情况B.for循环同do-while语句一样,先执行循环体再判断C.不管哪种形式的循环语句,都可以从循环体内转到循环体外D.for循环体内不可以出现while语句7.下面语句中不是死循环的是().AA.inti=100;B.inti,sum(0);while(1)for(i=1;;i++)sum++;{i=i%100+1;if(i==20)break;}C.intk=0;D.ints=3379do{while(s++%2+3%2)s++++k;}while(k=0);8.若输入字符串“ABC”,下面程序段的输出为()。Ccharc;while(cinc,c!=’\n’)couc+2;}A.222B.CDEC.676869D.3339.以下程序段的输出结果是()。BA.45B.457810C.69D.678910二、阅读程序,写出程序运行结果。(1)试说明下列语句组的功能:while(1){cinmn;if(m0&&n0)break;}功能:输入两个正整数给m和n。(2)若有变量定于“intcount=0,m=1;”,试写出下列语句组对应的输出结果。do{if(m%5)continue;count++;while(++m=100);}结果:20(3)#include”iostream.h”voidmain(){intm,n(4),k;longintt,s=0;for(m=
本文标题:C C++程序设计课后答案
链接地址:https://www.777doc.com/doc-4427884 .html