全国计算机等级考试二级C语言真题含答案.docx
- 文档编号:27256474
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:20
- 大小:21.85KB
全国计算机等级考试二级C语言真题含答案.docx
《全国计算机等级考试二级C语言真题含答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言真题含答案.docx(20页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级C语言真题含答案
全国计算机等级考试二级笔试试卷
基础部分和C语言程序设计
(考试时间:
120分钟,满分100分)
2002年4月
一、选择题(
(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分) D B A A B C B B C C D D C A B B D C D A D B D C D A A B B D A C B B A A A B A A C A C B D D C C C B 二、填空题答案(每空2分,共40分) 【1】ABC>OUT.TXT或者ABC.EXE>OUT.TXT 【2】广域网 【3】PATHC: \UCDOS或其它等效命令 【4】DIR*.DAT或DIR*.DAT/P或DIR*.DAT/W或带其它参数也可 【5】剪贴板 【6】585858 【7】261 【8】16 【9】0 【10】structnode* 【11】5 【12】efgh 【13】abc 【14】7 【15】c 【16】! feof(fp) 【17】row 【18】a[row][colum] 【19】*(str+i)str[i] 【20】i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 真题含 答案