全国计算机等级考试二级C语言模拟试题及答案一.docx

上传人:b****8 文档编号:9691973 上传时间:2023-05-20 格式:DOCX 页数:18 大小:22.57KB
下载 相关 举报
全国计算机等级考试二级C语言模拟试题及答案一.docx_第1页
第1页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第2页
第2页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第3页
第3页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第4页
第4页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第5页
第5页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第6页
第6页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第7页
第7页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第8页
第8页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第9页
第9页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第10页
第10页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第11页
第11页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第12页
第12页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第13页
第13页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第14页
第14页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第15页
第15页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第16页
第16页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第17页
第17页 / 共18页
全国计算机等级考试二级C语言模拟试题及答案一.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

全国计算机等级考试二级C语言模拟试题及答案一.docx

《全国计算机等级考试二级C语言模拟试题及答案一.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言模拟试题及答案一.docx(18页珍藏版)》请在冰点文库上搜索。

全国计算机等级考试二级C语言模拟试题及答案一.docx

全国计算机等级考试二级C语言模拟试题及答案一

2008年9月全国计算机等级考试二级C语言模拟试题及答案

(一)

一、选择题

(1)栈和队列的共同特点是

A)都是先进先出

B)都是先进后出

C)只允许在端点处插入和删除元素

 D)没有共同点

正确答案:

 C

(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是

A)acbed

B)decab

C)deabc

D)cedba

正确答案:

 D

(3)链表不具有的特点是

A)不必事先估计存储空间

B)可随机访问任一元素

C)插入删除不需要移动元素

 D)所需空间与线性表长度成正比

正确答案:

 B

(4)结构化程序设计的3种结构是

A)顺序结构、选择结构、转移结构

B)分支结构、等价结构、循环结构

C)多分支结构、赋值结构、等价结构

D)顺序结构、选择结构、循环结构

正确答案:

 D

(5)为了提高测试的效率,应该

A)随机选取测试数据

B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划

D)集中对付那些错误群集的程序

正确答案:

 D

(6)算法的时间复杂度是指

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

正确答案:

 C

(7)软件生命周期中所花费用最多的阶段是

A)详细设计

B)软件编码

C)软件测试

D)软件维护

正确答案:

 D

(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为

A)C

B)Basic

C)DDL

D)DML

正确答案:

 C

(9)下列有关数据库的描述,正确的是

A)数据库是一个DBF文件

B)数据库是一个关系

C)数据库是一个结构化的数据集合

D)数据库是一组文件

正确答案:

 C

(10)下列有关数据库的描述,正确的是

A)数据处理是将信息转化为数据的过程

B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C)关系中的每一列称为元组,一个元组就是一个字段

D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字

正确答案:

 D

(11)以下叙述中正确的是

A)C语言比其他语言高级

B)C语言可以不用编译就能被计算机识别执行

C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D)C语言出现的最晚,具有其他语言的一切优点

正确答案:

 C

(12)C语言中用于结构化程序设计的3种基本结构是

A)顺序结构、选择结构、循环结构

B)if,switch,break

C)for,while,do-while

D)if,for,continue

正确答案:

 A

(13)C语言中最简单的数据类型包括

A)整型、实型、逻辑型

B)整型、实型、字符型

C)整型、字符型、逻辑型

D)字符型、实型、逻辑型

正确答案:

 B

(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是

A)a:

=b+1

B)a=b=c+2

C)int18.5%3

D)a=a+7=c+b

正确答案:

 B

(15)下列可用于C语言用户标识符的一组是

A)void,define,WORD

B)a3_b3,_123,Car

C)For,-abc,IFCase

D)2a,DO,sizeof

正确答案:

 B

(16)C语言中运算对象必须是整型的运算符是

A)%=

B)/

C)=

D)<=

正确答案:

 A

(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是

A)a==1

B)++i;

C)a=a++=5;

D)a=int(i);

正确答案:

 B

(18)已知

intt=0;

while(t=1)

{...}

则以下叙述正确的是

A)循环控制表达式的值为0

B)循环控制表达式的值为1

C)循环控制表达式不合法

D)以上说法都不对

正确答案:

 B

(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是

A)10<回车>22<回车>33<回车>

B)10.0,22.0,33.0<回车>

C)10.0<回车>22.033.0<回车>

D)10 22<回车>33<回车>

正确答案:

 B

(20)有如下程序:

main()

{

intx=1,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf("a=%d,b=%d\n",a,b);}

该程序的输出结果是

A)a=2,b=1

B)a=1,b=1

C)a=1,b=0

D)a=2,b=2

正确答案:

 A

(21)有以下程序

main()

{inti=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是

A)1,1,2

B)2,2,1

C)2,2,2

D)2,2,3

正确答案:

 C

(22)有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf("%f\n",y);}

该程序的输出结果是

A)0.000000

B)0.250000

C)0.500000

D)1.000000

正确答案:

 C

(23)有如下程序:

main()

