【计算机类职业资格】全国计算机等级考试二级C语言真题2003年4月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2003年4月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2003年4月及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2003 年 4 月及答案解析(总分:85.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:49.00)1.用 8 位无符号二进制数能表示的最大十进制数为(分数:1.00)A.127B.128C.255D.2562.在 64 位高档微机中,一个字长所占的二进制位数为(分数:1.00)A.8B.16C.32D.643.在 Windows 环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住(分数:1.00)A.Alt 键B.Esc 键C.Shift 键D.Ctrl 键4.在 Windows 菜单中,暗淡(灰色)的命令项表示该命令(分数:
2、1.00)A.暂时不能用B.正在执行C.包含下一层菜单D.包含对话框5.在 DOS 环境下,为了得到 TYPE 命令的帮助信息,正确的 DOS 命令为(分数:1.00)A.TYPEB.TYPE/HC.TYPE/*D.TYPE/?6.下列选项中,能作为合法 DOS 文件名的是(分数:1.00)A.ANP/DATB.ABCCOMC.ECBASICD.XY+TXT7.下列叙述中正确的是(分数:1.00)A.在 Windows 环境下,最大化的窗口是不能移动的B.在 Windows 环境下,应用程序窗口最小化后,该应用程序暂停执行C.在 Windows 环境下,只有最小化的窗口才能关闭D.在 Wind
3、ows 环境下,不能关闭最小化窗口8.在 Windows 环境下,工具栏中用于完成复制操作的按钮是 (分数:1.00)A.*B.*C.*D.*9.在 Windows 环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按(分数:1.00)A.Ctrl+Printscreen 键B.Alt+Printscreen 键C.Shift+Printscreen 键D.Printscreen 键10.目前,计算机病毒扩散最快的途径是(分数:1.00)A.通过软件复制B.通过网络传播C.通过磁盘拷贝D.运行游戏软件11.以下叙述正确的是(分数:1.00)A.C 语言比其他语言高级B.C 语言可以不用编译就能
4、被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C 语言出现的最晚、具有其他语言的一切优点12.C 语言中用于结构化程序设计的三种基本结构是(分数:1.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue13.在一个 C 语言程序中(分数:1.00)A.main( )函数必须出现在所有函数之前B.main( )函数可以在任何地方出现C.main( )函数必须出现在所有函数之后D.main( )函数必须出现在固定位置14.下列叙述中正确的是(分数:1.00)A.C 语
5、言中既有逻辑类型也有集合类型B.C 语言中没有逻辑类型但有集合类型C.C 语言中有逻辑类型但没有集合类型D.C 语言中既没有逻辑类型也没有集合类型15.下列关于 C 语言用户标识符的叙述中正确的是(分数:1.00)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头16.若有以下程序段(n 所赋的是八进制数) int m=32767,n=032767; printf(“%d,%o/n“,m,n);执行后输出结果是(分数:1.
6、00)A.32767,32767B.32767,032767C.32767,77777D.32767,07777717.下列关于单目运算符+、-的叙述中正确的是(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量18.若有以下程序段 int m=0xabc,n=0xabc;m-=n;printf(“%X/n“,m);执行后输出结果
7、是(分数:1.00)A.0X0B.0x0C.0D.0XABC19.有以下程序段 int m=0,n=0; char c=a;scanf(“%d%c%d“,printf(“%d,%c,%d/n“,m,c,n);若从键盘上输入:10A10,则输出结果是:(分数:1.00)A.10,A,10B.10,a,10C.10,a,0D.10,A,020.有以下程序 main( ) int i; for(i=0;i3;i+) switch(i) case 1: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是(
8、分数:1.00)A.011122B.012C.012020D.12021.有以下程序 main( ) int i=1,j=1,k=2; if(j+|k+) 执行后输出的结果是(分数:1.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,322.有以下程序 main( ) int a=5,b=4,c=3,d=2; if(abc) printf(“%d/n“,d); else if(c-1=d)=1) printf(“%d/n“,d+1); else printf(“%d/n“,d+2); 执行后输出的结果是(分数:1.00)A.2B.3C.4D.编译时有错,无结果23.有以下程序 ma
9、in( ) int p7=11,13,14,15,16,17,18,i=0,k=0; while(i7 i+; printf(“%d/n“,k); 执行后输出的结果是(分数:1.00)A.58B.56C.45D.2424.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是(分数:1.00)A.16B.12C.28D.2125.有以下程序 main( ) int i=10,j=1; printf(“%d,%d/n“,i-,+j); 执行后输出的结果是(
10、分数:1.00)A.9,2B.10,2C.9,1D.10,126.有以下程序 main() char a,b,c,*d;a=/; b=/xbc;c=/0xab; d=“/0127“;printf(“%c%c%c%c/n“,a,b,c,*d);编译时出现错误,以下叙述中正确的是(分数:1.00)A.程序中只有 a=/;语句不正确B.b=/xbc;语句不正确C.d=“/0127“;语句不正确D.a=/;和 c=/0xab;语句都不正确27.有以下程序: main( ) int f1 (int x, int y) return xy?x:y; int f2 (int x, int y) return
11、 xy?y:x; main( ) int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%d/n“,d,f,e); 执行后输出的结果是(分数:1.00)A.3,4,5B.5,3,4C.5,4,3D.3,5,428.有以下程序 void f(int x,int y) int t; if(xy) t=x; x=y; y=t; main( ) int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%d/n“,a,
12、b,c); 执行后输出的结果是(分数:1.00)A.3,4,5B.5,3,4C.5,4,3D.3,5,429.若有一些定义和语句 #include stdio.h int a=4,b=3,*p,*q,*w; p= q= w=q; q=NULL; 则以下选项中错误的语句是(分数:1.00)A.*q=0;B.w=p;C.*p=va;D.*p=*w;30.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d
13、/n“,*p,*q,*r); 执行后输出结果是(分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,831.有以下程序 main( ) char *s =“one“,“two“,“three“,*p; p=s1; printf(“%c,%s/n“,*(p+1),s0); 执行后输出结果是(分数:1.00)A.n,twoB.t,oneC.w,oneD.o,two32.有以下程序 main( ) int x8=8,7,6,5,0,0,*s; s=x+3; printf(“%d/n“,s2); 执行后输出结果是(分数:1.00)A.随机值B.0C.5D.633.以下能正确定义数组并
14、正确赋初值的语句是(分数:1.00)A.int N=5,b;B.int a12=1,3;C.int c2 =1,2,3,4;D.int d32=1,2,3,4;34.有以下程序 main( ) int m 3=1,4,7,2,5,8,3,6,9; int i,j,k=2; for(i=0;iA.4 5 6B.2 5 8C.3 6 9D.7 8 935.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(iN) scanf(“%d“,_); 在下划线处应填入的是(分数:1.00)A.x+iB.
15、printf(“%d,%d/n“,strlen(s),sizeof(s);执行后输出结果是(分数:1.00)A.赋初值的字符串有错B.6,7C.5,6D.6,637.阅读以下函数 fun(char *sl,char *s2) int i=0;while(sli=s2ireturn(sli=/0此函数的功能是(分数:1.00)A.将 s2 所指字符串赋给 s1B.比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0C.比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0D.比较 s1 和 s2 所指字符串的长度,若 s1 比
16、 s2 的长,函数值为 1,否则函数值为 038.以下叙述中正确的是(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值39.设有如下说明 typedef struct int n; char c; double x;STD;则以下选项中 ,能正确定义结构体数组并赋初值的语句是(分数:1.00)A.STD tt2=1,A,62,2,B,75;B.STD tt2=1,“A“,62,2,“,75;C.struct
17、tt2=1,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;40.有以下程序 main() union unsigned int n;unsigned char c;ul;ul.c=A;printf(“%c/n“,ul.n);执行后输出结果是(分数:1.00)A.产生语法错B.随机值C.AD.6541.有以下程序 main( ) char str =“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后输出结果是(分数:1.00)A.yz xyzB.z yzC.z yz xyzD.x
18、 xy xyz42.有以下程序 main( ) int a 3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;iA.7B.6C.8D.无确定值_44.有以下程序 main(int argc,char *argv) int n,i=0;while(argv1i!=/0) n=fun(); i+;printf(“%d/n“,n*argc);int fun() static int s=0;s+=1;return s;假设程序编译、连接后生成可执行文件 exam.exe,若键入以下命令 exam 123回车则运行结果为(分数:1.00)A.6B.8C.3D.445.以下程序
19、中,能够通过调用函数 fun,使 main 函数中的指针变量 p 指向一个合法的整型单元的是(分数:1.00)A.main( ) int *p; fun(; int fun(int * int s; p=B.main( ) int *p; fun(&; int fun(int * int s; *p=C.#includestdlih main( ) int *p; fun(&; int fun(int * *p=(int*)malloc(2);D.#includestdlih main( ) int *p; fun(; int fun(int * p=(int*)malloc(sizeof(i
20、n);46.若要说明一个类型名 STP,使得定义语句 STP s;等价于 char *s;,以下选项中正确的是(分数:1.00)A.typedef STP char *s;B.typedef *char STP;C.typedef STP *char;D.typedef char* STP ;47.设有如下定义 struct ss char name10; int age; char sex; std3,* p=std; 下面各输入语句中错误的是(分数:1.00)A.scanf(“%d“,B.scanf(“%s“,C.scanf(“%c“,D.scanf(“%c“,48.设 char 型变量
21、x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:1.00)A.10101001B.10101000C.11111101D.0101010149.以下叙述中不正确的是(分数:1.00)A.C 语言中的文本文件以 ASCII 码形式存储数据B.C 语言中对二进制位的访问速度比文本文件快C.C 语言中,随机读写方式不使用于文本文件D.C 语言中,顺序读写方式不使用于二进制文件50.以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include main() FILE *fout; char ch;fo
22、ut=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#) fputc(ch,fout);ch =fgetc(stdin);fclose(fout); 出错的原因是(分数:1.00)A.函数 fopen 调用形式有误B.输入文件没有关闭C.函数 fgetc 调用形式有误D.文件指针 stdin 没有定义二、B填空题/B(总题数:18,分数:36.00)51.用十六进制给存储器中的字节地址进行编号,若地址编号从 0000 到 FFFF,则该存储器的容量为 【】 KB。(分数:2.00)填空项 1:_52.假设在当前盘的当前目录下有两个文件 A.TXT 和 B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2003 答案 解析 DOC
