二级C 语言笔试试题汇编_第1页
二级C 语言笔试试题汇编_第2页
二级C 语言笔试试题汇编_第3页
二级C 语言笔试试题汇编_第4页
二级C 语言笔试试题汇编_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

二级C语言笔试试题汇编(针对2008年4D)可以读出,可以删改

月)答案:B

一、选择题((1)-(40)每题1分,(41)〜(50)07)从Windows环境进入MS-DOS方式后,

每题2分,共60分)返回Windows环境的DOS命令为

下列各题A)、B)、C)、D)四个选项中,只A)EXIT

有--个选项是正确的。B)QUIT

01)与十进制数200等值的十六进制数为C)RET

A)A8D)MSDOS

B)A4答案:A

C)C808)在Windows环境下,若资源管理器左窗

D)C4口中的某文件夹左边标有“+”标记,则表

答案:C示

02)DOS文件系统的组织结构属于A)该文件夹为空

A)星形结构B)该文件夹中含有子文件夹

B)网形结构C)该文件夹中只包含有可执行文件

C)环形结构D)该文件夹中包含系统文件

D)树形结构答案:B

答案:D09)在Windows菜单中,暗淡的命令名项目

03)对存储器按字节进行编址,若某存储器表示该命令

芯片共有10根地址线,则该存储器芯片的A)暂时不能用

存储容量B)正在执行

为C)包含下一层菜单

A)1KBD)包含对话框

B)2KB答案:A

C)4KB10)

D)8KBA)将当前应用程序转为后价运行

答案:AB)退出Windows后再关机

04)在DOS环境下,代表键盘和显示器的C)终止当前应用程序的运行

设备文件名为D)退出Windows后重新启动计算机

A)PRN答案:C

B)CON11)用C语言编写的代码程序

C)NULA)可立即执行

D)LPTB)是一个源程序

答案:BC)经过编译即可执行

05)计算机网络的主要特点是D)经过编译解释才能执行

A)运算速度快答案:B

B)运算精度高12)结构化程序由三种基本结构组成,三种

C)资源共享基本结构组成的算法

D)人机交互A)可以完成任何复杂的任务

答案:CB)只能完成部分复杂的任务

06)磁盘处于写保护状态时其中的数据C)只能完成符合结构化的任务

A)不能读出,不能删改D)只能完成一些简单的任务

B)可以读出,不能删改答案:A

C)不能读出,可以删改13)以下定义语句中正确的是

A)chara=,A*b-B*;答案:A

B)floata=b=10.0;18)有以下程序

C)inta=10,*b=&a;main()

D)float*a,b=&a;{intm=0256,n=256;

答案:Cprintf(n%o%o\nH,m,n);

14)下列选项中,不能用作标识符的是)

A)_1234_程序运行后的输出结果是

B)_l_2A)02560400

C)int_2_B)0256256

D)2_int_C)256400

答案:DD)400400

15)有以下定义语句答案:C

doublea,b;intw;longc;19)有以下程序

若各变量已正确赋值,则下列选项中正确的main()

表达式是{inta=666,b=888;

A)a=a+b=b++printfC%d\n”,a,b);

B)w%((int)a+b)}

C)(c+w)%(int)a程序运行后的输出结果是

D)w=a=b;A)错误信息

答案:CB)666

16)有以下程序C)888

main()D)666,888

{intm=3,n=4,x;答案:B

x=・m++;20)有以下程序

x=x+8/++n;main()

printf{"%d\n",x);{inti;

}for(i=0;i<3;i++)

程序运行后的输出结果是switch(i)

A)3(

B)5caseO:printfi(n%d",i);

C)-lcase2:printf(,,%d,,,i);

D)-2default:printf(n%dn,i);

答案:D)

17)有以下程序)

main()程序运行后的输出结果是

{chara=,a\b;A)022111

printf(M%c,M,++a);B)021021

printf("%c\n”,b=a++);Q000122

}D)012

程序运行后的输出结果是答案:C

A)b,b21)若x和y代表整型数,以下表达式中不

B)b,c能正确表示数学关系|x-y|<10的是

C)a,bA)abs(x-y)<10

D)a,cB)x-y>-l0&&x-y<10

C)!(x-y)<-10||!(y-x)>lOB)13

D)(x-y)*(x-y)<100C)21

答案:cD)程序进入死循环

22)有以下程序答案:D

main()25)若变量己正确定义,要求程序段完成求

