国家二级C语言机试(选择题)模拟试卷23(共270题)_第1页
国家二级C语言机试(选择题)模拟试卷23(共270题)_第2页
国家二级C语言机试(选择题)模拟试卷23(共270题)_第3页
国家二级C语言机试(选择题)模拟试卷23(共270题)_第4页
国家二级C语言机试(选择题)模拟试卷23(共270题)_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

家二级C语言机试(选择题)模拟试

卷23(共9套)

(共270题)

家二级C语言机试(选择题)模拟试

卷第1套

一、选择题(本题共25题,每题1.0分,共25分。)

1、算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法

A、正当性

B、可行性

C、确定性

D、有穷性

标准答案:C

知识点解析:本题考查算法的基本特征。算法的可行性表示算法中执行的任何步骤

都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切

的含义;有穷性是指算法必须能在执行有限个步骤之后终止。

2、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数()。

A、不同,但元素的存储顺序与逻辑顺序一致

B、不同,且其元素的存储顺序可以与逻辑顺序不一致

C、相同,元素的存储顺序与逻辑顺序一致

D、相同,但其元素的存储顺序可以与逻辑顺序不一致

标准答案:C

知识点解析:在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节

数相同,在存储空间中是按逻辑顺序依次存放的。

3、以下叙述中正确的是

A、C程序中的每…行只能写一条语句

B、简单C语句必须以分号结束

C、C语言程序中的注释必须与语句写在同一行

D、C语句必须在一行内写完

标准答案:B

知识点解析:C语言的书写格式自由,一行可写多条语句,一条语句也可写在不同

行上。C语言注释是比较自由的,可以写在一行或者多行。C语言规定每条语句和

数据定义的最后必须有一个分号,分号是C语句的必要组成部分。

4、下列四个叙述中,正确的是()。

A、C程序中的所有字母必须小写

B、C程序中的关键字必须小写,其他标识符不区分大小写

C、C程序中的所有字母都不区分大小写

D、C程序中的所有关键字必须小写

标准答案:D

知识点解析:C语言只规定所有的关键字必须小写,而标识符中的字母则既可以大

写,也可以小写,但大小写是有区别的。例如,日se是关键字,而ELSE可以作为

标识符使用。

5、设循环队列的存储空间为Q(l:35),初始状态为front=rear=35。现经过一系列

入队与退队运算后,Gonl=15,rear=l5,则循环队列中的元素个数为

A、15

B、16

C、20

D、0或35

标准答案:D

知识点解析:循环队列的队头指针和尾指针都等于15,此循环队列中元素的个数

有两种情况,第一种情况是队头指针和尾指针都是第一次到达15,此时元素个数

为0;第二种情况是队头指针第一次到达15,而尾指针第二次到达15,此时元素

个数为35o

6、以下不合法的字符常量是

A、

B、'\\'

C、'\018,

D、,\xcc,

标准答案:C

知识点解析:在C语言中,一个字符常量代表ASCII字符集中的一个字符,在程

序中用单引号把一个字符括起来用为字符常量。转义字符常量也是必须括在。对单

引号内,以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCH

字符。在选项C)中,1018,是用八进制数来代表一个字符常量,所以其中的数字

只能小于8,并不包括8。

B、2

C、3

D、n

标准答案:D

知识点解析:扇人是指调用一个给定模块的模块个数。本题中需要注意的是两个省

略号的位置,第一个省略号表示第二层有n个模块,第二个省略号表示模块“功能

n.1”被第二层的n个模块调用,故最大扇入数是n。

8、设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为

A、780

B、820

C、40

D、41

标准答案:A

知识点解析:冒泡排序(BubbleSort),是一种计算机科学领域的较简单的排序算

法。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换

他们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在

这一点,最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最

后一个;持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要

比较八冒泡排序的最坏时间复杂度为(n*(n-1))/2=7«0.

9、在数据管理技术发展的三个阶段中,数据共享最好的是()。

A、人工管理阶段

B、文件系统阶段

C、数据库系统阶段

