全国计算机等级考试二级.docx

上传人:b****7 文档编号:10435665 上传时间:2023-02-11 格式:DOCX 页数:21 大小:21.88KB
下载 相关 举报
全国计算机等级考试二级.docx_第1页
第1页 / 共21页
全国计算机等级考试二级.docx_第2页
第2页 / 共21页
全国计算机等级考试二级.docx_第3页
第3页 / 共21页
全国计算机等级考试二级.docx_第4页
第4页 / 共21页
全国计算机等级考试二级.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级.docx

《全国计算机等级考试二级.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级.docx(21页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级.docx

全国计算机等级考试二级

 

全国计算机等级考试二级

一、选择题(

(1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在计算机中,一个字长的二进制位数是

A)8B)16C)32D)随CPU的型号而定

(2)计算机网络的突出优点是

A)速度快B)资源共享C)精度高D)容量大

(3)计算机网络能传送的信息是:

A)所有的多媒体信息B)只有文本信息

C)除声音外的所有信息D)文本和图像信息

(4)切断计算机电源后,下列存储器中的信息会丢失的是:

A)RAMB)ROMC)软盘D)硬盘

(5)十进制数127转换成二进制数是

A)11111111B)01111111C)10000000D)11111110

(6)要想打印存放在当前盘当前目录上所有扩展名为.TXT的文件内容,应该使用的DOS命令为

A)DIR*.TXT>PRNB)TYPE*.TXT>PRN

C)COPY*.TXTPRND)COPY*.TXT>PRN

(7)将当前盘当前目录及其子目录中的全部文件(总量不足1.2MB)复制到一张空的A盘的根目录下,应该使用的DOS命令为

A)XCOPY*.*A:

\/MB)XCOPY*.*A:

\/S

C)XCOPY*.*A:

\/PD)XCOPY*.*A:

\/A

(8)在C盘根目录下执行PROMPT$p$g命令之后,DOS的提示符变为

A)C:

>B)C:

\>C)C>D)C:

\

(9)DOS命令"COPYCONDISP"中的CON代表

A)子目录B)磁盘文件C)键盘D)显示器

(10)结构化程序设计所规定的三种基本控制结构是

A)输入、处理、输出B)树形、网形、环形

C)顺序、选择、循环D)主程序、子程序、函数

(11)要把高级语言编写的源程序转换为目标程序,需要使用

A)编辑程序B)驱动程序C)诊断程序D)编译程序

(12)英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为

A)50B)66C)52D)68

(13)Windows环境下,PrintScreen键的作用是

A)复制当前窗口到剪贴板B)打印当前窗口的内容

C)复制屏幕到剪贴板D)打印屏幕内容

(14)在Windows环境下,为了终止应用程序的运行,应

A)关闭该应用程序窗口B)最小化该应用程序窗口

C)双击该应用程序窗口的标题栏D)将该应用程序窗口移出屏幕

(15)下列各带有通配符的文件名中,能代表文件XYZ.TXT的是

A)*Z.?

B)X*.*C)?

Z,TXTD)?

.?

(16)若有定义:

inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为

A)1.4B)1C)2.0D)2

(17)若变量a是int类型,并执行了语句:

a=‘A'+1.6;,则正确的叙述是

A)a的值是字符CB)a的值是浮点型

C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。

(18)以下程序段的输出结果是

inta=1234;

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

A)12B)34C)1234D)提示出错、无结果

(19)以下选项中不属于C语言的类型的是

A)signedshortimtB)unsignedlongint

C)unsignedintD)longshort

(20)若有说明语句:

inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是

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

C)scanf("%d%d%d",a,b,d);D)scanf("%d%d%d",a,b,*d);

(21)在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是

A)a=20000+20000;B)a=4000*10;

C)a=30000+10000;D)a=4000L*10L;

(22)以下叙述正确的是

A)可以把define和if定义为用户标识符

B)可以把define定义为用户标识符,但不能把if定义为用户标识符

C)可以把if定义为用户标识符,但不能把define定义为用户标识符

D)define和if都不能定义为用户标识符

(23)若定义:

inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为

A)无确定值B)a的地址C)512D)511

(24)以下程序的输出结果是

