国家二级C语言最后冲刺模拟题.docx

上传人:b****6 文档编号:6998978 上传时间:2023-01-15 格式:DOCX 页数:57 大小:67.44KB
下载 相关 举报
国家二级C语言最后冲刺模拟题.docx_第1页
第1页 / 共57页
国家二级C语言最后冲刺模拟题.docx_第2页
第2页 / 共57页
国家二级C语言最后冲刺模拟题.docx_第3页
第3页 / 共57页
国家二级C语言最后冲刺模拟题.docx_第4页
第4页 / 共57页
国家二级C语言最后冲刺模拟题.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

国家二级C语言最后冲刺模拟题.docx

《国家二级C语言最后冲刺模拟题.docx》由会员分享,可在线阅读,更多相关《国家二级C语言最后冲刺模拟题.docx(57页珍藏版)》请在冰豆网上搜索。

国家二级C语言最后冲刺模拟题.docx

国家二级C语言最后冲刺模拟题

模拟题一

(考试时间:

120分钟,满分100分)

一、选择题(

(1)-(40)题每题1分,(41)-(50)题每题2分,共60分)

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

(1)计算机的存储器完整的应包括

A)软盘、硬盘B)磁盘、磁带、光盘

C)内存储器、外存储器D)RAM、ROM

(2)计算机中运算器的作用是

A)控制数据的输入/输出B)控制主存与辅存间的数据交换

C)完成各种算术运算和逻辑运算D)协调和指挥整个计算机系统的操作

(3)软磁盘处于写保护状态时,其中记录的信息

A)绝对不会丢失

B)不能被擦除,但能追加新信息

C)不能通过写磁盘操作被更新

D)不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除

(4)光盘根据基制造材料和记录信息的方式不同,一般可分为

A)CD、VCD

B)CD、VCD、DVD、MP3

C)只读光盘、可一次性写入光盘、可擦写光盘

D)数据盘、音频信息盘、视频信息盘

(5)在计算机系统中,可执行程序是

A)源代码B)汇编语言代码C)机器语言代码D)ASCII码

(6)计算机软件系统包括

A)操作系统、网络软件B)系统软件、应用软件

C)客户端应用软件、服务器端系统软件D)操作系统、应用软件和网络软件

(7)目前,一台计算机要连入Internet,必须安装的硬件是

A)调制解调器或网卡B)网络操作系统

C)网络查询工具D)WWW浏览器

(8)在多媒体计算机系统中,不能存储多媒体信息的是

A)光盘B)磁盘C)磁带D)光缆

(9)要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是

A)TYPEa*.*B)TYPEabc.exe

C)TYPEpro.c>PRND)TYPEabc.txt

(10)下列更改文件名的命令中正确的是

A)RENA:

file1C:

F1B)RENAMEA:

A:

file1C:

F1

C)RENA:

file1F1D)RENA:

file1\SUB\F1

(11)已知A盘为DOS系统启动盘,只有A:

\DOS下有自动批处理文件,其中内容为:

CD\DOS

MDUSER

CDUSER

由A盘启动DOS系统后,A盘的当前目录是

A)\DOSB)\DOS\USERC)\D)\USER

(12)MS-DOS是

A)分时操作系统B)分布式操作系统

C)单用户、单任务操作系统D)单用户、多任务操作系统

(13)在Windows操作系统中,不同文档之间互相复制信息需要借助于

A)剪切板B)记事本C)写字板D)磁盘缓冲器

(14)在Windows操作系统中

A)同一时刻可以有多个活动窗口

B)同一时刻可以有多个应用程序在运行,但只有一个活动窗口

C)同一时刻只能有一个打开的窗口

D)DOS应用程序窗口与Windows应用程序窗口不能同时打开着

(15)下列叙述中正确的是

A)所有DOS应用程序都可以在Windows操作系统中正确运行

B)所有DOS应用程序都不能在Windows操作系统中正确运行

C)大部分DOS应用程序可以在Windows操作系统中正确运行

D)为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行

(16)下列叙述中正确的是

A)C语言编译时不检查语法

B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义

D)C语言所有函数都是外部函数

(17)以下所列的C语言常量中,错误的是

A)0xFFB)1.2e0.5C)2LD)‘\72’

(18)下列选项中,合法的C语言关键字是

A)VARB)cherC)integerD)default

(19)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子

的C语言表达式是

