C++程序设计习题大荟萃 联系客服

发布时间 : 星期二 文章C++程序设计习题大荟萃更新完毕开始阅读781e536327d3240c8447ef77

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. 一个函数的函数体就是一条______。

1

11. C++头文件和源程序文件的扩展名分别为

______和______。

12. 程序文件的编译错误分为______和

______两类。

13. 当使用______保留字作为函数类型时,

该函数不返回任何值。

14. 当函数参数表用______保留字表示时,

则表示该参数表为空。

15. 从一条函数原型语句”int fun1(void);”

可知,该函数的返回类型为______,该函数带有______个参数。

16. 当执行cout语句向C++显示输出屏幕输

出一个数据项的值时,若该值的显示宽度(即所占显示位置的字符数)为n,则显示该值后光标将从原位置后移______个字符显示位置。

17. 当执行cout语句输出endl数据项时,

将使C++显示输出屏幕上的光标从当前位置移动到______的开始位置。

18. 当执行cin语句时,从键盘上输入每个

数据后必须输入一个______符,然后才能接着输入下一个数据。

三、写出下列程序运行结果,此题又作为上机实验题

1. #include

void main() {

int x,y; x=5;y=6;

cout<<”x+y=”<

}

2. #include

int cube(int); void main(void) {

cout<<”cube(3)=”<

int cube(int x) {

return x*x*x; }

3. #include

#include”abc.h” void main()

{

double a,b,c;

double averageValue; a=2;b=3;c=4;

averageValue=AVE(a,b,c); cout<<”averageValue;”<

averageValue=AVE(a,b+1,c+2); cout<<”averageValue:”<

其中abc.h文件的内容如下:

double AVE(double x,double y,double z) {

return (x+y+z)/3; }

4. #include

#include”example.h” void main() {

int a,b,c;

cout<<”请输入3个整数:”

cin>>a>>b>>c; cout<<”最大值:”

<

cout<<”最小值:”

<

}

其中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

的值赋给a

if(a

的值赋给a

return a; }

int min_value(int a,int b,int c) {

2

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的类型长度分别为______、______、______、______和______。

2. 短整型、整型和长整型的最简关键字

分别为______、______和______。

3. 常数-4.205,1200和6.7E-9分别具有

______、______和______位有效数字。

4. 数值常量46、0173和0x62对应十进

制值分别为______、______和______。

5. 字符常量 ’k’,’\\n’,’\\\\’,’

/052’和’\\xA2’对应的数值分别为______、______、______、______和______。

6. 字符串”It \\’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() 的值在______至

______区间内。

bx+1

21. 数学算式(1+x)sin48°和axe对应的

算术表达式分别为______和______。

3

三、试指出下列各表达式值的类型

假定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’,

六、写出下列每个程序运行后的输出结果并自行上机验1. a++ 证

2. ++r 3. a%5 4. a/5 5. r 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+x2

/3)

2. (1+ex)/(1-ex

)

3. (-b+(b2-4ac)1/2

)/2a

4. 1/(3x

ln(2x+k))

5. sin3(x+π/4)/(3+cos3

(x-π/4))

6. 1/7(1+ex+1) n

7. 0<=x<=20 8. ax-by!=c 9. 4x+7y-2=3ab

10. |2x2

+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’)

4

1. #include

enum race{Black,White,Yellow}; void main() {

race ra;

ra=Black;cout<

;

}

2. #include

#define PI 3.14159 const int R=10 void main() {

double p,s;

p=2*R*PI;

cout<<”p=”<

3. #include

void main() {

int i=0,j=1,k;

k=i+=j; cout<

4. #include

void main() {

cout<

cout<

<

cout<

<

cout<

<