C++期末考试复习题(理工)
哈理工C 考试题库之4(可直接的打印的).

〖第1题〗『填空』(1分C++中,流对象【1】称为标准输出设备.答案:1. cout〖第2题〗『填空』(1分在面向对象程序设计中,与析构函数相对应的函数称为【1】函数.答案:1. 构造〖第3题〗『填空』(1分已知 a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为【1】.答案:1. 1〖第4题〗『填空』(1分若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是【1】 . c=(a-=(b-5;c=(a%11+(b=3;答案:1. 3〖第5题〗『填空』(1分C++中,预定义算子dec表示【1】进制的输出.答案:1. 十或 10〖第6题〗『填空』(1分若a,b和c均是int型变量,则计算表达式 a=(b=4+(c=2 后,a值为【1】,b值为【2】,c值为【3】.答案:1. 62. 43. 2〖第7题〗『填空』(1分写出表达式 1.234&&5.982 的值是【1】.答案:1. 1〖第8题〗『填空』(1分若有说明:int *p=new int[100],则分配了【1】个字节的内存空间.答案:1. 400〖第9题〗『填空』(1分设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】.for(i=0,j=10;i<=j;i++,j--k=i+j;答案:1. 10〖第10题〗『填空』(1分若有说明:int s=2; int &n=s; 则n称为s的【1】.答案:1. 引用〖第11题〗『填空』(1分设x和y均为int型变量,则以下for循环中的cin语句最多可执行的次数是【1】. for(x=0,y=0;y!=123&&x<3;x++cin>>y;答案:1. 3〖第12题〗『填空』(1分已知 a=10,b=15,c=1,d=2,e=0,则表达式a++&&e++&&c++的值为【1】.答案:1. 0〖第13题〗『填空』(1分int x=2,y=3,z=4; 则表达式x+y&&z的值为【1】.答案:1. 1〖第14题〗『填空』(1分C++中,预定义算子hex表示【1】进制的输出.答案:1. 十六或 15〖第15题〗『填空』(1分用来说明结构体的关键字是【1】.答案:1. struct〖第16题〗『填空』(1分在c++中,标准输入操作是由输入流对象【1】完成的,标准输出操作是由输出流对象【2】完成的(...答案:1. cin2. cout〖第17题〗『填空』(1分int x; x=-3+4%-5*3, 则x的值为【1】.答案:1. 9〖第18题〗『填空』(1分C++语言源程序的基本单位是【1】.答案:1. 函数〖第19题〗『填空』(1分设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++-(++c;后,a的值是【1】.答案:1. 28〖第20题〗『填空』(1分在面向对象程序设计中,基类的构造函数和【1】函数不能被继承.答案:1. 析构〖第1题〗『判断』(1分数组它不做下标是否越界的判断,在编译和连接过程中都不会出现错误提示.答案:Y〖第2题〗『判断』(1分字符串复制函数strcpy (字符数组1, 字符数组2,字符数组1的长度应大于等于字符数组2的长度.答案:Y〖第3题〗『判断』(1分字符串常量是用一对双引号括起来的字符序列,C++规定以字符'\0'作为字符串的结束标志.答案:Y〖第4题〗『判断』(1分在C++中,整型数据在内存中占2个字节.答案:N〖第5题〗『判断』(1分若有 #define S(a,b a*b 则语句 area=S(3,2; area的值为6.答案:Y〖第6题〗『判断』(1分关闭文件可以使用成员函数fclose(;答案:N〖第7题〗『判断』(1分初值个数多于定义的数组元素个数时,会产生编译错误.答案:Y〖第8题〗『判断』(1分字符常量初始化.char ch[7]={'s ' , 't ' , 'u ', 'd ', 'e ', 'n ', ' t' } ;答案:Y〖第9题〗『判断』(1分结构体就是一个可以包含不同数据类型的一个结构.答案:Y〖第10题〗『判断』(1分用于字符串复制的函数是strcat(答案:N〖第11题〗『判断』(1分如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准.答案:Y〖第12题〗『判断』(1分continue语句用于 while、do-while、for构成的循环中,常与if条件语句一起使用,用来加速循环.答案:Y〖第13题〗『判断』(1分实参与形参值传递是双向的传递.答案:N〖第14题〗『判断』(1分x=5>2是错误的写法答案:N〖第15题〗『判断』(1分函数调用时,出现在函数名后括号中的参数是实参.答案:Y〖第16题〗『判断』(1分C++语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y〖第17题〗『判断』(1分指针函数是指函数的返回值为指针的函数.答案:Y〖第18题〗『判断』(1分数组只有一个下标,称为一维数组.答案:Y〖第19题〗『判断』(1分定义一个文件流对象,同时以输入和二进制方式打开d盘du文件夹下的abc.dat文件方法是:fstrea... 答案:N〖第20题〗『判断』(1分"<<"是预定义的插入符答案:Y〖第1题〗『单项选择』(1分以下对C++语言函数的描述中,正确的是(.A:C++程序必须由一个或一个以上的函数组成B:C函数既可以嵌套定义又可以递归调用C:函数必须有返回值,否则不能使用函数D:C++程序中有调用关系的所有函数必须放在同一个程序文件中答案:A〖第2题〗『单项选择』(1分下列说法不正确的是(.A:主函数main中定义的变量在整个文件或程序中有效B:不同函数中,可以使用相同名字的变量C:形式参数是局部变量D:在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效答案:A〖第3题〗『单项选择』(1分下列语句中,不正确的是(.A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C〖第4题〗『单项选择』(1分下列程序段的输出结果为(.#include void main({ int a=7,b=9,t; t=a*=a>b?a:b; cout<A:7B:9C:63D:49答案:C〖第5题〗『单项选择』(1分以下叙述中正确的是(.A:全局变量的作用域一定比局部变量的作用域范围大B:静态(static类别变量的生存期贯穿于整个程序的运行期间C:函数的形参都属于全局变量D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B〖第6题〗『单项选择』(1分下列程序段的输出结果为(.#include void main({ float x=213.82631f; cout<<(intx;}A:213.82B:213.83C:213D:214答案:C〖第7题〗『单项选择』(1分若i为整型变量,则以下循环执行次数是(.for(i=2;i==0; cout<A:无限次B:0次C:1次D:2次答案:B〖第8题〗『单项选择』(1分以下描述中正确的是(.A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式后面不能写分号C:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假"的操作D:do-while 循环中,根据情况可以省略 while答案:C〖第9题〗『单项选择』(1分以下定义语句中,错误的是(.A:int a[]={1,2};B:char *a[3];C:char s[10]="test";D:int n=5,a[n];答案:D〖第10题〗『单项选择』(1分执行下列语句后变量x和y的值是(.y=10;x=y++;A:x=10,y=10B:x=11,y=11C:x=10,y=11D:x=11,y=10答案:C〖第11题〗『单项选择』(1分若有下列定义,则对a8.3同底数幂的除法A:*(p+5B:**pC:*(a+2D:*&a[5]答案:C〖第12题〗『单项选择』(1分以下程序的输出结果是七(.#include void main({int i,j,k,a=3,b=2;i=(--a==b++?--a:++b;j=a++;k=b;c... A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D〖第13题〗『单项选择』(1分在定义构造数据类型时,不能(.A:说明变量B:说明存储类型C:初始化D:末尾不写分号答案:D〖第14题〗『单项选择』(1分判断char型变量cl是否为小写字母的正确表达式是(. A:a'<=cl<='z'B:(cl>=a&&(cl<=zC:('a'>=cl||('z'<=clD:(cl>='a'&&(cl<='z'答案:D〖第15题〗『单项选择』(1分以下选项中,与k=n++完全等价的表达式是(.A:k=n,n=n+1B:n=n+1,k=nC:k=++nD:k+=n+1答案:A〖第16题〗『单项选择』(1分下列运算符中是C++语言关系运算符的是(.A:+B:!C:&D:!=答案:D〖第17题〗『单项选择』(1分执行下列语句后的输出为(.int j=-1;if(j<=1 cout<<"****"<else cout<<"%%%%"<A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A〖第18题〗『单项选择』(1分函数重载是指(.A:两个以上的函数取相同的函数名,但形参的个数或类型不同B:两个以上的函数取相同的名字和相同的参数个数,但形参的类型可以不同C:两个以上的函数名字不同,但形参的个数或类型相同D:两个以上的函数名字、参数的个数和类型都相同答案:A〖第19题〗『单项选择』(1分如果某类是从另一个类继承来的,对象释放时析构函数的调用顺序是(.A:不调用基类的析构函数B:先调用基类的析构函数,再调用派生类的析构函数C:先调用派生类的析构函数,再调用基类的析构函数D:不调用派生类的析构函数答案:C〖第20题〗『单项选择』(1分char str[10]="China";数组元素个数为(.A:5B:6C:9D:10答案:D〖第21题〗『单项选择』(1分设有定义: double array[10]; 表达式 sizeof(array/sizeof(array[0]的结果是(. A:array数组首地址B:array数组中元素个数C:array数组中每个元素所占的字节数D:array数组占的总字节数答案:B〖第22题〗『单项选择』(1分C++语言中,double类型数据占(.A:1个字节B:2个字节C:4个字节D:8个字节答案:D〖第23题〗『单项选择』(1分在以下给出的表达式中,与 do--while(E语句中的(E不等价的表达式是(.A:(!E==0B:(E>0||E<0C:(E==0D:(E!=0答案:C〖第24题〗『单项选择』(1分若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(.A:p=&x[i];B:p=x;C:p=x[i];D:p=&(x+i答案:A〖第25题〗『单项选择』(1分如果a=1,b=2,c=3,d=4,执行表达式 a>b?a:c 后的结果是 (. A:1B:2C:3D:4答案:C〖第26题〗『单项选择』(1分在C++语言的函数中,下列正确的说法是(.A:必须有形参B:形参必须是变量名C:可以有也可以没有形参D:数组名不能作形参答案:C〖第27题〗『单项选择』(1分数学关系x>3且x<=10,写成C++语言表达式是(.A:x>3 & x<=10B:x>3 && x<=10C:x>3 || x<=10D:3答案:B〖第28题〗『单项选择』(1分一个C++语言程序是由(.A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B〖第29题〗『单项选择』(1分变量p为指针变量,若p=&a,下列说法不正确的是(.A:&*p==&aB:*&a==aD:*(p++==a++答案:D〖第30题〗『单项选择』(1分下列叙述中正确的是(.A:C++语言编译时不检查语法B:C++语言的子程序有过程和函数两种C:C++语言的函数可以嵌套定义D:C++语言默认的函数都是外部函数答案:D〖第1题〗『程序填空』(8分/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:数组名作为函数参数,求平均成绩。
C期末考试复习题理工

一、单项选择题 ( 本大题共 10 小题,每小题 2 分,共 20 分)1. 在C++中,函数原型不能标识(D )A. 函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能 2. 在C++程序中,对象之间的相互通信通过(B )A. 继承实现B.调用成员函数实现C.封装实现D.函数重载实现3. 对于任意一个类,析构函数的个数最多为 (B ) 5. 友元关系不能 (A ) A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f ’,ios::a pp | ios::b in ary)?的功能是建立流对象f,试图打开文件 并 与之连接,并且 (A )将文件写指针定位于文件尾;若文件不存在,建立一个新文件7.下面说法正确的是 (B )A. 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B. 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C. 类的内联函数必须在类体内定义D. 类的内联函数必须在类体外通过加关键字 inline定义 以用 的形式访问派生类对象P 的基类成员a ,其中a 是(D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 ( C)A. 派生类的对象可以赋给基类的对象B. 派生类的对象可以初始化基类的引用的指针A.若文件存在,B. 若文件存在, 将其置为空文件;若文件不存在,打开失败C. 若文件存在, 将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在, 打开失败;若文件不存在,建立一个新文件C. 派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类于类定义class A{ public:virtual void func1( ){ } void func2( ){ } }?class B:public A{public:void func1( ){cout<< 〃class B func 1 〃<<end1?}virtual void func2( ){cout<< “ class B func 2 〃<<end1?}}?面正确的叙述是(C )A. A::func2( ) 和B::func1( ) 都是虚函数B. A::func2( ) 和B::func1( ) 都不是虚函C. B::func1( ) 是虚函数,而A::func2( ) 不是虚函数D. B::func1( ) 不是虚函数,而A::func2( ) 是虚函数第二部分非选择题(共80 分)二、填空题( 本大题共10 小题,每小题 2 分,共20 分)11.定义类的动态对象数组时,系统只能够自动调用该类的无参构造函数对其进行初始化。
c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
浙江理工大学04-05级c语言期末试卷b卷(含答案)

浙江理工大学04-05级c语言期末试卷b卷(含答案)浙江理工大学2004/2005学年第二学期期末考试BC程序设计试题一、判断题(判断下列各小题,正确的在题后括号内打"√",错的打"×"。
每小题1分,共10分)1. 结构体变量可以被整体赋值.2. 字符型数组中可以存放字符串3. 可以对整型数组进行整体输入、输出4. 在C语言程序中,在函数内部定义的变量称为静态局部变量。
5. 语句“b=+3;”和“b+=3;”运行后的结果是不一样的。
6.…\f?是不正确的字符常量。
7. 运算符“+”不能作为单目运算符。
8. (a*x*x+b+c)/(2*a)是合法的C语言表达式。
9.表达式!!3的值是1。
10.表达式~(2<<1)的值是-5。
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2分,共20分)1.在C语言中,不正确的unsigned char类型的常数是________A 32768B 0C 037D 0xDF2.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______A c=b=a;B (a=c)‖(b=c);C (a=c)&(b=c);D a=c=b;3.在C语言类型中,int ,char, short等类型的长度是_________A.固定的B.由用户自己定义C.任意的D.与机器字长有关4.以下程序的输出结果是________main( ){int a= -1,b=1,k;if((++a<0) | | ! (b-- <=0))printf("%d-- %d\n",a,b);elseprintf("%d-- %d\n",b,a);}A -1--1B 0--1C 1--0D 0--05.设有程序段: t=6;a=7;b=8; if(a=b)t=a;,这段程序执行后,t的结果是______A. 6B.7C.8D.06.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为___________A 4B 3C 2D 17.若a为二维数组,它有m列,则a[i][j]在数组中的位置是_________A. i*m+jB. j*m+iC. i*m+j-1D. i*m+j+18.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是____A 1B 0C -1D 29.下面程序段不是死循环的是_____________A.int j=100;while(1){j=j%100+2;if(j>100)break;}B.for( ; ; );C.int k=0; do{ ++k;}while(k>=0);D.int s=36; while(s);--s;10.下列表达式中,错误的是______.A.2>1 ? a:bB.ijC.4.0%++2.0D.x*=y+8三、程序填空题(阅读以下程序说明和相应程序(段),在每小题提供的若干可选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
数据结构c语言期末考试试题及答案

数据结构c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于创建链表节点?A. mallocB. callocC. reallocD. free答案:A3. 如果一个链表的头指针为NULL,这意味着什么?A. 链表为空A. 链表已满C. 链表正在使用中D. 链表已损坏答案:A4. 在C语言中,以下哪个数据结构允许快速随机访问?A. 链表B. 数组C. 栈D. 队列5. 在二叉树中,以下哪个术语描述了没有子节点的节点?A. 根节点B. 叶节点C. 内部节点D. 父节点答案:B6. 以下哪个算法用于在二叉搜索树中查找一个元素?A. 深度优先搜索B. 广度优先搜索C. 插入排序D. 二分查找答案:D7. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 以下哪个选项是正确的递归函数定义?A. int fact(int n) { if (n > 1) return n * fact(n-1); else return 1; }B. int fact(int n) { if (n > 1) return n * fact(n); else return 1; }C. int fact(int n) { if (n > 1) return n * fact(n+1); else return 1; }D. int fact(int n) { if (n > 1) return n; else return 1; }9. 在C语言中,以下哪个函数用于释放动态分配的内存?A. mallocB. callocC. reallocD. free答案:D10. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. &答案:C二、填空题(每题2分,共20分)1. 在C语言中,结构体的成员可以通过其结构体变量名和______访问。
北理c语言期末考试试题及答案

北理c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. stringC. floatD. double答案:A2. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ::5. C语言中,用于声明一个函数的关键字是?A. functionB. defC. voidD. int答案:C6. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!D. 'Hello, World!'答案:A7. C语言中,用于执行循环的关键字是?A. loopB. repeatC. whileD. do答案:C8. 下列哪个选项是C语言中的正确注释?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A9. C语言中,用于定义一个枚举类型的关键字是?B. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[] = {1, 2, 3, 4, 5};D. int arr[5] = {1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。
C语言期末考试题库

本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内。
输入格式:输入在一行中给出2个正整数A和B。
输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 12.程序每次读入一个正3位数,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
比如输入700,输出应该是7。
输入格式:每个测试是一个3位的正整数。
输出格式:输出按位逆序的数。
输入样例:123输出样例:3213.模拟交通警察的雷达测速仪。
输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。
输入格式:输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
输出格式:在一行中输出测速仪显示结果,格式为:“Speed: V - S”,其中V是车速,S或者是Speeding、或者是OK。
输入样例1:40输出样例1:Speed: 40 - OK输入样例2:75输出样例2:Speed: 75 - Speeding中国有句俗语叫“三天打鱼两天晒网”。
假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出1个不超过1000的正整数N。
输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。
输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 345.三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。
要求找出这个不一样的球。
输入格式:输入在一行中给出3个正整数,顺序对应球A、B、C的重量。
输出格式:在一行中输出唯一的那个不一样的球。
河南理工大学C++程序设计期末考试程序设计题及复习资料

河南理⼯⼤学C++程序设计期末考试程序设计题及复习资料河南理⼯⼤学C++程序设计期末考试复习题(计算机1505张诚华制作)1、⾯向过程就是分析出解决问题所需要的步骤,然后⽤函数把这些步骤⼀步⼀步实现,使⽤的时候⼀个⼀个依次调⽤就可以了。
2、⾯向对象是把构成问题事务分解成各个对象,建⽴对象的⽬的不是为了完成⼀个步骤,⽽是为了描叙某个事物在整个解决问题的步骤中的⾏为。
3、泛型程序设计(Generic programming):可以被很多不同的类型的对象所重⽤。
⽐那些直接使⽤Object变量,然后强制类型的转换的代码具有更好的安全性和可读性。
4、泛型类,就是指具有⼀个或者多个类型变量,也就是说这个类适应这⼏种类型。
使⽤类型变量T,⽤<>括起来,放在类名后⾯。
这个泛型可以有多个类型变量,如,可以使⽤类定义的类型变量指定类中属性和⽅法的类型声明语法:public class ClassName {...};5、泛型⽅法既可以在普通类中,也可以在泛型类中,定义⽅式是在⽅法名前加 T,说明该⽅法是泛型⽅法class ArrayAlg{public static T getA (T a){//⽅法体;return a;} };以下习题好好做⼀遍1.打印如下形式的乘法⼝诀表* 1 2 3 4 5 6 7 8 91 12345678 92 2 4 6 8 10 12 14 16 183 3 6 9 12 15 18 21 24 274 4 8 12 16 20 24 28 32 365 5 10 15 20 25 30 35 40 456 6 12 18 24 30 36 42 48 547 7 14 21 28 35 42 49 56 638 8 16 24 32 40 48 56 64 729 9 18 27 36 45 54 63 72 81// 乘法⼝诀表.cpp : Defines the entry point for the console application. //Code: #include "stdafx.h"#includeusing namespace std;void mymultable();int main(){mymultable();return 0;}void mymultable(){int i, j, um;cout<<"*";for( i = 1; i< 10; i++){cout<<"\t"<}for(i = 1; i< 10; i++){cout<<"\n"<for(j = 1 ; j < 10 ; j++){cout<<"\t"<}}cout<<"\n";}2.斐波那契数列第⼀项和第⼆项都是1,此后各项满⾜F(n)=F(n-1)+F(n-2),编写程序,输⼊整数n,输出斐波那契数列的第n项// 斐波那契数列.cpp : Defines the entry point for the console application.////Code:#include "stdafx.h"#include#include#includeusing namespace std;void myfn();int main(){myfn();return 0;}void myfn(){int i , n;cin>>n;//输⼊数组⼤⼩int *p=(int *)calloc(n , sizeof(int));//内存空间分配长度为n的动态数组,⽤p指向⾸地址p[0]=p[1] = 1;if(n== 1 || n==2){cout<<"斐波那契额数列的第"<}else{for(i = 2; i < n; i++){p[i] = p[i-2] + p[i-1];}cout<<"斐波那契额数列的第"<}cout<<"\n";}3.实现⼀个学⽣信息处理程序,输⼊:姓名,年龄,学号(整数),第⼀学年的平均成绩,第⼆学年的平均成绩,第三学年的平均成绩,第四学年的平均成绩。
重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计c期末考试资料21.以下程序的输出结果是__1____。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}2. 有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是__2+4+1=7____。
在所给的程序中,pa指向二维数组首地址a,接着执行下面的for 循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
3. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是_20___当数组定义后,系统就为其分配内存空间,不论其中有没有内容。
本题虽然只给数组x 赋了3个初值,但系统仍为数组x分配了10个内存空间。
所以数组x在内存中所占字节数为2*10=20。
4. 已有定义:int i,a[10],*p;,则合法的赋值语句是p=a+2.(a+2是a[2]的地址。
)5.ox开头是十六进制。
O开头是八进制。
Int型的范围是-32768~32768.6. 设有如下枚举类型定义enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为___102这个枚举中共有5个元素,前三个已有明确的赋值,而COBOL和Fortran没有明确的赋值,枚举的语法规定当枚举元素没有赋值时,其值为其前一个元素的值加一,所以COBOL的值为101,故Fortran的值应为102。
c期末考试题及答案

c期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C2. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的循环语句?A. forB. whileC. do-whileD. switch答案:D4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. C语言中,用于定义一个函数的关键字是?A. functionB. defineC. defD. void答案:D6. 下列哪个选项是C语言中的文件操作函数?A. printfB. scanfC. fopenD. fclose答案:C7. 在C语言中,哪个关键字用于声明一个全局变量?A. externB. staticC. autoD. register答案:A8. 下列哪个选项不是C语言中的逻辑运算符?A. &&B. ||C. =D. !答案:C9. C语言中,用于数组定义的关键字是?A. arrayB. listC. vectorD. []答案:D10. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putsD. getchar答案:C二、填空题(每题3分,共15分)1. 在C语言中,______关键字用于定义一个指针。
答案:*2. C语言中,______函数用于计算字符串的长度。
答案:strlen3. ______关键字用于在C语言中定义一个二维数组。
答案:[ ][ ]4. C语言中,______函数用于将字符串从源字符串复制到目标字符串。
答案:strcpy5. 在C语言中,______运算符用于比较两个值是否相等。
答案:==三、简答题(每题5分,共10分)1. 简述C语言中函数的调用过程。
C语言题库(判断)河南工业大学 河工大 c语言期末考试题库

~~~5
int s=36;while(s) --s;构成的是死循环。
~n
~~~5
程序段 int =0;while(t=1){printf("%d\n",t);}在运行时,printf语句的执行次数是0次。
~n
~~~5
程序 #include <stdio.h> int main() {int x=23;。do {printf("%d",x--); while(!x); }运行时的输出结果是23
~y
~~~7
所谓动态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。
~n
~~~7
静态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。
~n
~~~7
C语言中,如果用指针变量作实参调用函数,先使指针变量有确定值,指向一个已定义的单元。
~y
~~~7
C语言中,函数的调用只可以得到一个返回值,而运用指针作函数参数可以得到多个变化的值。
~n
~~~7
用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&。
~y
~~~7
用scanf函数向已定义的变量中输入数据时,当遇非法输入时,该数据输入结束。
~y
~~~7
有关输入输出函数的使用,putchar(getchar( ));语句是错误(正确)的。
~n
~~~8
~~~1
一般而言,我们把用高级语言编写的程序称为目标程序。
~n
~~~1
在生成可执行程序前,应该先编译再连结。
~y
~~~1
C语言程序设计期末考试试题(江西理工)1

二、填空题
1. 2. 数学式 所对应的c语言表达式为pow(x, __(1)__)。 已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) G 的编码。 3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768 ~32767,则该变量在内存中占_____(3)_2____个字节。 4. 已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执 行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)_0__ 。 5. 已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数 据使a中的值为3,则正确的输入应是 _____(5)_a=3____ 。 6. C语言源程序中用十六进制表示整型常数必须以___(6)_OX__开 头。 7. 如果一个循环结构的循环体至少要执行一遍,则最适合描述该循 环结构的语句是do while___(7)___语句。 8. 若要声明一个无符号整型变量x,则正确的声明形式是" _unsigned__(8)___ int x;"。 9. 已有声明"int n=12;double a;",则执行语句"a=n/=5;"后,a的 值为___(9)2.000000___。 10. 若有数据类型定义如下: a) union A{float a1;float a2;}; b) 则表达式sizeof(union A)的值为___(10)___。 11. C语言源程序的扩展名为.c,可执行文件的扩展名为 ______(11)__.exe_______。 12. 数组 int a[4][5];共定义了__(12)__20__个数组元素。 13. 若char str[7]={“cake”};int k=strlen(str);则k的值为 ______(13)_5_____。 14. C语言中,用_____(14)__include___ 关键字来包含如stdio.h 之类的头文件。 15. 函数的返回值是通过函数中的_________(15)_return______语 句来获得的。 16. 静态局部变量应该用关键字_____(16)__static_____来进行声 明。 17. 对于不带返回值的函数,应当用关键字 ________(17)_void_____定义函数。
重庆理工大学c语言上机考试复习题 (1)

1、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。
求e 的近似值,精度要求为10-6。
2、读入10个数,计算它们的和、积、平方和及和的平方。
3、计算并输出1!,2!,3!,4!,……,35!。
4、输入20个数,统计其中正、负和零的个数。
5、利用公式:)12)(12()2(......756653443*12222+-⨯⨯⨯⨯⨯⨯⨯⨯⨯=n n n π计算π的值(取前100项)。
6、利用公式:)12(1)1(......9171513114+⨯-++-+-=n n π计算π的值(省略的项都<10-5)。
7、编程计算0*1+2*3+4*5+……+100*101+101*102之和。
8、编程计算5/6+6/7+7/8+……+99/100+5!+6!+7!之和。
9、编程计算1!-2!+3!-4!+5!-6!之和。
10、编程计算1/(1+2)+2/(2+3)+3/(3+4)+……100/(100+101)之和。
11、编程计算(0+1)/1+(2+3)/3+(3+4)/4+……(99+100)/100之和。
12、求100 ~ 200中能被3或7整除的自然数。
13、统计77到210中偶数的个数。
14、统计7到91中能被3整除的奇数的个数。
15、7到91中有多少能既能被2又能被3整除的数。
16、显示7到100中所有不能被5整除的数,要求每行显示5个数。
17、找出1000之内的所有完数(完数是指:该数的各因子之和正好等于该数本身,例如:6的因子是1,2,3,而6 = 1+2+3,故6是完数)。
18、求2~1000中的所有亲密数对(亲密数对是指:如果a 的因子和等于b ,b 的因子和等于a ,则(a ,b )就是亲密数对)。
19、100元钱买100只鸡,已知公鸡3元1只,母鸡1元1只,小鸡1元3只,编程输出总的方案数以及每种方案中公鸡、母鸡、小鸡的数量。
20、100匹马驮100担货,大马驮3担,中马驮2担,小马驮0.5担,编程求大、中、小马的数量。
c语言程序设计

大连理工大学网络教育学院2017年秋《C/C++语言程序设计》期末考试复习题☆注意事项:本复习题满分共:400分。
一、单选题1、下列while循环的执行次数是( A )。
while(int i=0) i++;A.0B.1C.5D.无限2、下列哪个函数不是类的成员函数。
( D )A.析构函数B.构造函数C.拷贝构造函数D.友元函数3、在执行int a[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是( B )。
A.4B.1C.2D.54、C++中用3个保留字实现异常处理,除了throw和catch外,还有( C )。
A.ifB.classC.tryD.return5、下面表达式中错误的是( C )。
A.b=a++B.a/=2C.a+b=5D.a=5,b=6,c=76、在定义int a[5];之后,对a的引用正确的是( D )。
A.a[5]B.a[4.3]C.a(5)D.a[0]7、类中将关键字( A )写在函数体之前函数头之后,说明该函数是一个常成员函数(或const成员函数),可以防止函数改变数据成员的值。
A.constB.staticC.friendD.void8、设int n=10,i=3;则赋值运算n%=i+1执行后,n的值是( C )。
A.0B.3C.2D.19、C++中用3个保留字实现异常处理,除了try和catch外,还有(C )。
A.ifB.classC.throwD.return10、设有定义int x; double v;,则10+x+v值的数据类型是(B )。
A.intB.doubleC.charD.不确定11、对于while、do…while循环结果说法正确的是( C)。
A.只是表达形式不同B.while结构中的语句至少执行一次C.do…while结构中的语句至少执行一次D.条件成立时,他们有可能一次也不执行12、下列运算符中优先级最高的为( A)。
A.!B.%C.-=D.&&13、有关构造函数的说法错误的是(D )。
浙江理工大学c语言期末考试模拟试卷

C程序设计期末模拟试题一、单选题每小题2分,共20分1、在C语言中,正确的int类型的常数是________;A-2U B059 C3a D0xAF2、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是________;Aint Bchar Cdouble Dfloat3、假设定义变量如下:int x;float y;以下输入语句中________是正确的;A scanf“%f%f”,&y,&x;Bscanf“%f%d”, y, x;Cscanf“%f%d”,&y,&x;Dscanf“%%2d”,&y,&x;4、已知:int a,p=&a; 则为了得到变量a的值,下列错误的表达式为________;Ap0 Bp C&a D&a5、在C语言中,引用数组元素时,其数组下标的数据类型允许是________;A整型常量B整型表达式C整型常量或整型表达式D任何类型的表达式6、以下能对外部的二维数组a进行正确初始化的语句是________;Aint a2={{1,0,1},{5,2,3}}; Bint a3={{1,2,3},{4,5,6}};Cint a24={{1,2,3},{4,5},{6}}; Dint a3={{1,0,1},{ },{1,1}};7、设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________;if x=y printf" x is equal to y.";A语法错B不能判断x和y是否相等C编译出错D能判断x和y是否相等8、若用数组名作为函数调用时的参数,则实际上传递给形参的是________;A数组元素的个数B数组的第一个元素值C数组中全部元素的值D数组首地址9、若有定义char x = "12345"; char y ={ '1', '2', '3', '4', '5'};则;Ax数组与y数组的长度相同Bx数组长度大于y的长度Cx 数组长度小于y数组长度Dx数组等价于y 数组10、以下正确的函数说明是________;Afloat addint x,y Bint addint x;int yCchar add Dint addchar x二、程序填空题阅读以下程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确的答案;每小题2分,共30分1、程序说明求s=1-1/2+1/3-1/4+…+1/19-1/20的值;运行示例:sum=程序include <>void main{int i;11 fh=1;12for i=2;i<=20;i++{13s= 14}printf 15 _,s;}供选择的答案11Afloat s; Bfloat s;int Cfloat s, Dint s,12As= 0; Bs=1; Cs=; Ds=2;13Afh=-1; Bfh=fh/i; Cfh=1/i; D fh=-fh;14A s+fh/i; Bs+fh Cfh/i D s=s+1/i;15A "sum=%f\n" B "sum=%d\n"C "s=%f\n"D "s=%s\n"2、程序说明以下函数用于找出一个2×4矩阵中的最大元素值;程序include <>void main{int max_numint str4;int str4={{-1,4,3,5},{7,8,9,0}};printf"max is %d\n", 16 ;}int max_numint str 4{int i,j,max;max= 17 ;fori=0; 18 ;i++forj=0; 19 ;j++if strij>max max= 20 ;returnmax;}供选择的答案16A max_numstr4 B max_numstrC max_numD max_numint str417Astr B str00 C0 Dstr418A i<2 Bi<=2 Ci=2 D i>219Aj<=4 Bj>4 C j<=3 D j=320A strj B strj C stri D strij3、程序说明输入a和b两个整数,按先大后小的顺序输出a和b,用函数处理,并用指针类型的数据作函数参数;程序include <>void main{ void swapint p1,int p2;int a,b;21scanf"%d,%d",&a,&b;22 /把变量a、b的地址分别赋给pointer_1、pointer_2 /if a<b swap 23 ;printf"a=%d,b=%d\n\n",a,b;}void swapint p1,int p2{ int temp;temp= 2425p2=temp;}供选择的答案21A int pointer_1, pointer_2; B int pointer_1, pointer_2;C float pointer_1, pointer_2;D float pointer_1, pointer_2;22A pointer_1=a; pointer_2=b; B a = pointer_1; b = pointer_2;C pointer_1=&a; pointer_2=&b;D a =& pointer_1; b =& pointer_2; 23A a,b B pointer_1,pointer_2Cp1,p2 D pointer_1, pointer_224Aa Bp1 C p2 D p125A a=b B p1=p2 C p2 = p1 D p1=p2三、程序阅读题阅读下列程序说明和程序,在每小题提供的若干参考答案中,挑选一个正确答案,每小题2分,共20分1程序include<>void main{char c;scanf"%c",&c;if '0'<= c<='9'printf"Number";else if'A'<= c<='Z'printf"UP";else if'a'<= c<='z'printf"Low";elseprintf"Other";}26当输入字符A并按下回车后,程序输出A NumberB UPC LowD Other27当输入字符z并按下回车后,程序输出A NumberB UPC LowD Other2程序include<>int dint a,int b{int c;c=a+b;return c;}void printint t{printf"z=%d\n",t;}void main{int x,y,z;void printint t;x=5,y=10;z=dx,y;printz;z=dx,z;z=dz,dz,z;printz;}28程序运行时第一行输出A z=5B z=10C z=15D z=20 29程序运行时第二行输出A z=15B z=20C z=25D z=30 30程序运行时第二行输出A z=20B z=30C z=40D z=603程序include<>define N 81void funchar s{ char c=s;for;s+1;s++s=s+1;s=c;s+1='\0';}void main{ char aN;getsa;funa;putsa;}31程序运行时输入”abc”输出A abcB acbC bac Dbca 32程序运行时输入”good”输出Agood Boodg C dogo D doog4程序include<>void increment{static int x=0;x+=1;printf"%d\n",x;}void main{increment;increment;}33程序运行时第一行输出A 0B 1C 2 D334程序运行时第二行输出A 0B 1C 2 D335如果将程序中static int x=0;改成int x=0;程序运行时第二行输出A 0B 1C 2 D3四、编程题每题10分,共30分1.编一程序,计算s=sin1+cos2+sin3+...+sin99+cos100,输出s;2. 计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税;例如,小张月收入为6000元,则她需缴税6000-5000×20%+5000-800×3%=326元;编程,要求输入个人应发工资,计算并输出个人所得税;3.计算机期末考试结束后,班长要统计班里所有同学共30名同学的计算机成绩,请编写一个程序,能录入30名同学成绩,并将这些成绩以及平均值以下面的格式保存到d:\中;X234401X234402X234403平均值为C程序设计模拟试题--yhr参考答案与评分标准一、单选题本题共20分,每小题2分三、程序阅读题本题共20分,每小题2分四、编程题本题共30分,每小题10分。
厦门理工-数据结构c语言版期末考试复习试题

厦门理工《数据结构与算法》复习题一、选择题。
1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。
6.以下说法正确的是 D 。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。
s =0;for( I =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;9.下面程序段的时间复杂度是O(n*m) 。
for( i =0; i<n; i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段的时间复杂度是O(log3n) 。
i =0;while(i<=n)i = i * 3;11.在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
厦门理工学院c语言程序设计期末试题ABC(含答案) 考试卷子

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。
A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。
理工c级考试题及答案

理工c级考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是二进制数1010对应的十进制数?A. 8B. 10C. 12D. 14答案:B2. 一个完整的计算机系统包括硬件系统和软件系统,以下哪个不是硬件系统的一部分?A. 中央处理器B. 操作系统C. 存储器D. 输入/输出设备答案:B3. 在电路中,电压、电流和电阻之间的关系遵循哪个定律?A. 欧姆定律B. 基尔霍夫定律C. 法拉第电磁感应定律D. 牛顿第二定律答案:A4. 以下哪个选项是正确的C语言数据类型?A. intB. stringC. boolD. list答案:A5. 在数据库管理系统中,用于查询数据的语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 以下哪个选项是正确的HTML标签?A. `<p>`B. `<paragraph>`C. `<text>`D. `<heading>`答案:A7. 在计算机编程中,以下哪个选项是面向对象编程的基本概念?A. 过程B. 函数C. 类D. 变量答案:C8. 以下哪个选项是正确的二进制逻辑运算符?A. ANDB. ORC. XORD. ALL OF THE ABOVE答案:D9. 以下哪个选项是正确的计算机存储单位?A. bitB. byteC. kilobyteD. ALL OF THE ABOVE答案:D10. 以下哪个选项是正确的网络协议?A. HTTPB. FTPC. SMTPD. ALL OF THE ABOVE答案:D二、填空题(每题2分,共20分)1. 在计算机系统中,CPU的中文名称是______。
答案:中央处理器2. 计算机硬件的五大组成部分包括输入设备、输出设备、存储器、______和外部设备。
答案:中央处理器3. 在C语言中,用于定义一个整型变量的关键字是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(本大题共10 小题,每小题2 分,共20 分)1.在C++中,函数原型不能标识(D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B ) A.0 B.1 C.2 D.35.友元关系不能(A )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且(A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是(B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline 定义//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销8.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是(D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员//函数可以调用成员,对象不可以调用9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针//派生类的对象是不能访问基类的任何成员10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<″class B func 1″<<end1;}virtual void func2( ){cout<<″class B func 2″<<end1;}};下面正确的叙述是(C )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数第二部分非选择题(共80 分)二、填空题(本大题共10 小题,每小题2 分,共20 分)11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初始化。
12.在C++程序设计中,建立继承关系倒挂的树应使用____单_一____继承。
13.表达式cout<<end1 还可表示为____cout<<`\n`_____。
14.基类的公有成员在派生类中的访问权限由___访问控制___ __决定。
15.C++支持的两种多态性分别是__编译时的_(操作重载)_静态_____多态性和_运行时的(虚函数)___动态_____多态性。
16.C++中语句const char * const p=″hello″;所定义的指针p 和它所指的内容都不能被__改变(重新赋值)____。
17.假定AB 为一个类,则语句AB(AB&x);为该类_____拷贝____构造函数的原型说明。
18.将关键字const 写在成员函数的____函数头_____和____函数体_____之间时,所修饰的是this 指针。
19.在C++中,访问一个对象的成员所用的运算符是__·___,访问一个指针所指向的对象的成员所用的运算符是__>___。
20.派生类从一个或多个以前定义的该类的__基类__一、单项选择题(每题2分,共20分)1. 派生类对象可访问基类中的什么成员( A)A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员2. 定义析构函数时,应该注意( C )A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句3. 如果类A被说明成类B的友元,则( D )。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元4. 应在下列程序划线处填入的正确语句是( C )#includeclass Base{ public:void fun(){cout<<"Base::fun"<<endl;}};class Derived:public Base{ void fun(){_____________ // 显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A.fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();5. 面向对象程序设计将数据与( A )放在一起,做为一个相互依存、不可分割的整体来处理。
A. 对数据的操作B. 信息C. 数据隐藏D. 数据抽象6. 在类中声明转换函数时不能指定( A )。
A. 参数B. 访问权限C. 操作D. 标识符7. 在派生类中重新定义虚函数时必须在( A )方面与基类保持一致。
A. 参数类型B. 参数名字C. 操作内容D. 赋值8. 下面关于C++中类的继承与派生的说法错误的是(C )。
A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.公有派生时,基类的所有成员访问权限在派生类中保持不变D.基类的protected成员在保护派生类的成员函数中可以直接使用9. 重载赋值操作符时,应声明为( C )函数。
A. 友元B. 虚C. 成员D. 多态10. 语句 ofstream f(″SALARY.DAT″,ios::app|ios::binary); 的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且 ( A )A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件二、填空题(每空2分,共30分)1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 复制构造函数的原型说明。
2. C++ 支持的两种多态性分别是 ________编译时的_ 多态性和运行时的_________ 多态性。
3. 定义类的动态对象数组时,系统只能够自动调用该类的无参的_________ 构造函数对其进行初始化。
4. 运算符重载时,其函数名由__operator运算符_构成。
成员函数重载双目运算符时,左操作数是_当前对象__,右操作数是__函数形参_。
C++标准库中的异常层次的根类为exception _____类;MFC类库中绝大多数类都源自根类__ CObject _____类。
在下面横线处填上适当字句,完成类中成员函数的定义。
class A{int * a;public:A(int aa=0) {a=_ new int(aa)______; // 用 aa 初始化 a 所指向的动态对象}~ A(){_____delete a____;}// 释放动态存储空间};7.C++支持面向对象程序设计的四个要素是:封装性、继承性、抽象性和多态性。
8.模板分为类模板和函数模板。
一、单项选择题(每题2分,共20分)1. 在下面选项中,对类的拷贝构造函数的声明形式是(B)A. A::A(&)B. A::A(constA&)C. A::A(A)D. void A::A(A&a)2. 下面关于成员函数特征的描述中,错误的是(A )A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是内联函数D.成员函数可以是静态的3. 下面关于类模板叙述不正确的是(B )A.可以有多个构造函数B. 类模板是模板类的实例C. 一个类模板可以用来实例化多个模板类D. 类模板可以有多个参数4. 要使一个类成为抽象类,这个类应具有的条件是(A )A.至少有一个纯虚函数 B. 至少有一个虚函数C. 只含有一个纯虚函数 D. 只含有一个虚函数5. 有关运算符重载正确的描述是(D )A. C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能6. 下列说法正确的是( D )。
A. 一个类的对象可以是另一个类的成员B. 一个类可以作为另一个类的派生类C. 一个类可以在另一个类定义体进行定义D. 以上说法均正确7. 有如下程序:#include <iostream.h>class BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<c;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<c;}};int main(){DERIVED('X');return 0;}执行上面的程序将输出( C )。
A)X B)YX C)XY D)Y8. 类MyClass的定义如下:class MyClass{ public:MyClass(){value=0;}SetValue(int i){value=i;}private:int value;};则对语句:MyClass *p,my;p=&my;正确的描述是( D )。