C语言程序设计笔试A卷.docx
- 文档编号:11370249
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:14
- 大小:21.94KB
C语言程序设计笔试A卷.docx
《C语言程序设计笔试A卷.docx》由会员分享,可在线阅读,更多相关《C语言程序设计笔试A卷.docx(14页珍藏版)》请在冰豆网上搜索。
C语言程序设计笔试A卷
2001年C语言程序设计笔试A卷
第一部分计算机基础知识
单选题(每题1分,共20分)
1.所谓计算机程序。
A.实质上是一个可执行文件B.就是一串计算机指令的序列
C.是用各种程序设计语言编写而成的D.在计算机系统中属于系统软件
2.要使用计算机高级语言,必须。
A.了解计算机的系统结构B.掌握该语言的语法规则
C.首先掌握低级语言D.掌握汇编和连接方法
3.计算机通信采用的交换技术有分组交换和电路交换。
分组交换比电路交换。
A.实时性好但线路利用率低B.实时性好线路利用率也高
C.线路利用率高但实时性差D.实时性和线路利用率均差
4.在下列用不同数制表示的四个数中,数值最大的是。
A.十六进制数DAB.十进制数219
C.八进制数334D.二进制数
5.如果一幅256色图像的像素数为640×480,存储它需要字节。
A.B.C.D.
6.微型计算机中的内存储器通常采用。
A.光存储器B.磁表面存储器C.半导体存储器D.磁芯存储器
7.在下列视频图像数据的压缩标准中,目前国际上通行的为。
A.JPEG、MPEG和H.261B.MPEG-I、MPEG-II、MPEG-III
C.MPEG、MPEG-I和JPEGD.JPEG、MPEG-III和H.261
8.准确地说,文件是存储在。
A.内存中的数据集合B.辅存中的一组相关数据的集合
C.存储介质上的一组相关数据的集合D.打印纸上的一批数据集合
9.操作系统的主要功能是。
A.实现软、硬件转换B.管理系统所有的软、硬件资源
C.把源程序转换为目标程序D.进行数据处理
10.计算机指令一般包括。
A.控制信息和数据信息B.源操作数地址和目标操作数地址
C.操作码和地址码两部分D.数据及各种运算符号
11.在过程控制领域,要求操作系统能对来自外界的作用和信息在规定的时间内进行响应并作出处理,这样的操作系统称为。
A.分时系统B.多机系统C.实时系统D.批处理系统
12.计算机网络的目标是实现。
A.数据处理B.信息传输与数据处理
C.文献查询D.资源共享与信息传输
13.一个字节所能表示的最大的十六进制数为。
A.255B.256C.8FD.FF
14.为了解决存储速度、存储容量和存储器件价格这三方面的矛盾,人们提出了多层次存储系统的概念,即由共同组成计算机中的存储系统。
A.CACHE、RAM、ROM、辅存B.RAM、辅存
C.RAM、ROM、软盘、硬盘D.CACHE、RAM、ROM、辅存
15.若将两个完全不同的网络连接起来,必须使用作为网间协议转换。
A.集线器B.中继器C.网桥D.网关
16.一台计算机的字长为32位,则表明。
A.它能处理的字符串的最大长度为4个ASCII字符
B.它能运行32位操作系统
C.它的CPU一次能处理32位二进制代码
D.它能处理的二进制数最大为32位
17.在CPU中用来暂时存放数据、指令等各种信息的部件是。
A.控制器B.寄存器C.运算器D.存储器
18.微型计算机内存的基本编址单元的长度是位。
A.4B.8C.16D.32
19.在计算机中,一个浮点数由两部分组成。
A.阶码和尾数B.阶码和基数C.基数和尾数D.整数和小数
20.存储器的存取周期是指。
A.从发出一次读写命令到能够发出下一次读写命令的最长时间
B.从发出一次读写命令到能够发出下一次读写命令的最短时间
C.从存储器读出数据和写入数据的平均时间
D.从存储器读出数据和写入数据的时间之和
第二部分程序设计
说明:
选择题I(四选一,每题2分)为单项选择题,每题只有一个正确答案。
选择题II为多选题(五选二,每题2分),在五个备选答案中只有两个正确答案,情选出这两个正确的答案。
多选、少选或答案选错均不得分,选择题II答案填在答题卡上的多选题部分。
选择题I(每题2分)
一、以下叙述正确的是。
21(A)在C程序的每行中,main函数必须位于程序的最前面
(B)C程序的每行只能写一条语句
(C)C语言本身没有输入输出语句
(D)在main函数中定义的变量是全程变量
二、假设所有变量均为整型,则表达式(a=2,b=5,++b,a+b)的值是。
22(A)7(B)8(C)6(D)2
三、下面正确的字符常量是。
23(A)“c”(B)‘\\”(C)‘\0’(D)‘’
四、设变量a是整型,f为实型,i是双精度型,则表达式10+’\025’+i*f值的数据类型为。
24(A)int(B)float(C)double(D)不确定
五、若有以下定义,则能使值为3的表达式是。
25intk=7,x=12;
(A)x%=(k%=5)(B)x%=(k-k%5)(C)x%=k-k%5(D)(x%=k)-(k%=5)
六、阅读以下程序,当输入数据的形式为:
10,13,10
(
main()
{intx,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
26(A)x+y+z=33(B)x+y+z=23(C)x+z=35(D)不确定值
七、逻辑运算符两侧运算对象的数据类型。
27(A)只能是0或1(B)只能是0或非0正数
(C)只能是整型或字符型数据(D)可以是任何类型的数据
八、请阅读以下程序:
main()
{inta=0,b=0,c=0;
if(a=b+c)printf(“###\n”);
elseprintf(“***\n”);
}
以上程序。
28(A)有语法错,不能通过编译(B)可以编译但不能通过连接
(C)输出***(D)输出###
九、当a=2,b=3,c=6,d=4时,执行完下面一段程序后x的值是。
if(a
if(c else if(a if(b elsex=3; elsex=6; elsex=7; 29(A)7(B)2(C)3(D)6 十、下面程序段的运行结果是。 a=3;b=2;c=1; while(a>b>c){t=a;a=b;b=t;c--;} printf(“%d,%d,%d”,a,b,c); 30(A)3,2,1(B)2,1,0(C)2,3,0(D)2,1,1 十一.下面程序的功能是将小写字母变成对应大写字母后面的第二个字母,其中y变成A,z变成B。 请选择填空。 #include main() { charc; while((c=getchar())! =’\n’){ if(c>=’a’&&c<=’z’) {__31__; if(c>’Z’&&c<=’Z’+2) __32__; } printf(“%c”,c); } } 31(A)c+=2(B)c-=’A’-‘a’(C)c=c-‘A’+’a’+2(D)c=c-‘a’+‘A’+2 32(A)c=’B’(B)c=’A’(C)c-=’z’-‘a’+1(D)c=c+25 十二.若二维数组a有m列,则a[i][j]前的元素个数为_________。 33(A)j*m+i-1(B)i*m+j(C)i*m+j-1(D)i*m+j+1 十三.有下面的程序段 chara[3],b[]=”hello”; a=b; printf(“%s”,a); 则________。 34(A)运行后将输出hello(B)运行后将输出he (C)运行后将输出hel(D)编译出错 十四.以下程序的运行结果是_________。 typedefunion{longa[2]; floatb[4]; charc[8]; }mytype; mytypeour; main() { printf(“%d\n”,sizeof(our)); } 35(A)20(B)16(C)8(D)24 十五.在一个C源程序文件中,若要使用一个在其他源文件中定义的全局变量,则该变量需要使用的存储类别是___________。 36(A)extern(B)register(C)auto(D)static 十六.C语言的编译系统对宏命令的处理是________。 37(A)在程序运行时进行的 (B)在程序连接时进行的 (C)和C程序中的其他语句同时进行编译的 (D)在对源程序中其他成分编译之前进行的 十七.以下程序的运行结果是_________。 #defineMIN(A,B)A>B? B: A #definePRINT(Y)printf(“Y=%d\t”,Y) main() { inta=1,b=2,c=3,d=4,t; t=MIN(a+b,c+d); PRINT(t); } 38(A)Y=3(B)存在语法错误(C)Y=7(D)Y=0 十八.下面程序段中,for循环的执行次数是_______。 char*s=”\ta\018b\bc”; for(;*s! =’\0’;s++)printf(“*“); 39(A)9(B)5(C)6(D)7 十九.下面程序段的运行结果是_______。 char*s=”12345”; s+=2;printf(“%d”,s); 40(A)345(B)字符’3’(C)字符’3’的地址(D)无确定的输出结果 廿.下面程序段的运行结果是______。 char*p=”%d,a=%d,b=%d\n”; inta=123,b=10,c; c=a%b;p+=3; printf(p,c,a,b); 41(A)3,a=123,b=10(B)a=3,b=123(C)a=123,b=10(D)以上结果都不对 廿一.下面程序的功能是用递归法将一个整数存放到一个字符数组中。 存放时按逆序存放。 如123存放成”321”,请选择填空。 #include voidconvert(chara[],intn) {inti; if((i=n/10)! =0)convert(__42__,i); *a=__43__; } main() {intnumber; charstr[10]=“”; scanf(“%d”,&number); convert(str,number); puts(str); } 42(A)a++(B)a+1(C)a--(D)a-1 43(A)n/10(B)n%10(C)n/10+’0’(D)n%10+’0’ 廿二.若有以下定义和语句: structstudent{ intage; intnum; }; structstudentstu[3]={{20,1001},{19,1002},{21,1003}}; main() { structstudent*p; p=stu; … } 则以下不正确的引用是________。 44(A)(p++)->num(B)p++(C)(*p).num(D)p=&stu.age 廿三.以下叙述中不正确的是________。 45(A)表达式a&=b等价于a=a&b(B)表达式a|=b等价于a=a|b (C)表达式a! =b等价于a=a! b(D)表达式a^=b等价于a=a^b 廿四.执行完以下C语句后,B的值是________。 charZ=’A’; int0020B; B=((255&15)&&(Z|’a’)); 46(A)0(B)1(C)TRUE(D)FALSE 廿五.系统的标准输入文件是指_______。 47(A)键盘(B)显示器(C)软盘(D)鼠标 廿六.若要用fopen函数建立一个新的文本文件,该文件要既能读也能写,则文件方式字符串应是_______。 48(A)“a+”(B)“w+”(C)“r+”(D)“a” 选择题Ⅱ(五选二。 以下选择题每题有两个正确答案,多选、少选或选错均不得分,答案填在答题卡的多选题部分) 一.下面能正确进行字符串操作的是________。 1(A)chars[5]={“abcde”};(B)chars[5]={‘A’,’B’,’C’,’D’,’E’}; (C)char*s;s=”abcde”;(D)char*s;scanf(“%s”,s); (E)char*s=”ABCDE”; 二.下面程序的功能是将一个整数字符串转换为一个整数,如“-324”转换为-324,请选择填空。 #include #include main() { chars[6]; intn; gets(s); if(*s==‘-’)n=__2__; elsen=chnum(s); printf(“%d\n”,n); } chnum(char*p) { intnum=0,k,len,j; len=strlen(p); for(;__3__;p++) { k=__4__; j=(--len); while(__5__){k=k*10;} num=num+k; } return(num); } 2(A)chnum(s)(B)-chnum(*s)(C)-chnum(s+1)(D)-chnum(s++) (E)-chnum(++s) 3(A)*p! =’\0’(B)*(++p)! =’\0’(C)*(p++)! =’\0’(D)len! =0(E)*p==’\0’ 4(A)*p(B)*p+’0’(C)*p-‘0’(D)*p-32(E)p[0]-‘0’ 5(A)--j>0(B)j-->0(C)--len>0(D)len-->0(E)j-- 三.设有以下说明和定义语句,则下面表达式中值为3的是________。 structs { inti1 structs*i2; } staticstructs,a[3]={1,&a[1],2,&a[2],3,&a[0]},*ptr; ptr=&a[1]; 6(A)ptr->i1++(B)ptr++->i1(C)*ptr->i1(D)++ptr->i1(E)(++ptr)->i1 四.以下是死循环的程序段是_______。 7(A)for(i=1;;) { if(++i%2==0)continue; if(++i%3==0)break; } (B)i=32767; do{if(i<0)break;}while(++i); (C)for(i=1;;)if(++i<10)continue; (D)i=1; while(i--); (E)unsignedk=0; do{++k;}while(k>=0); 五.下面程序删除字符串s中的所有空格(包括TAB符、回车符、换行符)。 在对应的一组选项中选择正确的内容填入______处。 #include #include main() {chars[81]=”abcdefg.”; delspace(s); puts(s); } delspace(char*str) {inti,t; charts[81]; for(i=0,t=0;___8___;___9___) if(! isspace(str[i]))ts[t++]=str[i]; __10__; strcpy(str,s); } 8(A)str[i](B)! str[i](C)str[i]! =’\0’(D)str[i]=NULL(E)str[i]==0 9(A)t++(B)++i(C)i++(D)*(ts+i)(E)++t 10(A)ts[t]=’\0’(B)str[t++]=’\0’(C)ts[t++]=’\0’(D)ts[--t]=’\0’(E)str[t]=’\0’ 六.C语言中_____是main函数参数的正确表达式。 11(A)main(intargc,char**argv) (B)main(intac,char*av[]) (C)main(intargc,charargv[]) (D)main(char**a,intv) (E)main(char*arg[],intargc) 七.若在C语言中有以下说明和语句,则_____中表示的都是对数组元素的正确引用(其中0<=i<4,0<=j<3)。 main() {inta[4][3]={0},*ptr[3],i,j; ptr=a;/*此处蓝色部分原题错得太离谱*/ … } (12)(A)a[i][j],a[i]+j,*(*(a+i)+j)(B)(ptr+i)[j],ptr[i]+j,*(*(ptr+i)+j) (C)*(ptr+i)[j],*(a+i)[j],*(ptr+i)(D)ptr[i][j],*(ptr[i]+j),*(a[i]+j) (E)(*(ptr+i))[j],*[j],*(a+i)[j],**(ptr+i) 注: 匆忙做出参考答案,未经核正,仅供参考,若发现有错,请告知我: cxu@stu.edu.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 笔试