C++练习题 联系客服

发布时间 : 星期日 文章C++练习题更新完毕开始阅读45b48f4cfe4733687e21aaaa

《C++面向对象程序设计》 函授自学指导书

一、选择题

例1-1 以下叙述中正确的是_。 A. C+十程序由main()函数组成 B. C+十程序由函数组成

C. C+十程序的执行从第一个函数开始

D. 在C+十程序中,注释只能位于一条语句之后 解:对于C+十程序应明确:

(l)程序由函数组成。一个可运行的C+十源程序可由一个且仅能由一个 main()函数加上其他的函数组成,其他函数可有可无。

(2)不管main()函数出现在什么位置,程序总是从main()函数开始执行。

(3)注释的两种方法:一是用/*和*/把注释信息括起来;二是用//,它表示//之后到本行结束为注释内容。可以在程序任何位置进行注释。 正确答案:B。 二、填空题

例1-2 在下列程序的每行之后加上注释。 #include \ void main() {

cout<<\

cout<<\}

解:注释如下:

#include \ //指示编译器在此处将文件iostream.h上中的代码嵌入本程序。

void main() //主函数,void表示 main()函数没有返回值。 {

cout<<\\n\;//输出字符串“Hello!”到显示器上。

cout<<“Welcome to C++!\\n\;//输出字符串“Welcome to C++!\\n”。 }

例1-3 C+十中函数的函数体由符号_开始,用符号_结束。

解:C+十中函数的函数体由符号“{”开始,用符号“}”结束。 三、 编程题

例1-4 编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。 解: 程序如下:

#include \ void main( ) {

int i;

cout<<\请输入一个数字:\ cin>>i;

cout<<\你输入的数字是\}

【思考题】

一、选择题

1

《C++面向对象程序设计》 函授自学指导书

1. C+十语言规定:在一个源程序中,main()函数的位置_。 A. 必须在最开始

B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后

2. 以下正确的叙述是_。

A. C+十程序的每行中只能写一个语句 B. C+十语言本身无输入、输出语句

C. 在对一个C+十源程序进行编译的过程中,可发现注释中的拼写错误 D. 在C+十程序中,main()函数必须位于程序的最前面 3. 以下符号中能作为用户标识符的是_。 A. 123 B. void C. struct D .switch 4. C+十语言程序的基本单位是_。 A. 程序行B. 语句C. 函数D. 字符 二、填空题

5. 一个可执行的C+十程序至少必须有一个_函数。 6. C+十源程序中注释的作用是_。

7. 一个C+十语句以_结束。_是C+十语句的组成部分。 8. 在C+十语言中输入、输出操作是通过_来实现的。 9. 在下列程序的每行之后力,上注释。 #include<iostream.h> void main() {

int nl, n2, sum;

cont<<\ cin>>n1>>n2; sum=n1+n2;

cout<<\=\<<sum<<endl; }

三、编程题

10. 参照例题分析,编写一个C+十程序并上机运行,能输出以下信息:

************************************** Hello,C++!

**************************************

11. 编写一个C+十程序,输入任意三个数a,b,c,能输出其中的最大值。

第二章 基本数据类型 运算符及表达式 【例题分析】

一、选择题

例 2-1 下列不合法的变量名为_

A. student B. -student C._student D. student()

解:根据变量命名要求,首字母以英文字母或下划线开头。

2

《C++面向对象程序设计》 函授自学指导书

正确答案:B。

例 2-2 下列不合法的变量名为

A.t%udent B.astudent C.s_tudent D.studen()

解:根据变量命名要求,变量名组成只能由大小写字母、数字、下划线组成。 正确答案:A。

例2-3 下列不合法的变量名为_

A.lint B.int1 c.int D._lint

解:根据变量命名要求,系统关键字不能作为变量名。 正确答案:C。

例 2-4 当 a=6,b=5时,逻辑表达式 a<=7&&a+b>8的值为__ A.true B.false C. 非0整型数 D. 0 解:根据题意和该逻辑表达式的运算结果。 正确答案:C。

例 2-5 设 X,y,Z为整型数,下列各式中,运算结果与 X=y=24的表达式相同的是_。

A.x=(y=z=8,4×6) B.x= y=(z=8,4×6) C.X= y= z=8,4×6 D.x=(y= z= 8),4×6