{inta=3,b=4,c=5,d=2;5!的计算,不能完成此操作的程序段是

if(a>b)A)fbr(i=l,p=l;i<=5;i++)p*=i;

if(b>c)B)for(i=l;i<=5;i++){p=l;p*=i;}

printf(,,%d,,,d+++1);C)i=1;p=1;while(i<=5)

elseD)i=l;p=1;do{p*=i;i-H-;}while(i<=5);

printfC%d”,++d+1);答案:B

printf(n%d\nM,d);26)有以下程序

}main()

程序运行后的输出结果是{chara,b,c,d;

A)2scanf{**%c,%c,%d,%d",&a,&b,&c,&d);

B)3printf{M%c,%c,%c,%c\n",a,b,c,d);

C)43}

D)44若运行时从键盘上输入:6,5,65,66<回车,o

答案:A则输出结果是

23)下列条件语句中,功能与其他语句不同A)6,5,A,B

的是B)6,5,65,66

A)if(a)printf(n%d\nn,x);elseC)6,5,6,5

printf(M%d\nM,y);D)6,5,6,6

B)ifi(a=0)printf(n%d\n",y);else答案:A

printf(n%d\n",x);27)以下能正确定义二维数组的是

C)if(a!=0)printff%d\n”,x);elseA)inta[][3];

printfC'%d\nn,y);B)inta[][3]={2*3};

D)if(a==0)printf("%d\n”,x);elseC)inta[][3]={};

printf("%d\n”,y);D)inta[2][3]={{l},{2},{3,4});

答案:D答案:B

24)有以下程序28)有以下程序

main()intf(inta)

{inti=0,s=0;{returna%2;}

for(;;)main()

{ints[8]={1,3,5,2,4,6},i,d=0;

ifi[i==3||i==5)continue;fbr(i=O;f(s[i]);i++)d+=s[i];

if(i=6)break;printf("%d\n",d);

i++;)

s+=i;程序运行后的输出结果是

)A)9

printf(M%d\nn,s);B)ll

)C)19

程序运行后的输出结果是D)21

A)10答案:A

29)若有以下说明和语句a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=

intc[4][5],(*p)[5];NULL;

P=c;*q=*(p+5);

能够正确引用C数组元素的是printf("%d%d\n",*p,*q);

A)p+1)

B)*(p+3)程序运行后的输出结果是

C)*(p+D+3A)运行后报错

D)*(p[0]+2)B)66

答案:DC)611

30)有以下程序D)510

main()答案:A

{inta=7,b=8,*p,*q,*r;34)设有以下定义和语句

p=&a;q=&b;inta[3][2]={l,2,3,4,5,6},*p[3];

r=p;p=q;q=r;p[0]=a[l];

printf{"%d,%d,%d,%d\n",*p,*q,a,b);则*(p[0]+l)所代表的数组元素是

)A)a[0][l]

程序运行后的输出结果是B)a[l][0]

A)8,7,8,7C)a[l][l]

B)7,8,7,8D)a[l][2]

C)8,7,7,8答案:C

D)7,8,8,735)有以下程序

答案:Cmain()

31)si和s2己正确定义并分别指向两个字符{charstr[][10]={"China","Beijing"!,*p=str;

串。若要求:当si所指串大于s2所指串时,printf("%s\n",p+10);

执行语)

句S:则以下选项中正确的是程序运行后的输出结果是

A)if(sl>s2)S;A)China

B)if(strcmp(sl,s2))S;B)Beijing

C)if(strcmp(s2,s1)>0)S;C)ng

D)if(strcmp(s1,s2)>0)S;D)ing

答案:D答案:B

32)设有定义语句36)有以下程序

intx[6]={2,4,6,8,5,7),*p=x,i;main()

要求依次输出x数组6个元素中的值,不能{chars[]="ABCD",*p;

完成此操作的语句是fbr(p=s+l;p<s+4;p++)printf("%s\n",p);

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

B)for(i=0;i<6;i++)printf("%2d",*(p+i));程序运行后的输出结果是

C)fbr(i=0;i<6;i++)printf("%2d",*p++);A)ABCD

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

答案:DCD

33)有以下程序D

#include<stdio.h>B)A

main()B

{intC

DB)ft>n函数的返回值可以是任意的数据类

C)B型

CC)fun函数的返回值是无值型的指针类型

DD)指针fun指向一•个函数,该函数无返回

D)BCD值

