没有合适的资源?快使用搜索试试~ 我知道了~
C++程序设计习题大荟萃(下载)借鉴.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 23 浏览量
2021-12-25
17:56:28
上传
评论
收藏 73KB PDF 举报
温馨提示
试读
33页
C++程序设计习题大荟萃(下载)借鉴.pdf
资源推荐
资源详情
资源评论
1
C++练习题大荟萃
本书共包含十个章节的内
容
第一章 C++ 语言的概述
一、简答题
1. C++的单词包含那几种?
2. 一个标识符中的首字符必须是什么字
符?其余位置上的字符必须是什么字符?
3. 数值常量、字符常量、字符串常量和标
识符在表示上各有什么区别?
4. C++语句分为哪几类?
5. #include 命令的格式和功能各是什么?
使用尖括号和双引号在含义上有什么区
别?
6. 你已经知道了那几个系统头文件?
7. cout 和 cin 标识符的含义是什么?他们
后面分别使用什么运算符?各运算符的作
用是什么?
8. 上机运行一个程序需要经过那些阶段?
二、填空题
1. 程序中的预处理命令是指以 ______字符
开头的命令。
2. 一条简单语句是以 ______字符作为结束
符的,一条复合语句是分别以 ______字符和
______字符作为开始符和结束符的。
3. 空白符是 ______符、______符、和______
符的统称。
4. 在 #include 命令中所包含的头文件,
可以是 ______头文件 , 也可以是 ______头文
件。
5. 使用 #include 命令可以包含一个头文
件,也可以包含一个 ______文件。
6. 一个函数定义由 ______和______两部分
组成。
7. 一个程序中必须有一个名为 ______的函
数。
8. 函数头与 ______语句一样都能够提供出
函数的参数和返回类型等信息。
9. 若一个函数的定义处于调用它的函数之
前,则在程序开始可以省去该函数的 ______
语句。
10. 一个函数的函数体就是一条 ______。
11. C++头文件和源程序文件的扩展名分别为
______和______。
12. 程序文件的编译错误分为 ______和
______两类。
13. 当使用 ______保留字作为函数类型时,
该函数不返回任何值。
14. 当函数参数表用 ______保留字表示时,
则表示该参数表为空。
15. 从一条函数原型语句” int fun1(void); ”
可知,该函数的返回类型为 ______,该函数
带有 ______个参数。
16. 当执行 cout 语句向 C++显示输出屏幕输
出一个数据项的值时,若该值的显示宽度
(即所占显示位置的字符数)为 n,则显示
该值后光标将从原位置后移 ______个字符
显示位置。
17. 当执行 cout 语句输出 endl 数据项时,
将使 C++显示输出屏幕上的光标从当前位
置移动到 ______的开始位置。
18. 当执行 cin 语句时,从键盘上输入每个
数据后必须输入一个 ______符,然后才能接
着输入下一个数据。
三、写出下列程序运行结果,此题又作为上机实验题
1. #include<iostream.h>
void main()
{
int x,y;
x=5;y=6;
cout<< ”x+y=”<<x+y<<’, ’;
cout<< ”x*y= ”<<x*y<<endl;
}
2. #include<iostream.h>
int cube(int);
void main(void)
{
cout<< ”cube(3)= ”<<cube(3)<<endl;
cout<< ”cube(5)= ”<<cube(5)<<endl;
cout<< ”cube(8)= ”<<cube(8)<<endl;
}
int cube(int x)
{
return x*x*x;
}
3. #include<iomanip.h>
#include ”abc.h ”
void main()
2
{
double a,b,c;
double averageValue;
a=2;b=3;c=4;
averageValue=AVE(a,b,c);
cout<< ”averageValue; ”
<<averageValue<<endl;
averageValue=AVE(a,b+1,c+2);
cout<< ”averageValue: ”
<<averageValue<<endl;
}
其中 abc.h 文件的内容如下:
double AVE(double x,double y,double z)
{
return (x+y+z)/3;
}
4. #include<iostream.h>
#include ”example.h ”
void main()
{
int a,b,c;
cout<< ”请输入 3 个整数 : ”
cin>>a>>b>>c;
cout<< ”最大值 : ”
<<max_value(a,b,c)<<endl;
cout<< ”最小值 : ”
<<min_value(a,b,c)<<endl;
}
其中 example.h 文件的内容如下 :
int max_value(int a,int b,int c);
int min_value(int a,int b,int c);
这两个函数的定义(又称为函数的实现或具体
实现)被保存在另一个程序文件中,它将被编
译后连接到主文件中产生出可执行文件。该程
序文件的内容如下:
int max_value(int a,int b,int c)
{
if(a<b) a=b;// 若 a 小于 b 则将 b
的值赋给 a
if(a<c) a=c;// 若 a 小于 c 则将 c
的值赋给 a
return a;
}
int min_value(int a,int b,int c)
{
if(a>b) a=b;// 若 a 大于 b 则将 b
的值赋给 a
if(a>c) a=c;// 若 a 大于 c 则将 c
的值赋给 a
return a;
}
请读者自行假定用于输入的 3 个整数。
第二章 数据类型和表达式
一、简答题
1. C++数据分为哪四种大的类型?在大的
整数类型中又分为哪四种类型?
2. 整数类型分为哪三种类型, 每种类型的
长度各是多少?
3. 实数类型分为哪三种类型, 它们的类型
长度各是多少?
4. 单精度和双精度分别表示多少位有效数
字?
5. 每一种 C++具体类型的关键字是什么?
6. 哪四种保留字能够用来修饰 int 保留
字成为类型关键字?哪两种保留字能够用
来修饰 char 保留字成为类型关键字?
7. 整型常数具有哪三种不同进制的表示?
如何区分它们?
8. 一个整数后缀 L 或 U分别具有什么含
义?
9. 转义字符序列中的首字符是什么字符?
10. 实数具有哪两种表示方法?一个浮点数
具有那些成分?什么叫规格化浮点数?
11. 定义符号常量和变量的语句有什么异
同?
12. #define 命令的作用是什么?
13. 一个 C++运算符具有哪三种属性?
14. 左值和非左值 (又称右值) 有什么区别?
15. 在程序文件中使用系统数学函数或随机
函数时,各需要通过 #include 命令引入哪
个头文件?
16. 一个表达式是否必须有一个值,在什么
情况下它没有值?
17. 执行一个函数调用的大致过程是什么?
函数运算的优先级如何?
二、填空题
1. 数据类型
int,char,bool,float,double 的类型长
度分别为 ______、______、______、______
和______。
3
2. 短整型、整型和长整型的最简关键字
分别为 ______、______和______。
3. 常数 -4.205,1200 和 6.7E-9 分别具有
______、______和______位有效数字。
4. 数值常量 46、0173 和 0x62 对应十进
制值分别为 ______、______和______。
5. 字符常量 ’ k’, ’\n ’, ’ ’, ’
/052 ’和’ \xA2 ’对应的数值分别为
______、______、______、______和
______。
6. 字符串” ’s\40an\40apple.\n ”
中包含有 ______个字符。
7. 枚举类型中的每个枚举值都是一个
______, 它的值是一个 ______,值的类型
为______。
8. 实数 340.0 和 0.027E8 对应的规格化
浮点数分别为 ______和 ______。
9. 常数 100,-25 , 3.62 ,1E5 和-4.73f
的数据类型分别为 ______、______、
______、______和______。
10. 若 x 的值为 10,则 x+=5 的值和运算后
的______的值相同,等于 ______。
11. 若 x=5,y=10, 则计算 y*=++x 表达式后,
x 和 y 的值分别为 ______和______。
12. 若 x=25, 则计算 y=x++表达式后, x 和
y 的值分别为 ______和______。
13. 假定 x 和 ch 分别为 int 型和 char 型,
则 sizeof(x) 和 sizeof(ch) 的值分别为
______和______。
14. 假定 x=64,y=88, 则 x<<2 和 y>>2 的值
分别为 ______和______。
15. 假定 x 是一个逻辑量,则 x&&true 的
值与 ______的值相同,x||false 的值也与
______的值相同。
16. 假定 x 是一个逻辑量,则 x&&!x 的值
分别为 ______和______。
17. 假定 x=10, 则表达式 x<=10?20:30 的值
为______。
18. 假定 x=10.5,y=-4.6, 则表达式 floor
(fabs(x+y) )的值为 ______。
19. 表达式 sqrt(81) 和 pow(6,3) 的值分别
为______和______。
20. 随机函数 rand()%20 的值在 ______至
______区间内。
21. 数学算式 (1+x)sin48 °和 ax
b
e
x+1
对应的
算术表达式分别为 ______和______。
三、试指出下列各表达式值的类型
假定 a 为 int 型, x 为 double 型,
1. 327
2. -1.5e6
3. 42.0f
4. 48L
5. 0372
6. 0xabc
7. 1/3
8. 1%3
9. 1.0%3
10. a*3/x
11. a*(a+x)
12. 1+a*a
13. a+=3
14. x*=2
15. ‘x’
16. ‘x’+20
17. true
18. ++a
19. short(a)
20. bool(x)
21. (unsigned int)(0256)
22. x=a++
23. sizeof(bool)
24. char(a+10)
25. abs(x)
26. fabs(a)
27. floor(x)
28. ceil(a)
29. exp(4)+2
30. rand()
31. rand()/100
32. floor(log(x))
33. pow(a,4)
34. a>10?x:sqrt(x)
35. a>100
36. x!=10
37. a&&x
38. a<1||a>10
39. !x
40. !(a==0)
四、试求出下列每个表达式的值 ( 各表达式互不影响 )
已知 a=20,x=4.7,r= ’a’,
4
1. a++
2. ++r
3. a%5
4. a/5
5. r%18
6. 1+a/3%4
7. a/8.0
8. r+=4
9. x=2*(x+5)-1
10. char(a+30)
11. 10*sizeof(int)
12. (a<<3)+5
13. a>0
14. a==1
15. a++&&r!= ’a’
16. ++a&&r==’a’
17. a||x<=10
18. a==r||a==floor(x)
19. a=(r> ’ A’?a+10:a-10)
20. a=(r< ’ A’?a+10:a-10)
21. x=(a++,r++)
22. x=(a++,r++,50)
23. x=pow(3,5)
24. x=fabs(-26.5)+4
25. a=abs(a)%8-10
26. floor(x+0.5)
27. ceil(x-0.5)
28. ceil((x-=0.5)-0.5)
五、把下列数学算式或不等式表示成 C++表达式
1. 2x(1+x
2
/3)
2. (1+e
x
)/(1-e
x
)
3. (-b+(b
2
-4ac)
1/2
)/2a
4. 1/(3
x
ln(2x+k))
5. sin
3
(x+ π/4)/(3+cos
3
(x- π/4))
6. 1/7(1+e
x+1
)
n
7. 0<=x<=20
8. ax-by!=c
9. 4x+7y-2=3ab
10. |2x
2
+1|/|3x+2|<-5 同时 3x+2!=0
11. age>=55 或者 pay>=820
12. place= ”江苏”同时 sex=”女”
13. ‘ a’<=ch<=’z’或者’ A’<=ch<=’Z’
14. s[0] =’0’同时(s[1]= ’x’或者 s[1]= ’
X’)
六、写出下列每个程序运行后的输出结果并自行上机验
证
1. #include<iostream.h>
enum race{Black,White,Yellow};
void main()
{
race ra;
ra=Black;cout<<ra<< ’, ’;
ra=White;cout<<ra<< ’, ’;
ra=Yellow;cout<<ra<< ’, ’;
cout<<Black+White+Yellow<<endl
;
}
2. #include<iostream.h>
#define PI 3.14159
const int R=10
void main()
{
double p,s;
p=2*R*PI;
cout<< ”p=” <<p<<endl;
cout<< ”s=” <<s<<endl;
}
3. #include<iostream.h>
void main()
{
int i=0,j=1,k;
k=i+=j;
cout<<i<< ’ ’<<j<< ’ ’<<k<<endl;
k=(i++)*(++j);
cout<<i<< ’ ’<<j<< ’ ’<<k<<endl;
k*=i++*j--;
cout<<i<< ’ ’<<j<< ’ ’<<k<<endl;
}
4. #include<iostream.h>
void main()
{
cout<<sizeof(bool)<< ’ ’
<<sizeof(char)<< ’ ’;
cout<<sizeof(short)<< ’ ’
<<sizeof(int)<< ’ ’;
cout<<sizeof(long)<< ’ ’
<<sizeof(float)<< ’ ’;
cout<<sizeof(double)<< ’ ’
<<sizeof(long double)<< ’ ’;
5
cout<<sizeof(int *)<< ’ ’
<<sizeof(double *)<< ’ ’;
}
5. #include<iostream.h>
const int w=30;
void main()
{
int x,y;
x=w<<2;y=w>>2;
cout<<w<<’ ’<<x<<’ ’<<y<<endl;
x=w&10;y=w|10;
cout<<w<<’ ’<<x<<’ ’<<y<<endl;
x=w^10;y=-x&w;
cout<<w<<’ ’<<x<<’ ’<<y<<endl;
}
6. #include<iostream.h>
void main()
{
int x=10,y=-1;
cout<<((x>y)&&(y<0))<< ’ ’;
cout<<((x>y)||(y<0))<< ’ ’;
cout<<((x<=y)&&(y>=0))<< ’ ’;
cout<<((x<=y)||(y>=0))<< ’ ’;
cout<<((x==y)&&y)<< ’ ’;
cout<<((x==y)||y)<< ’ ’;
}
7. #include<iostream.h>
void main()
{
int x=5,y=10,k;
(k=x)+=y;cout<<x<< ’ ’<<y<<’ ’
<<k<<endl;
k=x+=y;cout<<x<< ’ ’<<y<<’ ’
<<k<<endl;
k=x*=y;cout<<x<< ’ ’<<y<<’ ’
<<k<<endl;
k=(x++,y++);cout<<x<< ’ ’
<<y<<’ ’<<k<<endl;
k=x++,y++;
cout<<x<< ’ ’<<y<<’ ’<<k<<endl;
}
8. #include<iostream.h>
#include<math.h>
void main()
{
double x=15.72;
double y,z;
y=ceil(x);z=floor(x);
cout<<x<< ’ ’<<y<<’ ’<<z<<endl;
y=floor(x+0.5);z=floor(x*10+0.5
)/10;
cout<<x<< ’ ’<<y<<’ ’<<z<<endl;
y=ceil(x-0.5);z=ceil(x*10-0.5)/
10;
cout<<x<< ’ ’<<y<<’ ’<<z<<endl;
}
七、编写下列程序
1. 已知一个三角形中三条边的长度分别为 a,b 和
c,利用计算公式 (s(s-a)(s-b)(s-c))
1/2
求出三
角形的面积,其中 s=(a+b+c)/2, 假定 a,b 和 c
的值由键盘输入, 并确保任何两边的长度大于第
三条边。
2. 假定一所大学 2001 年招生人数为 3000 人,若
以后每年平均比上一年计划扩招 10%,则 2006
年将计划招生多少人?
3. 已知有 4 个整数为 a,b,c,d, 试计算出它们的算
术平均值和几何平均值。
4. 已知 x=2a/2(a+b)sina,y=2b/3(a+b)cosb, 试根
据从键盘上输入的 a 和 b 的值分别计算出 x 和 y
的值。
八、上机实验题
1. 让计算机随机出 10 道两位整数加法题供用户计
算,每道题 10 分,计算完成后打印出得分。
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
const N=10;
void main()
{
srand(time(0));
int x,y,z,c=0;
for(int I=1;I<=N;I++)
{
x=rand()%90+10;
y=rand()%90+10;
cout<<x<< ’ +’<<y<<’=’;
cin>>z;
if(x+y==z)c++;
}
cout<< ”得分 : ” <<c*10<<endl;
}
剩余32页未读,继续阅读
资源评论
gw19501103285
- 粉丝: 1
- 资源: 7万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功