全国计算机二级c++模拟卷15
全国计算机二级(C语言)等级考试题库(完整版)

1、2、3、4、5、6、78910111213【参考答案】long fun ( char *p){long n=0;int flag=1;if(*p=='-') /*负数时置flag为-1*/ {p++;flag= -1;}else if(*p=='+') /*正数时置flag为1*/p++;while(*p!='\0'){n=n*10+*p-'0'; /*将字符串转成相应的整数*/p++;}return n*flag;}1415161718192021222324252627282930313233343536【参考答案】void fun(int tt[M][N],int pp[N]){int i,j,max;for(j=0;j<N;j++){max=tt[0][j]; /*假设各列中的第一个元素最大*/for(i=0;i<M;i++)if(tt[i][j]>max) /*如果各列中的元素比最大值大,则将这个更大的元素看作当前该列中最大元素*/max=tt[i][j];pp[j]=max; /*将各列的最大值依次放入pp数组中*/}}37【参考答案】unsigned fun(unsigned w){int n=1,j,s=1;unsigned t;t=w;/*首先确定w的位数,用变量n保存*/while(t>=10){/*每次循环使s的位数减1,同时n加1*/t=t/10;n++;}/*求10的n-1次方*/for(j=1;j<n;j++)s=s*10;/*用w对10的n-1次方求余即可得到所求*/return w%s;}38【参考答案】void fun(char*s){char ch;int i,m,n;i=0;m=n=strlen(s)-1;/*将第i个和倒数第i个数互换,但循环的次数为数组长度的一半*/while(i<(n+1)/2){/*使用中间变量叫唤*/ch=s[i];s[i]=s[m];s[m]=ch;i++; m--;}}39【参考答案】void fun( char s[],int c){int i=0;char *p;p=s;while(*p) /*判断是否为结束符*/{if(*p!=c) /*判断字符串中字符是否与指定字符相同*/ {s[i]=*p;/*不同将重新组合字符串,*/i++;}p++; /*相同则处理下一个字符。
计算机等级《二级C语言程序设计》模拟题

计算机等级《二级C语言程序设计》模拟题计算机等级《二级C语言程序设计》模拟题1.【单选题】2分| 有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。
A (!a==1)&&(!b==0)B (aC a&&bD a||(b+b)&&(c-a)2.【单选题】2分| 执行下面的程序后,a的值为()。
main(){inta,b;for(a=1,b=1;a=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A 7B 8C 9D 103.【单选题】2分| 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是()。
A EOFB -lC 非零值D 04.【单选题】2分| 有以下程序:main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);//输出计算机结果}程序运行后的输出结果是()。
A a+b=10B a+b=30C 30D 出错5.【单选题】2分| 以下程序的输出结果是()。
main(){inta=3:printf("%d\n",(a+a-=a*a));}A -6B 12C 0D -126.【单选题】2分| 执行下列程序中的输出语句后,a的值是()。
main(){inta;printf("%d\n",(a=2*3,a*5,a+7));}A 17B 37C 6D 137.【单选题】2分| 下列关于栈的描述中错误的是()。
A 栈是先进先出的线性表B 栈只能顺序存储C 栈具有记忆作用D 对栈的插入删除操作中,不需要改变栈底指针8.【单选题】2分| 函数调用strcat(strcpy(str1,str2),str3)的功能是()。
A 将字符串str1复制到字符串str2中后再连接到字符串str3之后B 将字符串str1连接到字符串str2之后再复制到字符串str3之后C 将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后D 将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中9.【单选题】2分| 对两个数组a和b进行下列初始化:charm[]1="l234567":charn[]={'1','2','3','4','5','6','7');则下列叙述正确的是()。
计算机二级《C语言》模拟试题及答案

计算机二级《C语言》模拟试题及答案计算机二级《C语言》模拟试题及答案1、以下语句的输出结果是( )。
int a=-1,b=4,k;k=(+ +a<0)&&!(b - -<=0);printf("%d,%d,%d\n",k,a,b);A. 1,0,4B. 1,0,3C. 0,0,3D. 0,0,42、下列程序的输出结果是( )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD3、执行下面的程序后,a的值是( )。
#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a); }A. 10B. 1C. 9D. 04、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2B. P+(i-1)*2来源:考试大C. P+(i-1)D. P+i5、下列程序执行后输出的结果是( )。
int d=1;fun (int p){ int d=5;d + =p + +;printf("%d,",d); }main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d); }A. 8, 4B. 9, 6C. 9, 4D. 8, 56、表达式:10!=9的值是( )。
A. trueB. 非零值C. 0D. 17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。
全国计算机等级考试二级C语言真题库之选择题(15)

全国计算机等级考试等级考试真题库之选择题(15)1.下列链表中,其逻辑结构属于非线性结构的是A) 二叉链表B) 循环链表C) 双向链表D) 带链的栈参考答案:A【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。
带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。
在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。
循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。
二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。
答案为A选项。
2.设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 15B) 16C) 20D) 0或35参考答案:D【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。
在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。
只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。
由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。
答案为D选项。
3.下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈顶元素一定是最先入栈的元素C) 栈操作遵循先进后出的原则D) 以上说法均错误参考答案:C【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
栈的修改是按后进先出的原则进行的。
因此,栈称为先进后出表,或"后进先出"表,所以选择C。
4.在关系数据库中,用来表示实体间联系的是A) 属性B) 二维表C) 网状结构D) 树状结构参考答案:B【解析】关系模型实体间的联系采用二维表来表示,简称表。
全国计算机二级C语言模拟测试【含详细解析】 (15)

1.设循环队列为Q(1:m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=20,rear=15。
现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为A. 5B. 6C. m-5D. m-6正确答案:D你的答案:解析:【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,比较次数为m-6次,D选项正确。
2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序列为A. EFGDCBAB. DCBEFGAC. BCDGFEAD. DCBGFEA正确答案:D你的答案:解析:【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序序列为ABCDEFG,A为根节点。
中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。
同理B为C父节点,C 为D父节点,且CD均为B的同侧子树节点。
同理E为F根节点,F为G根节点,且FG 为E同侧子树节点。
二叉树的后序序列为DCBGFEA,D选项正确。
3.下列叙述中正确的是A. 有两个指针域的链表一定是二叉树的存储结构B. 有多个指针域的链表一定是非线性结构C. 有多个指针域的链表有可能是线性结构D. 只有一个根结点的数据结构一定是线性结构正确答案:C你的答案:解析:【解析】一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,称为线性表。
全国计算机二级等级考试c语言程序设计题库

全国计算机二级等级考试c语言程序设计题库
1.输入一个三位数,将其逆序输出。
2. 输入一个实数x,计算并输出y=3x^3+2x-1的值。
3. 输入一个整数n,输出n的二进制数表示。
4. 输入两个整数a和b,将它们的值互换。
5. 输入一个字符串,将其中小写字母转换成大写字母并输出。
6. 输入一个整数n,输出n的所有因子。
7. 输入一个正整数n,计算并输出1到n的和。
8. 输入5个整数,分别输出它们的平均值和方差。
9. 输入一个三位数,判断它是否为水仙花数。
10. 输入一个正整数n,计算并输出n的阶乘。
11. 输入一个字符串,统计其中大写字母、小写字母和数字的个数并输出。
12. 输入一个整数n,输出n的所有质数因子。
13. 输入两个正整数a和b,求它们的最大公约数和最小公倍数。
14. 输入一个字符串,判断它是否为回文字符串。
15. 输入一个整数n,判断它是否为完全平方数。
- 1 -。
c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题1分,共20分)1. 在计算机中,二进制数1010转换为十进制数是多少?A. 8B. 10C. 12D. 14答案:B2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预见性D. 隐蔽性答案:C3. 在计算机系统中,外存是指?A. 内存B. 硬盘C. 软盘D. 光盘答案:B4. 以下哪个选项不是计算机操作系统的功能?A. 进程管理B. 文件管理C. 设备管理D. 网络通信5. 在Word中,以下哪个功能可以调整文档中的文字大小?A. 字体B. 段落C. 样式D. 插入答案:A6. Excel中,以下哪个函数用于计算一组数值的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B7. 在PowerPoint中,以下哪个视图模式用于编辑幻灯片内容?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:A8. 以下哪个选项不是计算机网络的拓扑结构?A. 星型B. 环型C. 总线型D. 树型答案:D9. 在数据库管理系统中,以下哪个操作用于查询数据?B. INSERTC. UPDATED. DELETE答案:A10. 以下哪个选项是计算机硬件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:C11. 在计算机中,以下哪个单位用于表示存储容量?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:A12. 以下哪个选项不是计算机病毒的传播途径?A. 电子邮件B. 移动存储设备C. 正规软件下载D. 网络下载答案:C13. 在计算机系统中,以下哪个选项不是输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C14. 在Word中,以下哪个功能可以设置文档的页边距?A. 页面布局B. 插入C. 引用D. 视图答案:A15. Excel中,以下哪个函数用于计算一组数值的总和?A. AVERAGEB. SUMC. COUNTD. MAX答案:B16. 在PowerPoint中,以下哪个视图模式用于查看幻灯片的布局?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:B17. 以下哪个选项是计算机网络的功能?A. 数据存储B. 数据处理C. 资源共享D. 信息发布答案:C18. 在数据库管理系统中,以下哪个操作用于插入数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:B19. 以下哪个选项是计算机软件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:A20. 在计算机中,以下哪个单位用于表示数据传输速率?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:B结束语:以上是全国计算机二级考试的部分真题及答案,希望对各位考生的复习有所帮助。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
全国计算机二级C语言模拟测试【含详细解析】 (1)

全国计算机二级C语言模拟测试卷【附带详细解析】@乡村教师胡劲1.下列叙述中正确的是A. 栈与队列都只能顺序存储B. 循环队列是队列的顺序存储结构C. 循环链表是循环队列的链式存储结构D. 栈是顺序存储结构而队列是链式存储结构正确答案:B你的答案:解析:【解析】栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构,B选项正确。
2.设某二叉树的前序序列为ABC,中序序列为CBA,则该二叉树的后序序列为A. BCAB. CBAC. ABCD. CAB正确答案:B你的答案:解析:【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
前序序列为ABC,则A为根节点。
中序序列为CBA,则C和B均为左子树节点或右子树节点,且C为B父节点,可知后序序列为CBA,B选项正确。
3.下列排序方法中,最坏情况下时间复杂度最小的是A. 冒泡排序B. 快速排序C. 堆排序D. 直接插入排序正确答案:C你的答案:解析:【解析】在最坏情况下,对长度为n的线性表排序,冒泡排序、快速排序、直接插入排序的时间复杂度均为O(n^2),堆排序时间复杂度为O(nlog2n),复杂度最小。
C选项正确。
4.为了对有序表进行对分查找,则要求有序表A. 只能顺序存储B. 只能链式存储C. 可以顺序存储也可以链式存储D. 任何存储方式正确答案:A你的答案:解析:【解析】二分法查找也称拆半查找,是一种高效的查找方法。
能使用二分法查找的线性表必须满足两个条件:用顺序存储结构;线性表是有序表。
A选项正确。
2020年全国计算机二级等级考试模拟试卷及答案(第十五套)

2020年全国计算机二级等级考试模拟试卷及答案(第十五套)1. 下列链表中,其逻辑结构属于非线性结构的是A) 二叉链表B) 循环链表C) 双向链表D) 带链的栈参考答案:A2. 设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 15B) 16C) 20D) 0或35参考答案:D3. 下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈顶元素一定是最先入栈的元素C) 栈操作遵循先进后出的原则D) 以上说法均错误4. 在关系数据库中,用来表示实体间联系的是A) 属性B) 二维表C) 网状结构D) 树状结构参考答案:B5. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
则实体部门和职员间的联系是A) 1:1联系B) m:1联系C) 1:m联系D) m:n联系参考答案:C6.A) 选择B) 投影C) 自然连接D) 并7. 数据字典(DD) 所定义的对象都包含于A) 数据流图(DFD图)B) 程序流程图C) 软件结构图D) 方框图参考答案:A8. 软件需求规格说明书的作用不包括A) 软件验收的依据B) 用户与开发人员对软件要做什么的共同理解C) 软件设计的依据D) 软件可行性研究的依据参考答案:D9. 下面属于黑盒测试方法的是A) 语句覆盖B) 逻辑覆盖C) 边界值分析D) 路径覆盖参考答案:C10. 下面不属于软件设计阶段任务的是A) 软件总体设计B) 算法设计C) 制定软件确认测试计划D) 数据库设计参考答案:C11. 以下叙述中正确的是A) N-S流程图只能描述简单的顺序结构的程序B) 程序的算法只能使用流程图来描述C) 结构化程序的三种基本结构是循环结构、选择结构、顺序结构D) 计算机可以直接处理C语言程序,不必进行任何转换参考答案:C12. 以下叙述中正确的是A) 书写源程序时,必须注意缩进格式,否则程序会有编译错误B) 程序的主函数名除main外,也可以使用Main或_mainC) 程序可以包含多个主函数,但总是从第一个主函数处开始执行D) 在C程序中,模块化主要是通过函数来实现的参考答案:D13. C语言中double 类型数据占字节数为A) 4B) 8C) 12D) 16参考答案:B14. 以下叙述中正确的是A) 语言中的关键字不能作变量名,但可以作为函数名B) 标识符的长度不能任意长,最多只能包含16个字符C) 标识符总是由字母、数字和下划线组成,且第一个字符不得为数字D) 用户自定义的标识符必须"见名知义",如果随意定义,则会出编译错误参考答案:C15. 以下叙述中正确的是A) 由printf输出的数据都隐含左对齐B) scanf和printf是C语言提供的输入和输出语句C) 赋值语句是一种执行语句,必须放在函数的可执行部分D) 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的参考答案:C16. 以下叙述中正确的是A) 复合语句在语法上包含多条语句,其中不能定义局部变量B) 花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的C) 空语句就是指程序中的空行D) 当用scanf从键盘输入数据时,每行数据在没按下回车键(Enter 键) 前,可以任意修改参考答案:D17. 以下叙述中正确的是A) 在C语言中,逻辑真值和假值分别对应1和0B) 关系运算符两边的运算对象可以是C语言中任意合法的表达式C) 对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误D) 分支结构是根据算术表达式的结果来判断流程走向的参考答案:B18. 以下叙述中正确的是A) 对于逻辑表达式:a++ || b++,设a的值为1,则求解表达式的值后,b的值会发生改变B) 对于逻辑表达式:a++ && b++,设a的值为0,则求解表达式的值后,b的值会发生改变C) else不是一条独立的语句,它只是if语句的一部分D) 关系运算符的结果有三种:0,1,-1参考答案:C19. 以下叙述中正确的是A) continue语句使得整个循环终止B) break语句不能用于提前结束for语句的本层循环C) 使用break语句可以使流程跳出switch语句体D) 在for语句中,continue与break的效果是一样的,可以互换参考答案:C20. 以下叙述中正确的是A) 循环发生嵌套时,最多只能两层B) 三种循环for,while,do-while可以互相嵌套C) 循环嵌套时,如果不进行缩进形式书写代码,则会有编译错误D) for语句的圆括号中的表达式不能都省略掉参考答案:B21. 下面选项中合法的字符常量是A) "X"B) 'X'C) 'abc'D) '\'参考答案:B22. 以下叙述中正确的是A) 转义字符要用双引号括起来,以便与普通的字符常量区分开B) 字符常量在内存中占2个字节C) 字符常量需要用单引号括起来D) 字符常量是不能进行关系运算的参考答案:C23. 以下叙述中正确的是A) 用户自己定义的函数只能调用库函数B) 实用的C语言源程序总是由一个或多个函数组成C) 不同函数的形式参数不能使用相同名称的标识符D) 在C语言的函数内部,可以定义局部嵌套函数参考答案:B24. 以下叙述中正确的是A) int* p1; int ** p2; int *p3;都是合法的定义指针变量的语句B) 指针变量只能通过求地址运算符(&) 来获得地址值C) 语句p=NULL;与p=\0;是等价的语句D) 语句p=NULL;执行后,指针p指向地址为0的存储单元参考答案:A25.以下叙述中正确的是A) 即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同B) 如果企图通过一个空指针来访问一个存储单元,将会得到一个出错信息C) 设变量p是一个指针变量,则语句p=0;是非法的,应该使用p=NULL;D) 指针变量之间不能用关系运算符进行比较参考答案:B26. 以下叙述中正确的是A) 一条语句只能定义一个数组B) 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元C) 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式D) 在引用数组元素时,下标表达式可以使用浮点数参考答案:B27. 以下叙述中正确的是A) 数组下标的下限是1B) 数组下标的下限由数组中第一个非零元素的位置决定C) 数组下标的下限由数组中第一个被赋值元素的位置决定D) char c1, c2, *c3, c4[40];是合法的变量定义语句参考答案:D28. 以下叙述中正确的是A) 语句int a[8] = {0}; 是合法的B) 语句int a[] = {0};是不合法的,遗漏了数组的大小C) 语句char a[2] = {"A", "B"}; 是合法的,定义了一个包含两个字符的数组D) 语句char a[3]; a = "AB"; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符参考答案:A29. 下面选项中的程序段,没有编译错误的是A) char* sp, s[10]; sp = "Hello";B) char* sp, s[10]; s = "Hello";C) char str1[10] = "computer", str2[10]; str2 = str1;D) char mark[]; mark = "PROGRAM";参考答案:A30. 以下叙述中正确的是A) 字符串常量"str1"的类型是:字符串数据类型B) 有定义语句:char str1[] = "str1"; ,数组str1将包含4个元素C) 下面的语句用赋初值方式来定义字符串,其中,'\0'是必须的char str1[] = {'s', 't', 'r', '1', '\0'};D) 字符数组的每个元素可存放一个字符,并且最后一个元素必须是'\0'字符参考答案:C31. 以下叙述中正确的是A) 字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组B) char ca[3][5] = {"A", "BB", "CCC"}; 是不合语法的C) char ca[ ][5] = {"A", "BB", "CCC"}; 是不合语法的D) char *ca[3] = {"A", "BB", "CCC"}; 是不合语法的参考答案:A32. 以下叙述中正确的是A) 两个字符串可以用关系运算符进行大小比较B) 函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位)C) C语言本身没有提供对字符串进行整体操作的运算符D) 当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和参考答案:C33. 以下叙述中正确的是A) 如果函数带有参数,就不能调用自己B) 所有函数均不能接受函数名作为实参传入C) 函数体中的语句不能出现对自己的调用D) 函数名代表该函数的入口地址参考答案:D34. 以下叙述中正确的是A) 局部变量不能被说明为staticB) 只有全局变量才有自己的作用域,函数中的局部变量没有作用域C) 只有在函数内部定义的变量才是局部变量D) 只要是用户定义的标识符,都有一个有效的作用域参考答案:D35. 下面选项中关于编译预处理的叙述正确的是A) 预处理命令行必须使用分号结尾B) 凡是以#号开头的行,都被称为编译预处理命令行C) 预处理命令行不能出现在程序的最后一行D) 预处理命令行的作用域是到最近的函数结束处参考答案:B36. 以下叙述中正确的是A) 使用typedef说明新类型名时,其格式是:typedef 新类型名原类型名;B) 在程序中,允许用typedef来说明一种新的类型名C) 使用typedef 说明新类型名时,后面不能加分号D) 在使用typedef改变原类型的名称后,只能使用新的类型名参考答案:B37. 以下叙述中正确的是A) 结构体类型中各个成分的类型必须是一致的B) 结构体类型中的成分只能是C语言中预先定义的基本数据类型C) 在定义结构体类型时,编译程序就为它分配了内存空间D) 一个结构体类型可以由多个称为成员(或域) 的成分组成参考答案:D38. 以下叙述中正确的是A) 使用typedef定义新类型名后,新类型名与原类型名实际上是等价的B) 结构体类型中的各个成分均不能是数组或指针C) 结构体类型的变量,不能在声明结构体类型组成时一起定义D) 元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义参考答案:A39. 下面选项中关于位运算的叙述正确的是A) 位运算的对象只能是整型或字符型数据B) 位运算符都需要两个操作数C) 左移运算的结果总是原操作数据2倍D) 右移运算时,高位总是补0参考答案:A40. 下面选项中关于"文件指针"概念的叙述正确的是A) 文件指针是程序中用FILE定义的指针变量B) 文件指针就是文件位置指针,表示当前读写数据的位置C) 文件指针指向文件在计算机中的存储位置D) 把文件指针传给fscanf函数,就可以向文本文件中写入任意的字符参考答案:A。
2022-2023年等级考试《计算机二级》预测试题15(答案解析)

2022-2023年等级考试《计算机二级》预测试题(答案解析)全文为Word可编辑,若为PDF皆为盗版,请谨慎购买!第壹卷一.综合考点题库(共50题)1.张经理在对Word文档格式的工作报告修改过程中,希望在原始文档显示其修改的内容和状态,最优的操作方法是:A.利用“审阅”选项卡的修订功能,选择带“显示标记”的文档修订查看方式后按下“修订”按钮,然后在文档中直接修改内容。
B.利用“插入”选项卡的文本功能,为文档中的每一处需要修改的地方添加文档部件,将自己的意见写到文档部件中。
C.利用“审阅”选项卡的批注功能,为文档中每一处需要修改的地方添加批注,将自己的意见写到批注框里。
D.利用“插入”选项卡的修订标记功能,为文档中每一处需要修改的地方插入修订符号,然后在文档中直接修改内容。
正确答案:A本题解析:【解析】修订功能位于“审阅”选项卡,按下“修订“按钮,然后在文档中直接修改内容Word 可自动标注这些修改。
2.在Word2010中,要把某段落中包含3个汉字的词汇的宽度调整为4字符,最优的操作方法是:A.在“字体”对话框中调整字符的间距B.在“段落”对话框中调整字符的间距C.使用“开始”选项卡“字体”组的“调整宽度”功能D.使用“开始”选项卡“段落”组的“调整宽度”功能正确答案:D本题解析:暂无解析3.老王正在Excel中计算员工本年度的年终奖金,他希望与存放在不同工作薄审的前三年奖金发放情况进行比较,最优的操作方法是:A.通过全部重排功能,将四个工作簿平铺在屏幕上进行比较BB.通过并排查看功能,分别将今年与前三年的数据两两进行比较C.打开前三年的奖金工作簿,需要比较时在每个工作簿窗口之间进行切换查正确答案:B本题解析:暂无解析4.病毒的繁殖过程中,不是其特点的是()。
A.病毒需要侵入寄主细胞内B.病毒能自行复制和合成C.病毒成熟后释放D.病毒能将蛋白质外壳留在细胞外正确答案:B本题解析:病毒必须到宿主细胞内,利用宿主细胞提供的原料和场所来繁殖。
全国计算机二级C语言考试模拟题

全国高校计算机等级考试(二级C)模拟一试题一、选择题1、设有语句:int k, *p; 以下能正确执行的赋值语句是(D )。
A、k=pB、k=&pC、P=KD、p=&k2、以下运算符中优先级最高的运算符是(A)。
A、!B、&&C、||D、<3、求字符串长度的函数是( D )。
A、strcatB、strcpyC、strcmpD、strlen4、下面程序段的运行结果是(A)。
char x[5]=“ab\0c\0”;printf("%s",x);说明:“\0”中的“0”是数字零。
A、abB、abcC、ab\0D、ab\0c\05、若有说明语句: int a[2][4]; 则对数组a元素的正确引用是( D )。
A、a[2]B、a[4]C、a[2][4]D、a[1][3]6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。
A、float型B、int型C、long型D、double型7、用数组名作为函数调用的实参时,传递给虚参的是(A)。
A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数8、以下程序的输出结果是( D )。
#include<stdio.h>#define F(y) 8-yvoid main(void){int x,y;y=F(2);printf(“y=%d”,y);}A、2B、y=2C、6D、y=69、以下程序的输出结果是(A)。
#include<stdio.h>struct{int x,y;} a;void main(void){int x,y=50,z;a.x=10;a.y=20;z=a.x+y;printf(“%d”,z);}A、60 B 、10 C、0 D、2010、语句fopen(“file.dat”,”r”); 的功能是(A)。
A、按照“读”方式打开文件B、按照“写”方式打开文件C、按照“读写”方式打开文件D、按照“追加”方式打开文件11、关闭文件的语句是( D )。
计算机等级考试二级C语言笔试模拟题及答案

计算机等级考试二级C语言笔试模拟题及答案是全国计算机(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机根底知识和使用一种高级计算机语言编写程序以及上机调试的根本技能。
那么计算机等级考试二级会怎么考?以下仅供参考!以下各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1) 二进制数101110 转换为等值的八进制数是()。
A.45B.56C.67D.78(2) CPU 是由()组成的。
A.内存储器和控制器B.控制器和运算器C.内存储器和运算器D.内存储器、控制器和运算器(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的()磁盘。
A.多用户多任务B.单用户单任务C.分时D.分布式(4) 启动MS-DOS 操作系统后,()已驻留内存。
A.B.C.D.CCCC.EXE(5) 设驱动器B 中软盘上的目录构造如以下图所示。
设当前目录为F2,那么把A 盘根目录下的PROG.BAS 文件复制到B 盘F3 子目录中的命令是()。
A.COPY PROG.BAS B:B.COPY A:PROG.BAS B:C.COPY A:PROG.BAS B:F3D.COPY A:PROG.BAS B:F3(6) 下面四组DOS 命令中,意义完全相同的一组是()。
A.COPY 和DISKCOPYB.P 和DISKPC.DEL 和RDD.RENAME 和REN(7) 防止软盘感染病毒的有效方法是()。
A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁D.定期对软盘格式化(8) 双面高密度5 英寸软磁盘的容量是()。
A.360KBB.720KBD.1.44MB(9) 在FOXBASE 中,可以使用的两类变量是()。
A.内存变量和字段变量B.全局变量和部分变量C.字段变量和简单变量D.内存变量和自动变量(10) 建立一个新子目录的DOS 命令是()。
全国计算机二级c考试题库

全国计算机二级c考试题库全国计算机二级C语言考试是计算机专业人员必备的证书之一,通过该考试可以证明自己在C语言方面有一定的能力和水平。
为了更好地备考,考生需要进行大量的练习和题库训练。
下面将整理一些常见的C语言考试题目,供考生参考。
1. 下面哪个是C语言中的关键字?A. mainB. beginC. voidD. int2. 以下哪个函数原型是正确的?A. int main(){}B. void main(int a){}C. float main(){return 0.0;}D. main(int a, int b){}3. 下面哪个语句在C语言中是正确的?A. int a = 10;B. float b = "hello";C. char c = 'apple';D. double d =3.14;4. 如何定义一个整型指针p?A. p = int* p;B. p = int p*;C. int* p;D. int p*;5. 下面哪个语句是正确的?A. a = b;B. a == b;C. a === b;D. a != b;6. 在C语言中,下面哪个运算符的优先级最高?A. + -B. =C. ++ --D. *7. 下面哪个语句是正确的?A. if(a > b){}B. if a < b{}C. if(a = b){}D. if{a > b}8. 下面哪个循环语句是正确的?A. for(int i=0; i<10; i++){}B. for i=0; i<10; i++{}C. for(int i=0;i<10){} D. for i=0; i<10{}以上是一些常见的C语言考试题目,希望考生们能够认真对待,加强练习,提高自己的编程能力。
祝各位考生考试顺利,取得优异成绩!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机部分
一、改错题
使用VC6打开考生文件夹下的工程kt15_1,此工程包含一个源程序文件kt15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
Previous=9,Next=11
源程序文件kt15_1.cpp清单如下:
#include<iostream.h>
/*****************found*****************/
intmain()
{ intx=10,y,z;
prevnext(x,y,z);
cout<<"Previous="<<y<<",Next="<<z<<endl;
return0; }
/*****************found*****************/
voidprevnext(intx,intprev,intnext)
{ /*****************found*****************/
prev=x--;
next=++x; }
【参考答案】
(1)在main()函数前缺少prevnext函数声明
应添加:void prevnext (int,int &,int &);
(2)将void prevnext (int x, int prev,int next)
改为:void prevnext (int x, int &prev,int &next)
(3)将prev=x--;改为:prev=x-1;
【试题解析】
(1)函数在使用前必须已经被定义,main()中调用prevnext函数,而该函数的实现在main()之后,所以在main()之前必须添加该函数的声明;
(2)由运行结果可知,通过函数prevnext调动要改变main()中的实参值,所以prev和next都应为引用型参数;
(3)由运行结果prev=x-1,而源程序的prev=x,x=x-1,这里涉及运算符的优先级问题。
二、简单应用题
请编写一个函数fun(intx,intn),该函数返回x的n次幂的值,其中x和n都是非负整数。
x的n次幂的计算方法是1与x相乘n次,如x的20次幂的计算为1与x相乘20次。
注意:部分源程序已存在文件kt15_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。
如输入3和4,输出结果如下:
34
81
文件kt15_2.cpp清单如下:
#include<iostream.h> doublefun(intx,intn)
{
}
voidmain()
{ intx,n;
cin>>x>>n;
cout<<fun(x,n)<<endl; }
【参考答案】
if(x==0) return 0;
if(n==0) return 1;
int y=1;
for(int i=0;i<n;i++) y*=x;
return y;
【试题解析】
本题主要考查用基本控制结构与函数知识解决实际问题的能力。
求x的n次幂是数学中常用的运算,编程时在x=0与n=0时需特殊处理。
三、综合应用题
使用VC6打开考生文件夹下的工程kt15_3。
此工程包含一个kt15_3.cpp,其中定义了类A、A1和A2,其中A1类由A类公有派生,A2类由A1类公有派生。
上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
(1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。
请在注释“//**1**”之后添加适当的语句。
(2)定义类A1的构造函数,该构造函数有两个整型参数x和y,在构造函数中请将x 赋值给数据成员b,将y作为基类A构造函数的参数值传入。
请在注释“//**2**”后添加适当的语句。
(3)定义类A2的构造函数,该构造函数有三个整型的参数x,y和z,在构造函数中请将x赋值给数据成员c,将y和z分别赋值给基类A1构造函数的参数x和y。
请在注释“//**3**”之后添加适当的语句。
(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员c的值,上述三个值在输出时以空格隔开。
请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
程序输出结果如下:
9
6
962
源程序文件kt15_3.cpp清单如下:
#include<iostream.h>
classA
{ inta;
public:
//**1**
intgeta(){returna;} };
classA1:publicA
{ intb;
public:
//**2**
intgetb(){returnb;} };
classA2:publicA1
{ intc;
public:
//**3**
voidshow()
{ //**4** } };
voidmain()
{ A2a(2,6,9);
cout<<a.geta()<<endl;
cout<<a.getb()<<endl;;
a.show(); }
【参考答案】
(1)A(int x) {a=x;}
(2)A1(int x,int y) : A(y){b=x;}
(3)A2(int x,int y,int z):A1(y,z){c=x;}
(4)cout<<geta()<<" "<<getb()<<" ";
cout<<c<<"\n";
【试题解析】
本题主要考查对继承和派生的掌握程度,涉及派生类构造函数的定义、基类成员函数的访问等内容。
派生类的构造函数的格式请牢记,另外派生类构造函数及析构函数的执行顺序也是需要掌握的。