CD答案:C

D42)有以下程序

答案:Dmain()

37)在函数调用过程中,如果函数如funA{chars[]=,,Yes\n/NoM,*ps=s;

调用了函数funB,函数funB又调用了函数puts(ps+4);

如funA,则*(ps+4)=0;

A)称为函数的直接递归调用puts(s);

B)称为函数的间接递归调用}

C)称为函数的循环调用程序运行后的输出结果是(选项D中的第一

D)C语言中不允许这样的递归调用行是空行)

答案:BA)n/No

38)己有定义:i又i,a[10],*p;,则合法的赋Yes

值语句是/No

A)p=100;B)/No

B)p=a[5];Yes

C)p=a[2]+2;C)n/No

D)p=a+2;Yes

答案:D/No

39)以下叙述中正确的是D)

A)局部交量说明为static存储类,其生存/No

期将得到延长Yes

B)全局变量说明为static存储类,其作用答案:B

域将被扩大43)有以下程序

C)任何存储类的变量在未赋初值时,其值main()

都是不确定的{unsignedinta;

D)形参可以使用的存储类说明符与局部intb="l;

变量完全相同a=b;

答案:Aprintf(”%u”,a);

40)设有定义语句:charcl=92,c2=92;,则}

以下表达式中值为零的是程序运行后的输出结果是

A)clAc2A)-l

B)cl&c2B)65535

C)-c2Q32767

D)cl|c2D)-32768

答案:A答案:B

41)程序中对fim函数有如下说明44)有以下程序

void*fun();voidfun(int*a,inti,intj)

此说明的含义是{intt;

A)fun函数无返回值

{t=a[i];a[i]=a[j];a[j]=t;

i++;j-;程序运行后的输出结果是

fun(a,i,j);A)75310246

B)01234567

C)76310462

main()D)13570246

{intx[]={2,6,l,8},i;答案:A

fun(x,0,3);47)有如下程序

fbr(i=0;i<4;i++)printf("%2d",x[i]);#include<stdio.h>

pr血f("\n”);main()

){FILE*fpl;

程序运行后的输出结果是fpl=fbpenC,fLtxtM,nwn);

A)1268fprintf(fpl;,abcn);

B)8621fclose(fpl);

C)8162}

D)8612若文本文件fl.txt中原有内容为:good,则

答案:C运行以上程序后文件fl.txt中的内容为

45)有以下说明和定义语句A)goodabc

structstudentB)abcd

{intage;charnum[8];};C)abc

structstudentD)abcgood

stu[3]={{20,"200401”},⑵,”200402”},{19J2答案:C

00403”}};48)(48)〜(50)共用一题。以下程序的功能

structstudent*p=stu;是:建立一个带有头结点的单向链表,并将

以下选项中引用结构体变量成员的表达式存储在

错误的是数组中的字符依次转储到链表的各个结点

A)(p++)->num中,请选择正确的选项作为下划线号码与题

B)p->num号相同处

C)(*p).num的正确答案。

D)stu[3].age#include<stdlib.h>

答案:Dstructnode

46)有以下程序{chardata;stuctnode*next;};

main()_(48)___CreatList(char*s)

{mtx[]={l,3,5,7,2A6,0},ij,k;{structnode*h,*p,*q;

for(i=0;i<3;i++)h=(structnode*)malloc(sizeof(struct

for(j=2;j>=i;j-)node));

p=q=h;

if(x[j+l]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}while(*s!='\0,)

for(i=0;i<3;i++){p=(structnode*)malloc(sizeof(struct

for(j=4;j<7-i;j++)node));

p->data=___(49)___;

if(x[j]>x[j+1]){k=x[j];x[j]=x[j+l];x[j+1]=k;}q->next=p;

fbr(i=0;i<8;i++)printf(,,%d,,,x[i]);q=_(50)_;

prin氓“\n”);s++;

)head=CreatList(st);

p->next=,\O';

returnh;}

}A)*s

main()B)s

{charstr[]="linklist";C)*s++

structnode*head;D)(*s)++

hcad=CreatList(str);答案:A

50)(48)〜(50)共用一题。以下程序的功能

}是:建立一个带有头结点的单向链表,并将

A)char*存储在

B)structnode数组中的字符依次转储到链表的各个结点

C)structnode*中,请选择正确的选项作为下划线号码与题

D)char号相同处

答案:c的正确答案。

49)(48)〜(50)共用一题。以下程序的功能#include<stdlib.h>

