ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:75KB ,
资源ID:492441      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-492441.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]2004年4月国家二级(C语言)笔试真题试卷及答案与解析.doc)为本站会员(Iclinic170)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、2004 年 4月国家二级( C语言)笔试真题试卷及答案与解析 1 1MB等于 ( ) ( A) 1000字节 ( B) 1024字节 ( C) 10001000字节 ( D) 10241024字节 2 与十六进制数 200等值得十进制数为 ( ) ( A) 256 ( B) 512 ( C) 1024 ( D) 2048 3 所谓 “裸机 ”是指 ( ) ( A)单片机 ( B)单板机 ( C)不装备任何软件的计算机 ( D)只装备操作系统的计算机 4 能将高级语言编写的源程序转换为目标程序的是 ( ) ( A)链接程 序 ( B)解释程序 ( C)编译程序 ( D)编辑程序 5 在 64为

2、计算机中,一个字长所占字节数为 ( ) ( A) 64 ( B) 8 ( C) 4 ( D) 1 6 在 Windows环境下,当一个应用程序窗口被最小化后,该应用程序 ( ) ( A)继续在后台运行 ( B)继续在前台运行 ( C)终止运行 ( D)暂停运行 7 在 Windows环境下,能实现窗口移动的操作是 ( ) ( A)用鼠标拖动窗口中的任何部位 ( B)用鼠标拖动窗口的边框 ( C)用鼠标拖动窗口的控制按钮 ( D)用鼠标拖动窗口的 标题栏。 8 在 Windows环境下, PrintScreen键的作用是 ( ) ( A)打印当前窗口的内容 ( B)打印屏幕内容 ( C)复制屏幕

3、到剪贴板 ( D)复制当前窗口到剪贴板 9 Internet的通信协议是 ( ) ( A) TCP/IP ( B) BBS ( C) WWW ( D) FTP 10 下列叙述中正确的是 ( ) ( A)计算机病毒只感染可执行文件 ( B)计算机病毒只感染文本文件 ( C)计算机病毒只能通过软件复制的方式进行传播 ( D)计算机病毒可以通过网络或读写磁盘方式进行传播 11 一个算法应该具有 “确定性 ”等 5个特性,下面对另外 4个特性的描述中错误的是 ( ) ( A)有零个或多个输入 ( B)有零个或多个输出 ( C)有穷性 ( D)可行性 12 以下叙述中正确的是 ( ) ( A) C语言的

