计算机二级c语言第3套笔试模拟试卷
全国计算机二级C语言模拟题第三套
全国计算机二级C语言模拟题第三套(1)算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行过程中所需要的存储空间(2)用链表表示线性表的优点是A)便于随机存取B)花费的存储空间较顺序存储少C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同(3)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构(4)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程(6)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭(8)应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是A)数据库系统B)文件系统C)人工管理D)数据项管理(11)数据的逻辑结构有线性结构和【1】两大类。
(12)顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。
(13)一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的【3】。
(14)软件工程研究的内容主要包括:【4】技术和软件工程管理。
(15)关系操作的特点是【5】操作。
试题解析1.解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
DLUT计算机二级模拟考试试题三
DLUT计算机二级模拟考试试题三DLUT计算机校二级模拟考试试题三一.判断题1.在C程序中,注释说明只能位于一条语句的后面2. 当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。
3. do-while循环由do开始,while结束,在while(表达式)后面不能加分号。
4. 定义int x[5],n;则x=x+n;或x++;都是正确的。
5. 逻辑表达式4>2&&1||5<3-!0的值为1。
6. for循环的三个表达式中间用逗号相分隔。
分号7. 若有定义int a[10];则for (i=0;i<=10;i++) a[i]=i;执行时无语法错误。
8. 格式字符%e以指数形式输出实数数字部分小数位数7位。
9. 二维数组在内存中存贮时,是按下标值递增且右侧的下标比左侧的下标变化快的顺序连续存贮各元素的值。
10.C语言中,在打开文件时,必须说明文件的使用方式,"r"用于打开一个不存在的文件。
二.选择题1.在C程序中,字符型数据在内存中以________形式存放。
A.原码B.BCD码 C.反码D.AS C‖2.对于语句f=(3.0,4.0,5.0), (2.0,1.0,0.0); 的判断中,________是正确的。
A.语法错误B.使f的值为5.0 C. 使f的值为0.0 D. 使f的值为2.03. 能正确表示a和b同时为正或同时为负的逻辑表达式是:()A.(a>=0||b>=0)&&(a<0||b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D. a*b>04. 下面函数的功能是:______sss(s,t)char *s, *t;{while((*s)&&(*t)&&(*t++= =*s++));return(*s-*t);}A. 求字符串的长度B:比较两个字符串的大小C:将字符串s复制到字符串t中D:将字符串s续接到字符串t中5.函数char ctype(int x, int y)的返回类型由______确定。
计算机等级考试二级C语言 模拟题 第三套
第三套一、编程题:18.编写程序,实现矩阵(3行3列)的转置(即行列互换)。
例如,若输入下面的矩阵:,则程序输出:注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>#include <conio.h>void fun(int array[3][3]){}main(){int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};clrscr();for (i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for (i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}82.请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>float fun ( float *a, int n ){}main(){float score[30]={90.5,72,80,61.5,55}, aver;aver=fun(score,5);printf("\nAverage score is :%5.2f\n",aver);}二、改错题:22.下列给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值。
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(三)
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(三)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合(2)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(3)以下不属于对象的基本特点的是A)分类性B)多态性C)继承性D)封装性(4)在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构(7)线性表的顺序存储结构和线性表的链式存储结构分别是A)顺序存取的存储结构、顺序存取的存储结构B)随机存取的存储结构、顺序存取的存储结构C)随机存取的存储结构、随机存取的存储结构D)任意存取的存储结构、任意存取的存储结构(8)树是结点的集合,它的根结点数目是A)有且只有1 B)1或多于1 C)0或1 D)至少2(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件(10)数据库、数据库系统和数据库管理系统之间的关系是A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)三者没有明显的包含关系(11)以下4个选项中,不能看作一条语句的是A); B)a=5,b=2.5,c=3.6; C)if(a<5);D)if(b!=5)x=2;y=6;(12)下面四个选项中,均是不合法的用户标识符的选项是A)A P_0 do B)float la0_A C)b-a goto int D)_123 temp int(13)以下选项中不属于字符常量的是A)′C′B)′′C′′C)′\xCC′ D) ′\072′(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0(15)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b (16)以下程序的运行结果是int k=0;void fun(int m){m+=k;k+=m;printf("m=%d k=%d ",m,k++);}main(){int i=4;fun(i++); printf("i=%d k=%d\n",i,k);}A)m=4 k=5 i=5 k=5B)m=4 k=4 i=5 k=5 C)m=4 k=4 i=4 k=5D)m=4 k=5 i=4 k=5(17)已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c)B)′A′<=c<=′Z′ C)′A′<=c&&c<=′Z′D)c<=(′z′-32)&&(′a′-32)<=c(18)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值是A)1B)2C)3D)4(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b)a=b; c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)若有定义:float x=1.5;int a=1,b=3,c=2;,则正确的switch语句是A)switch(x){case 1.0:printf("*\n");case 2.0:printf("**\n");}B)switch((int)x);{case 1:printf("*\n");case 2:printf("**\n");}C)switch(a+b){case 1:printf("*\n");case 2+1:printf("**\n");}D)switch(a+b){case1:printf(**\n);}casec:printf(**\n);}(21)有以下程序#include <stdio.h>main0{ int y=9;for( ; y>0;y--)if(y%3==0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(22)以下描述中正确的是A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while(23)有以下程序#include <stdio.h>main(){ int a[ ]={1,2,3,4},y,*p=&a[3];--p; y=*p;printf("y=%d\n",y);}程序的运行结果是A)y=0B)y=1C)y=2D)y=3(24)以下数组定义中错误的是A)int x[][3]={0}; B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}}; D)int x[2][3]={l,2,3,4,5,6};(25)下面说明不正确的是A)char a[10]="china"; B)char a[10],*p=a;p="china"C)char *a;a="china" D)char a[10],*p;p=a="china"(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][!1](27)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B)gets() C)getchar() D)scanf()(28)阅读下列程序段,则程序的输出结果为#include "stdio.h"#define M(X,Y)(X)*(Y)#define N(X,Y)(X)/(Y)main(){ int a=5,b=6,c=8,k;k=N(M(a,b),c);printf("%d\n",k);A)3 B)5 C)6 D)8(29)在16位IBM-PC机上使用C语言,若有如下定义struct data{ int i;char ch;double f;} b;则结构变量b占用内存的字节数是A)1B)2C)7D)11(30)有以下程序#include<stdio.h>main(){FILE *fp; int i,a[6]={l,2,3,4,5,6};fp=fopen("d3.dat","w+b");fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/fread(a,sizeof(int),3,fp); fclose(fp);for(i=0;i<6;i++)printf("%d,",a[i]);}程序运行后的输出结果是A)4,5,6,4,5,6,B)1,2,3,4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,(31)有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf("%d",c[i]);printf("\n");}程序的运行结果是A)1 2 3 4B)2 3 4 4C)4 3 3 2D)1 1 2 3(32)有以下程序#include <stdio.h>void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{ int t,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;}}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for(i=0;i<10;i++) printf("%d,",c[i]);printf("\n");}程序的运行结果是A)1,2,3,4,5,6,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,C)0,9,8,7,6,5,4,3,2,1,D)1,2,3,4,9,8,7,6,5,0,(33)下面程序的输出结果是#include<stdio.h>#include<string.h>main(){ char *p1="abc",*p2="ABC",str[50]= "xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}A)xyzabcABC B)zabcABC C)xyabcABC D)yzabcABC(34)以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]); ________;return(p);}在横线处应填入的是A)i=p B)a[p]=a[i]C)p=j D)p=i(35)下列程序的运行结果为#include<stdio.h>void abc(char*str){ int a,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}void main(){ char str[]="abcdef";abc(str);printf("str[]=%s",str); }A)str[]=abdef B)str[]=abcdef C)str[]=aD)str[]=ab(36)有以下程序#include <stdio.h>#include <string.h>typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a){ STU b={"Zhao",′m′,850,900}; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];}main(){ STU c={"Qian",′f′,95.0,92.0};f(c);printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);}程序的运行结果是A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90(37)有以下程序#include <stdio.h>main(){ FILE *fp; int a[10]={1,2,3},i,n;fp=fopen("d1.dat","w");for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);fprintf(fp,"\n");fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d",&n);fclose(fp);printf("%d\n",n);}程序的运行结果是A)12300B)123C)1D)321(38)已知int a=1,b=3则a^b的值为A)3B)1C)2D)4(39)阅读下列程序,则运行结果为#include "stdio.h"fun(){ static int x=5;x++;return x;}main(){ int i,x;for(i=0;i<3;i++)x=fun();printf("%d\n",x);}A)5 B)6 C)7D)8(40)有以下程序#include <stdio.h>void fun(char *t,char *s){ while(*t!=0) t++;while((*t++=*s++)!=0);}main(){ char ss[10]="acc",aa[10]="bbxxyy";fun(ss,aa); printf("%s,%s\n",ss,aa);}程序的运行结果是A)accxyy,bbxxyy B)acc,bbxxyy C)accxxyy,bbxxyyD)accbbxxyy,bbxxyy二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
全国计算机等考二级C语言模拟试题3
(14)下面程序在屏幕上的输出是________。
main()
{
printf("ab\b\b c");
}
A)ab\b\b c B)a c C)abc D)ab c
答案:B
评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个"\"开头的字符序列,这样的字符称为"转义字符"。常用的转义字符有:\n,换行;\t,水平制表;\b,退格;\r,回车。
一、选择题((1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
下列各题A)、B)、c)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)算法的时间复杂度是指_______。
A)执行算法程序所需要的时间
B)算法程序的长度
(12)一个良好的算法由下面的基本结构组成,但不包括__________。
A)顺序结构 B)选择结构 c)循环结构 )跳转结构
答案:D
评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。
C)a=98,b=765.000000,c=432 1.000000
D)a=98,b=765.0,c=432 1.0
答案:C
评析:scanf()把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf()遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。
国家二级C语言程序设计机试(选择题)模拟试卷3
国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。
(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。
不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。
2.算法的空间复杂度是指( )。
(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。
4.软件设计中划分模块的一个准则是( )。
(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。
5.结构化程序的三种基本控制结构是( )。
(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。
6.软件需求规格说明书在软件开发中的作用不包括( )。
(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。
计算机二级c语言第3套笔试模拟试卷
第3套笔试模拟试卷一选择题:(1)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(2)下列叙述中错误的是()。
A)线性表是由n个元素组成的一个有限序列B)线性表是一种线性结构C)线性表的所有结点有且仅有一个前件和后件D)线性表可以是空表(3)数据的存储结构是指()。
A)数据所占的存储空间B)数据的逻辑结构在计算机中的存放形式C)数据在计算机中的顺序存储方式D)存储在计算机外存中的数据(4)下面对对象概念描述正确的是()。
A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通信靠信息传递D)方法是对象的静态属性(5)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ACFXDBEYZB)ABEFXYZCDC)ABCDEFXYZD)ABDYECFXZ(6)两个或两个以上模块之间联系的紧密程度称为()。
A)耦合性B)内聚性C)复杂性D)数据传输特性(7)在下列关于二叉树的叙述中,正确的一项是()。
A)在二叉树中,任何一个结点的度都是2B)二叉树的度为2C)在二叉树中至少有一个结点的度为2D)一棵二叉树的度可以小于21(8)待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
A)3B)5C)7D)9(9)以下所述中,是软件调试技术的是()。
A)错误推断B)集成测试C)回溯法D)边界值分析(10)设有如下关系表:A)T=R/SB)T=R×SC)T=R∩SD)T=R∪S(11)C语言程序的执行是()。
A)从程序的主函数开始,到程序的主函数结束C)从程序的主函数开始,到程序的最后一个函数结束B)从程序的第一个函数开始,到程序的最后一个函数结束D)从程序的第一个函数开始,到程序的主函数结束(12)下列不合法的用户标识符是()。
国家二级C语言C语言基础知识机试-试卷3_真题-无答案
国家二级C语言(C语言基础知识)机试-试卷3(总分50,考试时间90分钟)1. 选择题1. 以下叙述中错误的是A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D. C语言源程序经编译后生成后缀为.obj的目标程序2. 下列叙述中错误的是A. C程序可以由多个程序文件组成B. 一个C语言程序只能实现一种算法C. C程序可以由一个或多个函数组成D. 一个C函数可以单独作为一个C程序文件存在3. 以下叙述中错误的是A. 结构化程序由顺序、分支、循环三种基本结构组成B. C语言是一种结构化程序设计语言C. 使用三种基本结构构成的程序只能解决简单问题D. 结构化程序设计提倡模块化的设计方法4. 以下叙述中错误的是A. 算法正确的程序最终一定会结束B. 算法正确的程序可以有零个输入C. 算法正确的程序可以有零个输出D. 算法正确的程序对于相同的输入一定有相同的结果5. 以下选项中关于程序模块化的叙述错误的是A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C. 把程序分成若干相对独立的模块,可便于编码和调试D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序6. C语言源程序名的后缀是A. .exeB. .objC. .cD. .cp7. 关于算法,以下叙述中错误的是A. 同一个算法对于相同的输入必能得出相同的结果B. 一个算法对于某个输入的循环次数是可以事先估计出来的C. 某个算法可能会没有输入D. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕8. 以下不能用于描述算法的是A. 程序语句B. E-R图C. 伪代码和流程图D. 文字叙述9. 以下叙述中正确的是A. 程序的算法只能使用流程图来描述B. N—S流程图只能描述简单的顺序结构的程序C. 计算机可以直接处理C语言程序,不必进行任何转换D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构10. 以下叙述中正确的是A. 在C语言程序设计中,所有函数必须保存在一个源文件中’B. 在算法设计时,可以把复杂任务分解成一些简单的子任务C. 只要包含了三种基本结构的算法就是结构化程序D. 结构化程序必须包含所有的三种基本结构,缺一不可11. 以下叙述中正确的是A. 每个后缀为.c的C语言源程序都应该包含一个main函数B. 在C语言程序中,main函数必须放在其他函数的最前面C. 每个后缀为.c的C语言源程序都可以单独进行编译D. 在C语言程序中,只有main函数才可单独进行编译12. 有以下程序#include main(){ int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);} 在VC6平台上编译运行,程序运行后的输出结果是A. 4,4B. 2,4C. 4,8D. 10,613. 对于一个正常运行的C程序,以下叙述中正确的是A. 程序的执行总是从程序的第一个函数开始,在main函数结束.B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束C. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D. 程序的执行总是从main函数开始14. 计算机能直接执行的程序是A. 目标程序B. 可执行程序C. 汇编程序D. 源程序15. 以下叙述中正确的是A. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B. C语言程序将从源程序中第一个函数开始执行C. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D. C语言规定必须用main作为主函数名,程序将从此开始执行16. 以下叙述中错误的是A. C程序在运行过程中所有计算都以二进制方式进行B. 所有C程序都需要编译链接无误后才能运行C. C程序在运行过程中所有计算都以十进制方式进行D. C程序中字符变量存放的是字符的ASCII值17. 下列叙述中正确的是A. 在C程序中main函数的位置是固定的B. C程序中所有函数之间都可以相互调用C. 每个C程序文件中都必须要有一个main函数D. 在C程序的函数中不能定义另一个函数18. 以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在19. C语言程序的模块化通过以下哪个选项来实现A. 变量B. 程序行C. 函数D. 语句20. 以下叙述中正确的是A. 程序的主函数名除main外,也可以使用Main或mainB. 在C程序中,模块化主要是通过函数来实现的C. 程序可以包含多个主函数,但总是从第一个主函数处开始执行D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误21. 以下叙述中正确的是A. C语言程序总是从最前面的函数开始执行B. C语言程序总是从main函数开始执行C. C语言程序中main函数必须放在程序的开始位置D. C语言程序所调用的函数必须放在main函数的前面22. C语言主要是借助以下哪种手段来实现程序模块化A. 定义常量和外部变量B. 使用丰富的数据类型C. 使用三种基本结构语句D. 定义函数23. 以下四个程序中,完全正确的是A. #include<stdio.h>main();main() {/*/Programming /*/printf("programming!\n");}B. #include<stdio.h>{/*programming*/printf("programming!\n");}C. #include<stdio.h>main() main() {/*/*programming*/*/printf("programming!\n");}D. include<stdio.h>{/*programming*/print("programming!\n");}24. 以下关于结构化程序设计的叙述中正确的是A. 结构化程序使用goto语句会很便捷B. 一个结构化程序必须同时由顺序、分支、循环三种结构组成C. 由三种基本结构构成的程序只能解决小规模的问题D. 在C语言中,程序的模块化是利用函数实现的25. 以下叙述中正确的是A. C程序中的每一行只能写一条语句B. 简单C语句必须以分号结束C. C语言程序中的注释必须与语句写在同一行D. C语句必须在一行内写完。
全国计算机等级考试 二级C++ 笔试模拟试题(三)-计算机二级考试C++试卷与试题
全国计算机等级考试二级C++ 笔试模拟试题(三)-计算机二级考试C++试卷与试题一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
1. 最简单的交换排序方法是A. 快速排序B. 选择排序C. 堆排序D. 冒泡排序答案:D2. 栈通常采用的两种存储结构是A. 线性存储结构和链表存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构答案:A3. 线性表的顺序存储结构和线性表的链式存储结构分别是A. 顺序存取的存储结构、顺序存取的存储结构B. 随机存取的存储结构、顺序存取的存储结构C. 随机存取的存储结构、随机存取的存储结构D. 任意存取的存储结构、任意存取的存储结构答案:B4. 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是A. 黑箱测试法B. 白箱测试法C. 错误推测法D. 安装测试法答案:A5. 在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示A. 模块之间的调用关系B. 程序的组成成分C. 控制程序的执行顺序D. 数据的流向答案:A6. 下列选项中,不属于模块间耦合的是A. 数据耦合B. 同构耦合C. 异构耦合D. 公用耦合答案:C7. 一个关系中属性个数为1时,称此关系为A. 对应关系B. 单一关系C. 一元关系D. 二元关系答案:C8. 为用户与数据库系统提供接口的语言是A. 高级语言B. 数据描述语言(DDL)C. 数据操纵语言(DML)D. 汇编语言答案:C9. 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和A. 可重用性差B. 安全性差C. 非持久性D. 冗余性答案:D10. 需求分析阶段的任务是确定A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统功能答案:D11. 以下哪个特征不是面向对象思想中的主要特征?A. 多态B. 继承C. 封装D. 垃圾回收答案:D12. 以下哪个不是C++语言中的有效标识符?A. 34aB. _ABC. A_B答案:A13. C++中运算符优先级由高到低排列正确的是A. :: ++ + ||B. < * || ,C. sizeof % + ::D. , && new sizeof答案:A14. 下面程序的运行结果是 #include"iostream.h" #define sum(a,b)a*b void main() { int x; x=sum(1+2,3); cout<<x; }A. 0B. 9C. 7D. 5答案:C15. 以下for语句中不是死循环的是A. for(int i=0;i<1;++i);B. for(int i=0;;++i);C. for(int i=1;i>0;++i);D. for( ; ; );答案:A16. 关于continue语句叙述不正确的是A. continue语句用于循环体中,结束循环B. continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C. continue可以用于if语句中D. continue语句不能代替break语句答案:A17. 以下定义数组中错误的是A. int a[10];B. int a[2][20];C. int a[20][];D. int a[];答案:C18. 下面程序的执行结果是 #include"iostream.h" void main() { int *p,r; p = new int; *p = 20; r=sizeof(*p); cout<<r<<endl; delete p; }A. 程序错误B. 内存为20地址的大小D. 4答案:D19. 下面程序错误的语句是#include "iostre am.h" ①void main()②{ ③int A = 0;④int & B; ⑤ B = A; ⑥cout << B; ⑦cout << A; ⑧ }A. ②B. ③C. ④D. ⑥答案:C20. 下列程序的输出结果是 #include "iostream" using namespace std; int Max( int a, int b ){ if( a > b) return a; else return b; } void main() { int m, n; m =10,n=5; int max = Max ( m, n ); cout << max << endl; }A. 10B. 程序有误C. 1D. 0答案:A21. 函数int test( int a , int b=1, int c = 0),下列调用不合法的个数是 test( 0 );test( 0,0 );test();test( 0, 0, 0 );A. 0B. 1C. 2D. 3答案:C22. C++语言中类定义中默认的访问权限是A. publicB. protectedC. privateD. default答案:C23. C++语言中关于构造函数的说法正确的是A. 构造函数的函数名不必和类名相同B. 构造函数只能每一个C. 每个类必定有构造函数D. 构造函数必有返回值答案:C24. 关于构造函数A()的拷贝构造函数正确的是A. A( A *B );B. A( A B );C. A( A & B );D. A( A );答案:C25. 下面程序的执行结果为 #include "iostream" using namespace std; class A { int a; public: void Seta( int x ){ a = x;} void Display_a(){ cout << a << endl; } }; class B { int b; public: void Setb( int x ){ b = x;} void Dispaly_b(){ cout << b << endl; } }; class C : public A, private B { private: int c; public: void Setc( int x, int y, int z ) { c = z; Seta( x ); Setb (y ); } void Display_c(){ cout << c << endl; } }; ①void main()②{ ③ C cc;④ cc.Seta( 1 ); ⑤ cc.Display_a(); ⑥ cc.Setc( 2, 2, 3 ); ⑦ cc.Dispaly_b();⑧ cc.Display_c(); }A. 输出为223B. 有错误在第5行C. 输出为123D. 有错误在第7行答案:D26. 虚函数必须是类的A. 成员函数B. 友元函数C. 构造函数D. 析构函数答案:A27. 多态性指的是A. 以任何方式调用一个虚函数B. 以任何方式调用一个纯虚函数C. 借助于指向对象的基类指针或引用调用一个虚函数D. 借助于指向对象的基类指针或引用调用一个纯虚函数答案:C28. 不能重载的运算符是A. newB. sizeofC. .*D. ++答案:C29. 只能作为成员函数重载的是A. =B. ++C. *D. new答案:A30. 关于模板下列说法不正确的是A. 用类模板定义一个对象时,不能省略实参B. 类模板只能有虚拟类型参数C. 类模板本身在编译中不会生成任何代码D. 类模板的成员函数都是模板函数答案:B31. 语句cout << setprecision (2)<< 1024.4567;的输出结果为A. 1024.4567B. 1024C. 1024.45D. 1e+003答案:D32. 下面程序的结果为 #include"iostream.h" void change( int a, int b ) { int temp; temp = a; a = b; b = temp; } void main() { int m, n; m = 8; n = 9; change( m, n ); cout << m << " " << n << endl; }A. 8 9B. 9 8C. 程序有错误D. 9 9答案:A33. 下面程序的结果是 #include "iostream.h" void main() { char *str; str = "test!"; cout << str[5]; }A. 程序错误B. !C. ′\0′D. 为空字符答案:D34. 下面程序输出的结果为 #include "iostream.h" class A { public: A(){ cout << "CLASS A" << endl; } ~A(){} }; class B : public A { public: B(){ cout << "CLASS B" << endl; } ~B(){} }; void main() { A *p; p = new B; B *q; q = new B; }A. CLASS A CLASS BB. CLASS A CLASS B CLASS BC. CLASS A CLASS B CLASS A CLASS BD. CLASS A CLASS B CLASS B CLASS B答案:C35. C++语言函数中不能由系统自动生成的是A. 析构函数B. 构造函数C. 内联函数D. 拷贝构造函数答案:C二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
江苏省计算机二级C语言试题笔试 (3)
江苏省C等级考试(四)一、选择题(本题共20道小题,共40分。
)1. (14) 指针s所指字符串的长度为char *s="\\"Name\\Address\n";A) 19 B) 15 C) 18 D)说明不合法2. 若有下面的程序片段:int a[12]={0}, *p[3], **pp, i;for(i=0; i<3; i++)p[i]=&a[i*4];pp=p;则对数组元素的错误引用是A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2)3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a<>0 B) !aC) a=0 D) a4. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;其中0≤i≤9, 则对a数组元素不正确的引用上A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]5. 以下程序的输出结果是main( ){ int x=10,y=10,I;for(i=0;x>8;y=++i)printf("%d,%d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 16. 下面程序的输出是void prtv(int *x)printf("%d\n", ++*x);}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 267. 下面能正确进行字符串赋值操作的语句是A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s);8. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A)不定值B)2 C)1 D)09. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=*p1 *(*p2);10. 请读程序:#include<stdio.h>#define SUB(X,Y) (X)*Ymain(){ int a=3, b=4;printf("%d", SUB(a++, b++));}上面程序的输出结果是A) 12 B) 15C) 16 D) 2011. sizeof(float)是:A)intB)floatC)doubleD)不确定12. 若执行下面的程序时从键盘上输入3和4,则输出是main(){ int a,b,s;scanf("%d %d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A) 14 B) 16 C) 18 D) 2013. 以下程序的输出结果是# include <stdio.h>main(){ printf("%d\n",NULL); }A) 不确定的(因变量无定义)B)0 C)-1 D)114. 请读程序:#include<stdio.h>f(char *s){ char *p=s;while( *p!='\0') p++;return(p-s);}main(){ printf("%d\n",f("ABCDEF"));}上面程序的输出结果是A) 3 B) 6 C) 8 D) 015. 下面各语句行中,能正确进行赋字符串操作的语句行是A) char st[4][5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'};C) char *s; s="ABCDE"; D) char *s; scanf("%s",s);16. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a;scanf("%ld",p);B) p=(long *)malloc(8);scanf("%ld",p);C) scanf("%ld",p=&a);D) scanf("%ld",&a);17. 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A) p+1 B) a+1 C) a++ D) ++p18. 下面程序的输出是main(){ enum team {my,your=4,his,her=his+10};printf("%d %d %d %d\n",my,your,his,her);}A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 1519. 以下程序输出结果是main( ){int m=5;if(m++>5)printf("%d\n",m);else printf("%d\n",m--);}A)7 B)6C)5 D)420. 以下程序运行后,输出结果是int d=1;fun(int p){int d=5;printf("%d",d);}main(){int a=3;fun(a);d+=a++;printf("%d\n",d);}A)84 B)99 C)95 D)44二、填空题(每空1分,共10分。
计算机二级《C语言》模拟试题及答案3篇
计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共三套)
2020年全国计算机等级考试二级C语言全真模拟试卷及答案(共三套)2020年全国计算机等级考试二级C语言全真模拟试卷及答案(一)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)软件生命周期中花费费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护(2)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序(3)以下不是面向对象思想中的主要特征的是A)多态B)继承C)封装D)垃圾回收(4)下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程(6)数据处理的最小单位是A)数据B)数据元素C)数据项D)数据结构(7)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A)log2n B)n2 C)O(n1..5)D)n(n-1)/2(8)在深度为5的满二叉树中,叶子结点的个数为A)32 B)31 C)16 D)15(9)数据库系统的核心是A)数据库B)数据库管理系统C)模拟模型D)软件工程(10)一个关系中属性个数为1时,称此关系为A)对应关系B)单一关系C)一元关系D)二元关系(11)下面各选项中,均是C语言合法标识符的选项组是A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32(12)可在C程序中用作用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下对C语言函数的有关描述中,正确的是A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B)C函数既可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)函数必须有返回值,返回值类型不定(14)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(15)现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为:A)int B)double C)float D)char(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0 (18)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(19)下列程序的运行结果是#include "stdio.h"main(){ int x=-9,y=5,z=8;if(x<y)if(y<0)z=0;else z+=1;printf("%d\n",z);}A)6 B)7 C)8 D)9(20)若程序执行时的输入数据是"2473",则下述程序的输出结果是#include<stdio.h>void main(){ int cs;while((cs=getchar())!=; '\n'){switch(cs-'2'){ case 0case 1: putchar(cs+4);case 2: putchar(cs+4);break;case 3: putchar(cs+3); default: putchar(cs+2); } } }A)668977B)668966C)6677877D)6688766(21)以下程序的输出结果是main(){ int a,i;a=0;for(i=1;i<5;i++){ switch(i){ case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5; }}printf("%d\n",a);}A)31 B)13 C)10 D)20(22)现有如下程序段#include "stdio.h"main(){ int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){ if(k[i]%2==0||k[i]%5==0)count++;i++; }printf("%d,%d\n",count,i);}则程序段的输出结果为A)7,8 B)8,8 C)7,10 D)8,10(23)若有以下程序#include <stdio.h>int a[]={2,4,6,8};main(){ int i;int *p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序的输出结果是A)6 B)8 C)4 D)2(24)有以下程序#include <stdio.h>main(){ int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)已知字符′A′的ASCII码值是65,字符变量cl的值是′A′,c2 的值是′D′。
2021年3月全国计算机等级考试二级C语言历年真题和答案
2021年3月全国计算机等级考试二级C语言历年真题和答案2021年3月全国计算机等级考试《二级C语言》题库【历年真题+章节题库+模拟试题】目录•第一部分历年真题•全国计算机等级考试《二级C语言程序设计》真题及详解(一)•全国计算机等级考试《二级C语言程序设计》真题及详解(二)•全国计算机等级考试《二级C语言程序设计》真题及详解(三)•全国计算机等级考试《二级C语言程序设计》真题及详解(四)•全国计算机等级考试《二级C语言程序设计》真题及详解(五)•全国计算机等级考试《二级C语言程序设计》真题及详解(六)•第二部分章节题库•公共基础知识•第1章数据结构与算法•第2章程序设计基础•第3章软件工程基础•第4章数据库设计基础•C语言程序设计•选择题•第1章程序设计基本概念•第2章C程序设计的初步知识•第3章顺序结构•第4章选择结构•第5章循环结构•第6章字符型数据•第7章函数•第8章地址和指针•第9章数组•第10章字符串•第11章对函数的进一步讨论•第12章C语言中用户标识符的作用域和存储类•第13章编译预处理和动态存储分配•第14章结构体、共用体和用户定义类型•第15章位运算•第16章文件•上机操作题•一、程序填空题•二、程序修改题•三、程序设计题•第三部分模拟试题•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(一)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(二)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(三)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(四)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(五)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(六)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(七)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(八)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(九)•全国计算机等级考试《二级C语言程序设计》模拟试题及详解(十)•常见问题电子书常见问题1.电子书产品(电子书、题库、视频、全套等)能在几种设备上使用?如何使用?答:支持电脑(WIN10、WIN8、WIN7)、手机、平板等多端同步使用。
下半年全国计算机二级C语言考前模拟试题及答案
下半年全国计算机二级C语言考前模拟试题及答案无论是在学校还是在社会中,我们最不陌生的就是试题了,试题是命题者根据一定的考核需要编写出来的。
什么样的试题才是好试题呢?以下是我收集整理的2023下半年全国计算机二级C语言考前模拟试题及答案,仅供参考,大家一起来看看吧。
下半年全国计算机二级C语言考前模拟试题及答案11). 关于C语言的变量,以下叙述中错误的是( )A.所谓变量是指在程序运行过程中其值可以被改变的量B.变量所占的存储单元地址可以随时改变C.程序中用到的所有变量都必须先定义后才能使用D.由三条下划线构成的符号名是合法的变量名正确答案:B答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。
在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。
变量命名要符合标识符的规定,其中下划线是标识符的组成字符。
程序中所有变量都必须先定义后使用。
2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。
9). 以下结构体类型说明和变量定义中正确的是( )A.typedefstruct { int n; char c; } REC; REC t1,t2;B.structREC ; { int n; char c; }; REC t1,t2;C.typedefstruct REC; { int n=0; char c=′A′; } t1,t2;D.struct{ int n; char c; } REC; REC t1,t2;正确答案:A答案解析:定义结构体类型的一般形式为:struct 结构体名{成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D 中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。
2018年计算机二级C语言模拟题3
2018年计算机二级C语言模拟题3(总分:100.00,做题时间:120分钟)一、选择题(每题1分,共40分)下列各题A)、B)、C )、D)四个选项中,只有一个选项是正确的。
(总题数:40,分数:40.00)1.下列叙述中正确的是()。
(分数:1.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构的线性表D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构√解析:栈是先进后出的线性表,因此A 错误;队列是先进先出的线性表,因此B错误;循环队列是线性结构的线性表,因此C错误,故本题答案为D。
2.支持子程序调用的数据结构是()。
(分数:1.00)A.桟√B.树C.队列D.二叉树解析:栈支持子程序调用。
栈是一种只能在一端进行插入或删除的线性表,在主程序调用子程序时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,然后继续向下执行,这种调用方式符合栈的特点,因此本题的答案为A。
3.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
(分数:1.00)A.10B.8C.6 √D.4解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,因此本题答案是5+1=6,故选择C。
4.下列排序方法中,最坏情况下比较次数最少的是()。
(分数:1.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序√解析:冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是n㏒2n,因此本题答案为D。
5.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件),下面属于应用软件的是( )(分数:1.00)A.编译程序B.操作系统C.教务管理系统√D.汇编程序解析:编译程序、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件,因此本题答案为C。
全国计算机等级考试2019年二级C语言程序设计模拟试题3_真含答案与解析)-交互50
全国计算机等级考试2019年二级C语言程序设计模拟试题3(总分100, 做题时间120分钟)选择题(每题 1 分,共 40 分)1.下列叙述中正确的是()。
SSS_SINGLE_SELA栈与队列都只能顺序存储B循环队列是队列的顺序存储结构C循环链表是循环队列的链式存储结构D栈是顺序存储结构而队列是链式存储结构分值: 1答案:B栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构。
2.算法空间复杂度的度量方法是()。
SSS_SINGLE_SELA算法程序的长度B算法所处理的数据量C执行算法所需要的工作单元D执行算法所需要的存储空间分值: 1答案:D算法的空间复杂度是指执行这个算法所需要的存储空间,包括:①输入数据所占的存储空间;②程序本身所占的存储空间;③算法执行过程中所需要的额外空间。
3.设有栈 S 和队列 Q,初始状态均为空。
首先依次将 A, B, C, D, E, F 入栈,然后从栈中退出三个元素依次入队,再将 X, Y, Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
SSS_SINGLE_SELADEFXYZABCBFEDZYXCBACFEDXYZCBADDEFZYXABC分值: 1答案:B栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将 A, B,C, D, E, F 入栈后,栈中元素为 ABCDEF,退出三个元素入队,队列元素为 FED,将 X, Y, Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为 FEDZYXCBA。
4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为()。
2022年全国计算机等级考试二级C++模拟试题(3)-笔试部分
2022年全国计算机等级考试二级C++模拟试题(3)笔试部分2022年全国计算机等级考试二级C++模拟试题(3)笔试部分一、选择题1.串的长度是()[2分]A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数2.以下不属于对象的基本特点的是()[2分]A.分类性B.多态性C.继承性D.封装性3.下面不属于软件设计原则的是()[2分]A.抽象B.模块化C.自底向上D.信息隐蔽4.下列SQL语句中,用于修改表结构的是()[2分]A.ALTERB.CREATEC.UPDATED.INSERT5.关系模型允许定义3类数据约束,下列不属于数据约束的是()[2分]A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束6.非空的循环单链表head的尾结点(由p所指向),满足()[2分]A.p-next==NULLB.p==NULLC.p-next=headD.p=head7.对建立良好的程序设计风格,下面描述正确的是()[2分]A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的解释可有可无8.在软件生产过程中,需求信息的给出是()[2分]A.程序员B.项目管理者C.软件分析设计人员D.软件用户9.NULL是指()[2分]B.空格C.未知的值或无任何值D.空字符串10.下列说法中,不属于数据模型所描述的内容的是()[2分]A.数据结构B.数据操作C.数据查询D.数据约束11.C++语言中标点符号中表示一条预处理命令开始的是()[2分]12.sizeof(float)是()[2分]A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式13.设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是( )[2分]A.循环执行10次B.无限循环C.循环体语句一次也不执行D.循环体语句执行一次14.以下不正确的定义语句是()[2分]A.doublex[5]={2.0,4.0,6.0,8.0,10.0};B.inty[5]={0,1,3,5,7,9};C.charc1[]={′1′,′2′,′3′,′4′,′5′};D.charc2[]={′\x10′,′\xa′,′\x8′};15.下列函数的运行结果是()#includeint f(int a,int b){ int c;if(ab) c=1;else if(a==b) c=0;else c=-1;return(c);}void main(){ int i=2,j=3;int p=f(i,j);cout[2分]A.-1D.编译出错,无法运行16.关于静态数据成员的描述中正确的是()[2分]A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化17.下表正确的是()类中的访问属性访问修饰符在子类中的访问属性[2分]A.publicprivate不能直接访问B.protectpublicpublicC.privatepublic不能直接访问D.protectprivateprotect18.下列运算符中全都可以被友元函数重载的是()[2分]A.=,+,-,\B.[],+,(),newC.-,+,*,D.,,+,*19.对于下面的程序ifstream fin(c:\test.txt);if(fin)cout″ok″;elsecout″wrong″;对于if语句中的内容可以换为( )[2分]A.fin.fail();B.fin.bad();C.fin.good();D.fin.eof();20.不合法的main函数命令行参数表示形式是()[2分]A.main(inta,char*c[])B.main(intarc,char**arv)C.main(intargc,char*argv)D.main(intargv,char*argc[])21.下面叙述不正确的是()[2分]A.基类的保护成员在派生类中仍然是保护的成员B.基类的保护成员在公有派生类中仍然是保护的C.基类的保护成员在私有派生类中仍然是私有的D.对基类成员的访问必须是无二义性22.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处填入的选项是()#includevoid main(){ int a,b,t;cinab;while(________){ if(ab){ t=a;a=b;b=t} coutab; } }[2分]A.!a=bB.a!=bC.a==bD.a=b23.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()[2分]A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念24.设有定义int x;float y;,则10+x+y值的数据类型是()[2分]A.intB.doubleC.floatD.不确定25.下面程序的运行结果为()#includevoid main(){for(int a=0,x=0;!xa=10;a++){a++;}cout}[2分]A.10B.11C.1226.下面关于数组的初绐化正确的是()[2分]A.charstr[]={′a′,′b′,′c′}B.charstr[2]={′a′,′b′,′c′}C.charstr[2][3]={{′a′,′b′},{′c′,′d′},{′e′,′f′}}D.charstr()={′a′,′b′,′c′}27.决定C++语言中函数的返回值类型的是()[2分]A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型28.下列程序的运行结果为()#includevoid print(doublea){cout++a;}void print(int a,int b){coutA.22B.43C.42D.32二、填空题1.用树结构表示实体类型及实体间联系的数据模型称为【1】___。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3套笔试模拟试卷一选择题:(1)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(2)下列叙述中错误的是()。
A)线性表是由n个元素组成的一个有限序列B)线性表是一种线性结构C)线性表的所有结点有且仅有一个前件和后件D)线性表可以是空表(3)数据的存储结构是指()。
A)数据所占的存储空间B)数据的逻辑结构在计算机中的存放形式C)数据在计算机中的顺序存储方式D)存储在计算机外存中的数据(4)下面对对象概念描述正确的是()。
A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通信靠信息传递D)方法是对象的静态属性(5)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ACFXDBEYZB)ABEFXYZCDC)ABCDEFXYZD)ABDYECFXZ(6)两个或两个以上模块之间联系的紧密程度称为()。
A)耦合性B)内聚性C)复杂性D)数据传输特性(7)在下列关于二叉树的叙述中,正确的一项是()。
A)在二叉树中,任何一个结点的度都是2B)二叉树的度为2C)在二叉树中至少有一个结点的度为2D)一棵二叉树的度可以小于2(8)待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
A)3B)5C)7D)9(9)以下所述中,是软件调试技术的是()。
A)错误推断B)集成测试C)回溯法D)边界值分析(10)设有如下关系表:A)T=R/SB)T=R×SC)T=R∩SD)T=R∪S(11)C语言程序的执行是()。
A)从程序的主函数开始,到程序的主函数结束C)从程序的主函数开始,到程序的最后一个函数结束B)从程序的第一个函数开始,到程序的最后一个函数结束D)从程序的第一个函数开始,到程序的主函数结束(12)下列不合法的用户标识符是()。
A)j2_KEYB)DoubleC)4dD)_8_(13)若变量已正确定义,以下表达式错误的是()。
A)a/b+cB)a%(5.0)C)a=1/3*(x=y=10,x*2)D)a=b=c(14)下列不合法的数值常量是()。
A)011B)1e1C)8.0E0.5D)0xabcd(15)已知char a;int b;float c;double d;,则表达式a+b+c-d结果为()型。
A)doubleB)floatC)intD)char(16)下列叙述中正确的是()。
A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(17)下列字符串是标识符的是()。
A)aaB)a-classC)intD)LINE 1(18)下列关于函数的叙述中正确的是()。
A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(19)若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是()。
A)++i;B)n1=(n2/(n3=2));C)k=i=j;D)a=b+c=2;(20)下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
A)只能是整数0或1B)只能是整数0或非0整数C)可以是结构体类型的数据D)可以是任意合法的表达式(21)设已定义x为double类型变量:#include<stdio.h>main(){float x=323.82631;printf("%.2e\n",x);}则以上语句()。
A)输出格式描述符的域宽不够,不能输出B)输出为32.38e+01C)输出为3.24e+002D)输出为3.24e2(22)若变量都已正确说明,则以下程序段()。
#include<stdio.h>main(){int a=3;int b=2;printf(a>b?"***a=%d":"###b=%d",a,b);}A)输出为:***a=3B)输出为:###b=3C)输出为:***a=3##b=5D)全部错误(23)与y=(x>0 ? 2 : x<0 ? 1 : 0);的功能相同的if语句是( )A)if(x>0) y=2; B)if(x)else if(x<0) y=1; if(x>0) y=1;else y=0; else if(x<0) y=2;else y=0;C)y=1; D)if(x<0) y=2;if(x) if(x>0) y=1;if(x>0) y=2; else y=0;else if(x==0) y=0;else y=1;(24)有以下程序:#include<stdio.h>main(){ int i,s=0;for(i=1;i<10;i++)if(!(i%2)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是()。
A)4B)39C)45D)6(25)在下列选项中,没有构成死循环的程序段是()。
A)int i=100; B)for(;;);while(2){i=i%10+1;if(i>10) break;}C)int k=0; D)int s=12;do{++k;} while(k<=10); while(s);--s;(26)下面程序的运行结果是()。
#include<stdio.h>void del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a[i]!='\0';i++){ if(a[i]>='0'&&a[i]<='9'){ s[j]=a[i];j++;}s[j]='\0';}}main(){char *s="aa89gggh";del(s);printf("\n%s",s);}A)aaB)89C)ggghD)aa89gggh(27)要求tan(60°)的值,调用的库函数格式为()。
A)tan(60)B)tan(pi/3)C)tan(60.0)D)tan((double)60)(28)下列程序的输出结果是()。
#include<stdio.h>void fun(int*a,int*b){ int *k;k=a;a=b;b=k;}main(){ int a=1,b=2,*x=&a,*y=&b;fun(x,y);printf("%d %d",a,b);}A)2 1B)1 2C)编译出错D)0 0(29)若有以下定义:int m[]={1,2,3,4,5,6,7,8,9,0},*p=m;则值为4的表达式是()。
A)p+=3,*(p++)B)p+=3,*++pC)p+=4,*p++D)p+=3,++*p(30)若有说明int a[4][4]={2,4,6,8,10,12},(*p)[4]=a;则对数组元素a[i][j](其中0<=i<4,0<=j<4)地址的错误引用为()。
A)*(*(p+i)+j)B)*(p[i]+j)C)(a+i)[j]D)*(a[i]+j)(31)以下程序的输出结果为()。
#include<stdio.h>main(){char *p[]={"abcdefgh","ijkl","mnop","qrst","uvwx"};int i;for(i=0;i<3;i++)puts(p[i]);}A)abcdefghB)ijklC)abcdefghD)qrstijklmnop(32)若有以下定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;A)p+5B)*a+1C)&a+1D)&a[0](33)判断字符串s1是否大于字符串s2,应该使用()。
A)if(strcmp(s1,s2)<0)B)if(s1>s2)C)if(strcmp(s2,s1)<0)D)if(strcmp(s1,s2))(34)若输入bcdefgh、m、abcdefg,以下程序的输出结果为()。
#include<stdio.h>#include<string.h>main(){ int i;char string[20],str[3][20];for(i=0;i<3;i++) gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);else strcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);printf("%s",string);}A)bcdefghB)mC)abcdefgD)bcdefgh或abcdefg(35)以下叙述中,不正确的是()。
A)使用static int a定义的外部变量存放在内存中的静态存储区B)使用int a定义的外部变量存放在内存中的动态存储区C)使用static int c定义的内部变量存放在内存中的静态存储区D)使用int d定义的内部变量存放在内存中的动态存储区(36)若有以下宏定义:#diefine N 2#define f(n)((N+1)*n)则执行语句a=3*(N+f(5));后的结果是()。
A)语句有错误B)a=51C)a=80D)a无定值(37)定义以下结构体(联合)数组:struct st{char name[15];int age;}a[10]={"ZHAO",14, "W ANG",15, "LIU",16, "ZHANG",17 };执行语句printf("%d,%c",a[2].age, *(a[3].name+2))的输出结果为()。