main()

{inta=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

}

A)5B)4C)6D)不确定

(25)以下程序中,while循环的循环次数是

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(I==5)break;

i++;

}

......

}

A)1B)10

C)6D)死循环,不能确定次数

(26)以下程序的输出结果是

main()

{inta=0,i;

for(i=;i<5;i++)

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

}

A)31B)13C)10D)20

(27)以下程序的输出结果是

main()

{inta=4,b=5,c=0,d;

d=!

a&&!

b||!

c;

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

}

A)1B)0C)非0的数D)-1

(28)以下程序的输出结果是

#include

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}

printh("%d\n",a);

}

A)21B)32C)33D)11

(29)以下程序的输出结果是

charcchar(charch)

{

if(ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';

returnch;

}

main()

{chars[]="ABC+abc=defDEF",*p=s;

while(*p)

{*p=cchar(*p);

p++;

}

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

}

A)abc+ABC=DEFdefB)abc+abc=defdef

C)abcaABCDEFdefD)abcabcdefdef

(30)以下程序的输出结果是

intf()

{staticinti=0;

ints=1;

s+=i;i++;

returns;

}

main()

{inti,a=0;

for(i=0;i<5;i++)a+=f();

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

}

A)20B)24C)25D)15

(31)以下程序段的输出结果是

chars[]="\\141\141abc\t";

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

A)9B)12C)13D)14

(32)若有以下程序

#include

voidf(intn);

main()

{voidf(intn);

f(5);

}

voidf(intn)

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

则以下叙述中不正确的是

A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C)对于以上程序,编译时系统会提示出错信息:

提示对对f函数重复说明

D)函数f无返回值,所以可用void将其类型定义为无值型

(33)以下程序调用findmax函数返回数组中的最大值

findmax(int*a,intn)

{int*p,*s;

for(p=a,s=a;p-a

if()s=p;

return(*s);

}

main()

{intx[5]={12,21,13,6,18};

printf("%d\n",findmax(x,5));

}

在下划线处应填入的是

A)p>sB)*p>*sC)a[p]>a[s]D)p-a>p-s

(34)以下程序的输出结果是

main()

{charcf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"

(35)在C语言中,形参的缺省存储类是

A)autoB)registerC)staticD)extern

(36)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是

A)p=2*(int*)malloc(sizeof(int));

B)p=(int*)malloc(2*sizeof(int));

C)p=(int*)malloc(2*2);

D)p=(int*)calloc(2,sizeof(int));

(37)以下程序的输出结果是

main()

{charx=040;

printf("%0\n",x<<1);

}

A)100B)80C)64D)32

(38)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是

A)fopen("A:

\user\abc.txt","r")B)fopen("A:

\\user\\abc.txt","r+")

C)fopen("A:

\user\abc.txt","rb")C)fopen("A:

\\user\\abc.txt","w")

(39)以下不能正确进行字符串赋初值的语句是

A)charstr[5]="good!

";B)charstr[]="good!

";

C)char*str="good!

";D)charstr[5]={‘g',‘o',‘o',‘d'};

(40)若有下面的说明和定义:

structtest

{intml;charm2;floatm3;

unionuu{charul[5];intu2[2];}ua;

}myaa;

则sizeof(structtest)的值是

A)12B)16C)14D)9

(41)若有定义:

intaa[8];。

则以下表达式中不能代表数组元aa[1]的地址的是

A)&aa[0]+1B)&aa[1]C)&aa[0]++D)aa+1

(42)以下程序的输出结果是

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i

returns;

}

main()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

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

}

A)10B)18C)8D)15

(43)若有以下定义和语句:

ints[4][5],(*ps)[5];

ps=s;

则对s数组元素的正确引用形式是

A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+3

(44)以下程序的输出结果是

main()

{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

for(j=i;j<=i;j++)t=t+b[i][b[j][j]];

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

}

A)3B)4C)1D)9

(45)以下程序的输出结果是

#include

#include

main()

{charb1[8]="abcdefg",b2[8],*pb=b1+3;

while(--pb>=b1)strcpy(b2,pb);

printf("%d\n",strlen(b2));

}

A)8B)3C)1D)7