{intn=9;

while(n>6){n--;printf("%d",n);}

}

该程序的输出结果是

A)987

B)876

C)8765

D)9876

正确答案:

 B

(24)在下列选项中,没有构成死循环的是

A)inti=100;

while

(1)

{i=i%100+1;

if(i>100)break;

}

B)for(;;);

C)intk=10000;

do{k++;}while(k>10000);

D)ints=36;

while(s)--s;

正确答案:

 D

(25)设intx=1,y=1;表达式(!

x||y--)的值是

A)0

B)1

C)2

D)-1

正确答案:

 B

(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是

A)函数调用可以作为独立的语句存在

B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中

D)函数调用可以作为一个函数的形参

正确答案:

 D

(27)有以下程序

floatfun(intx,inty)

{return(x+y);}

main()

{inta=2,b=5,c=8;

printf("%3.0f\n",fun((int)fun(a+c,b),a-c));

}

程序运行后的输出结果是

A)编译出错

B)9

C)21

D)9.0

正确答案:

 B

(28)若有以下调用语句,则不正确的fun函数的首部是

main()

{…

inta[50],n;

fun(n,&a[9]);

}

A)voidfun(intm,intx[])

B)voidfun(ints,inth[41])

C)voidfun(intp,int*s)

D)voidfun(intn,inta)

正确答案:

 D

(29)fseek函数的正确调用形式是

A)fseek(文件指针,起始点,位移量)

B)fseek(文件指针,位移量,起始点)

C)fseek(位移量,起始点,文件指针)

D)fseek(起始点,位移量,文件指针)

正确答案:

 B

(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是

A)EOF

B)-1

C)1

D)NULL

正确答案:

 C

(31)若有说明语句:

charc='\72';则变量c

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法,c的值不确定

正确答案:

 A

(32)若有说明inta[3][4];则a数组元素的非法引用是

A)a[0][2*1]

B)a[1][3]

C)a[4-2][0]

D)a[0][4]

正确答案:

 D

(33)设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是

A)struct是结构体类型的关键字

B)structstu是用户定义的结构体类型

C)stutype是用户定义的结构体类型名

D)a和b都是结构体成员名

正确答案:

 C

(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是

A)整型常量

B)整型表达式

C)整型常量或整型表达式

D)任何类型的表达式

正确答案:

 C

(35)若运行时给变量x输入12,则以下程序的运行结果是

main()

{intx,y;

scanf("%d",&x);

y=x>12?

x+10:

x-12;

printf("%d\n",y);

}

A)0

B)22

C)12

D)10

正确答案:

 A

(36)以下说法正确的是

A)C语言程序总是从第一个的函数开始执行

B)在C语言程序中,要调用函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

正确答案:

 C

(37)表达式0x13^0x17的值是

A)0x04

B)0x13

C)0xE8

D)0x17

正确答案:

 A

(38)有以下程序

#defineF(X,Y)(X)*(Y)

main()

{inta=3,b=4;

printf("%d\n",F(a++,b++));

}

程序运行后的输出结果是

A)12

B)15

C)16

D)20

正确答案:

 A

(39)下列程序执行后的输出结果是

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5];

a=0;b[0]=3;

func(&a,b);printf("%d\n",b[0]);

}

A)6

B)7

C)8

D)9

正确答案:

 A

(40)若有下面的程序段:

chars[]="china";char*p;p=s;

则下列叙述正确的是

A)s和p完全相同

B)数组s中的内容和指针变量p中的内容相等

C)s数组长度和p所指向的字符串长度相等

D)*p与s[0]相等

正确答案:

 D

(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序

voidsort(inta[],intn)

{inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

}

main()

{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(&aa[3],5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

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.h"

main()

{structdate

{intyear,month,day;}today;

printf("%d\n",sizeof(structdate));

}

A)6

B)8

C)10

D)12

正确答案:

 A

(43)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是

A)a,point,*&a

B)&*a,&a,*point

C)*&point,*point,&a

D)&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和p2两个指针所指字符串进行比较

D)检查p1和p2两个指针所指字符串中是否有'\0'

正确答案:

 A

(46)若执行下述程序时,若从键盘输入6和8时,结果为

main()

{inta,b,s;

scanf("%d%d",&a,&b);

s=a

if(a

s=b;

s*=s;

printf("%d",s);

}

A)36

B)64

C)48

D)以上都不对

正确答案:

 B

(47)fscanf函数的正确调用形式是

A)fscanf(fp,格式字符串,输出表列);

B)fscanf(格式字符串,输出表列,fp);

C)fscanf(格式字符串,文件指针,输出表列);

D)fscanf(文件指针,格式字符串,输入表列);

正确答案:

 D

(48)下列关于C语言数据文件的叙述中正确的是

A)文件由ASCII码字符序列组成,C语言只能读写文本文件

B)文件由二进制数据序列组成,C语言只能读写二进制文件

C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

正确答案:

 D

(49)有以下程序