D、三个阶段相同

标准答案:C

知识点解析:数据管理技术的发展经历了三个阶段:人工管理阶段、文件系统阶段

和数据库系统阶段。人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗

余度大;数据库系统管理阶段共享性大,冗余度小。

10、若有以下程序程ncludemain(){inta=0,b=0,c=0»d;c=(a+=b,,b+=a);

/*第4行*/d=c;;第5行*/;/*第6行*/prinlf("%d,%d,%d\n",

a,b,c);/*第7行*/}编译时出现错误,你认为出错的是

A、第4行

B、第5行

C、第6行

D、第7行

标准答案:A

知识点解析:第4行出错,在第4行括号中两个逗号不可以为空。单独的分号为C

语言的空语句,是编译程序可以识别并且编译的,因此第5、6行都是正确的。

11、有以下程序,程序运行后的输出结果是main。{intm=12,n=34:printff4%

d%d”,m3*n);print*'%d%d\n”,n*,*m);|

A、12353514

B、12353513

C、12343514

D、12343513

标准答案:A

知识点解析:本题主要考查自加运算符,自加运算符++在变量前表示先增加然后

再使用,++在变量后表示先使用然再增加。本题中,第一个prinlf语句m++表

示先输出m的值,然后m增加1,因此首先输出的是12,然后m的值变成13,+

+n表示n首先增加1变成35然后输出,囚此输出的是35;在笫二个primf语句

中,n++是先输出n的值然后增加,即输出35,n的值变为36,++m表示先增

加m的值再输出,m的值由13变成14,故最后输出的是14。

I2N若有以下程序#includeVstdio.h>main(){inta=0,b=0>c=Oc=(a+=++b,

b+=4);printf("%d,%d,%d\n”,a,b,c);}则程序的输出结果是

A、1,5,1

B、-1,4,4

C、1,5,5

D、-1.4.-1

标准答案:C

知识点解析:对于语句“c=(a+=++b,-=4);首先计算“a=a+(十+b)”,a,b初值为0,

则计算以后a为1,b为1,然后计算b+=4,得到b的值为5,此时表达式b+=4的

值为整个逗号表达式的值,因此c的值为5。

13、若有以下程序main。{inta=l,b=2,c=3,d=4,r=0;if(a!=l);elser=l;

if(b==2)r+=2;if(c!=3);r+=3:if(d==4)r+=4;printf("%d\n",r);)则程序的输

出结果是

A、7

B、10

C、6

D、3

标准答案:B

知识点解析:程序代码中有四条并列的if语句,第一条if表达式a!二l不成立,执

行else分支,r=l;第二条if表达式b==2成立,执行r+=2,r=3;第三条if语句

c!=3不成立,执行语句r+=3,r=6:第四条if分支d=4成立,执行该if分支语句,

r+=4,r=10o

14、有以下程序#includeVstdio.h>#include<sting-h>voidfun(int*pl,int*p2,

int*s){s=(int*)calloc(l,sizeof(int));*s=*pl+*p2;free(s);}

main(){inta[21={l,2),b[2]={40,50),*q=a;fun(a,b,q);printf("%d\n'',

*q);)程序运行后的输出结果是

A、41

B、42

C、0

D、1

标准答案:A

知识点解析:主函数定义数组a,b,q指向数组a,调用fun函数以后形参接收实

参的数据,pl和p2指向数组a和b,同时s指向数组a,在fun函数中改变了s的

指向和赋值,但是在程序调用结束之间形参空间全部释放,因此对于s的指向改动

不会对主函数参数构成影响。因此主函数中数去+q的值仍然为lo

15、设有定义语句intx|6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组

6个元素中的值不能完成此操作的语句是

A、for(i=0;i<6;i++)printf("%2d",*(p++));

B、for(i=0;i<6;i++)printf("%2d",*(p+i));

C、for(i=0;i<6;i++)printf("%2d'\*p++);

D、for(i=0;i<6;i++)printf("%2d",(*p)++);

标准答案:D

知识点解析:指针p指向数组x,因此可以使用n来输出数组x的值。选项A中,

*(1)++)表示先取出P指句的元素的值.然后pH指向下一个元素.满足要求:选项

B中*(p+i)每次i的值发生变化,(p+i)指向x数组的x国元素,因此*(p+i)是取出数

组x的x[i]元素的值,满足耍求;选项C和选项A相比,少了括号,由于,运算符

的优先级比++要求,因此,因此*n++表示先取出p指向的元素的值,然后p再++

指向下一个元素,满足要求;选项D中(加)++表示先取出p指向的元素的值,然后

该值++,p没有增加,每次循环都*p取出的x[0]的值,不满足耍求。

16、若有以下程序#includemain(){chara[20],b[]="Theskyisblue.";inti;for(i=0;

i<7;i++)scanf("%c”,&b|i]);gets(a);printf("%s%s\n",a,b);}加行时若输入:(其中表示

回车符)Figflowerisred.则输出结果是()。