是:建立一个带有头结点的单向链表,并将structnode

存储在{chardata;stuctnode*next;};

数组中的字符依次转储到链表的各个结点_(48)___CreatList(char*s)

中,请选择正确的选项作为下划线号码与题{structnode*h,*p,*q;

号相同处h=(structnode*)malloc(sizeof(struct

的正确答案。node));

#include<stdlib.h>p=q=h;

structnodewhile(*s!='\0,)

{chardata;stuctnode*next;};{p=(structnode*)malloc(sizeof(struct

_(48)___CreatList(char*s)node));

{structnode*h,*p,*q;p->data=___(49)___;

h=(structnode*)malloc(sizeof(structq->next=p;

node));q=_(5o)_;

p=q=h;S-H-;

while(*s!-\0'))

{p=(structnode*)malloc(sizeof(structp->next='\0*;

node));returnh;

p->data=___(49)___;}

q->next=p;main()

q=一(50)—;{charstr[]=Hlinklist”;

S-H-;Structnode*head;

)head=CreatList(st);

p->next=,\0';

returnh;}

}A)p->next

inain()B)p

{charstr[]="linklist";C)s

Structnode*head;D)s->next

答案:B本小题第1空答案:24

二、填空题(每空2分,共40分)9)以下程序运行后的输出结果是【9】。

请将每一个空的正确答案写在答题处【1】main()

至【20】。{intx=l,y=0,a=0,b=0;

1)在64位高档微机中,CPU能同时处理【1】switch(x)

个字节的二进制数据。{case1:switch(y)

本小题第1空答案:8或八{case0:a++;break;

2)E-mail地址由域名和用户名两部分组成,case1:b++;brcak;

它们之间用@分隔,其中在@后面的部分是}

[2Lcase2:a++;b++;break;

本小题第1空答案:域名或电子邮件服}

务器名printf(H%d%d\n';a,b);

3)Windows窗口-一般由标题栏、菜单栏、控}

制按钮等部分组成。为了移动窗口,则要用本小题第1空答案:21

鼠标拖10)以下程序运行后的输出结果是【10】。

动【3】。main()

本小题第1空答案:标题栏{int

4)计算机软件分为系统软件和应用软件,a[4][4]={{l,2,3,4},{5,6,7,8},{ll,12,13,14},{l

UNIX系统属于1415,16,17,18)};

本小题第1空答案:系统软件inti=Oj=O,s=O;

5)在Windows环境下,为了将屏幕内容存while(i++<4)

入剪贴板,应按【5】键。(

本小题第1空答案:PrintScreen或if(i=2||i=4)continue;

PrtScm或PrtScj=0;

6)以下程序段的输出结果是[6Ldo{s+=a[i][j];j-H-;}while(j<4);

inti=9;}

printf(H%o\n",i);printf("%d\n",s);

本小题第1空答案:11)

7)以下程序运行后的输出结果是[7L本小题第1空答案:92

main()11)以下程序运行后的输出结果是【11】。

{inta,b,c;main()

a=25;{chara[]=nLanguage,,,b[]=HProgrameM;

b=025;char*pl,*p2;intk;

c=0x25;pl=a;p2=b;

printf(n%d%d%d\nn,a,b,c);for(k=0;k<=7;k-H-)

)if(*(pl+k)=*(p2+k))

本小题第1空答案:252137printf(,,%c",*(p1+k));

8)以下程序运行后的输出结果是[8L}

main()本小题第1空答案:gae

{intp[7]={l1,13,14,15,16,17,18};12)以下程序运行后的输出结果是【12】。

inti=0,j=0;main()

while(i<7&&p[i]%2=1)j+=p[i++];{chara[]=Ml23456789",*p;inti=0;

printf(n%d\nn,j);P=a;

while(*p)

{if(i%2=0)*p='*';#defineN4

p++;i++;voidSumColumMin(inta[M][N],int*sum)

}{inti,j,k,s=O;

puts(a);fdr(i=O;i<N;i-H-)

}{k=0;

本小题第1空答案:*2*4*6*8*for(j=l;j<M;j++)

13)以下程序中,for循环体执行的次数是if(a[k][i]>aU][i])k=j;

【13】。s+=[18];

#defineN2)

#deflncMN+1[19]=s;

#defineKM+l*M/2)

main()main()

{inti;{intX[M][N]={3,2,5,1,4,1,8,3),S;

for(i=l;i<K;i-H-)SumColumMin([20]);

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

)

本小题第1空答案:a[k][i]

本小题第1空答案:4本小题第2空答案:*sum

14)本小题第3空答案:x,&s

本小题第1空答案:x一、选择题((1)〜(10)每小题2分,(11)〜

本小题第2空答案:x*x+l或l+x*x(50)每小题1分,共60分)

15)以下程序从终端读入数据到数组中,统下列各题A)、B)、C)、D)四个选项中,只

