
第1章 C++程序设计基础 恩专与练习 一、填空题 1.C++语言是在 语言的基健上发程起米的。 答案:C 解新:二+酒有米源于C通点,是在C源的基建上湖加了为与叶2的题之,数早阴的C+包移量 二数二的C, 2.C+语言的编译单位是扩展名为 文件: 答案:目标 解有: 3.行尾使用注释的开始标记符为儿一 答案:0 解有:四序行中从“了到行星的所有内在超是庄看,监也称单行注用的习导符。 4.多行注释的开始标记符和结束标记符分别为—和一 答室:产切 解新以许号申“户“表注样开始、“产表注样结起。的蓝多,故移为多注是。 5。用干输出表达式植的标准喻出流对象是一 答案:coUt 解新磁是C:+程生定之好的一个输出速时坐,苦绘出提作符“<”金使用。 6.用于从键盘上为变量检入值的标准输入流对象是一· 答案:cn 解新:是C+随先定义好的一个绝入通叶象,雪与给入提作符“之”配合使用, 7.一个完整程序中必爱有一个名为的函数。 答案,man 解新m函数是C+程序的主函数。如墨一个C+程序只有一个函数烟成:图适函数一定日必夏足 地函数 8,一个函数的函数体就是一条 一语句 答案:复角 解新因为一个函数的函数体是山一对花括号括,面复合通向意是山一对花话号适的。所以一个 函数的函数体地这是一条复合透包, 9.在C++程序中包含一个头文料观程序文件的预国译合今为 答案,include 解桥:k装C+士风序的预白含金◆,其含义是担后面尖括号©成号内二指定的文件向含到达 塑序中考,业为本塑序的一第分, 10.程序中的预处理命令是粗以一字行开头的命令。 答室:。 解转:二+型序中的所有的预处理合乡整是以“语”号标此指示编译器在讲行直正编详的,静某一之 件的内率作为四序的一富分插入要编译的程序中, 11.一表达式语句必演以 作为站束符: 答案:分号 解粉:在麦达式后加上分号即构成了表达式进句
第 1 章 C++程序设计基础 思考与练习 一、填空题 1. C++语言是在 语言的基础上发展起来的。 答案:C 解析:C++语言来源于 C 语言,是在 C 语言的基础上增加了类与对象的概念,故早期的 C++也称为带 “类”的 C。 2. C++语言的编译单位是扩展名为 的 文件。 答案:obj 目标 解析: 3. 行尾使用注释的开始标记符为 。 答案:// 解析:程序行中从“//”到行尾的所有内容都是注释,故也称单行注释的引导符。 4. 多行注释的开始标记符和结束标记符分别为 和 。 答案:/* */ 解析:以符号串“/*”表示注释开始、“*/”表示注释结束,可跨越多行,故称为多行注释。 5. 用于输出表达式值的标准输出流对象是 。 答案:cout 解析:cout 是 C++预先定义好的一个输出流对象,需与输出操作符“>”配合使用。 7. 一个完整程序中必须有一个名为 的函数。 答案:main 解析:main 函数是 C++程序的主函数,如果一个 C++程序只有一个函数组成,则该函数一定且必须是 main 函数 8. 一个函数的函数体就是一条 语句。 答案:复合 解析:因为一个函数的函数体是由一对花括号括起,而复合语句就是由一对花括号括起的,所以一个 函数的函数体也就是一条复合语句。 9. 在 C++程序中包含一个头文件或程序文件的预编译命令为 。 答案:include 解析:include 是 C++程序的预包含命令,其含义是把后面尖括号<>或引号内""指定的文件包含到本 程序中来,成为本程序的一部分。 10. 程序中的预处理命令是指以 字符开头的命令。 答案:# 解析:C++程序中的所有的预处理命令都是以“#”号标识,指示编译器在进行真正编译前,将某一文 件的内容作为程序的一部分插入到要编译的程序中。 11. 一条表达式语句必须以 作为结束符。 答案:分号 解析:在表达式后加上分号即构成了表达式语句

