c++程序的设计测试带答案与习题Word文件下载.docx
- 文档编号:18963476
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:61
- 大小:60.08KB
c++程序的设计测试带答案与习题Word文件下载.docx
《c++程序的设计测试带答案与习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++程序的设计测试带答案与习题Word文件下载.docx(61页珍藏版)》请在冰豆网上搜索。
(a)p的值为10(b)p指向整型变量i
(c)*p表示变量i的值(d)p的值是变量i的地址
15.有以下变量声明,下面不正确的赋值语句是()。
inta=5,b=10,c;
int*p1=&
a,*p2=&
b;
(a)*p2=b;
(b)p1=a;
(c)p2=p1;
(d)c=*p1*(*p2);
16.有以下变量声明,下面正确的语句是()。
(B)
inta=10,b;
int&
pa=a,&
pb=b;
(a)&
pb=a;
(b)pb=pa;
(c)pb=&
pa;
(d)*pb=*pa;
17.执行下面语句序列后,a和b的值分别为()。
inta=5,b=3,t;
int&
ra=a;
rb=b;
t=ra;
ra=rb;
rb=t;
(a)3和3(b)3和5(c)5和3(d)5和5
18.在下列运算符中,()优先级最高。
(a)<
=(b)*=(c)+(d)*
19.在下列运算符中,()优先级最低。
(a)!
(b)&
&
(c)!
=(d)?
:
20.设inti=1,j=2;
则表达式i+++j的值为()。
(a)1(b)2(c)3(d)4
21.设inti=1,j=2;
则表达式++i+j的值为()。
22.在下列表达式选项中,()是正确。
(a)++(a++)(b)a++b(c)a+++b(d)a++++b
23.已知inti=0,j=1,k=2;
则逻辑表达式++i||--j&
++k的值为()。
(a)0(b)1(c)2(d)3
24.执行下列语句后,x的值是()(D)。
intx,y;
x=y=1;
++x||++y;
(a)不确定(b)0(c)1(d)2
25.执行下列语句后,y的值是()。
26.设X为整型变量,不能正确表达数学关系1<X<5的C++逻辑表达式是()。
(a)1<
X<
5(b)X==2||X==3||X==4
(c)1<
X&
X<
5(d)!
(X<
=1)&
!
(X>
=5)
27.已知intx=5;
执行下列语句后,x的值为()。
x+=x-=x*x;
(a)25(b)40(c)–40(d)20
28.设inta=1,b=2,c=3,d=4;
则以下条件表达式的值为()。
a<
b?
a:
c<
d?
c:
d
29.以下逗号表达式的值为()。
(x=4*5,x*5),x+25
(a)25(b)20(c)100(d)45
1.1把下列数学表达式写成c++算术表达式
1.2.x{x[x(ax+b)+c]+d}+e
3.ln(1+||10)4.
5.cot6.lg(a2+ab+b2)
1.2用关系表达式或逻辑表达式表示下列条件
1.i被j整除2.n是小于正整数k的偶数
3.1≤x<
104.x,y其中有一个小于z
5.y[–100,–10],并且y[10,100]
6.坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆
7.三条边a,b和c构成三角形
8.年份Year能被4整除,但不能被100整除或者能被400整除
1.3阅读下列程序,写出执行结果
1.#include<
iostream.h>
voidmain()
{inta=1,b=2,x,y;
cout<
<
a+++++b<
endl;
a%b<
x=!
a>
?
y=x--&
b;
x<
y<
}
2.#include<
{intx,y,z,f;
x=y=z=1;
f=--x||y--&
z++;
"
x="
<
y="
z="
z<
f="
f<
3.#include<
#include<
iomanip.h>
{inta=123;
ra=a;
int*pa=&
a;
cout<
setw(5)<
dec<
a<
oct<
ra<
hex<
*pa<
endl;
1.4思考题
1.什么叫数据类型?
数据的类型定义有什么作用?
2.数据对象在C++中有什么不同的访问方式?
请编写一个程序验证之。
3.普通数据类型变量和指针类型变量的定义、存储、使用方式上有何区别?
4.什么叫数据对象的引用?
对象的引用和对象的指针有什么区别?
请用一个验证程序说明之。
5.为了约束只能对数据对象的值做读操作,C++采用什么方式?
请做出简要归纳。
6.什么叫表达式?
表达式值的类型由什么因素决定?
使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。
inta=1,b=2;
doublex=0.5;
1.5编程题
1.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x和纵坐标y,若该点在由图1表示的方块区域,则输出1;
否则,输出0。
图1正方形
3.输入三个整数,求出其中最小数(要求使用条件表达式)。
1.6操作题
建立简单控制台程序。
使用VC6开发环境来调试以下源程序。
#include<
#include<
math.h>
{doublea,b,c,s,area;
a,b,c="
;
cin>
>
a>
b>
c;
//输入三角形的三条边
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
//求三角形的面积
area="
area<
(1)根据操作过程填写以下表格。
容
操作
说明或结果分析
进入VC6
在D盘建立一个名为“ex1.cpp”的控制台程序
输入代码
编译连接程序
运行程序
(2)记录编辑运行程序所需时间。
(3)采用以下各组数据输入测试,记录输出结果。
分析原因,思考如何解决?
345
3412
062
-279
(4)修改程序。
a)把double改为int,重新编译程序,会出现什么编译信息?
什么原因?
b)把s和area定义为double可以消除编译错误吗?
为什么?
c)采用以下数据输入测试,记录输出结果,分析原因。
增加输出a、b、c变量值的语句,观察不同输入时变量值的变化。
3.455.6184.012
选择题
1.已知inti=0,x=1,y=0;
在下列选项使i的值变成1的语句是()。
(a)if(x&
y)i++;
(b)if(x=y)i++;
(c)if(x||y)i++;
(d)if(!
x)i++;
2.设有函数关系为,下面选项中能正确表示上述关系为()。
(a)y=1;
(b)y=-1;
if(x>
=0)if(x!
=0)
if(x==0)y=0;
0)y=1;
elsey=-1;
elsey=0
(c)if(x<
=0)(d)y=-1;
if(x<
0)y=-1;
elsey=0;
elsey=1;
3.假设i=2,执行下列语句后i的值为()。
switch(i)
{case1:
i++;
case2:
i--;
case3:
++i;
break;
case4:
--i;
default:
}
(a)1 (b)2 (c)3 (d)4
4.已知inti=0,x=0;
下面while语句执行时循环次数为()。
while(!
x&
i<
3){x++;
(a)4 (b)3 (c)2 (d)1
5.已知inti=3;
下面do_while语句执行时循环次数为()。
do{i--;
i<
}while(i!
=1);
(a)1 (b)2 (c)3 (d)无限
6.下面for语句执行时循环次数为()。
for(inti=0,j=5;
i=j;
)
{cout<
j<
i++;
j--;
(a)0 (b)5 (c)10 (d)无限
7.以下死循环的程序段是()。
(a)for(intx=0;
3;
){x++;
};
(b)intk=0;
do{++k;
}while(k>
=0);
(c)inta=5;
while(a){a--;
(d)inti=3;
for(;
i;
i--);
思考题
1.C++中有什么形式的选择控制语句?
归纳它们语法形式、应用场合。
根据一个实际问题使用不同的条件语句编程。
2.什么叫循环控制?
归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式。
3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。
4.用if语句和goto语句组织循环,改写2.3第3小题编写的程序。
分析在什么情况下可以适当使用goto语句。
2.1阅读下列程序,写出执行结果
1.#include<
{inta,b,c,d,x;
a=c=0;
b=1;
d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)
x=15;
elsex=25;
d<
2.#include<
{inta=0,b=1;
switch(a)
{case0:
switch(b)
{case0:
a="
a<
b="
b<
break;
case1:
case1:
a++;
b++;
3.#include<
{inti=1;
while(i<
=10)
if(++i%3!
=1)
continue;
elsecout<
4.#include<
{inti=0,j=5;
do
{i++;
if(i>
3)break;
}while(j>
0);
i="
'
\t'
j="
5.#include<
{inti,j;
for(i=1,j=5;
i<
j;
i++)
{j--;
′\t′<
6.#include<
{inti,s=0;
for(i=0;
5;
switch(i)
s+=i;
case2:
default:
s+=2;
s="
s<
7.#include<
{inti,j,x=0;
=3;
{x++;
for(j=0;
j<
j++)
{if(j%2)continue;
x++;
x="
2.2思考题
归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。
4.用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。
2.3编程题
1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。
2.输入三个数,按从小到大的顺序输出。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:
5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:
剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
7.使用迭代公式编程序求某一正整数a的平方根。
8.已知,求sinx,cosx和tanx的值。
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=13+53+33,所以153为水仙花数。
11.求1000之的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
12.编一程序显示如下图案:
*
***
*****
*******
*********
13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z。
2.4操作题——调试程序
(1)以下程序试图求π的近似值。
{longinti=0;
doublesum,term,pi;
{i+=1;
term=1/(i*i);
sum+=term;
}while(term>
=1e-12);
pi=sqrt(sum*6);
pi="
pi<
endl;
输入程序编译后使用Debug跟踪,单步执行程序,记录以下变量值的变化。
i
term
sum
1
2
3
4
5
:
回答以下问题:
a)从跟踪结果分析,term和sum的值有什么错误?
b)循环结束后,i的值是多少?
用什么简单的办法可以看到?
c)对程序做了什么修改使其得到正确的结果?
(2)编写第2章习题2.3-12输出符号三角形的图案程序,记录:
a)程序出现了什么编译错误,如何解决。
b)程序运行后图案显示正确吗?
采用跟踪方法记录外循环控制变量的变化。
c)若要程序输出以下图案,应该做什么修改?
请编程实现并在程序中加以适当注释说明。
1.以下正确的函数原型为()。
(a)f1(intx;
inty);
(b)voidf1(x,y);
(c)voidf1(intx,y);
(d)voidf1(int,int);
2.有函数原型voidfun2(int);
下面选项中,不正确的调用是()。
(a)intx=21;
fun2(x);
(b)inta=15;
fun2(a*3);
(c)intb=100;
fun2(&
b);
(d)fun2(256);
3.有函数原型voidfun3(int*);
下面选项中,正确的调用是()。
(a)doublex=2.17;
fun3(&
x);
(b)inta=15;
fun3(a*3.14);
(d)fun3(256);
4.有函数原型voidfun4(int&
);
(a)intx=2.17;
fun4(&
fun4(a*3.14);
fun4(b);
(d)fun4(256);
5.有声明intfun5(int);
int(*pf)(int)=fun5;
(a)inta=15;
intn=fun5(&
a);
(&
pf)(a);
(c)cout<
(*pf)(256);
(d)cout<
*pf(256);
6.在VC中,若定义一个函数的返回类型为void,以下叙述正确的是()。
(a)函数返回值需要强类型转换(b)函数不执行任何操作
(c)函数本身没有返回值(d)函数不能修改实际参数的值
7.函数参数的默认值不允许为()。
(a)全局常量(b)直接常量(c)局部变量(d)函数调用
8.使用重载函数编程序的目的是()。
(a)使用相同的函数名调用功能相似的函数(b)共享程序代码
(c)提高程序的运行速度(d)节省存贮空间
9.下列的描述中()是错误的。
(a)使用全局变量可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序 设计 测试 答案 习题