(46)在说明语句:

int*f();中,标识符f代表的是

A)一个用于指向整型数据的指针变量

B)一个用于指向一维数组的行指针

C)一个用于指向函数的指针变量

D)一个返回值为指针型的函数名

(47)不合法的main函数命令行参数表示形式是

A)main(inta,char*c[])B)main(intarc,char**arv)

C)main(intargc,char*argv)D)main(intargv,char*argc[])

(48)以下程序的输出的结果是

intx=3;

main()

{inti;

for(i=1;i

}

ncre()

{staicintx=1;

x*=x+1;

printf("%d",x);

}

A)33B)22C)26D)25

(49)若以下定义:

structlink

{intdata;

strucklink*next;

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

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

ab

datanextdatanext

┌──┬──┐┌──┬──┐

│5│┼──→│9│\0│

└──┴──┘└──┴──┘

↑p

c

datanext

┌──┬──┐

│7││

└──┴──┘

↑q

指针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;

(50)设有以下说明语句

typedefstruct

{intn;

charch[8];

}PER;

则下面叙述中正确的是

A)PER是结构体变量名B)PER是结构体类型名

C)typedefstruct是结构体类型D)struct是结构体类型名

二、填空题(每空2分,共40分)

请将每一个空的正确答案写在答案卡上,答在试卷上不得分。

(1)为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】。

(2)计算机网络分为广域网和局域网,因特网属于【2】。

(3)要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】。

(4)要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS命令为【4】。

(5)在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中

(6)若从键盘输入58,则以下程序输出的结果是【6】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

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

main()

{inta=177;

printf("%o\n",a);

}

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

main()

{inta=0

a+=(a=8);

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

}

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

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

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

}

(10)以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。

structnode

{intinfo;

【10】link;

}

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

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

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

main()

{char*p="abcdefgh",*r;

long*q;

q=(long*)p;

q++;

r=(char*)q;

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

}

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

main()

{chars[]="abcdef";

s[3]=‘\0';

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

}

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

main()

{intx=0;

sub(&x,8,1);

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

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

(15)设有如下宏定义

#defineMYSWAP(z,x,y){z=x;x=y;y=z;}

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

floata=5,b=16,c;

MYSWAP(【15】,a,b);

(16)以下程序用来统计文件中字符个数。

请填空。

#include"stdio.h"

main()

{FILE*fp;longnum=0L;

if((fp=fopen("fname.dat","r"))==NULL)

{pirntf("Openerror\n");exit(0);}

while(【16】)

{fgetc(fp);num++;}

printf("num=%1d\n",num-1);

fclose(fp);

}

(17)以下程序中,select函数的功能是:

在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。

请填空。

#defineN3

#defineM3

select(inta[N][M],int*n)

{inti,j,row=1,colum=1;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][colum]){row=i;colum=j;}

*n=【17】;

return【18】;

}

main()

{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;

max=select(a,&n);

printf("max=%d,line=%d\n",max,n);

}

(18)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。

请填空。

intmystrlen(char*str)

{inti;

for(i=0;【19】!

=‘\0';i++);

return(【20】);

}

 

基础部分和C语言程序设计试题

参考答案及评分标准

一、选择题(⑴-(40)题每题1分,(41)-(50)题每题2分,其60分)

(1) D

(2) B

(3) A

(4) A

(5) B

(6) C

(7) B

(8) B

(9) C

(10)             C

(11)             D

(12)             D

(13)             C

(14)             A

(15)             B

(16)             B

(17)             D

(18)             C

(19)             D

(20)             A

(21)             D

(22)             B

(23)             D

(24)             C

(25)             D

(26)             A

(27)             A

(28)             B

(29)             B

(30)             D

(31)             A

(32)             C

(33)             B

(34)             B

(35)             A

(36)             A

(37)             A

(38)             B

(39)             A

(40)             A

(41)             C

(42)             A

(43)             C

(44)             B

(45)             D

(46)             D

(47)             C

(48)             C

(49)             C

(50)             B

二、填空题答案(每空2分,共40分)

(1) 【1】ABC>OUT.TXT或者ABC.EXE>OUT.TXT

(2) 【2】广域网

(3) 

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1