权在山◆4中年白会的4之料可是8完气的4产件名耳是 电的4 件一 答案:用户(或编程 都 集甲o合◆可平年个4大件,台军a含伞 答案:程序 解新站是CC+准检入从文件,包含指今不复亿于h从文作。以包含任包国通置能坦 的CC+程序文件,包括.hre cep hs exx等,其至等等都国以, 二、选择恩 1.C+源羽序文件的默认扩届名州). A.cpp B.exe C.obj D.lik 答案:A 解新:四序员首左田国细将容序验入到计草机中,生成扩罪名为即的明登这件,并以额程序文 生(四可的在多个)的形式在数, 2.由C+源程序文件编译面成的日标文件的我认扩展名州): A.cpp B.exe C.obj D.lik 答案:C 解新程序义性放地译后,会生成一个广眼名为山1的H品义件,适H柱义件酸程序的日代。 且尽代四以新编请方的形式收, 3.由C+目标文件连接面成的可执行文件的成认扩展名州) A.cpp B.exe C.obj D.lik 答案:B 脑国语后的程序玉不单山计草肌热,四为H品代足是一个个的程序地,菱要法接成为一个回可 热行程序,形成一个广原名为心的可热行文件, 4.以下标园行中不全是保面字的是(: A case for int B.de物lt then while C.bool dass long D.goto retum char 答案,8 解桥上个速圆业,足有块通B中的h细不是C+的屋宜字,北它的全是。的总国 5.心C+程序的基本单位是(. A字符B.著句C.函数D.源程序文件 答案:8 解新远讲当图程定的蓝本组域单位是墙句,在C+程序中.册句是最小的可执行单元一条语句由一 个分号结来, 8.程序中主函数的名字为()。 Aman且.MNC.ManD.任标积 首案:A 解新m是C4+程序的主通数名,月程序总品从mn通的的'开给地,别函数的“巴 然电, 了,C+程序的精本根执为州), A表达式B标识有C.语句D.函数 答案:D
12. 在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是 定义的头 文件。 答案:用户(或编程者) 解析: 13. 使用#include 命令可以包含一个头文件,也可以包含一个 文件。 答案:程序 解析:include 是 C/C++标准输入头文件。包含指令不仅仅限于.h 头文件,可以包含任何编译器能识别 的 C/C++程序文件,包括.c,.hpp,.cpp,.hxx,.cxx 等,甚至.txt,.abc 等等都可以。 二、选择题 1. C++源程序文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik 答案:A 解析:程序员首先利用编辑器将程序输入到计算机中,生成扩展名为.cpp 的磁盘文件,并以源程序文 件(可能有多个)的形式存放。 2. 由 C++源程序文件编译而成的目标文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik 答案:C 解析:源程序文件被编译后,会生成一个扩展名为 obj 的目标文件,该目标文件为源程序的目标代码, 目标代码以汇编语言的形式存放。 3. 由 C++目标文件连接而成的可执行文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik 答案:B 解析:编译后的程序还不能由计算机执行,因为目标代码只是一个个的程序块,需要连接成为一个可 执行程序,形成一个扩展名为 exe 的可执行文件。 4. 以下标识符中不全是保留字的是( )。 A. case for int B. default then while C. bool class long D. goto return char 答案:B 解析:4 个选项中,只有选项 B 中的 then 不是 C++的保留字,其它的全是,故选 B 5. 能作为 C++程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 解析:高级语言源程序的基本组成单位是语句。在 C++程序中,语句是最小的可执行单元,一条语句由一 个分号结束。 6. 程序中主函数的名字为( )。 A. main B. MAIN C. Main D. 任意标识符 答案:A 解析:main 是 C++程序的主函数名,且程序总是从 main 函数的‘{’开始执行,到 main 函数的‘}’ 结束。 7. C++程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 答案:D

解新二+四序是由一个发多个技称为函数的极块州成。 8,以下说法中正瑞的是( AC+程序总是从第一个定义们函数开始执行 日.C+程序总是从man函数开始换行 CC+属数经溪有赵国值,香则不能使用居数 D.C4+程序中有调用关系的所有函数必策收在同一个程序文件中 答案:日 解种:二+用序丝是从四山函数的开换行,孔幽函型的结史,业A情:C+函数可 以有发国植,也可以2有日情,查C情:C++程序可以到用度包含食今为不正程提文件中的函数建立通 班美系。拉D悦: 9.以下叙述中不正端的是(: A在一个函数中。可以有多条eum语句 B.函数的定义不能张套,且函数的调用可以帐 C,函数经溪有题国值 D.不同的函数中可以使同相同名字的变量 答案:C 解种:C+函数可以有无日机,也可以设有近回价,且核据北板风值分为有日价函监和无系风价质 数西数。故C设法精混:应进C, 10.C+程序从上机到得判精果的几个操作多程依次是( A编译、编乳,左报,猛行 B.编辑,编译,走接,运行 C.编评,起行。编料、连接 D.编相,运行、编臂,连拔 答常:B 解新田底语方国的遵程序花要经所国细.馆译,左接太使业为可热行程序,故选口 11.可用作C+语言用户标润荐的一组标男符是(: A void define +WORD B.a3_b3123 YN C.for abe Case D.2a DO sizeof 答室:自 解桥:4+中的民君管条理由字一或A-.数字或下发·”组成。且必缓由字母下开 :作为C+通容的用户标湿柠晚清足上家测外,C+促面字不可以作用户湿招,数本B, 12.以下叙适正端的是(): A在C++程序中man函数多湖位平程序的最筒南 B.C种程序的每行中只能写一条语句 CC+话言本身有输入编密话句 D.在对一个C++程序进行编译的过程中可发现注释中的拼写情误 答:C 种:C+一程序中函当的位置已以在用序的量雕。也可以在量后或程序的中能程序的每行可以 生多条请句:编译C山程序。注释不会脑国路。所以也不会发双注释中的拼精,放本速C,C马 酒六有自己的验入绝出通面, 三、判新超 判断下列标识符的合法性
解析:C++程序是由一个或多个被称为函数的模块组成。 8. 以下说法中正确的是( )。 A. C++程序总是从第一个定义的函数开始执行 B. C++程序总是从 main 函数开始执行 C. C++函数必须有返回值,否则不能使用函数 D. C++程序中有调用关系的所有函数必须放在同一个程序文件中 答案:B 解析:C++程序总是从 main 函数的‘{’开始执行,到 main 函数的‘}’结束,故 A 错;C++函数可 以有返回值,也可以没有返回值,故 C 错;C++程序可以利用预包含命令为不同程序文件中的函数建立调 用关系,故 D 错。 9. 以下叙述中不正确的是( )。 A. 在一个函数中,可以有多条 return 语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值 D. 不同的函数中可以使用相同名字的变量 答案:C 解析:C++函数可以有返回值,也可以没有返回值,且依据其返回值分为有返回值函数和无返回值函 数两类,故 C 说法错误,应选 C。 10. C++程序从上机到得到结果的几个操作步骤依次是( )。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 答案:B 解析:用高级语言编写的源程序需要经历编辑、编译、连接才能成为可执行程序。故选 B 11. 可用作 C++语言用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 解析:C++中的标识符必须由字母(a~z 或 A~Z)、数字或下划线‘_’组成,且必须由字母或下划线开 头;作为 C++语言的用户标识符除满足上述规则外,C++保留字不可以作为用户标识符,故本题选 B。 12. 以下叙述正确的是( )。 A.在 C++程序中,main 函数必须位于程序的最前面 B.C++程序的每行中只能写一条语句 C.C++语言本身有输入输出语句 D.在对一个 C++程序进行编译的过程中,可发现注释中的拼写错误 答案:C 解析:C++程序中,main 函数的位置可以在程序的最前,也可以在最后或程序的中部;程序的每行可以 写多条语句;编译 C++程序时,注释不会被编译,所以也不会发现注释中的拼写错误。故本题选 C,C++ 语言有自己的输入输出语句。 三、判断题 判断下列标识符的合法性

sin book 5arry_name Example2.1 main $1 dass_cpp a3 x'y my name 养案:合法:in book_name main class_cppa3 不合法:5 y Example2.1s1 y my name 制析C+中的5祖柠是山字2厦A么、数字业下世””组成,且必现由字母度下世开从。 边合法的的部注有,n止m血脱 玉合法有,5m(字不作作为第一个字管)■21(不是行退道的限成号)55图 标出许的瓶成符号)y(·不朵与园管的的成符号》取(空条不是标祖符的组送符号)
sin book 5arry _name Example2.1 main $1 class_cpp a3 x*y my name 答案:合法:sin book _name main class_cpp a3 不合法:5arry Example2.1 $1 x*y my name 解析: C++中的标识符是由字母(a~z 或 A~Z)、数字或下划线‘_’组成,且必须由字母或下划线开头。 故合法的标识符有:sin book _name main class_cpp a3 不合法有:5arry(数字不能作为第一个字符) Example2.1(.不是标识符的组成符号) $1($不 是标识符的组成符号) x*y(*不是标识符的组成符号)my name(空格不是标识符的组成符号)