C++习题集文档格式.docx
- 文档编号:18939038
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:57
- 大小:41.73KB
C++习题集文档格式.docx
《C++习题集文档格式.docx》由会员分享,可在线阅读,更多相关《C++习题集文档格式.docx(57页珍藏版)》请在冰豆网上搜索。
iostream。
Intsum(int,int);
voidmain(void)
{
cout<
”sum(3,5)=”<
sum(3,5)<
”sum(5,8)=”sum(5,8)<
Intsum(intx,inty)
returnx+y;
3.写出以下程序的运行结果并上机验证。
#include”dubArea.cpp”
voidmain()
doubleradius;
//定义半径
”请输入园的半径:
“;
cin>
>
radius;
”\n元的面积为:
”<
area(radius)<
其中subArea.cpp文件的内容如下:
constdoublePI=3.14159;
//定义符号常量
doublearea(doubler)
{returnPI*r*r;
//计算面积
注:
操作方法是新建一个C++源文件,不添加到工程中,文件名为subArea.cpp。
输入上述内容即可。
四、简答题
1.简述计算机程序设计方法的发展及面向对象编程语言的特点。
2.简述面向过程程序设计方法的优缺点。
3.简述面向对象的基本特征及C++语言对面向对象的支持。
4.简述C++程序的开发过程。
5.面向对象的软件工程包括哪些主要内容?
习题二
一.选择题
1.不属于字符型常量的是()。
A.'
S'
B.'
\32'
C.'
\n'
D."
L"
2.属于整型常量的是()。
A.18B.18.0C.-18.0D.10E10
3.char型常量在内存中存入的是()。
A.BCD代码B.ASCII代码C.内码值D.十进制代码值
4.'
\65'
在内存中占()个字节,"
\65"
在内存中占()个字节。
A.4B.2C.1D.8
5.字符串“\\\”ABC\“\\”的长度是()。
A.3B.5C.7D.9
6.sizeof(double)的结果是()。
A.8B.4C.2D.出错
7.设x,y,z均为实型变量,代数式x/(yz)的正确写法是()。
A.x/y*zB.x%y%zC.x%y*zD.x/y/z
8.设整型变量i为5,使整型变量K不为2的表达式是()。
A.k=i%2B.k=i/2C.k=6-(--i)D.k=i>
3?
2:
1
9.设整型变量x为5,y为2,结果值为1的表达式是()。
A.!
(y==x/2)B.y!
=x%3C.x>
0&
&
y<
0D.x!
=y||x>
=y
10.设整型变量x的值为35,则表达式(x&
15)&
(x|15)的值是()。
A.35B.15C.1D.0
二.填空题
1.无符号整型变量的类型说明符有:
_____,____,_____。
2.实型变量的类型说明符有:
______,______,_______。
3.类型自动转换的两条原则是:
当不同数据类型的变量同时出现在一个表达式中时,实现“自动类型转换”,转换的原则是_________。
第二,在赋值语句中,当左值和右值的数据类型不同时,首先__________,然后_________。
4.试排出下列运算符的优先级别:
“*、!
、<
=、&
、==、,”是_______>
_______>
________>
______。
5.表达式主要分为______表达式,_______表达式,_______表达式,_______表达式,_______表达式和_______表达式等。
6.所有位运算符的运算顺序是:
______>
________、_______>
_________>
_______、________、________、________、_______。
7.位移运算的运算规则和被位移的数据是否带有符号有关。
对不带符号数,左移时在右端补入的是_______,右移时在左端补入的是______;
对带符号数,左移时在右端补入的是_____,右移时在左端补入的是______。
8.在C++语言中,字符串常量"
IlovebisualC++6.0.\n"
的长度是________。
三.程序阅读
1.写出下列程序的运行结果。
#include<
voidmain(){
"
IlovevisualC++"
;
6.0."
}
2.假定输入为20和50,写出下列程序的运行结果。
inta,b;
cin>
a>
b;
if(a<
b){
a=a+b;
b=a-b;
a=a-b;
a="
a<
b="
b<
3.阅读下面的程序,体会i++与++i的差异,并写出运行结果。
intmain(){
intmyAge=18;
intyourAge=18;
我的年龄是"
myAge<
岁"
你的年龄是"
yourAge<
myAge++;
++yourAge;
一年过去了....."
又一年过去了....."
myAge++<
++yourAge<
再查一遍....."
return0;
4.写出下列程序的运行结果。
sizeof(bool)<
"
sizeof(char)<
sizeof(short)<
sizeof(int)<
sizeof(long)<
sizeof(float)<
sizeof(double)<
sizeof(longdouble)<
5.指出下列程序的错误。
(1)#include<
(2)voidmain()
(3)inti;
(4)cout<
请输入整数i:
;
(5)cin>
i
(6)cout<
您输入的数"
(i=>
100?
大于等于100"
:
小于100"
)<
(7)return;
(8)}
四.编程题
1.编写一个程序,实现用人机对话方式从键盘输入a,b,c,d4个整数,计算表达式(a+b)*(c-d)的值,并显示计算结果。
2.已知一个三角形中3条边的长度分别为a,b,c,请利用下列公式求出三角形的面积s=根号下(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。
注意:
构成三角型的条件是三角形任意两条边长度之和大于第三条边。
3.输入一个字符,如果该字符是英文字母,则打印该英文字母的ASCII码,要求可以输入任意字符。
4.针对职工工资的发放,给出各种票额钞票(包括:
100元,50元,20元,10元,5元,2元,1元)最少张数的付款方案。
第三章
1.如果x=0,那么中while(true)的true与下面等价的条件是()。
A.x=1B.x=1C.x>
1D.x<
2.下列程序段执行完后,x的值是()。
x=0;
for(i=0;
i<
90;
i++)
if(i)x++;
A.0B.30C.89D.90
3.下列程序段循环的次数是()。
intx=10;
while(--x){}
A.0B.5C.10D.11
4.下面for语句的循环次数为()。
for(inti=0,x=0;
!
x&
i<
=6;
A.0B.5C.6D.7
5.下面程序将输出字符‘*’的个数是()。
#include<
inti=100;
while
(1){
i--;
if(i==0)break;
‘*’;
A.101B.100C.99D.98
6.下面程序的输出结果是()
intk;
for(inti=2;
8;
i+=2){
k=1;
for(intj=i;
j<
j++)
k+=j;
k<
A.13B.14C.15D.16
7.下面程序的输出结果是()
inti=9;
while(i>
5){
A.8,7,6,5B.9,8,7,6C.8,7,6D.9,8,7,6,5
8.下列关于开关语句的描述中,()是正确的。
A.开关语句中case子句的语句序列中必须包含break语句
B.开关语句中case子句后面的表达式可以是整型表达式
C.开关语句中case子句的个数不能过多
D.开关语句中default子句是可以省略的
1.C++用于控制流程的3种基本结构是________,_________,_________。
2.对于嵌套的if-else语句,C++语法规定else总是与___________匹配。
3.C++语言提供的常用转向语句有3种:
_________,________,________。
4.开关语句中case后面的表达式只能是_________,________或________常量表达式。
5.下面是一个求一元二次方程的程序,请完成该程序。
math.h>
floata,b,c,disc,x1,x2;
请输入一元二次方程的三个系数:
a,b,c:
b>
c;
disc=b*b-4*a*c;
if(_________){
x1=(-b+(float)sqrt(disc))/(2*a);
x2=(-b-(float)sqrt(disc))/(2*a);
\nx1="
x1<
\nx2="
x2<
elseif(___________){
x1=_____________;
\nx1=x2="
else
方程没有实根!
1.写出下列程序的运行结果。
for(inti=0;
10;
i++){
if(i%2==0)
continue;
'
'
2.假定输入的5个整数为19,29,39,49,59,写出下列程序的运行结果。
inta,b,c,x;
a=b=c=0;
5;
x;
switch(x%3){
case0:
a+=x;
break;
case1:
b+=x;
case3:
c+=x;
'
c<
3.阅读下面的程序,并写出运行结果。
for(inti=5;
i>
=1;
i--)
for(intj
(1);
=i;
$'
for(j=1;
=5-i;
#'
4.假定输入10080-6095-750,并写出下列程序的运行结果。
inti=0,j=0,n;
请输入若干整数(输入0则结束):
n;
while(n!
=0){
if(n>
0)i+=1;
if(n<
0)j+=1;
正整数个数:
负整数个数:
}
5.下列程序是将输入的一个整数的各位数字反转后输出,指出其错误。
1.#include<
2.voidmain()
3.{
4.intn,right;
5.cout<
"
6.cin>
7.cout<
8.do
9.{
10.right=n/10;
11.cout<
right;
12.n%=10;
13.}while(n!
=0)
14.cout<
15.}
1.编写一个程序,计算公司的当月工资。
已知基本工资是500元,总工资跟当月利润挂钩,利润超过10000元,奖金系数为0.25;
超过5000元,奖金系数为0.2;
超过2000元,奖金系数为0.15;
超过1000元,奖金系数为0.1;
1000元以内的不发奖金。
2.编写一个程序,输出13—100之间的全部素数。
要求每排10个素数,素数之间以空格分隔。
3.编写一个程序,输出如图3.19所示的效果。
*
***
*****
*******
***
*
4.输入某年某月某日,判断这一天是这一年的第几天。
一.选择题
1.以下定义数组的语句中正确的是()。
A.inta(10);
B.charstr[];
C.intn=5;
inta[4][n];
D.#defineSIZE10;
charstrl[SIZE],str[SIZE+2];
2.对两个数组a和b进行如下初始化:
staticchara[]=”abcd”;
staticchara[]={‘a’,’b’,’c’,’d’};
则下列叙述正确的是()。
A.a与b数组完全相同B.a数组比b数组长度长
C.a与b中都存放字符串D.a与b长度相同
3.下列语句中,不正确的是()。
A.staticinta[2][3]={1,2,3,4,5,6};
B.staticinta[2][3]={{1},{4,5}};
C.staticinta[][3]={{1},{4}};
D.staticinta[][]={{1,2,3},{4,5,6}};
4.设有如下形式的字符数组定义:
Staticcharstr[]=”Beijing”;
则执行下列语句后的输出结果为()。
strlen(strcpy(str,”hello”));
A.7B.5C.8D.9
5.在下面给出的语句中,()是对一维数组正确赋初值的语句。
A.inta[10]=”Thisisastring”;
B.chara[]=”Thisisastring”;
C.inta[3]={1,2,3,4,5,10};
D.chara[]=”Thisisastring”;
6.已知对一维数组ns有如下说明:
intns[10];
要求使ns的所有元素取值0。
下面不正确的程序段是()。
A.for(j=0;
=10;
j++)ns[j]=0;
B.ns[0]=0;
for(j=1;
j++)ns[j]=n[j-1];
C.for(j=1;
D.ns[0]=ns[1]=ns[2]=ns[3]=ns[4]=ns[5]=ns[6]=ns[7]=ns[8]=ns[9]=0;
7.有说明语句:
inta[][4]={1,5,8,7,12,22,9,41,55,27};
则数组a第1维的长度应该是()。
A.2B.3C.4D.5
二.填空题
1.任何一个数组的数组元素具有相同的名字和___________.
2.统一数组中,数组元素之间是通过___________来加以区分的。
3.已知数组e定义为inte[][4]={{1,2,3,4},{5,6,7,8}};
则e是一个_________行________
列的二维数组,总共有_______个元素,最大行下标是________,最大列下标是_________,其首行的各元素的值分别是__________。
4.要使g成为具有如下初始值的二维int型数组,则最简单的定义g的语句是_____________.
10000
12000
12300
12340
12345
5.执行下列语句序列后,数组str2中的字符串是__________.
Charstr1[]=”ABCD”,str2[10]=”XYZxyz”;
for(inti=0;
str2[i]=str1[i];
i++);
6.有说明语句:
Intx[][4]={{1},{2},{3}};
那么元素x[1][1]的取值是_________.
7.下面的语句显示输出6行6列数组h的主对角线上的所有的元素,请补充完整。
for(inti=__________;
_________;
_________)
__________<
’‘;
8下面的语句按行显示输出5行3列数组m的所有元素,请补充完整。
__________;
__________)
for(_________;
’‘;
三.程序阅读
1.写出下列程序的运行结果。
voidmain()
inti,a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
3;
a[i][2-i]<
””;
2.阅读程序,说明其功能及输出的结果。
iostream>
voidmain()
intk;
charx,a[10]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’,‘j’};
for(k=0;
k++)
x=a[k];
a[k]=a[9-k];
a[9-k]=x;
for(k=0;
a[k];
3.阅读程序,说明其功能及输出结果。
Voidmain()
intj,k;
intstr[]={2,-4,5,15,19,-11,16,7};
for(j=0,k=j;
if(str[j]>
str[k])
k=j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 习题集