A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z

(20)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是

A)-3B)9C)-12D)6

(21)设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为

A)不定值B)4C)3D)1

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

A)10<回车>B)10.0,22.0,33.0<回车>

22<回车>

33<回车>

C)10.0<回车>D)1022<回车>

22.033.0<回车>33<回车>

(23)若执行以下程序时从键盘上输入9,则输出结果是

A)11B)10C)9D)8

Main0

{intn;

scanf(“%d”,&n);

if(n++<10)printf(“%d\n”,n);

elseprintf(“%d\n”,n--);

}

(24)若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是

A)swich(a+b);B)switch(a*a+b*b)

{case1:

y=a+b;break;{case3:

case0:

y=a-b;break;case1:

y=a+b;break;

}case3:

y=b-a,break;

}

C)switchaD)switch(a-b)

{casec1:

y=a-b;break{default:

y=a*b;break

casec2:

x=a*d;breakcase3:

case4:

x=a+b;break

default:

x=a+b;case10:

case11:

y=a-b;break;

}}

(25)有以下程序段

intk=0

while(k=1)k++;

while循环执行的次数是

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

(26)以下程序执行后sum的值是

A)15B)14C)不确定D)0

min()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

printf(“%d\n”,sum);

}

(27)有以下程序段

intx=3

do

{printf(“%d”,x-=2);}

while(!

(--x));

其输出结果是

A)1B)30C)1-2D)死循环

(28)若变量c为char类型,能正确判断出c为小写字母的表达式是

A)‘a’<=c<=‘z’B)(c>=‘a’)||(c<=‘z’)

C)(‘a’<=c)and(‘z’>=c)D)(c>=‘a’)&&(c<=‘z’)

(29)以下所列的各函数首部中,正确的是

A)voidplay(var:

Integer,varb:

Integer)

B)voidplay(inta,b)

C)voidplay(inta,intb)

D)Subplay(aasinteger,basinteger)

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

A)0B)29C)31D)无定值

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf(“%d”,a);

}

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

A)2143B)1212C)1234D)2112

voidfun(int*x,int*y)

{printf(“%d%d”,*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;

fun(&y,&x);

printf(“%d%d”,x,y);}

(32)下列程序的输出结果是

A)非法B)a[4]的地址C)5D)3

main()

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p);

}

(33)下列程序的运行结果是

A)63B)36C)编译出错D)00

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf(“%d%d”,a,b);}

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

A)0B)1C)10D)9

main()

{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf(“%d\n”,*p+9);}

(35)当调用函数时,实参是一个数组名,则向函数传送的是

A)数组的长度B)数组的首地址

C)数组每一个元素的地址D)数组每个元素中的值

(36)设有以下说明语句

structex

{intx;floaty;charz;}example;

则下面的叙述中不正确的是

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

C)x,y,z都是结构体成员名D)structex是结构体类型

(37)以下只有在使用时才为该类型变量分配内存的存储类说明是

A)auto和staticB)auto和register

C)register和staticD)extern和register

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

A)EOFB)-1C)非零值D)NULL

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

A)20B)21C)22D)23

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf(“%d\n”,k);}

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

A)1,5,9B)1,4,7C)3,5,7D)3,6,9

main()

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

for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);}

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

A)18B)19C)20D)21

main()

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

printf(“%dn”,s);}

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

A)ABCDB)ABCDC)EFGD)EFGH

FGHEFGJKIJKL

KLIJO

M

main()

{charw[][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”},k;

for(k=1;k<3;k++)printf(“%s\n”,w[k]);

}

(43)当执行下面的程序时,如果输入ABC,则输出结果是

A)ABC6789B)ABC67C)12345ABC6D)ABC456789

#include“stdio.h”

#include“string.h”

main()

{charss[10]=“1,2,3,4,5”;

gets(ss);strcat(ss,“6789”);printf(“%s\n”,ss);

}

(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:

PROGABCDEFGHIJKL<回车>,则输出结果为

A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGH

main(intargc,char*argv[]))

{while(--argc>0)printf(“%s”,argv[argc]);

printf(“\n”);

}

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

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

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;

}

main()

{printf(“%ld\n”,fun(3));}

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

A)16B)2C)9D)1

#defineSQR(X)X*X

main()

{inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf(“d\n”,a);

}

(47)若定义了以下函数:

voidf(……)