4、源程序不必通过编译就可以直接运行 ( B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令 ( C) C源程序经编译形成的二进制代码可以直接运行 ( D) C语言中的函数不可以单独进行编译 13 以下符合 C语言语法的实型常量是 ( ) ( A) 1.2 ( B) 3.14.159E ( C) 0.0005 ( D) E15 14 以下 4组用户定义标识符中,全部合法的一组是( ) ( A) _main enclude sin ( B) If -max turbo ( C) txt REAL 3COM ( D) int k_2 _001 15 若以下选项中的变量已正确定义,则正确的赋

5、值语句是( ) ( A) x1=26.8%3 ( B) 1+2=x2 ( C) x3=0x12 ( D) x4=1+2=3; 16 设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是( ) ( A) a+; ( B) b+; ( C) c+; ( D) d+; 17 设有定义: float a=2,b=4,h=3;,以下 C语言表达式与代数式 1/2(a+b) 计算结果不相符的是( ) ( A) (a+b)*h/2 ( B) (1/2)*(a+b)*h ( C) (a+b)*h*1/2 ( D) h/2*(a+b) 1

6、8 有以下程序 main( ) int x=102, y=012; printf(“%2d,%2dn”,x,y); 执行后输出结果是( ) ( A) 10,01 ( B) 002,12 ( C) 102,10 ( D) 02,10 19 以下 4个选项中,不能看作一条语句的是( ) ( A) ; ( B) a=0,b=0,c=0; ( C) if(a0); ( D) if(b=0) m=1;n=2; 20 设有定义: int a,*pa=以下 scanf语句中能正确为变量 a读入数据的是( ) ( A) scanf(“%d”,pa); ( B) scanf(“%d”,a); ( C) scan

7、f(“%d”, ( D) scanf(“%d”,*pa); 21 以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( ) ( A) if(ab) else k=0; ( B) if(ab)|(bc) k=1 else k=0; ( C) if(ab) k=1; else if(bc) k=1; else k=0; 22 有以下程序 main( ) char k; int l; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“anothern”); case 1: printf(“numbern”); 程序运行时,从键盘输

8、入: 01,程序执行后的输出结果是( ) ( A) another number ( B) another number another ( C) another number number ( D) number number 23 下列程序的输出结果是( ) main( ) int x=0,y=5,z=3; while(z- 0i-) sp; sum( printf(“%dn”,aa0); ( A) 4 ( B) 3 ( C) 2 ( D) 1 34 有以下程序的输出结果是 int f(int b 4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; ret

9、urn s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%dn”,f(a); ( A) 12 ( B) 11 ( C) 18 ( D) 16 35 有以下定义 #include stdio.h char a10,*b=a; 不能给数组 a输入字符串的语句是( ) ( A) gets(a) ( B) gets(a0) ( C) gets( ( D) gets(b); 36 有以下程序 main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%dn”,str

10、len(p4); 执行后输出结果是( ) ( A) 2 ( B) 3 ( C) 4 ( D) 5 37 有以下程序 int a=2;int f(int *a)return (*a)+;main( ) int s=0; int a=5; s+=f( s+=f( printf(“%dn”,s); 执行后输出结果是() ( A) 10 ( B) 9 ( C) 7 ( D) 8 38 有以下程序 #define f(x) x*x main( ) int i; i=f(4+4)/f(2+2); printf(“%dn”,i); 执行后输出结果是( ) ( A) 28 ( B) 22 ( C) 16 (

11、D) 4 39 设有以下语句 typedef struct S int g; char h; T; 则下面叙述中正确的是( ) ( A)可用 S定义结构体变量 ( B)可以用 T定义结构体变量 ( C) S是 struct类型的变量 ( D) T是 struct S类型的变量 40 有以下程序 struc STU char name10; int num; ; void f1(struct STU c) struct STU b=“LiSiGuo”,2042; c=b; void f2(struct STU *c) struct STU b=“SunDan”,2044; *c=b; main(

12、 ) struct STU a=“YangSan”,2041,b=“WangYin”,2043 ; f1(a);f2( printf(“%d %dn”,a.num,b.num); 执行后的输出结果是( ) ( A) 2041 2044 ( B) 2041 2043 ( C) 2042 2044 ( D) 2042 2043 41 有以下程序 main( ) unsigned char a,b; a=4|3; b=4 printf(“%d %dn”,a,b(; 执行后输出结果是( ) ( A) 7 0 ( B) 0 7 ( C) 1 1 ( D) 43 0 42 下面程序的功能是输出以下形式的金

13、字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;ipj- Score) t=pi;pi=pj;pj=t; printf(“%d %dn”,s1.Score,p1- Score); 执行后输出结果是( ) ( A) 550 550 ( B) 680 680 ( C) 580 550 ( D) 580 680 48 有以下程序 #include stdlib.h struct NODE int num; struct NODE *next; main( ) struct NODE *p,*q,*r; int sum=0

14、; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p- num=1;q- num=2;r- num=3; p- next=q;q- next=r;r- next=NULL; sum+=q- next- num;sum+=p- num; printf(“%dn”,sum); 执行后的输出结果是 ( A) 3 ( B) 4 ( C) 5 ( D) 6 49 有以下程序 #inc

15、lude stdio.h main( ) FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”); for(i=1;i 4;i+) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“d1.dat”,”r”); fscanf(fp,”%d%d”, printf(“%d %dn”,k,n); fclose(fp); 执行后输出结果是( ) ( A) 1 2 ( B) 123 0 ( C) 1 23 ( D) 0 0 50 有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作

16、用是使位置指针从文件尾向前移 2*sizeof(int)字节) #include stdio.h main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;i,执行后输出结果是【 】。 61 有以下程序 void f( int y,int *x) y=y+*x; *x=*x+y; main( ) int x=2,y=4; f(y, printf(“%d %dn”,x,y); 执行后输出的结果是【 】 。 62 函数 fun的功能是计算 Xn double fun(double x,int n) int i;

17、 double y=1; for(i=1;i =n;i+) y=y*x; return y; 主函数中已经正确定义 m,a,b变量并赋值,并调用 fun函数计算: m=a4+b4-(a+b)3。实现这一计算的函数调用语句为 【 】 。 63 以下 sstrcpy( )函数实现字符串复制,即将 t所指字符串复制到 s所指向内存空间中,形成一个新的字符串 s。请填空。 void sstrcpy(char *s,char *t) while(*s+=【 】 ); main( ) char str1100,str2 =”abcdefgh”; sstrcpy(str1,str2); printf(“%s

18、n”,str1); 64 下列程序的运行结果是:【 】 #include string.h char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str=”abcdefgh”; p=ss(str); printf(“%sn”,p); 65 下面程序的运行结果是: 【 】 int f( int a , int n) if(n 1) return a0+f( else return a0; main ( ) int aa3=1,2,3,s; s=f( ; printf(“%dn”,s); 66 以下程序中给指针 p分配三个 double型

19、动态内存单元,请填空。 # include stdlib.h main ( ) double *p; p=(double *) malloc( 【 】 ); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%fn”,p0,p1,p2); 67 以下程序的运行结果是 【 】 #include string.h typedef struct student char name10; long sno; float score; STU; main( ) STU a=“zhangsan”,2001,95,b=“Shangxian”,2002,90, c=“Anhua”,2003,

20、95,d,*p= d=a; if(strcmp(a.name,b.name) 0) d=b; if(strcmp(c.name,d.name) 0) d=c; printf(“%ld%sn”,d.sno,p-name); 68 以下 sum函数的功能是计算下列级数之和。 请给函数中的各变量正确赋初值。 double sum( double x, int n ) int i; double a,b,s; 【 】 for( i=1;i =n;i+) a=a*x; b=b*i; s=s+a/b; return s; 69 下面 rotate函数的功能是:将 n行 n列的矩阵 A转置为 A,例如: #

21、define N 4 void rotate(int a N) int i,j,t; for(i=0;i N;i+) for(j=0;【 】 ;j+) t=aij; 【 】; aji=t; 2004 年 4月国家二级( C语言)笔试真题试卷答案与解析 1 【正确答案】 D 【试题解析】 在计算机的二进制表示中: 1KB=210B=1024B 1MB=220B=1024 X1024B 2 【正确答案】 B 【试题解析】 计算方法为:对于 16进制数 200末位有两位是零,因此是 162,最高位是 2,所以应为 162=512。 3 【正确答案】 C 【试题解析】 裸机是指不装备任何软件的计算机,

22、装备了操作系统的计算机不属于裸机。 4 【正确答案】 C 【试题解析】 编译程序是将高级语言编写的程序转换成目标程序。 5 【正确答案】 B 【试题解析】 在 64位计算机中,一个字节占 4位,一个字长占 8个字节。 6 【正确答案】 A 【试题解析】 在 Windows 操作系统下,一个应用程序窗口最小化后,该程序继续在后台运行,只有关闭该窗口时,才终止运行。 7 【正确答案】 D 【试题解析】 鼠标拖动窗口的标题栏,能实现窗口的移动;拖边框,实现窗体的大小调整。 8 【正确答案】 C 【试题解析】 PrintScreen 键的作用是复制屏幕到剪贴板,使用者就可以在其他地方利用粘贴命令将屏幕

23、复制过去。 9 【正确答案】 A 【试题解析】 TCP IP是 Intemet的通信协议, BBS 是网上论坛的简称, WWW是 World Wide Web(万维网 )的简称, FTP是 Intemet的文件传输协议。 10 【正确答案】 D 【试题解析】 不同类型的计 算机病毒可以感染不同类型的文件,它可以以多种方式进行传播,比如说可以通过网络或读写磁盘等方式。 11 【正确答案】 B 【试题解析】 算 法应具有的 5个特性:有穷性,确定性,可行性,有零个或多个输入,有一个或多个输出。 12 【正确答案】 B 【试题解析】 每条 C语句,经过编译 (Compile)最终都将转换成二进制的机

24、器指令。 C语言源程序经过 C语言编译程序编译之后生成一个后缀为 OBJ的二进制文件,最后还要由称为 “连接程序 ”的软件,把此 OBJ文件与 C语言提供的各种库函数连接起来生成一个可执行文件。 13 【正确答案】 C 【试题解析】 C语言的语法规定,字母 e(或 E)之前必须有数字,且 e(或 E)后面的指数必须为整数。选项 A)中, E后面不是整数;选项 B)中, E 后面没有数;选项 D)中, E前面没有数。 14 【正确答案】 A 【试题解析】 合法的标识符由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。而且在用户标识符中,如果与关键字相同,程序在编译时将出错,所以,用户定

25、义标识符不能为关键字。 15 【正确答案】 C 【试题解析】 在 C语言中, “ =”称为赋值运算符, “=”符号的左边必须是变量名, “=”符号的右边必须是 C 语言中合法的表达式。在选项 B)中, 0x12表示 16进制数;在选项 D)中, 1+2=3不是正确的表达式。选项 A)中, “ ”符号的运算对象为整型。 16 【正确答案】 D 【试题解析】 在 C语言中, +(自加 )运算对象可以是整型、实型变量,也可以是字符型变量。但不能是常量和表达式。 17 【正确答案】 D 【试题解析】 “*”的运算优先级高于 “ ”的运算优先级,因此,在选项 D)中,计算结果为 0 25。 18 【正确

26、答案】 C 【试题解析】 在 “ ”与格式字符之间插入一个整数来指定输出宽度,如果指定的输出宽度不够,并不影响数据的完整输出,系统会代之以隐含的输出宽度 。 19 【正确答案】 C 【试题解析】 选项 A)中, ; 是空语句;选项 B)是 条赋值语句;选项 D)也正确。 20 【正确答案】 A 【试题解析】 Pa 被声明为指针变量,并被赋值指向了变量 a,因此, scanf(“, 63 【正确答案】 *t+ 64 【正确答案】 efgh 【试题解析】 p=ss(str)执行后, p指针指向 e,因此输出结果为从 e开 始的子符串。 65 【正确答案】 6 【试题解析】 本题考查递归调用过程的方法。 66 【正确答案】 sizeof(double)*3 【试题解析】 sizeof 运算符的功能是求字节数。 67 【正确答案】 2002ShangXian 【试题解析】 由于 p是指针变量,它所指向的变量 d 发生变化,则 pnanle也发生变化。 68 【正确答案】 a=1;b=1;s=1 【试题解析】 给各变量赋初值,按题目的要求 a, b, s的初值都应为 1。 69 【正确答案】 j=N aij=aji

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