中科大软件学院C++考试试卷
- 格式:doc
- 大小:47.00 KB
- 文档页数:6
c类考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C2. C语言中,用于定义变量的关键字是?A. varB. defineC. letD. int答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个选项不是C语言的控制语句?A. ifB. forC. switchD. while答案:C5. C语言中,用于定义函数的关键字是?A. functionB. defC. voidD. int答案:D6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3};B. int [5] array = {1, 2, 3};C. int array = [5] {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5};答案:A7. C语言中,用于输入输出的库函数是?A. stdlib.hB. stdio.hC. string.hD. math.h答案:B8. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ==答案:A9. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr *;D. int *ptr = 5;答案:A10. C语言中,用于定义结构体的关键字是?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个名为“num”的整型变量,其值为10,应该使用语句________。
答案:int num = 10;2. 如果要将一个整数变量的值赋给另一个整数变量,应该使用运算符________。
2023年9月青少年软件编程C语言等级考试试卷一级(含答案)分数:100 题数:5一、编程题(共5题,共100分)第1题. 日期输出给定两个整数,表示一个日期的月和日。
请按照"MM-DD"的格式输出日期,即如果月和日不到2位时,填补0使得满足2位。
时间限制:10000内存限制:65536输入2个整数m,d(0 < m <= 12, 0 < d <= 31)。
数据保证日期合法。
输出按照题目要求输出日期样例输入7 18样例输出07-18 。
参考答案:。
第2题. 计算(a+b)*(c-b)的值给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。
时间限制:1000内存限制:65536输入输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 < a,b,c < 10,000)输出输出一行,即表达式的值样例输入2 3 5样例输出10 。
参考答案:。
第3题. 有一门课不及格的学生给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。
时间限制:10000内存限制:65536输入一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。
输出若该生恰好有一门课不及格,输出1;否则输出0。
样例输入50 80样例输出1 。
参考答案:。
第4题. 特殊求和如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。
对于给定的N,求出1~N中所有幻数的和。
时间限制:1000内存限制:65536输入一个整数N(1 < N < 10000)。
输出一个整数,表示1~N中所有幻数的和。
样例输入14样例输出21 。
参考答案:。
第5题. 比n小的最大质数对于给定的n,求比n小的质数中最大的一个。
质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。
江苏科技大学Visual C++阶段测验试卷班级:学号:姓名:答题注意事项:1.所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。
2.填写答案时,注意题号;特别是填空题,做到题号、空格号与试题对应,3.编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。
一、选择题(每题2分,计30分)1、下列符号中,能用作VC++标识符的是________ oA^ 5A B、_double C、a$ D、switch2、下列实数表示中不正确的是__________ 。
A、.25B、12E-5.0C、35.D、2.5f3、下列字符表示中正确的是__________ 。
A、'\b'B、“b”C、‘46’D、'\x250'4、下列变量的定义和赋值屮,不正确的是__________ oA、int x,*y=&x;B、int x,*y; y=&x;C、int x,&y=&D、int x,&y=x;5、设有定义“float x=4,y=2;”,则卜•列表达式中,正确的是_______ 。
A、x%yB、x+y=x*yC、x++=y++D、++x=++y6、设有定义“intk二3,j=4;”,则执行表达式“j二5||k+++k++;”后______ 。
A、j的值为4, k的值为4B、j的值为0, k的值为4C、j的值为5, k的值为5D、j的值为1, k的值为37、执行语句“b二(a=2*5,a*4),a+15J之后,b的值是_______ 。
A、10B、25C、40D、608> 执行语句“intk二12;k=l/2*k++;”后,k 的值是_________ 。
A、0B、1C、6D、79、设有定义"char a=100;int b=100;float c=100;double d=100;“,则表达式“a+b+c+d,啲数据类型是 ________ oA、char int C、float D、double10、__________________________________________________________ 设有说明语句“int x=4,y=3;”,则表达式x->++y?x:y的值是___________________ 。
2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。
时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。
第二行是n个整数,每两个整数之间用空格分隔。
输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出:输出第k名学生的学.号和成绩,中间用空格分隔。
(注:请用%g输出成绩)。
样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。
中国科学院中国科学院大学大学大学2013年招收攻读硕士学位研究生入学统一考试试题年招收攻读硕士学位研究生入学统一考试试题科目名称科目名称::计算机软件基础计算机软件基础考生须知考生须知::1.本试卷满分为150分,全部考试时间总计180分钟。
2.所有答案必须写在答题纸上,写在试题纸上或草稿纸上一律无效。
第一部分第一部分::数据结构数据结构((共70分)一、单选单选题题(每题2分,共20分)1. 下列关于数据的逻辑结构的叙述中,不正确的是【 】。
(A) 数据的逻辑结构是数据间关系的描述(B) 线性表是典型的线性结构(C) 数据的逻辑结构分为线性结构和非线性结构(D) 数据的逻辑结构不仅反映数据间的逻辑关系,而且包含其在计算机中的存储方式2. 下列关于数据运算的叙述中,不正确的是【 】。
(A) 数据运算是数据结构的一个重要方面(B) 数据运算的具体实现是在数据的逻辑结构上进行(C) 检索是一种常用的运算(D) 插入是一种常用的运算3. 在包含1000个元素的线性表中实现如下各运算,所需执行时间最长的是【 】。
(A) 线性表按顺序方式存储,删除线性表的第900个结点(B) 线性表按链式方式存储,删除指针P 所指向的结点(C) 线性表按顺序方式存储,在线性表的第100个结点后面插入一个新结点(D) 线性表按链式方式存储,在线性表的第100个结点后面插入一个新结点 科目名称:计算机软件基础 第 1 页 共 7 页4. 设某散列表的当前状态如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 190 75 194 768 559 582 208 该散列表的负载因子约为【】。
(A) 0.37 (B) 0.42 (C) 0.58 (D) 0.735. 设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初试建堆后关键码值A在序列中的序号是【】。
计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。
一、概念题:(1)排序算法时间复杂度:排序算法最好最坏平均插入O(n)O(n2)O(n2)归并O(nlogn)O(nlogn)O(nlogn)快排O(nlogn)O(n2)O(nlogn)排序算法空间复杂度:1、所有简单排序和堆排序都是0(1)2、快速排序为0(logn),要为递归程序执行过程栈所需的辅助空间3、归并排序和基数排序所需辅助空间最多,为O(n)(2)渐近记号1、渐近确界:Θ(g(n))={f(n):存在正常数c1和c2和n0,使对所有的n>= n0,都有0<=c1g(n)<=f(n)<=c2g(n)}。
大Θ记号给出函数的渐进确界。
2、渐近下界:Ω(g(n))={f(n):存在正常数c和n0,使对所有的n>=n0,都有0<=cg(n)<=f(n)}。
大Ω记号给出函数的渐进下界。
3、渐近上界:O(g(n))={f(n):存在正常数c和n0,使对所有的n>=n0,都有0<=f(n)<=cg(n)}。
大O记号给出函数的渐进上界。
(3)二叉查找树:执行基本操作的时间与树的高度成正比。
搜索、插入、删除的复杂度等于树高,期望O(lgn),最坏O(n)(数列有序,树退化成线性表)(4)红黑树:1、时间复杂度:基本动态集合操作:O(log n),n是树中元素的数目。
2、性质:1)节点是红色或黑色。
2)根节点是黑色。
3)每个叶节点(NIL节点)是黑色的。
4)如果一个结点是红的,则它的两个儿子都是黑的(不能有两个连续红结点)5)从任一节点到其子孙结点的所有路径都包含相同数目的黑色节点。
3、相关概念,定理:1)黑高度:从某个结点出发(不包括该结点)到达一个叶结点的任意一条路径上,黑色结点的个数称为该结点x的黑高度,bh(x)。
红黑树的黑高度定义为其根节点的黑高度。
2)一颗有n个内结点的红黑树的高度至多为2lg(n+1)。
(用2-3-4树理解)3)在一颗黑高度为K的红黑树中,总结点数最多有22k+1-1,此时内结点最多为22k-1(满二叉树,红黑交替),内结点最少有2k-14)RB-INSERT-FIXUP操作所作的旋转不超过两次,RB-DELETE-FIXUP所作的操作至多三次旋转(5)动态规划:1、装配线调度:FASTEST-WAY时间复杂度O(n)2、矩阵链乘法:MATRIX-CHAIN-ORDER时间复杂度O(n3)3、最长公共子序列:LCS-LENGTH时间复杂度为O(mn),m、n为序列的长度4、最优二叉查找树:OPTIMAL-BST时间复杂度为O(n3)(6)贪心算法:1、活动选择问题:初试时活动已按结束时间排序,O(n),否则可在O(nlgn)内排序2、哈夫曼编码:Q用最小二叉堆实现,运行时间在O(nlgn)3、任务调度问题:时间复杂度为O(n2),因为算法中O(n)次独立性检查中每一次都有花O(n)的时间(7)二项堆:1、可合并堆时间复杂度过程二叉堆(最坏)二项堆(最坏)Fibonacci(平摊)MAKE-HEAPΘ(1)Θ(1)Θ(1)INSERTΘ(lgn)Ω(lgn)Θ(1)MINIMUMΘ(1)Ω(lgn)Θ(1) EXTRACT-MINΘ(lgn)Θ(lgn)O(lgn) UNIONΘ(n)Θ(lgn)Θ(1) DECREASE-KEYΘ(lgn)Θ(lgn)Θ(1) DELETEΘ(lgn)Θ(lgn)O(lgn)2、二项树B k是一种递归定义的树,由两颗B k-1连接而成,其中一颗树的根是另一颗树的根的最左孩子性质:1)共有2k个结点2)树的高度为k3)在深度i处恰有(上k,下i)(因此叫二项树)个结点,其中i=0,...,k;4)根的度数为k,它大于任何其他结点的度数,并且,如果对根的子女从左到右编号为k-1,k-2,...,0,子女i是子树Bi的根。
青少年软件编程(C语言)等级考试试卷(四级)2023-12202312C语言四级真题编程题1.移动路线桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。
小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。
小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。
蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。
对于1行1列的方格矩阵,蚂蚁原地移动,移动路线数为1;对于1行2列(或2行1列)的方格矩阵,蚂蚁只需一次向右(或向上)移动,移动路线数也为1……对于一个2行3列的方格矩阵,如下图所示:-------------------|(2,1)|(2,2)|(2,3)|-------------------|(1,1)|(1,2)|(1,3)|-------------------蚂蚁共有3种移动路线:路线1:(1,1) → (1,2) → (1,3) → (2,3)路线2:(1,1) → (1,2) → (2,2) → (2,3)路线3:(1,1) → (2,1) → (2,2) → (2,3)时间限制:1000内存限制:65536输入输入只有一行,包括两个整数m和n(0输出输出只有一行,为不同的移动路线的数目。
样例输入2 3样例输出32.公共子序列我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在严格上升的序列< i1, i2, ..., ik >,使得对j = 1, 2, ... ,k, 有xij = zj。
比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。
中国科学院软件研究所1999年研究生入学考试数据结构与C语言试题1 (5分)判断正误:① 中序遍历一棵二叉排序树的节点就可得到排好序的节点序列。
② 顺序存储方式只能用于存储线性结构。
③ 负载因子(装填因子)是散列表的一个重要参数,它反映散列表的装满程度。
④ 顺序查找法适用于存储结构为顺序或链接存储的线性表。
⑤ 栈和队列都是限制存取点的线性结构。
2 (5分)选择填空:① 图1中给出由7个顶点组成的无向图。
从顶点1出发,对它进行深度优先遍历得到的顶点序列是(1);而进行广度优先遍历得到的顶点序列是(2)。
(1) A 1354267 (2) A 1534267B 1347625 B 1726453C 1534276 C 1354276D 1247653 D 1247653E 以上答案均不正确 E 以上答案均不正确图1 题2.1图② 从临接矩阵A=可以看出,改图共有(1)个顶点。
如果是有向图,该图共有(2)条弧;如果是无向图,则共有(3)条边。
(1) A 9 B 3 C 6 D 1 E 以上答案均不正确(2) A 5 B 4 C 3 D 2 E 以上答案均不正确(3) A 5 B 4 C 3 D 2 E 以上答案均不正确3 (15分)算法设计(建议用类PASCAL语言写出算法)① 二叉排序树采用二叉链表存储。
些一个算法,删除节点值是X的节点。
要求删除改节点后,此树仍然是一棵二叉排序树,并且高度没有增长。
(注:可不考虑被删除的节点是根的情况)。
②已知关键字序列(K1,K2,K3,…,K n-1)是大根堆。
(1)试写一算法将(K1,K2,K3,…,K n-1,K n)调整为大根堆;(2)利用(1)的算法写一个建大根堆的算法。
4 (5分)以下是对C语言的一些描述,请选择正确答案。
①在C语言中,数组名作为参数传递给函数,作为实在参数的数组名被处理为()。
A.该数组的长度B.该数组的元素个数C.该数组中各元素的值D.该数组的首地址E.以上答案均不对② 以下程序段的输出是()#include <stdio.h>void fun(){static int a=5;a++;printf(“a=%d\n”,a);}main(){for(int i=0;i<2;i++)fun();}A. a=6 B a=5 C a=1 D a=5 E 以上答案均不正确a=7 a=6 a=1 a=5③ C语言命令行参数很有特点,其一般表达形式是()。
一、选择题在下列各题旳A)、B)、C)、D)四个选项中,只有一种选项是对旳旳,请将对旳旳选项涂写在答题卡对应位置上,答在试卷上不得分。
(1)程序流程图中带有箭头旳线段体现旳是CA)图元关系B)数据流C)控制流D)调用关系(2)下面不属于软件设计原则旳是 CA)抽象B)模块化C)自底向上D)信息隐蔽(3)下列选项中,不属于模块间耦合旳是 CA)数据耦合B)标识耦合C)异构耦合D)公共耦合(4)下列论述中,不属于软件需求规格阐明书旳作用旳是DA)便于顾客、开发人员进行理解和交流B)反应出顾客问题旳构造,可以作为软件开发工作旳基础和根据C)作为确认测试和验收旳根据D)便于开发人员进行需求分析(5)算法旳时间复杂度是指CA)执行算法程序所需要旳时间B)算法程序旳长度C)算法执行过程中所需要旳基本运算次数D)算法程序中旳指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用旳算法是BA)堆排序B)直接插入排序C)迅速排序D)B)和C) (7)栈底至栈顶依次寄存元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列也许是BA)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面旳设计内容,它们是AA)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)构造特性设计和行为特性设计(9)关系表中旳每一横行称为一种AA)元组B)字段C)属性D)码(10)设有体现学生选课旳三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC旳关键字(键或码)为 CA)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)如下不对旳旳论述是DA)在C程序中,逗号运算符旳优先级最低B)在C程序中,APH和aph是两个不同样旳变量C)若a和b类型相似,在计算了赋值体现式a=b后b中旳值将放入a中,而b中旳值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言顾客标识符旳是BA)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,CaseD)2a,Do,Sizeof(13)如下选项中,不能作为合法常量旳是BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 (14)在C语言中,运算对象必须是整型数旳运算符是AA)% B)\ C)%和\D)**(15)若变量均已对旳定义并赋值,如下合法旳C语言赋值语句是AA)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有如下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a旳ASCII码值为97,则执行上述程序段后输出成果是DA)因变量类型与格式描述符旳类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A旳ASCII代码值为65,若变量kk为char型,如下不能对旳判断出kk中旳值为大写字母旳体现式是BA)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isa lpha(kk)&&(kk<91)(18)当变量c旳值不为2、4、6时,值也为"真"旳体现式是BA)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件体现式(exp)?a++:b--,则如下体现式中能完全等价于体现式(exp)旳是BA)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)如下不对旳旳定义语句是BA)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后旳输出成果是Bmain(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有如下程序段Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中旳控制体现式是非法旳D)程序段执行无限次(23)下面程序段旳运行成果是Cchar *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′旳地址D)无确定旳输出成果(24)阅读下列程序,则执行后旳成果为A#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断对旳旳是CA)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";(26)若有定义:int a[2][3];,如下选项中对a数组元素对旳引用旳是DA)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误旳输入语句是DA)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)有如下程序(29)#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %d\n",i1,i2);}程序旳运行成果是BA)12 12 B)11 7 C)11 11 D)12 7(29)若有如下阐明和定义union dt{ int a; char b; double c;}data;如下论述中错误旳是DA)data旳每个组员起始地址都相似B)变量data所占内存字节数与组员c所占字节数相等C)程序段:data.a=5;printf("%f\n",data.c);输出成果为5. D)data可以作为函数旳实参(30)有如下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后旳输出成果是DA)1 2 B)1 4 C)123 4 D)123 456 (31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不对旳旳引用是DA)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有如下程序#include <stdio.h>void fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");}程序旳运行成果是CA) B) C) D)(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为A#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′ \0′;i++)if(str[i]!=′ ′)str[j++]=str[i];str[j]= ′\0′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%s\n",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有如下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%d\n",x)}执行程序时,给变量x输入10,程序旳输出成果是AA)55 B)54 C)65 D)45(35)下面程序段中,输出*旳个数是 Cchar *s="\ta\018bc";for(;*s!='\0';s++)printf("*");A)9 B)5 C)6 D)7(36)C语言构造体类型变量在程序运行期间BA)TC环境在内存中仅仅开辟一种寄存构造体变量地址旳单元B)所有旳组员一直驻留在内存中C)只有最开始旳组员驻留在内存中D)部提组员驻留在内存中(37)已知函数旳调用形式为fread(buf,size,count,fp),参数buf旳含义是CA)一种整型变量,代表要读入旳数据项总数B)一种文献指针,指向要读旳文献C)一种指针,指向要读入数据旳寄存地址D)一种存储区,寄存要读旳数据项(38)设有如下语句char x=3,y=6,z;则z旳二进制值是BA) B) C) D)(39)在C语言中,只有在使用时才占用内存单元旳变量,其存储类型是AA)auto和register B)extern和register C)auto和static D)static和register (40)设有定义语句int (*f)(int);,则如下论述对旳旳是BA)f是基类型为int旳指针变量B)f是指向函数旳指针变量,该函数具有一种int类型旳形参C)f是指向int类型一维数组旳指针变量D)f是函数名,该函数旳返回值是基类型为int类型旳地址二、填空题请将每一种空旳对旳答案写在答题卡序号旳横线上,答在试卷上不给分。
c初级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中合法的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr[3] = {1, 2, 3, 4};答案:B3. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. %答案:C4. 下列哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. funcD. void答案:D6. 下列哪个选项表示C语言中的无限循环?A. for(;;)B. while(1)C. do{...}while(0)D. all of the above答案:D7. 在C语言中,以下哪个关键字用于定义一个枚举?A. enumB. structC. unionD. typedef答案:A8. 下列哪个选项是C语言中合法的函数声明?A. int myFunc(int x, int y);B. int myFunc(int, int);C. int myFunc(x, y);D. int myFunc(int x; int y);答案:B9. 在C语言中,以下哪个运算符用于执行取模操作?A. %B. /C. *D. -答案:A10. 下列哪个函数用于将字符串连接到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。
1. ipv4的替代方案;2. 单链表原地逆向转置;3. 折半查找算法4. 简述操作系统中系统调用过程;5. 在数据库中什么是关系,它与普通二维表啥区别;6. 什么是原子操作;7. 路由协议有哪些;8. 进程的三种状态,以及之间转换的过程;9. 快速排序的基本过程;10. 什么叫视图?视图在数据库的第几层;11. 二叉树的搜索;12. 什么叫冲突?解决冲突的办法都有哪些;13. java与C++区别;14. 深度、广度搜索的过程;15. 迪杰斯克拉算法的过程;16. 关系模式与关系;17. 数据链路停发协议,就是流量控制;18. 虚拟存储器及相关算法;段存储器;19. 进程线程树图;20. 传输等待协议;21. 堆栈排序及其与快速排序的不同;22. 386的保护模式是什么;23. 页表;24. ER图;25. 关系范式26. 链表查询某个元素,平均时间复杂度是多少;27. 路由协议有哪些;28. 网络服务质量包括哪些方面;29. 并发控制是为了保证事务的?;30. 什么是DMA;31. 两个时钟不同步的设备怎么通信;32. 操作系统的调度算法有哪些;33. 单链表的原地逆置算法34. 数据库的两级模式以及它们的关系与作用(貌似是这样)35. 操作系统的进程调度算法有哪些,并介绍其中两种36. 计算机的一条指令有几个机器周期,为什么37. 原子操作,pv操作的要点与注意事项38. 内核、芯片(记不清了)39. DMA控制器的组成与工作原理40. 简述最短路径的迪杰斯特拉算法41. 什么是P操作与V操作。
42. 一个深度为N的满二叉树有多少个结点。
43. 实现一个队列的方法44. 折半查找调节与时间复杂度45. k层满树的总结点个数46. 介绍分段,分页存储方式(操作系统)47. 算术右移,逻辑右移,循环右移(组原)48. 事物的四个性质(数据库)49. 软件部分:软件开发步骤,模块设计规则,详细设计如何实现50. 硬件部分:冯诺依曼结构,其他还有两个问题忘了51. 综合部分:学习这个专业是否男女有别,毕业后回哪发展?52. 软件测试,53. 高速缓存54. 虚拟存储。
大一c语言考试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言可以用于系统编程C. C语言不支持面向对象编程D. C语言的源代码文件扩展名是.cpp答案:D解析:C语言的源代码文件扩展名是.c,而不是.cpp,后者是C++的源代码文件扩展名。
2. 在C语言中,以下哪个关键字用于定义一个函数?()A. returnB. functionC. defineD. void答案:D解析:在C语言中,void是用于定义函数的关键字,例如:void functionName()。
二、填空题1. 在C语言中,用于声明一个整型变量的关键字是______。
答案:int2. 若定义一个变量x,其值为10,正确的声明语句是______。
答案:int x = 10;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一个数据结构,用于存储相同类型的多个元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名本身代表数组的首地址,而指针变量可以被赋值为任意地址。
2. 请解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构,从而可以创建复杂的数据结构来表示复杂的数据。
四、编程题1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用for循环遍历1到100的整数,通过if语句检查每个数是否为奇数,如果是,则将其加到sum变量中。
学号___________________ 姓名________________成绩_______________《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。
答题纸在试卷的最后页。
2)交卷时,试卷和答题纸一起交。
一、单选题(每小题1.5分,共30分)1. C++中,以下有关构造函数的叙述不正确的是 ______ 。
A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个2.以下叙述不正确的是 ______ 。
A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B. 类的一个成员只能具有一种访问控制属性C. 构造函数和析构函数是特殊的成员函数,因此不允许重载D. 通过对象只能访问类的公有成员3. 以下关于虚函数的叙述不正确的是 ______ 。
A. 虚函数属于成员函数B. 虚函数不允许说明成静态的C. 凡是虚函数必须用virtual说明D. 虚函数可以被继承4.cout是I0流库预定义的______ 。
A.类B.对象C. 包含文件D. 常量5.面向对象程序设计中的数据隐藏指的是______ 。
A.输入数据必须输入保密口令B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。
A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7. 下列不是描述类的成员函数的是______ 。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数8. 如果类A被说明成类B的友元,则______ 。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元9. 对于任何一个类,析构函数最多有______个。
A. 0B. 1C. 2D. n10. 下列特性中,C与C++共有的是______ 。
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
青少年软件编程(C语言)等级考试试卷(六级)分数:100 题数:4一、编程题(共4题,共100分)1. 字符串插入有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。
(字符个数不包括字符串结尾处的'\0'。
)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
时间限制:1000内存限制:65536输入输入包括若干行,每一行为一组测试数据,格式为str substr输出对于每一组测试数据,输出插入之后的字符串。
样例输入样例输出试题编号:20230520-6-01试题类型:编程题标准答案:试题难度:一般试题解析:#include<bits/stdc++.h>using namespace std;int main(){string str,substr;while(cin>>str>>substr){int maxn=0,maxid,i;for(i=0;i<str.size();i++){if((str[i]-'0')>maxn){maxn=str[i]-'0';maxid=i;}}for(i=0;i<str.size();i++){cout<<str[i];if(i==maxid) cout<<substr;}cout<<endl;}return 0;}展示地址:点击浏览考生答案:(此题已作答)考生得分:25是否评分:已评分评价描述:2. 机器翻译VariantF的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。
这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。
对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。
青少年软件编程(C语言)等级考试试卷(三级)2023-12202312C语言3级真题编程题1.因子问题任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。
时间限制:10000内存限制:65536输入包括两个整数N、M。
N不超过1,000,000。
输出输出一个整数a,表示结果。
如果某个案例中满足条件的正整数不存在,则在对应行输出-1样例输入35 10样例输出52.MinecraftMinecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界。
在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭建一个长方体,并用他珍藏已久的贴纸对其进行装饰。
如果一张贴纸可以贴满小立方体的一个面。
那么,他需要用掉多少张贴纸呢?时间限制:1000内存限制:65536输入一个整数N,表示小明所拥有的小立方体的个数。
N不会超过1000。
输出一个整数,即小明最少用掉的贴纸有多少张。
样例输入9样例输出303.波兰表达式波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的波兰表示法为+ 2 3。
波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的波兰表示法为* + 2 3 4。
本题求解波兰表达式的值,其中运算符包括+ - * /四个。
时间限制:1000内存限制:65536输入输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。
输出输出为一行,表达式的值。
可直接用printf("%f\n", v)输出表达式的值v。
样例输入* + 11.0 12.0 + 24.0 35.0样例输出1357.0000004.吃糖果2现有n(50 > n > 0)个糖果,每天只能吃2个或者3个,请计算共有多少种不同的吃法吃完糖果。
时间限制:1000内存限制:65536输入输入的每一行包括一组测试数据,即为糖果数n。
《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。
答题纸在试卷的最后页。
2)交卷时,试卷和答题纸一起交。
一、单选题(每小题分,共30分)1. C++中,以下有关构造函数的叙述不正确的是______ 。
A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个2.以下叙述不正确的是______ 。
A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B. 类的一个成员只能具有一种访问控制属性C. 构造函数和析构函数是特殊的成员函数,因此不允许重载D. 通过对象只能访问类的公有成员3. 以下关于虚函数的叙述不正确的是______ 。
A. 虚函数属于成员函数B. 虚函数不允许说明成静态的C. 凡是虚函数必须用virtual说明D. 虚函数可以被继承4. cout是I0流库预定义的______ 。
A.类 B. 对象 C. 包含文件 D. 常量5.面向对象程序设计中的数据隐藏指的是______ 。
A.输入数据必须输入保密口令B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。
A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7. 下列不是描述类的成员函数的是______ 。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数8. 如果类A被说明成类B的友元,则______ 。
A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元9. 对于任何一个类,析构函数最多有______ 个。
A. 0B. 1C. 2D. n10. 下列特性中,C与C++共有的是______ 。
A.继承B.封装C.多态性D.函数定义不能嵌套11. 在公有继承的情况下,基类公有和保护成员在派生类中的访问权限______ 。
A. 受限制B. 保持不变C. 受保护D. 不受保护12. 通过______ 调用虚函数时,采用动态束定。
A. 对象指针B. 对象名C. 成员名限定D. 派生类名13. C++ 类体系中,不能被派生类继承的有______ 。
A. 成员转换函数B. 构造函数C. 虚函数D. 静态成员函数14. 假定ab 为一个类,则执行ab x;语句时将自动调用该类的______ 。
A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值构造函数15. 静态成员函数不能说明为______ 。
A. 整型函数B. 浮点函数C. 虚函数D. 字符型函数16. 在C++ 中,数据封装要解决的问题是______ 。
A. 数据规范化排列B. 数据高速转换C. 避免数据丢失D. 保证数据完整性17.关于友元函数的描述中,错误的是________ 。
A. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend18. 实现运行时的多态性用______。
A. 重载函数B. 构造函数C. 析构函数D. 虚函数19. 关于new和new[] 运算符的下列描述中,______ 是错误的。
A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以使用运算符delete和delete[] 删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值;20.下列关于虚函数的说明中,正确的是______ 。
A.从虚基类继承的函数都是虚函数。
B.虚函数不得是静态成员函数。
C.只能通过指针和引用调用虚函数。
D.抽象类中的成员函数都是虚函数。
二、写出下列程序的运行结果,如您觉得有错,写明出错原因;如你觉得无输出,请明确写出。
(每小题5分,共40分)1.#include <iostream>using namespace std;class A{protected:int a;public:A(int p1) { a=p1; }int inc1(void) { return ++a; } };class B1:public A{protected: int b1;public: B1(int p1,int p2):A(p1) { b1=p2; }int inc1(void) { return A::inc1(); }void display(void) { cout<<"a="<<a<<" b1="<<b1<<"\n"; } };class B2:public A{private: int b2;public: B2(int p1,int p3):A(p1) { b2=p3; }int inc1(void) { A::inc1(); A::inc1(); return A::inc1(); }void display(void) { cout<<"a="<<a<<" b2="<<b2<<"\n"; } };class C:private B1,public B2{private: int c;public: C(int p11,int p12,int p21,int p22,int p):B1(p11,p12),B2(p21,p22){ c=p; }int inc1(void) { return B2::inc1(); }void display(void) { B1::display(); B2::display(); cout<<"c="<<c<<"\n";} };int main(void){C d(1,2,3,4,5); cout<<"\n"; (); cout<<"\n";(); (); return 0; }2.#include <iostream>using namespace std;template<class T>class Tclass{T x,y;public:Tclass (T a,T b):x(a) { y=b; }Tclass (T a) { y=(T)0, x=a; }void pr( ) { char c; c=(y>=(T)0) '+':'-';cout<<x<<c<< (y>(T)0 y : -y) <<"i"<<endl; } }; int main( ){Tclass<double> a,; ( );Tclass<int> b(10); ( ); return 0; }3.#include <fstream>#include <iostream>#include <vector>using namespace std;int main (){ vector<vector<int> > datas;Ifstream ifs("");int m, n;ifs >> m >> n;int i, j;for (i = 0; i < m; i ++) {vector<int> V;for (j = 0; j < n; j ++ ) { int x; ifs>>x; (x); }(V); }for (i = 0; i < m; i ++) {for (j = 0 ;j < n; j ++) { cout << datas [i][j]<< " ";}cout << endl; }}文件内容如下:3 4 1 2 3 4 5 6 7 8 9 10 11 124.#include <iostream>using namespace std;class CAT{ public: CAT(){ itsAge=new int; *itsAge=5;}~CAT(){ delete itsAge; itsAge=NULL;}int GetAge(){ return *itsAge; }void SetAge(int age) { *itsAge=age; }protected: int *itsAge; };int main(){ CAT a; cout<<"a's age:"<<()<<endl; (6);CAT b(a); cout<<"a's age:"<<()<<endl;cout<<"b's age:"<<()<<endl; (7);cout<<"a's age:"<<()<<endl; cout<<"b's age:"<<()<<endl; }5.#include <iostream>using namespace std;#include <string>class Base{ private: char msg[30];protected: int n;public: Base(char s[],int m=0):n(m) { strcpy(msg,s); }void output(void) { cout<<n<<endl<<msg<<endl; } }; class Derived1:public Base{ private: int n;public: Derived1 (int m=1): Base("Base",m-1) { n=m; }void output(void) { cout<<n<<endl; Base::output();} };class Derived2:public Derived1{ private: int n;public: Derived2(int m=2):Derived1(m-1) { n=m; }void output(void) { cout<<n<<endl; Derived1::output();} };int main(){ Base B("Base Class",1); Derived2 D; (); ();}6.#include <iostream>using namespace std;class Rr{ public: Rr(int a){ data=a;}operator int(){ r eturn data;}operator double(){ return double(data);}private: int data; };int main(){ Rr r1(2),r2(4); int x=int(r1)+int(r2);double y=double(r1)/double(r2); cout<<"x="<<x<<",y="<<y<<endl;return 0; }7.#include <iostream>using namespace std;class sz { i nt intT1;public: sz() { intT1=5;}void Set1(int t) {intT1=t;}int Get1() { return intT1; } };class sz2{ public: sz2() { mszT=new sz(); mszT2=new sz();}sz *f1() { mszT2=new sz(); mszT2->Set1(1); return mszT2; }sz *f2() const { return mszT; }const sz *f3() { return mszT; }const sz *f4() const {return mszT2;}private:sz *mszT;sz *mszT2; };int main(){ sz t; sz2 f;sz *s1=(); cout<<s1->Get1()<<endl;s1->Set1(10); cout<<s1->Get1()<<endl;s1=(); cout<<s1->Get1()<<endl;s1->Set1(20); cout<<s1->Get1()<<endl;const sz *s2=(); t=*s2; cout<<()<<endl;s2=(); t=*s2; cout<<()<<endl;sz * const s3=(); t=*s3; cout<<()<<endl;s3->Set1(30); cout<<s3->Get1()<<endl;return 0; }8.#include <iostream>using namespace std;class A { public: virtual void print(int x) {cout <<"A:"<< x << '\t' ;} };class B:public A { public: virtual void print(float x) {cout <<"B:"<< x << '\t';} };class C:public A{ public: virtual void print(int x) {cout <<"C:"<< x <<endl;} };void show(A &a) { (3); }void main( ){ A a; B b; C c;(1); (2); (3);show(a); show(b); show(c); }三、程序填空题(每空分,共25分)1.下面程序定义了一个圆类,其数据成员为圆心坐标和半径,成员函数area()计算圆的面积,应用程序生成两个圆类实例,若是同心圆则计算圆环的面积。