{……

*p=(double*)malloc(10*sizeof(double));

……

}

p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是

A)double*pB)float**pC)double**pD)float*p

(48)以下程序的输出是

A)10B)11C)51D)60

structst

{intx;int*y;}*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};

main()

{p=aa;

printf(“%d\n”,++(p->x));

}

(49)假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是

A)free(q);p->next=q->next;

B)(*p).next=(*q).next;free(q);

C)q=(*q).next;(*p).next=q;free(q);

D)q=q->next;p->next=q;p=p->next;free(p);

 

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

A)0B)1C)2D)3

main()

{intx=0.5;charz=’a’;

printf(“%d\n”,(x&1)&&(z<’z’));}

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

请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。

(1)计算机机领域中,通常用英文单词“Byte”表示【1】。

(2)在DOS环境下,自动批处理的文件名为【2】。

(3)要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为【3】。

(4)在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的【4】操作实现窗口的移动。

(5)在Windows环境下,可以将窗口最小化为【5】。

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

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%d\n”,a,b);

}

(7)下列程序的输出结果是16.00,请填空。

main()

{inta=9,b=2;

floatx=【7】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf(“%5.2f\n”,z);

}

(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。

st=(char*)【8】;

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

main()

{charb[]=”Hello,you”;

b[5]=0;

printf(“%s\n”,b);

}

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

intn=’c’;

switch(n++)

{default:

printf(“error”);break;

case‘a’:

case‘A’:

case‘b’:

case‘B’:

printf(“good”);break;

case‘c’:

case‘C’:

printf(“pass”);

case‘d’:

case‘D’:

printf(“warn”);

}

(11)以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。

voidfun(int*x,int*y)

{……}

main()

{inta=10,b=20;

【11】;/定义变p*/

p=fun;p(&a,&b);

……

}

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

voidfun(int*n)

{while((*n)--);

printf(“%d”,++(*n));

}

main()

{inta=100;

fun(&a);

}

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

main()

{intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf(“%d\n”,*(p+3));

}

(14)以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。

structst

{charname[20];doublescore;};

main()

{structstex;

printf(“exsize:

%d\n”,sizeof(【14】));

}

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

请填空。

#include“stdio.h”

FILE*fp;

{charch;

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

while((ch=getchar())!

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

fclose(fp);

}

(16)若变量n中的值为24,则prnt函数共输出【16】行,最后一行有【17】个数。

voidprnt(intn,intaa[])

{inti;

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

{printf(“%6d”,aa[i]);

if(!

(i%5))printf(“\n”);

}

printf(“\n”);

}

(17)以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。

请填空。

#defineN3

#defineM4

voidLineMax(intx[N][M])

{inti,j,p;

for(i=0;i

{p=0;

for(j=1;j

if(x[i][p]

printf(“Themaxvalueinline%dis%d\n”,i,【19】);

}

}

main()

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

【20】

}

模拟题答案

一、选择题(

(1)--(40)题每题1分,(41)--(50)题每题2分,共60分。

(1)C

(2)C

(3)C

(4)C

(5)C

(6)B

(7)A

(8)D

(9)D

(10)C

(11)C

(12)C

(13)A

(14)B

(15)C

(16)D

(17)B

(18)D

(19)A

(20)C

(21)C

(22)B

(23)B

(24)D

(25)A

(26)C

(27)C

(28)D

(29)C

(30)C

(31)A

(32)C

(33)B

(34)C

(35)B

(36)B

(37)B

(38)C

(39)B

(40)C

(41)A

(42)D

(43)A

(44)D

(45)A

(46)B

(47)C

(48)C

(49)B

(50)B

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

(1)字节

(2)AUTOEXEC。

BAT(3)COPY*。

TXTPRN(4)拖动(5)图标或按钮

(6)2.1(7)6.6(8)Malloc(11)或malloc(sizeof(char)*11)

(9)Hello(10)passwarm(11)void(*p)()或void(*p)(int*,int*)

(12)0(13)10(14)structst或ex(15)“bi.dat”,“w”或“bi.dat”,“wt”或“bi.dat”,“w+t”

(16)5(17)4(18)sp=j(19)cx[i][p](20)LineMax(x)

模拟题2

一、选择题(

(1)-(40)题每题1分,(41)-(50)题每题2分,共60分)

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

(l)

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

当前位置:首页 > 工作范文 > 行政公文

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

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