《2023年全国计算机等级考试二级C语言模拟试题及答案一.doc》由会员分享,可在线阅读,更多相关《2023年全国计算机等级考试二级C语言模拟试题及答案一.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试二级C语言模拟试题及答案(一)一 、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点对的答案: C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba对的答案: D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比对的答案: B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价
2、结构D)顺序结构、选择结构、循环结构对的答案: D(5)为了提高测试的效率,应当A)随机选取测试数据B)取一切也许的输入数据作为测试数据C)在完毕编码以后制定软件的测试计划D)集中对付那些错误群集的程序对的答案: D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数对的答案: C(7)软件生命周期中所花费用最多的阶段是A)具体设计B)软件编码C)软件测试D)软件维护对的答案: D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 A)CB)BasicC)DDLD)DML对的答案: C(9)下列有
3、关数据库的描述,对的的是A)数据库是一个DBF文献B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文献对的答案: C(10)下列有关数据库的描述,对的的是A)数据解决是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)假如一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字对的答案: D(11)以下叙述中对的的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机辨认执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)
4、C语言出现的最晚,具有其他语言的一切优点对的答案: C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构 B)if,switch,break C)for,while,do-whileD)if,for,continue对的答案: A(13)C语言中最简朴的数据类型涉及A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型对的答案: B(14)若变量已对的定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b 对的答案: B(15)下列可用于C语言用户标记符的一组
5、是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof对的答案: B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)=对的答案: A(17)若变量a,i已对的定义,且i已对的赋值,合法的语句是A)a= =1B)+i;C)a=a+=5;D)a=int(i);对的答案: B(18)已知int t=0;while (t=1).则以下叙述对的的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对对的答案: B(19)若变量已对的说明为float型
6、,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不对的的输入形式是A)102233B)10.0,22.0,33.0C)10.022.033.0D)10 2233对的答案: B(20)有如下程序:main() int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2对的答案: A(21)有以下程序main()int i=1,j=1,k
7、=2;if(j+|k+)&i+)printf(%d,%d,%dn,i,j,k);执行后输出结果是 A)1,1,2B)2,2,1C)2,2,2D)2,2,3对的答案: C(22)有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x6)n-; printf(%d,n);该程序的输出结果是A)987B)876C)8765D)9876对的答案: B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1)i=i%100+1;if(i100)break; B)for(;);C)int k=10000;dok+;while(k10000);
8、D)int s=36;while(s)-s;对的答案: D(25)设int x=1,y=1;表达式(!x|y-)的值是A)0B)1C)2D)-1对的答案: B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参对的答案: D(27)有以下程序float fun(int x,int y)return(x+y);main()int a=2,b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c);程序运营后的输出结
9、果是A)编译犯错B)9C)21D)9.0对的答案: B(28)若有以下调用语句,则不对的的fun函数的首部是main() int a50,n;fun(n, &a9);A)void fun(int m, int x)B)void fun(int s, int h41)C)void fun(int p, int *s)D)void fun(int n, int a)对的答案: D(29)fseek函数的对的调用形式是A)fseek(文献指针,起始点,位移量)B)fseek(文献指针,位移量,起始点)C)fseek(位移量,起始点,文献指针)D)fseek(起始点,位移量,文献指针)对的答案: B(
10、30)若fp是指向某文献的指针,且已读到文献末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1D)NULL对的答案: C(31)若有说明语句:char c=72;则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不拟定对的答案: A(32)若有说明 int a34;则a数组元素的非法引用是A)a02*1B)a13C)a4-20D)a04对的答案: D(33)设有以下说明语句struct stuint a;float b; stutype;则下面的叙述不对的的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stuty
11、pe是用户定义的结构体类型名D)a和b都是结构体成员名对的答案: C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式对的答案: C(35)若运营时给变量x输入12,则以下程序的运营结果是main()int x,y;scanf(%d,&x);y=x12?x+10:x-12;printf(%dn,y); A)0B)22C)12D)10对的答案: A(36)以下说法对的的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)
12、C语言程序中的main()函数必须放在程序的开始部分对的答案: C(37)表达式0x130x17的值是A)0x04B)0x13C)0xE8D)0x17对的答案: A(38)有以下程序 #define F(X,Y)(X)*(Y)main()int a=3, b=4; printf(%dn, F(a+, b+); 程序运营后的输出结果是 A)12B)15C)16D)20对的答案: A(39)下列程序执行后的输出结果是void func(int *a,int b) b0=*a+6; main()int a,b5;a=0; b0=3;func(&a,b); printf(%dn,b0);A)6B)7C
13、)8D)9对的答案: A(40)若有下面的程序段:char s=china;char *p; p=s;则下列叙述对的的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s0相等对的答案: D(41) 以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5
14、);for(i=0;i10;i+)printf(%d,aai);printf(n);程序运营后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,对的答案: C(42) 以下程序的运营结果是#include stdio.hmain()struct dateint year,month,day;today;printf(%dn,sizeof(struct date);A)6B)8C)10D)12对的答案: A(43)若有语句int *point,a=4;
15、和 point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point对的答案: D(44)在调用函数时,假如实参是简朴的变量,它与相应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定对的答案: B(45)已定义以下函数 fun(char *p2, char *p1) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是 A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C)对p1和p
16、2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有0对的答案: A(46)若执行下述程序时,若从键盘输入6和8时,结果为main()int a,b,s;scanf(%d%d,&a,&b);s=aif(anext=&c; q-next=p-next;D)(*p).next=q; (*q).next=&b;对的答案: D二 、填空题(1)算法的基本特性是可行性、拟定性、 【1】 和拥有足够的情报。对的答案: 1.(有穷性)(2)在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【2】 。对的答案: 1.(log2n)(3)在面向对象的程序设计中,类描述的
17、是具有相似性质的一组 【3】 。对的答案: 1.(对象)(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。对的答案: 1.(软件生命周期)(5)数据库管理系统常见的数据模型有层次模型、网状模型和 【5】 3种。对的答案: 1.(关系模型)(6)设y是int型,请写出y为奇数的关系表达式 【6】 。对的答案: 1.(y%2)=1或(y%2)!=0)(7)设int a=5,b=6,表达式(a=b-)?+a:-b的值是【7】 。对的答案: 1.(7)(8)下列程序的输出结果是【8】。maim ()char b =Hello you;b5=0;printf (%sn,b)
18、;对的答案: 1.(Hello)(9)当调用函数时,实参是一个数组名,则向函数传递的是【9】。对的答案: 1.(数组的首地址)(10)以下程序的输出结果是【10】。int a=1234;printf (%2dn,a);对的答案: 1.(1234)(11) 用高级语言编写的程序称为【11】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目的程序,然后执行。对的答案: 1.(源程序)(12) 以下程序的输出结果是【12】。main()int a=0;a+=(a=8);printf(%dn,a);对的答案: 1.(16)(13)函数 void fun(float *
19、sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。void fun( float *sn, int n) float s=0.0, w, f=-1.0;int i=0;for(i=0; in。例如:m=12,n=8时,运营结果应当是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include #include float fun (int m, int n) int i;double p=1.0;for(i=1;i=m;i+)【15】;for(i=1;i=n;i+)【16】;for(i=1;
20、i=m-n;i+)p=p/i;return p;main () clrscr();printf (p=%fn,fun (12,8);对的答案: 1.(p=p*i) 2.(p=p/i)(15)该程序运营的结果是【17】。#include#include#define M 100void fun(int m, int *a, int *n) int i,j=0;for(i=1;i=m;i+)if(i%7=0|i%11=0)aj+=i;*n=j;main() int aaM,n,k;clrscr();fun(10,aa,&n);for(k=0;kn;k+)if(k+1)%20=0)printf(n)
21、;else printf(%4d,aak);printf(n);对的答案: 1.(7)(16)下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串,输入字符1,则输出3,请填空。#include #include #define M 81int fun(char *ss, char c) int i=0;for(; 【18】;ss+)if(*ss=c)i+;return i;main() char aM, ch;clrscr();printf(nPlease enter a string: ); gets(a);printf(nPlease enter a ch
22、ar: ); ch=getchar();printf(nThe number of the char is: %dn, fun(a,ch);对的答案: 1.(*ss!= 0)(17)下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat的新文献中,请填空。#include stdio.hFILE *fp; char ch;if(fp=fopen(【19】)=NULL)exit(0);while(ch=getchar( )!=)fputc (ch,fp);fclose(fp);对的答案: 1.(bi.dat,w或bi.dat,w+)(18)设有如下宏定义#define MYSWAP(z,x,y)z=x;x=y;y=z;以下程序段通过宏调用实现变量a,b内容互换,请填空。float a=5,b=16,c;MYSWAP(【20】,a,b);对的答案: 1.(c)