[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc

上传人:eastlab115 文档编号:492452 上传时间:2018-11-30 格式:DOC 页数:33 大小:79.50KB
下载 相关 举报
[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc_第1页
第1页 / 共33页
[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc_第2页
第2页 / 共33页
[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc_第3页
第3页 / 共33页
[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc_第4页
第4页 / 共33页
[计算机类试卷]2004年9月国家二级(C语言)笔试真题试卷及答案与解析.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、2004 年 9月国家二级( C语言)笔试真题试卷及答案与解析 1 与十进制数 200等值的十六进制数为 ( A) A8 ( B) A4 ( C) C8 ( D) C4 2 DOS文件系统的组织结构属于 ( A)星形结构 ( B)网形结构 ( C)环形结构 ( D)树形结构 3 对存储器按字节进行编址,若某存储器芯片共有 10根地址线,则该存储器芯片的存储容量为 ( A) 1KB ( B) 2KB ( C) 4KB ( D) 8KB 4 在 DOS环境下,代表键盘和显示器的设备文件名为 ( A) PRN ( B) CON ( C) NUL ( D) LPT 5 计算机网络的主要特点是 ( A)

2、运算速度快 ( B)运算精度高 ( C)资源共享 ( D)人机交互 6 磁盘处于写保护状态时其中的数据 ( A)不能读出,不能删改 ( B)可以读出,不能删改 ( C)不能读出,可以删改 ( D)可以读出,可以删改 7 从 Windows环境进入 MSDOS 方式后,返回 Windows环境的 DOS命令为 ( A) EXIT ( B) QUIT ( C) RET ( D) MSDOS 8 在 Windows环境下,若资源管理器左窗口中的某文 件夹左边标有 “ ”标记,则表示 ( A)该文件夹为空 ( B)该文件夹中含有子文件夹 ( C)该文件夹中只包含有可执行文件 ( D)该文件夹中包含系统

3、文件 9 在 Windows菜单中,暗淡的命令名项目表示该命令 ( A)暂时不能使用 ( B)正在执行 ( C)包含下一层菜单 ( D)包含对话框 10 在 Windows环境下,单击当前窗口中的按钮 “ ”,其功能是 ( A)将当前应用程序转为后台运行 ( B)退出 Windows后再关机 ( C)终止当前应用程序的运行 ( D)退出 Windows后重新启动计 算机 11 用 C语言编写的代码程序 ( A)可立即执行 ( B)是一个源程序 ( C)经过编译即可执行 ( D)经过编译解释才能执行 12 结构化程序由三种基本结构组成,三种基本结构组成的算法 ( A)可以完成任何复杂的任务 (

4、B)只能完成部分复杂的任务 ( C)只能完成符合结构化的任务 ( D)只能完成一些简单的任务 13 以下定义语句中正确的是 ( A) char a=Ab=B; ( B) float a=b=10.0; ( C) int a=10,*b= ( D) float *a,b= 14 下列选项中,不能用作标识符的是 ( A) _1234_ ( B) _1_2 ( C) int_2_ ( D) 2_int_ 15 有以下定义语句 double a, b; intw; longc; 若各变量已正确赋值,则下列选项中正确的表达式是 ( A) a=a+b=b+ ( B) w%(int)a+b) ( C) (c

5、+w)%(int)a ( D) w=a=b; 16 有以下程序 main( ) int m=3,n=4,x; x=-m+; x=x+8/+n; printf(“%dn“,x); 程序运行后的输出结果是 ( A) 3 ( B) 5 ( C) -1 ( D) -2 17 有以下程序 main() char a=a,b; print(“%c,“,+a); printf(“%cn“,b=a+); 程序运行后的输出结果是 ( A) b,b ( B) b,c ( C) a,b ( D) a,c 18 有以下程序 main( ) int m=0256,n=256; printf(“%o %on“,m,n);

6、 程序运行后的输出结果是 ( A) 0256 0400 ( B) 0256 256 ( C) 256 400 ( D) 400 400 19 有以下程序 main( ) int a=666,b=888; printf(“%dn“,a,b); 程序运行后的输出结果是 ( A)错误信息 ( B) 666 ( C) 888 ( D) 666,888 20 有以下程序 main( ) int i; for(i=0;i-10 else printf(“%d“,+d +1); printf(“%dn“,d); 程序运行后的输出结果是 ( A) 2 ( B) 3 ( C) 43 ( D) 44 23 下列条

7、件语句中,功能与其他语句不同的是 ( A) if(a) printf(“%dn“,x); else printf(“%dn“,y); ( B) if(a=0) printf(“%dn“,y); else printf(“%dn“,x); ( C) if (a!=0) printf(“%dn“,x); else printf(“%dn“,y); ( D) if(a=0) printf(“%dn“,x); else printf(“%dn“,y); 24 有以下程序 main( ) int i=0,x=0; for (;) if(i=3|i=5) continue; if (i=6) break;

8、 i+; s+=i; ; printf(“%dn“,s); 程序运行后的输出结果是 ( A) 10 ( B) 13 ( C) 21 ( D)程序进入死循环 25 若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是 ( A) for(i=1,p=1;i。则输出结果是 ( A) 6,5,A,B ( B) 6,5,65,66 ( C) 6,5,6,5 ( D) 6,5,6,6 27 以下能正确定义二维数组的是 ( A) int a 3; ( B) int a 3=22*3; ( C) int a 3=; ( D) int a23=1,2,3,4; 28 有以下程序 int f(

9、int a) return a%2; main( ) int s8=1,3,5,2,4,6,i,d=0; for (i=0;f(si);i+) d+=si; printf(“%dn“,d); 程序运行后的输出结果是 ( A) 9 ( B) 11 ( C) 19 ( D) 21 29 若有以下说明和语句, int c45,(*p)5;p=c; 能正确引用 c数组元素的是 ( A) p+1 ( B) *(p+3) ( C) *(p+1)+3 ( D) *(p0+2) 30 有以下程序 main( ) int a=7,b=8,*p,*q,*r; p=q= r=p; p=q;q=r; printf(“

10、%d,%d,%d,%dn“,*p,*q,a,b); 程序运行后的输出结果是 ( A) 8,7,8,7 ( B) 7,8,7,8 ( C) 8,7,7,8 ( D) 7,8,8,7 31 s12和 s2已正确定义并分别指向两个字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 ( A) if(s1s2)S; ( B) if(strcmp(s1,s2)S; ( C) if(strcmp(s2,s1)0) S; ( D) if(strcmp(s1,s2)0)S; 32 设有定义语句 int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出 x数组 6个元素

11、中的值,不能完成此操作的语句是 ( A) for(i=0;inum ( B) p-num ( C) (*p).num ( D) stu3.age 46 有以下程序 main( ) int x =1,3,5,7,2,4,6,0,i,j,k; for(i=0;i 3;i+) for (j=2;j =i;j-) if(xj+1 xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i 3;i+) for(j=4;j 7-i;j+) if(xj+1 xj) k=xj;xj=xj+1;xj+1=k; for (i=0;i 3;i+) if(xj xj+1) k=xj;xj=xj+1;xj+1

12、=k; for (i=0;i 8;i+) printf(“%d“,xi); printf(“n“); 程序运行后的输出结果是: ( A) 75310246 ( B) 1234567 ( C) 76310462 ( D) 13570246 47 有如下程序 #include stdio.h main() FILE *fp1; fp1=fopen(“f1.txt“,“w“); fprintf(fp1,“abc“); fclose(fp1); 若文本文件 f1.txt中原有内容为: good,则运行以上程序后文件 f1.txt中的内容为 ( A) goodabc ( B) abcd ( C) abc

13、 ( D) abcgood 48 以下程 序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct node *next; (48) CreatLis(char *s) struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=0) p=(struct node *) malloc(sizeof(struct node);

14、 p-data= (49) ; q-next=p; q= (50) ; s+; p-next=0; return h;main() char str=“link list“; struct node *head; head=CreatLis(str); . ( A) char * ( B) struct node ( C) struct node* ( D) char ( A) *s ( B) s ( C) *s+ ( D) (*s)+ ( A) p-next ( B) p ( C) s ( D) s-next 51 在 64位高档微机中, CPU能同时处理【 】个字节的二进制数据。 52 E

15、-mail地址由域名和用户名两部分组成,它们之间用 分隔,其中在 后面的部分是【 】。 53 Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动【 】。 54 计算机软件分为系统软件和应用软件, UNIX系统属于【 】。 55 在 Windows环境下,为了将屏幕内容存入剪贴板,应按【 】键。 56 以下程序段的输出结果是【 】。 int i=9; printf(“%on“,i); 57 以下程序运行后的输出结果是【 】。 main( ) int a,b,c; a=25; b=025; c=0x25; printf(“%d %d %dn“,a,b,c);

16、58 以下程序运行后的输出结果是【 】。 main( ) int p7=11,13,14,15,16,17,18; int i=0,j=0; while(i-10或者 (xy)b) if (bC printf (“ d”, (1+1); elsc Prantf(“ d”, +d+1); printf(“ d”, d); 最外层一个判断语句没有执行,所以,它所包含的判断语句也没有执行,仅执行了最后一个 printf 语句, 结果为 2。 23 【正确答案】 D 【试题解析】 本题选项 A、 B 和 C均表示在 a非零的条件下输出 x,在 a为零的条件下输出 y,而选项 D正好相反。 24 【 正

17、确答案】 D 【试题解析】 由于程序中 for循环没有条件,只有靠其内部的 break 跳转循环,但在循环执行二次之后, i的值变为 3,会使循环一直执行 if(i= =3| | i= =5)continue这条语句,使程序进入死循环。 25 【正确答案】 B 【试题解析】 本题选项 A、 C和 D均能完成 5!的计算,选项 B不能完成此计算,因为在循环过程中,第一次循环都将结果重新初始化,最后得到结果为 5。 26 【正确答案】 A 【试题解析】 本题涉及到字符型数据和整形数据 (0-254)之间的互换 关系,即字符型的数据在计算机内部是以整形数据存储的,值即为其 ASCII 码值,本题把整

18、数 65, 66当作字符输出,其对应的 ASCII 码为 A和 B。 27 【正确答案】 B 【试题解析】 选项 A、 C不能确定数组的大小,选项 D初始化数据错误,因为多维数组初始化时,可以用一个 把所有值包含,值之间用 “,”分隔,如果是多维数组,在 中可包含第一维数量的 ,每 一个 中包含第二维数量的值,如 int a 3 4 = 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3,4; 28 【正确答案】 A 【试题解析】 本题中循环条件为 f(si),即 f(si)的值为非零时执行此循环,而这个自定义函数的即为取 2的模返回,只有奇数才返回非零值,所以最后循环执行了三次,

19、 d的值为 s0, s1, s2三个值的和,即为 9。 29 【正确答案】 B 【试题解析】 本题中 c是一个二维数组, p是一个含有 5个元素的数组名和首地址,通过 p可以检索数组的值。 30 【正确答案】 C 【试题解析】 程序中 a, b 的值都没有改变,所以最后两个输出值分别为 7、 8,程序 中第三条语句执行了 p 和 q的值的改变,即将 P、 q 中的值互换。 31 【正确答案】 C 【试题解析】 函数 strcmp(s1, s2), 当 s1 与 s2相同时,返回 0,否则当s1s2时,返回正值,反之,返回负值 32 【正确答案】 D 【试题解析】 本题涉及指针运算,通过数据的指

20、针取出其对应的值,语法为。 (p+n),其中 n为数组元素的索引。 33 【正确答案】 C 【试题解析】 本题中第一行代码对指针 P进行了初始化,其指向数组 a的第 6个元素,在其后的操作中 p 的值也没有改变过 ,所以最后输出 *p=* (p+0) =a 5 =6,而第二行代码中对 q 指向的值进行赋值,等价于 *q=a10=11,所以输出结果 *q为 11。 34 【正确答案】 C 【试题解析】 本题中 a为三维数组,其中 a0, a1, a2分别代表它的三维 (的首指针 ), p为一个一维指针数组,含有 3个元素,每两行代码把数组的第二维的首指针赋值给指针数组的第一个值,所 以, * (

21、p0 +1)即取 p0所指数组的第二个值,即为数组 a的第二维的第二个值,即为 a1 1。 35 【正确 答案】 B 【试题解析】 本题中 str定义为一个二维字符数组,即为 str2 10,也可以用 str0 sr19来索引所有的字符值, p 指向这个数组的首指针,那么 p+10指向这个数组第二维的首指针,所以输出字符串为 Beijng。 36 【正确答案】 D 【试题解析】 本题中 p 为一个字符串的首指针,但循环开始时,它指向字符串 s的第二个字符,而且每循环一次,指针向后移一位。 37 【正确答案】 B 【试题解析】 C语言中函数定义是互相独立的,函数和函数之间没有从属关系,一 个函数

22、即可以被其它函数调用,同时,它也可以调用别的函数,这就是函数的嵌套调用。函数的嵌套调用为自顶向下,逐步求精及模块化的结构化程序设计技术提供了最基本的支持。 38 【正确答案】 D 【试题解析】 本题中选项 A、 B和 C把数值赋给指针,错误; 39 【正确答案】 A 【试题解析】 全局变量说明为 static存储类,其生命周期将得到延长,但作用域不能被扩大; static存储类变量在未赋初值时,是有默认值的,形参中的存储类说明符与局部变量完全相同。 40 【正确答案】 A 【试题解 析】 四种位操作,只有第 c1c2的结果返回都为 0的二进制数,即为零。 41 【正确答案】 D 【试题解析】

23、返回指针的函数定义为:返回值类型,函数名 ( ),而指向函数的指针定义为:返回值类型 (*变量名 )( )。本题中函数 fun返回一个无类型的指针。 42 【正确答案】 B 【试题解析】 C语言类型的字符串中 “ ”为转义字符, n表示回车符,所以ps+4输出的是回车符后的字符串,即为 No, * (ps+4) = 0把第 5个字符赋为 0,是字符串的结束符,所以最后输出的字符串 43 【正确答案】 B 【试题解析】 整数 1在机内存储格式为 11111111 11111111,若转化为无符号数,就是最大的无符号数,即 65535。 44 【正确答案】 C 【试题解析】 程序运行结果是 8 1

24、 6 2。 45 【正确答案】 D 【试题解析】 通过结构体变量引用其成员用 “.”,通过结构体指针引用其成员用“ ”,本题中选项 A、 B 和 C引用其成员变量都正确,选项 D数组越界。 46 【正确答案】 A 【试题解析】 程序运行的输出结果是 75310246。 47 【正确答案】 A 【试题解析】 本题中对文件 fl txt打开,进行写操作,此文件原有内容被覆盖。 48 【正确答案】 C 【试题解析】 CreateList( )函数在最后返回 h,而 h 是 structn。 node*类型的变量。 49 【正确答案】 A 【试题解析】 结构体 node的数据成员 data的类型为 c

25、har型,而 s为传入的字符串 50 【正确答案】 B 【试题解析】 q 为一个 struct node *类型的变量,在程序中的作用为:临时保存链表末结点的指针,所以 依题意,本题应该选 B: 51 【正确答案】 8 【试题解析】 微型机中,所谓微型机的位数,是指微机 CPU一次能处理的位 (bit)数, 64位微机能同时处理 64bit=8byte,即 8字节的二进制数。 52 【正确答案】 域名 【试题解析】 Email 地址由域名和用户名两部分组成,它们之间用 符号分隔,如 support thinghua edu cn,其中 “”之前的部分为用户名, “”之后的部分为域名。 53 【正确答案】 标题栏

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1