计其中正数的个数,并计算它们之和。请填有一个选项是正确的。

空。01)数据的存储结构是指

main()A)存储在外存中的数据

{inti,a[20],sum,count;B)数据所占的存储空间量

sum=count=0;C)数据在计算机中的顺序存储方式

for(i=0;i<20;i++)scanf("%d",[16]);D)数据的逻辑结构在计算机中的表示

fbr(i=0;i<20;i++)答案:D

{if(a[i]>0)02)下列关于栈的描述中错误的是

{count++;A)栈是先进后出的线性表

sum+=[17];B)栈只能顺序存储

C)栈具有记忆作用

D)对栈的插入与删除操作中,不需要改

printf("sum=%d,count=%d\n",sum,count);变栈底指针

)答案:B

本小题第1空答案:&a[i]或a+i03)对于长度为n的线性表,在最坏情况下,

本小题第2空答案:a[i]或*(a+i)卜列各排序法所对应的比较次数中正确的

16)以下程序中,函数SumColumMin的功是

能是:求出M行N列二维数组每列元素中A)冒泡排序为n/2

的最小值,并计B)冒泡排序为n

算它们的和值。和值通过形参传回主函数输C)快速排序为n

出•请填空。D)快速排序为n(n-l)/2

#defineM2答案:D

04)对长度为n的线性表进行顺序查找,在A)数据与程序独立存放

最坏情况下所需要的比较次数为B)不同的数据被存放在不同的文件中

A)C)不同的数据只能被对应的应用程序所

B)n/2使用

C)nD)以上三种说法都不对

D)n+1答案:D

答案:C10)用树形结构表示实体之间联系的模型

05)下列对于线性链表的描述中正确的是是

A)存储空间不一定是连续,且各元素的A)关系模型

存储顺序是任意的B)网状模型

B)存储空间不一定是连续,且前件元素一C)层次模型

定存储在后件元素的前面D)以上三个都是

C)存储空间必须连续,且前件元素一定存答案:C

储在后件元素的前面11)算法具有五个特性,以下选项中不属于

D)存储空间必须连续,且各元素的存储算法特性的是

顺序是任意的A)有穷性

答案:AB)简洁性

06)下列对于软件测试的描述中正确的是C)可行性

A)软件测试的目的是证明程序是否正确D)确定性

B)软件测试的H的是使程序运行结果正答案:B

确12)以下选项中可作为C语言合法常量的是

C)软件测试的目的是尽可能多地发现程A)-80.

序中的错误B)-080

D)软件测试的目的是使程序符合结构化C)-8el.O

原则D)-80.0e

答案:C答案:A

07)为了使模块尽可能独立,要求13)以下叙述中正确的是

A)模块的内聚程度要尽量高,且各模块A)用C程序实现的算法必须要有输入和

间的耦合程度要尽量强输出操作

B)模块的内聚程度要尽量高,且各模块间B)用C程序实现的算法可以没有输出但

的耦合程度要尽量弱必须要有输入

C)模块的内聚程度要尽量低,且各模块间C)用C程序实现的算法可以没有输入但

的耦合程度要尽量弱必须要有输出

D)模块的内聚程度要尽量低,且各模块D)用C程序实现的算法可以既没有输入

间的耦合程度要尽量强也没有输出

答案:B答案:C

08)下列描述中正确的是14)以下不能定义为用户标识符是

A)程序就是软件A)Main

B)软件开发不受计算机系统的限制B)_0

C)软件既是逻辑实体,又是物理实体C)_int

D)软件是程序、数据与相关文档的集合D)sizeof

答案:D答案:D

09)数据独立性是数据库技术的重要特点15)以下选项中,不能作为合法常量的是

之一。所谓数据独立性是指A)1.234e04

B)1.234e0.4是

C)1.234e+4A)m=123n=456p=789

D)1.234e0B)m=123n=456p=789

答案:B

温馨提示

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

评论

0/150

提交评论