voidss(char*s,chart)

{while(*s)

{if(*s==t)*s=t-'a'+'A';

s++;

}

}

main()

{charstr1[100]="abcddfefdbd",c='d';

ss(str1,c);printf("%s\n",str1);

}

程序运行后的输出结果是

A)ABCDDEFEDBD

B)abcDDfefDbD

C)abcAAfefAbA

D)Abcddfefdbd

正确答案:

 B

(50)若以下定义:

structlink

{intdata;

structlink*next;

}a,b,c,*p,*q;

且变量a和b之间已有如下图所示的链表结构:

 

指针p指向变量a,q指向变量c。

则能够把c插入到a和b之间并形成新的链表的语句组是:

A)a.next=c;c.next=b;

B)p.next=q;q.next=p.next;

C)p->next=&c;q->next=p->next;

D)(*p).next=q;(*q).next=&b;

正确答案:

 D

二、填空题

(1)算法的基本特征是可行性、确定性、【1】和拥有足够的情报。

正确答案:

 1.(有穷性)

(2)在长度为n的有序线性表中进行二分查找。

最坏的情况下,需要的比较次数为【2】。

正确答案:

 1.(log2n)

(3)在面向对象的程序设计中,类描述的是具有相似性质的一组【3】。

正确答案:

 1.(对象)

(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【4】。

正确答案:

 1.(软件生命周期)

(5)数据库管理系统常见的数据模型有层次模型、网状模型和【5】3种。

正确答案:

 1.(关系模型)

(6)设y是int型,请写出y为奇数的关系表达式【6】。

正确答案:

 1.((y%2)==1或(y%2)!

=0)

(7)设inta=5,b=6,表达式(++a==b--)?

++a:

--b的值是【7】 。

正确答案:

 1.(7)

(8)下列程序的输出结果是【8】。

maim ()

{charb[]="Helloyou";

b[5]=0;

printf("%s\n",b);}

正确答案:

 1.(Hello)

(9)当调用函数时,实参是一个数组名,则向函数传递的是【9】。

正确答案:

 1.(数组的首地址)

(10)以下程序的输出结果是【10】。

inta=1234;

printf("%2d\n",a);

正确答案:

 1.(1234)

(11)用高级语言编写的程序称为【11】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。

正确答案:

 1.(源程序)

 (12)以下程序的输出结果是【12】。

main()

{inta=0;

a+=(a=8);

printf("%d\n",a);}

正确答案:

 1.(16)

(13)函数voidfun(float*sn,intn)的功能是:

根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。

请填空。

 

voidfun(float*sn,intn)

{floats=0.0,w,f=-1.0;

inti=0;

for(i=0;i<=n;i++)

{f=【13】*f;

w=f/(2*i+1);

s+=w;}

【14】=s;}

正确答案:

 1.(-1)2.(*sn)

(14)函数fun的功能是:

根据以下公式求p的值,结果由函数值返回。

m与n为两个正数且要求m>n。

 

例如:

m=12,n=8时,运行结果应该是495.000000。

请在题目的空白处填写适当的程序语句,将该程序补充完整。

#include

#include

floatfun(intm,intn)

{inti;

doublep=1.0;

for(i=1;i<=m;i++)【15】;

for(i=1;i<=n;i++)【16】;

for(i=1;i<=m-n;i++)p=p/i;

returnp;}

main()

{clrscr();

printf("p=%f\n",fun(12,8));}

正确答案:

 1.(p=p*i)2.(p=p/i)

(15)该程序运行的结果是【17】。

#include

#include

#defineM100

voidfun(intm,int*a,int*n)

{inti,j=0;

for(i=1;i<=m;i++)

if(i%7==0||i%11==0)

a[j++]=i;

*n=j;}

main()

{intaa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k

if((k+1)%20==0)printf("\n");

elseprintf("%4d",aa[k]);

printf("\n");}

正确答案:

 1.(7)

(16)下列程序的功能是:

求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include

#include

#defineM81

intfun(char*ss,charc)

{inti=0;

for(;【18】;ss++)

if(*ss==c)i++;

returni;}

main()

{chara[M],ch;

clrscr();

printf("\nPleaseenterastring:

");gets(a);

printf("\nPleaseenterachar:

");ch=getchar();

printf("\nThenumberofthecharis:

%d\n",fun(a,ch));}

正确答案:

 1.(*ss!

='\0')

(17)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。

#include"stdio.h"

FILE*fp;

{charch;

if((fp=fopen(【19】))==NULL)exit(0);

while((ch=getchar())!

='@')fputc(ch,fp);

fclose(fp);}正确答案:

 1.("bi.dat","w"或"bi.dat","w+")

(18)设有如下宏定义

#defineMYSWAP(z,x,y)

{z=x;x=y;y=z;}

以下程序段通过宏调用实现变量a,b内容交换,请填空。

floata=5,b=16,c;

MYSWAP(【20】,a,b);

正确答案:

 1.(c)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2