A、werisrcd.Figfloisblue.

B、werisred.Figflo

C、werisred.Theskyisblue.

D、Figflowerisred.Theskyisblue.

标准答案:A

知识点解析:该程序段中,输入函数scanf()读入共7个字符,分别是Figflo,这些

字符覆盖掉数组b中的前7个字符,所以for循环结束后,b中元素为“Figflois

blue.%gets。函数则会将剩余的字符串读入到字符数组a中,所以a中存入的字符

串为”werisred,所以答案选A。

17、有以下程序main(){inta=l,b=2,c=3,d=0;if(a==l&&b++==2)if(b!=2||c—!=3)

printf("%d,%d,%d\n",a,b.c);elseprintf("%d,%d,%d\nH,a,b,c);else

printf("%d,%d,%d\n",a,b.c);)程序运行后的输出结果是

A、1,3,2

B、1,2,3

C、1,3,3

D、3,2』

标准答案:C

知识点解析:a,b,c,d初始值分别为123,0。嵌套的if语句中,第一个if中,表达式

a==l&&b++==2值为1,执行嵌套的if分支,此时b=3,b!=2成立,由于运算符是

II,不管后面一个表达式的值是不是1,其整个表达式的值总是1,c-!=3表达式不

执行,最后打印出a,b,c的值是1,3,3。

18、若有以下定义和语句charsi[10]="ahcd!'\*s2="\nl?.3\V;

printf("%d%d\n",strlcn(sl),strlcn(s2));则输出结果是

A、105

B、107

C、55

D、58

标准答案:c

知识点解析:本题要注意的是转义字符的问题,在字符串s2中,有两个转义字

符,分别是回车换行符和反斜线。所以其字符串长度等于5。

19、若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C

的联系是

A、一对一

B、一对多

C、多对一

D、多对多

标准答案:B

知识点解析:A和B为一对多的联系,则对于A中的每一个实体,B中有多个实

体与之联系,而B与C为一对一联系,则对于B中的每一个实体,C中之多有一

个实体与之联系,则可推出对于A中的每一个实体,C中有多个实体与联系,所

以为一对多联系。

*

lloc(2

t*)ma

t=(in

*t;

{int

*s)

int

l,

t*p

un(in

oidf

udev

#incl

clude

序#in

下程

有以

20、

{0};

[2]=

2},b

{l,

2]=

inta[

(){

main

=t;}

*pl;s

pl+

l)=*

*(t+

++;

*pl

*pl+

);*t=

f(int)

sizeo

)。

是(

结果

的输出

运行后

}程序

]);

],b[l

”,b[O

d\n

d,%

("%

ntf

pri

b);

(a,

fun

0,0

A、

2,6

B、

2,4

C、

1,2

D、

:A

答案

标准

果形

,如

个副本

参的一

只是实

,形参

程中

传递过

参数

时的

调用

函数

解析:

知识点

函数

向。

针的指

实参指

影响到

化不能

向的变

指针指

则形参

地址,

为两个

和实参

向的地

针[指

后将指

值,之

元素赋

给t中

针pl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论