解:C++语言的赋值运算有别于其他高级语言,逗号运算又是其他高级语言所没有的。

1. 在赋值表达式中,可以有多个赋值运算符;计算顺序自右向左,运算优先级低,仅高于远号运算符。

2. 逗号既是分隔符,又是运算符,可以用一个逗号运算符或多个逗号运算得将多个表达式连接成逗号表达式,计算顺序自左向右,并将最后一个表达式的值作为整个逗号表达式的值,运算优先级最低;例:a=(2×2, 4+6,20/4,6);结果a=6。

正确答案:B。

例2-6 设i=6,k=0下列各式中,运算结果为k=7 的表达式是_。

A. k=i+++k B. k=k+i++ C. k=++i+k D.k=k+(十十i) 解:自增十十、自减――运算符是C+十语言特有的。

1.运算符在变量的前面或后面,其运算结果是不同的。若十十或--在变量前;则先将变量的值加1(或减 1后,再将变量的值参加运算;反之则先将变量的值参加运算;再将变量的值加1(或减1)。

2.自增、自减运算符优先级高于算术运算符,A式i+++k,先计算i++,

再力。k,D式 k= k+(++i),若去掉括号,则改变了运算顺序;变为 k+十后, 再十l。

正确答案;C和D。 二、填空题

例 2-7 表达式'A'+'B'+20的值为_

解:不同类型的数据混合运算时,系统可以自动进行类型转换,将表示范围小的数据类型转换成另一操作数的相同类型后再参与运算,则转换为65+66+20=151。

例2-8 如果定义int e=8;double f=6.4,g=8.9;则表达式f+int(e/3*int (f+g)/2)%4的值为_。

解:不同类型的数据混合运算时,可以使用强制类型转换符,强制将一种数据类型转换成另一种数据类型后再参与运算,对于表达式,先求表达式的值,然后再转换值的类型,本例的运算结果为 9.4 。若将式中 e/3改为 e/3.0

则运算结果为6.4,因为e/3的值是整型数,而e/3.0的值是实型数,改变了

3

《C++面向对象程序设计》 函授自学指导书

括号内的运算结果,致使整个表达式的值发生变化。

例2-9 若int i= 65535,j =0x000x,k:k=i&j; ,则k值为_,i值为_。 解:将 10进制数65535和 16进制数000aH在计算机内的二进制原型数值按位与运算,结果为 k= 10,i为 65535。

三、编程题

例 2-10 编写一个将华氏温度转换为摄氏温度的程序。转换公式为 C=(5.0/9)(F—32),要求输出华氏温度和摄氏温度的对应值。

解:程序如下: #include void main() {

double C,F;

cout<<\输入华氏温度值:\ cin>>F;

C=(5.0/9)*(F-32);

cout<<\华氏温度为:\对应的摄氏温度值是:\ <

【思考题】

一、选择题

1. 以下可作为正确变量名的是_。

A .class B. class1 C. 1class D. cl\\ass 2 以下可作为正确变量名的是。

A .case B.-cd C. 33 D. 33s

3.若a=15,b=3 时,逻辑表达式a<=7&&a+b>8 的值为 A.ture B.false C. 非0整型数 D.0

4. 若a和b为整型变量,语句b= (a=1+2 a×3),a+5运行后,a

和b的结果为

A .9,8 B. 3,8 C. 3,9 D. 9,14 5. 以下不正确的叙述是_。

A.在C+十程序中,PI和pi是不同的变量 B.在C+十程序中,逗号运算符的优先级最低

C.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

D. 若 s、t为int数,设 t=S>>2后,s的值不变

6.若int a;char b;float c; double d;则表达式a*b-c+d值的数据类型为_。 A. int B. float C. double D. char

7. 已知字母 A的ASCII码为十进制数 65,D为字符型变量,则D='A'+'9'-'4'

的值_ 。

8. 若a为16进制数,若想通过a&b运算使a的二进制数的高4位清零,低4位不变;则 b的 16进制数是_。

9. 编制程序,输入相应字母的 ASCII码值,输出该字母。 10. 用C+十描述下面命题: (1)a小于b或大于c

(2)a和b中至少有一个大于c。 (3)a和b中只有一个大于c。

4