北航1212考试批次《C++程序设计》复习题一 答案
北航网络教育C++程序设计习题1及答案
《C++程序设计》习题1一、单项选择题1. 下面正确的字符常量是()。
A、"a"B、'\\''C、'W'D、D、''2. 声明或定义一个内联函数时,必须在函数开始使用保留字()。
A、StaticB、ConstC、inlineD、extern3. 下列各种函数中,()不是类的成员函数。
A、构造函数B、析构函数C、友元函数D、拷贝构造函数4. 若用数组名作为函数调用的实参,传递给形参的是()。
A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数5. 函数重载是指()。
A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C、两个以上的函数名字不同,但形参的个数或类型相同D、两个以上的函数取相同的函数名,并且函数的返回类型相同6. 在下面构造函数的声明中,存在着语法错误的是()。
A、BC(int a,int);B、BC(int,int);C、BC(int,int=5);D、D、BC(int x;int y);7. 在一个类中可以对一个操作符进行()重载。
A、1种B、2种以下C、3种以下D、D、多种8. strcmp(str1,str2)<0 表示()。
A、str1的长度小于str2B、str1的长度大于str2C、str1小于str2D、str1的内容小于str2的内容9. 预处理命令在程序中都是以()符号开头的。
A、*B、#C、&D、@10. 由C++源程序文件编译而成的目标文件的默认扩展名是()。
A、cppB、objC、exeD、lik11. 每个类()构造函数。
A、只能有一个B、只可有公有的C、可以有多个D、只可有缺省的12. 在下面构造函数的声明中,存在着语法错误的是()。
A、BC(int a,int);B、BC(int,int);。
北航《C语言程序设计》答案
北航《C语言程序设计》在线作业一单选题判断题一、单选题(共15 道试题,共60 分。
)1. 以下叙述中正确的是A. 预处理命令行必须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C. 宏名必须用大写字母表示D. 宏替换不占用程序的运行时间正确答案:D2. 以下各选项企图说明一种新的类型名,其中正确的是A. typedef v1 int;B. typedef v2=int;C. typedef int v3;D. typedef v4: int;正确答案:C3. C语言对嵌套if语句的规定是:else总是与( )配对。
A. 其之前最近的ifB. 第一个ifC. 其之前最近且不带else的ifD. 缩进位置相同的if正确答案:C4. 已知:#define N 3; 执行语句i=N*3; 后,i=_______.A. 3B. 6C. 9D. 以上均不正确正确答案:C5. 以下选项中可作为C语言合法常量的是A. -8B. -080C. -8e1.0D. -80.0e正确答案:A6. 以下不正确的C语言标识符是_____。
A. ABCB. abcC. a_bcD. ab.c正确答案:D7. 数组int**a[3][4]占据多大空间B. 12C. 48D. 128正确答案:C8. 已知:int x,a,b;下列选项中错误的if语句是______。
()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;正确答案:B9. 下列可以正确表示字符型常数的是______。
A. "a"B. …t…C. "n"D. 297正确答案:B10. 表达式:10!=9的值是( )A. trueB. 非零值C. 0D. 1正确答案:D11. 在C语言中,形参的缺省存储类型是( )A. autoB. registerC. staticD. extern正确答案:A12. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。
北航1212考试题目批次《C++程序设计》习题题目练习-练习一-(附答案)
北航1212考试批次《C++程序设计》复习题一一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)1、在面向对象的程序设计中,一切都是围绕着___展开的(B)。
A.语言 B.类 C.数据类型 D.结构2、以下关于类和对象的叙述中,正确的是( D)。
A.类和对象间没有联系 B.一个类的成员函数可以任意被调用C.对象是抽象的,而类是具体实现D.一般只有通过具体的对象才能访问类的成员函数3、关于C++语言和C语言的关系的下列描述中,错误的是( D)。
A.C语言是C++语言的一个子集 B.C++语言对C语言做了些改进C.C++语言与C语言兼容 D.C语言和C++语言都是面向对象的语言4、下列函数中,可以为虚函数的是( D )。
A.自定义的构造函数 B.拷贝构造函数 C.静态成员函数D.析构函数5、在一个被调用函数中,关于return语句使用的描述,错误的是( C )。
A.被调用函数中可以不用return语句; B.被调用函数中可以使用多个return语句;C.被调用函数中,一个return语句可以返回多个值给调用函数;D.被调用函数中,如果有返回值,就一定要有return语句;6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(A)A、数组首地址B、数组的第一个元素值C、数组中全部元素的值D、数组元素的个数7、在以下关于C++语言的注释的叙述中,不正确的是(C )A、C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B、C++编译器在编译一个程序时,将跳过注释,不对其进行处理C、C++编译器在编译一个程序时,可发现注释中的单词拼写错误D、程序中注释的多少不会影响所生成的可执行文件的长度8、下列关于C++函数的叙述中,正确的是(C)A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己9、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:(B)。
北京航空航天大学《C语言程序设计》试卷
北京航空航天大学《C语言程序设计》课程考试试卷注意事项: 1、本试卷满分100分;考试时间:90分钟;考试形式:开卷2、请将答案一律写在答题纸上,试卷上作答无效3、考试结束后,考生将试卷及答题纸一并交回4、请将条形码贴在答题纸的指定位置学习中心______________姓名____________学号____________一、单项选择题(本大题共10小题,每小题2分,共20分)1、设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是______。
()A.' 1' B.'3'C.'\0' D.存在语法错误2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为______。
()A.自动(auto) B.静态(static)C.外部(extern) D.寄存器(register)3、已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是______。
()A.float B.charC.int D.double4、当声明一个结构变量时,系统分配给它的内存是______。
()A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量5、C语言中的简单数据类型包括______。
()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型6、合法的数组说明语句是______。
()A.int a[]="string";B.int a[]={0,1,2,3,4,5};C.char a="string";D.char a[5]={'0','1','2','3','4','5,};7、定义int i=1;,执行语句while(i++<5);后,i的值为______。
北航《C语言程序设计》答案
北航《C语言程序设计》答案北航《c语言程序设计》在线作业一单项选择和判断问题一、单选题(共15道试题,共60分。
)1.以下叙述中正确的是a、预处理命令行必须位于源文件的开头。
B.源文件的一行上可以有多个预处理命令。
C.宏名称必须用大写字母表示d.宏替换不占用程序的运行时间正确答案:d2.以下选项试图描述一个新的类型名称,其中正确的名称是a.typedefv1int;b、typedefv2=int;c、类型定义tv3;d、 typedefv4:int;正确答案:C3.c语言对嵌套if语句的规定是:else总是与()配对。
a.其之前最近的ifb.第一个ifc、其上一个最近的IFD没有其他的,如果具有相同的缩进位置,正确答案是:c4.已知:#definen3;执行语句i=n*3;后,i=_______.a.3b.6c.9d、以上这些都不正确。
正确答案:C5.以下选项中可作为c语言合法常量的是a.-8b.-080c.-8e1.0d.-80.0e正确答案:a6.以下不正确的c语言标识符是_____。
a.abcb.abcc.a_bcd.ab.c正确答案:D7.数组int**a[3][4]占据多大空间a、 64b。
12c。
48d。
一百二十八正确答案:c8.已知:intx,a,B;以下选项中错误的if语句是_;。
()a.if(a=b)x++;b.if (a)=正确答案:b9.以下可以正确表示字符类型常量为___。
a、 \b。
?Tc、 \d.297正确答案:b10.表达式:10=9的值为()a.trueb非零值c.0d一正确答案:d11.在C语言中,形式参数的默认存储类型是()a.autob registerc。
静力学。
外人正确答案:a12.假设在C语言中,一个int数据在内存中占用2个字节,那么无符号int数据的值范围是_u。
a、 0~255b。
0~32767c。
0~65535d.0~2147483647正确答案:c13.有以下声明:intb;charc[10];,正确的输入语句是a.Scanf(\b.Scanf(\c.Scanf(\d.Scanf)(\正确答案:b)14.为了避免嵌套的条件分支语句的二义性,c语言规定,c程序中的else总是与()组成配对关系。
北航2012年C语言试题
北京航空航天大学2011-2012 学年第二学期期末《C语言程序设计》考试卷班级______________学号_________姓名______________成绩_________2012年5月29日班号学号姓名成绩《C语言程序设计》期末考试卷注意事项:1、请将所有的答案和程序写在答题纸上,写在试卷纸上不得分!2、考试时间120分钟一、单项选择题(每题2分,共40分)1、以下叙述不正确的是___A) 一个C 源程序可由一个或多个函数组成B) 在C 程序中,注释说明只能位于一条语句的后面C) 程序的基本组成单位是函数D) 一个C 源程序必须包含一个main 函数2、以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分3、以下表达式值为3的是________.A)16-13%10 B) 2+3/2 C) 14/3-2 D) (2+6)/(12-9)4、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下表达式不正确的是______.A)x%(-3) B) w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)5、有以下程序void main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}程序的输出结果是____A) 3 B) 3.2 C) 0 D) 3.076、以下程序的运行结果是________.main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B) 6,9 C) 5,10 D) 6,107、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假的表达式是______。
C语言程序设计试题及答案完整版
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
北航软院2012年数据结构与C语言程序设计试题(原版)
北京航空航天大学2012年硕士研究生入学考试试题“数据结构与C语言程序设计”(科目代码:991)一、填空题(本题共20分,每小题各2分)1.从总体上说,“数据结构”课程主要研究三个方面的内容。
2.若对某线性表最常用的操作是在表中插入元素或者删除表中元素,则对于顺序存储结构和链式存储结构这两种存储结构而言,线性表应该采用。
3.在长度为n的非空队列中进行插入或者删除操作的时间复杂度用大O符号表示为。
4.若一棵度为4的树中度为1、2、3和4的结点个数分别为4、2、1和1,则该树中叶结点的个数为。
5.若某二叉树的中序遍历序列为B,A,F,D,G,C,E,按层次遍历序列为A,B,C,D,E,F,G,则该二叉树的后序遍历序列为。
6.将一棵结点总数为n、且具有m个叶结点的树转换为一棵二叉树以后,该二叉树中右子树为空的结点有个。
7.对于图G=(V,E) 与G^=(V^,E^),若有V^包含于V,E^包含于E,则称G^是G的。
8.在顺序表(6,15,30,37,65,68,70,72,89,99)中采用折半查找法查找元素37,与表中进行过比较的元素依次是。
9.若已知n个关键字值具有相同的散列函数值,并且采用线性探测再散列法处理冲突,那么,将这n个关键字值全部散列到初始为空的地址空间中,发生散列冲突的次数是。
10.若长度为n的序列K=(k1,k2,…,kn)当且仅当满足ki≤k2i并且ki≤k2i+1(1≤i≤n/2)时,则称该序列为一个小顶堆积(Heap)。
根据该定义,序列(26,5,77,1,61,11,59,48,15,19)对应的小顶堆积是。
二、简答题(本题共20分,每小题各5分)1.如果一个具有100个顶点、200条边的有向图采用邻接矩阵存储,该邻接矩阵是否是稀疏矩阵?为什么?(这里我们假设:当矩阵中非零元素的数目小于整个矩阵总元素的数目的5%时认为该矩阵为稀疏矩阵)2.一般情况下,建立散列表时难以避免出现散列冲突,常用处理散列冲突的方法之一是开放定址法,该方法的基本思想是什么?3.若对序列(2,12,16,88,5,10)按值从小到大进行排序,前三趟排序的结果分别为:第1趟排序的结果:(2,12,16,5,10,88)第2趟排序的结果:(2,12,5,10,16,88)第3趟排序的结果:(2,5,10,12,16,88)请问:该结果是采用了选择排序法还是采用了(起)泡排序法得到的?为什么?4.快速排序法的排序过程是递归的。
北航1112考试批次《C++程序设计》复习题一(S)
一、单项选择题1、设x和y均为布尔型变量,则x&&y为真的条件是______。
()A.其中一个为假 B.它们均为假 C.其中一个为真 D.它们均为真2、对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是______。
()A.公有类型 B.私有类型 C.保护类型 D.友元类型3、下面关于break语句的描述中,不正确的是______。
()A.break可以用于循环体内 B.break语句可以在for循环语句中出现多次C.break语句可以在switch语句中出现多次 D.break语句可用于if条件判断语句内4、判断字符串s1和s2是否相等的表达式为______。
()A.s1=s2 B.s1==s2 C.strcmp(s1,s2)==0 D.strcpy(s1,s2)==05、下面关于数组的初始化正确的是______。
()A.char str[]={'a','b','c'} B.char str[2]={'a','b','c'}C.char str[2][3]={{'a','b'},{'e','d'},{'e','f'}} D.char str[3][2]={{‘a’,’b’,’c’},{‘d’,’e’,’f’}} 6、从键盘上输入数据的时候,只有在输入完数据并按下______后,系统才把该行数据存入缓冲区。
()A.空格 B.回车 C.Tab D.空格或回车7、read函数的功能是从输入流中读取______。
()A.一个字符 B.当前字符 C.一行字符 D.指定若干个字符8、对类的构造函数和析构函数描述正确的是______。
()A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载 D.构造函数不能重载,析构函数也不能重载9、从键盘的输入中读入一个值,并赋值给x的语句是______。
(word完整版)C语言程序设计课后习题1-8参考答案
C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。
运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。
数据运算包括算术运算和逻辑运算。
控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。
输出设备正好与输入设备相反,是用来输出结果的部件。
2、简述计算机的工作原理。
答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。
整个过程由控制器进行控制。
3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。
系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。
这类软件一般与具体应用无关,是在系统一级上提供的服务。
系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。
另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。
在操作系统的基础上运行。
4、什么叫软件?说明软件与硬件之间的相互关系。
答:软件是指计算机程序及有关程序的技术文档资料。
两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。
在不太严格的情况下,认为程序就是软件。
硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。
《C语言程序设计》试题含答案
《C语言程序设计》精品课件试题目录(按住CTRL键点击超链)单项选择题 (002)阅读程序题 (018)程序填空题 (039)编写程序题 (070)《C语言程序设计》精品课件制作小组2006年4月一、单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。
本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。
在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。
对于掌握不准的问题,应该通过上机实验来检验。
【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l••• _3d one_half My->book Cpp••• oodbs tart$it line# pow••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
北航1212考试批次《C 程序设计》复习题一-答案
北航1212考试批次《C++程序设计》复习题一一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)1、在面向对象的程序设计中,一切都是围绕着___展开的(B)。
A.语言 B.类 C.数据类型 D.结构2、以下关于类和对象的叙述中,正确的是( D)。
A.类和对象间没有联系 B.一个类的成员函数可以任意被调用C.对象是抽象的,而类是具体实现D.一般只有通过具体的对象才能访问类的成员函数3、关于C++语言和C语言的关系的下列描述中,错误的是( D)。
A.C语言是C++语言的一个子集 B.C++语言对C语言做了些改进C.C++语言与C语言兼容 D.C语言和C++语言都是面向对象的语言4、下列函数中,可以为虚函数的是( D )。
A.自定义的构造函数 B.拷贝构造函数 C.静态成员函数D.析构函数5、在一个被调用函数中,关于return语句使用的描述,错误的是( C )。
A.被调用函数中可以不用return语句; B.被调用函数中可以使用多个return语句;C.被调用函数中,一个return语句可以返回多个值给调用函数;D.被调用函数中,如果有返回值,就一定要有return语句;6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(A)A、数组首地址B、数组的第一个元素值C、数组中全部元素的值D、数组元素的个数7、在以下关于C++语言的注释的叙述中,不正确的是(C )A、C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B、C++编译器在编译一个程序时,将跳过注释,不对其进行处理C、C++编译器在编译一个程序时,可发现注释中的单词拼写错误D、程序中注释的多少不会影响所生成的可执行文件的长度8、下列关于C++函数的叙述中,正确的是(C)A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己9、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:(B)。
北航《C语言程序设计》答案
北航《C语言程序设计》答案```plaintext一、基本概念和语法1. 在C语言中,什么是标识符?答:标识符是由字母、数字和下划线组成的字符序列,用于给变量、函数等命名。
2. C语言的注释有哪几种形式?答:C语言的注释有单行注释(//)和多行注释(/* */)两种形式。
3. 请简要解释一下C语言中的变量声明和定义的区别。
答:变量声明是为变量分配内存空间,告诉编译器该变量的类型和名称;变量定义是在声明的基础上为变量分配初值。
4. C语言中有哪些基本数据类型?请列举并简要介绍。
答:C语言中有int、float、char、double、void等基本数据类型。
- int类型用于表示整数;- float和double类型用于表示浮点数;- char类型用于表示字符;- void类型用于表示无类型。
5. C语言中的运算符有哪些种类?请简要介绍一下算术运算符和逻辑运算符。
答:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
- 算术运算符用于完成基本的算术运算,如加法(+)、减法(-)、乘法(*)、除法(/)等;- 逻辑运算符用于处理逻辑判断,如与(&&)、或(||)、非(!)等。
二、流程控制语句1. C语言中的条件语句有哪些?请简要介绍if语句和switch语句。
答:C语言中的条件语句有if语句和switch语句。
- if语句用于判断条件是否成立,若条件为真,则执行相应的代码;- switch语句用于根据表达式的值选择执行不同的代码块。
2. 循环语句在C语言中有哪几种形式?请简要介绍while循环和for循环。
答:C语言中的循环语句有while循环、do-while循环和for循环。
- while循环用于在指定条件为真的情况下重复执行一段代码;- for循环结构更加灵活,通过初始化、条件和增量表达式来控制循环次数。
三、函数和数组1. C语言中的函数有哪些特点?请简要介绍函数的定义和调用。
北航1212考试批次《C程序设计》复习题二答案.doc
北航1212考试批次《C++程序设计》复习题二一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)1、下面关于类的说明中,有—个语法错误(C )。
class ss{ int data=3;public:int ss(int x=0);~ss (int x );};A. 1B. 2 C・ 3 D. 42、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(B )oA. MAINB. mainC. nameD. function3、假定a是一个只允许同一个源程序文件中所有函数都能使用的全局变量,则其存储类别是(C )。
A. externB. registerC. static D・ auto4、C++语言的跳转语句中,对于break和continue说法正确的是(B )。
A. break语句只应用于循环体中;B. continue语句只应用于循环体中;C.break是无条件跳转语句,continue不是;D.break和continue的跳转范围不够明确,容易产生问题;5、将两个字符串连接起来组成一个字符串时,选用—函数。
(B )。
A. strlen( )B. strcat( )C. strcpy( )D. strcmp()6、下面的哪个保留字不能作为函数的返回类型?( C )A、voidB、intC、newD、long7、关于虚函数的描述中,正确的是(C )A、虚函数是一个static类型的成员函数B、虚函数是一个非成员函数C、基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型8、下面函数的功能是(B )。
void fun(char sl[ ], char s2[ ]) { while(s2++=sl++); }A、字符串比较B、字符串复制C、字符串连接D、字符串反向9、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(A )。
2021年北航《C++程序设计》在线作业一辅导资料
1. 类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,则下列说法正确的是A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象D. 类A和类B中的同名虚函数的返回值类型必须完全一致该题参考选项是:B 满分:4 分2. 执行语句序列int x;cin>>x;if(x>250) coutA. XB. YC. XYD. XX该题参考选项是:C 满分:4 分3. 文件包含中被包含的文件的扩展名( )A. 必须为 .hB. 不能用 .hC. 必须是 .cD. 不一定是 .h该题参考选项是:D 满分:4 分4. 以下说法中正确的是____.A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中该题参考选项是:B 满分:4 分5. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_____.A. publicB. protectedC. privateD. static该题参考选项是:A 满分:4 分6. 对于“int *pa[5];”的描述中,正确的是A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量C. pa [5]表示某个元素的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针该题参考选项是:D 满分:4 分7. 以下叙述中正确的是____.A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C. 在程序中使用内联函数使程序的可读性变差D. 在定义函数时可以在形参表的任何位置给出缺省形参值该题参考选项是:B 满分:4 分8. 以下关于类和对象叙述中,正确的是A. 一般只有通过具体的对象才能访问类的成员函数B. 一个类的成员函数可以任意被调用C. 对象是抽象的,而类是具体实现D. 类和对象间没有联系该题参考选项是:A 满分:4 分9. for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是A. 0B. 5C. 6D. 无数次该题参考选项是:C 满分:4 分10. 以下标识符中不全是C++保留字的是____A. case for intB. default then whileC. bool class longD. goto return char该题参考选项是:B 满分:4 分11. 在下面存储类中, ____对象的可见性与生存期不一致.A. 外部类B. 自动类C. 内部静态类D. 寄存器类该题参考选项是:C 满分:4 分12. 下面四个运算符中,优先级最低的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北航1212考试批次《C++程序设计》复习题一
一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)
1、在面向对象的程序设计中,一切都是围绕着___展开的(B)。
A.语言 B.类 C.数据类型 D.结构
2、以下关于类和对象的叙述中,正确的是( D)。
A.类和对象间没有联系 B.一个类的成员函数可以任意被调用
C.对象是抽象的,而类是具体实现
D.一般只有通过具体的对象才能访问类的成员函数
3、关于C++语言和C语言的关系的下列描述中,错误的是( D)。
A.C语言是C++语言的一个子集 B.C++语言对C语言做了些改进
C.C++语言与C语言兼容 D.C语言和C++语言都是面向对象的语言
4、下列函数中,可以为虚函数的是( D )。
A.自定义的构造函数 B.拷贝构造函数 C.静态成员函数D.析构函数
5、在一个被调用函数中,关于return语句使用的描述,错误的是( C )。
A.被调用函数中可以不用return语句; B.被调用函数中可以使用多个return语句;
C.被调用函数中,一个return语句可以返回多个值给调用函数;
D.被调用函数中,如果有返回值,就一定要有return语句;
6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(A)
A、数组首地址
B、数组的第一个元素值
C、数组中全部元素的值
D、数组元素的个数
7、在以下关于C++语言的注释的叙述中,不正确的是(C )
A、C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示
B、C++编译器在编译一个程序时,将跳过注释,不对其进行处理
C、C++编译器在编译一个程序时,可发现注释中的单词拼写错误
D、程序中注释的多少不会影响所生成的可执行文件的长度
8、下列关于C++函数的叙述中,正确的是(C)
A、每个函数至少要具有一个参数
B、每个函数都必须返回一个值
C、函数在被调用之前必须先声明
D、函数不能自己调用自己
9、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相
加结果,则该成员函数的声明语句为:(B)。
A、AB operator+(AB & a , AB & b)
B、AB operator+(AB & a)
C、operator+(AB a)
D、AB & operator+( )
10、面向对象系统不具有(C)特性。
A、继承性
B、封装性
C、过程性
D、多态性
11、下面四组运算符中,全都不能重载为友元函数的一组是( D )。
A.=,(),[],-> B.[],->,*,++ C.=,(),++,-- D.*,++,--,/
12、动态联编要求类中应有( D )。
A.成员函数 B.内联函数 C.构造函数D.虚函数
13、下列字符中不能构成标识符的是( C )。
A.数字字符 B.大写字母 C.连接符 D.下划线字符
14、下面说法中,正确的是( D )。
A.公有派生类的成员函数可以访问基类的私有成员;
B.私有派生类的成员函数可以访问基类的私有成员;
C.无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员;
D.无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员;
15、对于全局函数 int f(void),与其完全等价的函数原型为(B )。
A.int &f( ) B.const int f( ) C.int f(void ) const D.以上都不是
16、在C++语言中,为了使重载函数具有通用的函数体,应使用(D)。
A.虚函数 B.纯虚函数 C.友元函数D.函数模板
17、编译预处理工作是在___完成的( A )。
A.编译前 B.编译时 C.编译后 D.连接时
18、下列运算符中优先级别最高的是( A )。
A.++ B.?: C.!= D.+=
19、下列说法中,错误的是( C )。
A.带有纯虚函数的类称为抽象类;
B.不能定义抽象类的对象,但可以说明抽象类的指针和引用;
C.不能定义抽象类的对象,也不能说明抽象类的指针和引用;
D.定义抽象类的目的是为整个类族规定一个统一接口形式;
20、为了取代C中带参数的宏,在C++中使用(B )
A、重载函数
B、内联函数
C、递归函数
D、友元函数
二、主观题应用题(本大题共3小题,每题15分,共计45分)
21、请解释面向对象中“封装”的含义。
答:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成“类”,其中的数据和函数都是类的成员。
22、写出下面程序的运行结果。
#include "stdio.h"
int a[]={1,3,5,7,9};
int *p[]={a,a+1,a+2,a+3,a+4};
void main(){
printf("%d\t%d\t%d\n",a[4],*(a+2),*p[1]);
printf("%d\t%d\t%d\n",**(p+1)+a[2],*(p+4)-*(p+0),*(a+3)%a[4]);
}
程序运行结果为:9 5 3
8 4 7
23、写出下面程序运行结果。
#include <iostream.h>
void SB(char ch)
{
switch(ch){
case 'A': case 'a':
cout <<"well!"; break;
case 'B': case 'b':
cout <<"good!"; break;
case 'C': case 'c':
cout <<"pass!"; break;
default:
cout <<"bad!"; break;
}
}
void main() {
char a1='b',a2='C',a3='f';
SB(a1);SB(a2);SB(a3);SB('A');
cout <<endl;
}
程序运行结果为:good!pass!bad!well!
程序设计题(本大题共1小题,每小题25分,共25分)
24、声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。
#include <iostream>
using namespace std;
template<class numtype>//声明一个类模板
class Compare
{public:
Compare(numtype a,numtype b)
{x=a;y=b;}
numtype max()
{return (x>y)?x:y;}
numtype min()
{return (x<y)?x:y;}
private:
numtype x,y;
};
int main()
{Compare<int> cmp1(3,7);
cout<<cmp1.max()<<" is the Maximum of two inteder numbers."<<endl;
cout<<cmp1.min()<<" is the Minimum of two inteder numbers."<<endl<<endl;
Compare<float> cmp2(45.78,93.6);
cout<<cmp2.max()<<" is the Maximum of two float numbers."<<endl;
cout<<cmp2.min()<<" is the Minimum of two float numbers."<<endl<<endl;
Compare<char> cmp3('a','A');
cout<<cmp3.max()<<" is the Maximum of two characters."<<endl;
cout<<cmp3.min()<<" is the Minimum of two characters."<<endl;
return 0;
}。