欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】全国计算机等级考试二级C语言真题2004年4月及答案解析.doc

    • 资源ID:1329710       资源大小:104KB        全文页数:20页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】全国计算机等级考试二级C语言真题2004年4月及答案解析.doc

    1、全国计算机等级考试二级 C语言真题 2004年 4月及答案解析(总分:69.00,做题时间:90 分钟)一、B 选择题/B(总题数:50,分数:50.00)1.1MB等于( )(分数:1.00)A.1000字节B.1024字节C.10001000字节D.10241024字节2.与十六进制数 200等值得十进制数为( )(分数:1.00)A.256B.512C.1024D.20483.所谓 “裸机”是指( )(分数:1.00)A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机4.能将高级语言编写的源程序转换为目标程序的是( )(分数:1.00)A.链接程序B.解释程序C.编

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

    3、.复制当前窗口到剪贴板9.Internet的通信协议是( )(分数:1.00)A.TCP/IPB.BBSC.WWWD.FTP10.下列叙述中正确的是( )(分数:1.00)A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件C.计算机病毒只能通过软件复制的方式进行传播D.计算机病毒可以通过网络或读写磁盘方式进行传播11.一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是( )(分数:1.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性12.以下叙述中正确的是( )(分数:1.00)A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可

    4、执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译13.以下符合 C语言语法的实型常量是( )(分数:1.00)A.1.2E0B.3.14.159EC5E-3D.E1514.以下 4组用户定义标识符中,全部合法的一组是( )(分数:1.00)A._main enclude sinB.If -max turboC.txt REAL 3COMD.int k_2 _00115.若以下选项中的变量已正确定义,则正确的赋值语句是( )(分数:1.00)A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3;16

    5、.设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是( )(分数:1.00)A.a+;B.b+;C.c+;D.d+;17.设有定义:float a=2,b=4,h=3;,以下 C语言表达式与代数式 1/2(a+b) 计算结果不相符的是( )(分数:1.00)A.(a+*h/2B.(1/2)*(a+*hC.(a+*h*1/2D.h/2*(a+18.有以下程序 main( ) int x=102,y=012; printf(“%2d,%2d/n”,x,y); 执行后输出结果是( )(分数:1.00)A.10,01B.002

    6、,12C.102,10D.02,1019.以下 4个选项中,不能看作一条语句的是( )(分数:1.00)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读入数据的是( )(分数:1.00)A.scanf(“%d”,p;B.scanf(“%d”,;C.scanf(“%d”,D.scanf(“%d”,*p;21.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )(分数:1.00)A.if(a else k=0;B.if(a|(b) k=1 else k=0;C.if

    7、(a k=1; else if(b k=1; else k=0;22.有以下程序 main( ) char k; int l; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“another/n”); case 1: printf(“number/n”); 程序运行时,从键盘输入:01,程序执行后的输出结果是( )(分数:1.00)A.another numberB.another number anotherC.another number numberD.number number23.下列程序的输出结果是( ) main( ) i

    8、nt x=0,y=5,z=3; while(z-0 for(i=1;i10;i+=2) s+=i+1; printf(“%d/n”,s); (分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和25.有以下程序的输出结果是( ) main( ) int i,n=0; for(i=2;iA.n=5B.n=2C.n=3D.n=426.若程序中定义了以下函数 double myadd(double a,double b) return (a+b); 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误

    9、的说明是( )(分数:1.00)A.double myadd(double a,;B.double myadd(double,doubl;C.double myadd(double b,double ;D.double myadd(double x,double ;27.有以下程序的输出结果是( )char fun(char x , char y) if(xmain( ) int a=9,b=8,c=7;printf(“%c/n”,fun(fun(a,b),fun(b,c); A)函数调用出错B)8 C)9D)7(分数:1.00)A.B.C.D.28.设有定义:int n=0,*p=则以下选项

    10、中,正确的赋值语句是( )(分数:1.00)A.p=1B.*q=2;C.q=p;D.*p=5;29.有以下程序的输出结果是( ) void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z);(分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,130.有以下程序段中 b的值是( ) int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5

    11、;(分数:1.00)A.5B.6C.8D.931.有以下程序的输出结果是( ) main( ) char a =”abcdefg”,b10=”abcdefg”; printf(“%d %d/n”,sizeof(a),sizeof(b);(分数:1.00)A.7 7B.8 8C.8 10D.10 1032.有以下程序的输出结果是( ) void swap1(int c ) int t; t=c0;c0=c1;c1=t; void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main( ) int a2=3,5,b2=3,5; swap1(a); sw

    12、ap2(b0,b1); printf(“%d %d %d %d/n”,a0,a1,b0,b1); (分数:1.00)A.5 3 5 3B.5 3 3 5C.3 5 3 5D.3 5 5 333.有以下程序的输出结果是( ) void sum(int *a) a0=a1; main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i=0;i-) sp; sum( printf(“%d/n”,aa0); (分数:1.00)A.4B.3C.2D.134.有以下程序的输出结果是 int f(int b 4) int i,j,s=0; for(j=0;j2) i=

    13、3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%d/n”,f(a); (分数:1.00)A.12B.11C.18D.1635.有以下定义 #include stdio.h char a10,*b=a; 不能给数组 a输入字符串的语句是( )(分数:1.00)A.gets(B.gets(a0)C.gets(D.gets(;36.有以下程序 main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%d/n”,strl

    14、en(p4); 执行后输出结果是( )(分数:1.00)A.2B.3C.4D.537.有以下程序 int a=2;int f(int *a)return (*a)+;main( ) int s=0; int a=5; s+=f( s+=f( printf(“%d/n”,s); 执行后输出结果是()(分数:1.00)A.10B.9C.7D.838.有以下程序 #define f(x) x*x main( ) int i; i=f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )(分数:1.00)A.28B.22C.16D.439.设有以下语句 typedef

    15、struct S int g; char h; T; 则下面叙述中正确的是( ) A)可用 S定义结构体变量 B)可以用 T定义结构体变量 C)S 是 struct类型的变量 D)T 是struct S类型的变量(分数:1.00)A.B.C.D.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( ) struct STU a=

    16、“YangSan”,2041,b=“WangYin”,2043 ; f1(a);f2( printf(“%d %d/n”,a.num,b.num); 执行后的输出结果是( ) A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043(分数:1.00)A.B.C.D.41.有以下程序 main( ) unsigned char a,b; a=4|3; b=4 printf(“%d %d/n”,a,b(; 执行后输出结果是( )(分数:1.00)A.7 0B.0 7C.1 1D.43 042.下面程序的功能是输出以下形式的金字塔图案是: * * * * * *

    17、 * * * * * * * * * * main( ) int i,j; for(i=1;iname);(分数:1.00)填空项 1:_69.以下 sum函数的功能是计算下列级数之和。 (分数:1.00)填空项 1:_全国计算机等级考试二级 C语言真题 2004年 4月答案解析(总分:69.00,做题时间:90 分钟)一、B 选择题/B(总题数:50,分数:50.00)1.1MB等于( )(分数:1.00)A.1000字节B.1024字节C.10001000字节D.10241024字节 解析:解析在计算机的二进制表示中:1KB=210B=1024B1MB=220B=1024 X1024B2.

    18、与十六进制数 200等值得十进制数为( )(分数:1.00)A.256B.512 C.1024D.2048解析:解析计算方法为:对于 16进制数 200末位有两位是零,因此是 162,最高位是 2,所以应为 162=512。3.所谓 “裸机”是指( )(分数:1.00)A.单片机B.单板机C.不装备任何软件的计算机 D.只装备操作系统的计算机解析:解析裸机是指不装备任何软件的计算机,装备了操作系统的计算机不属于裸机。4.能将高级语言编写的源程序转换为目标程序的是( )(分数:1.00)A.链接程序B.解释程序C.编译程序 D.编辑程序解析:解析编译程序是将高级语言编写的程序转换成目标程序。5.

    19、在 64为计算机中,一个字长所占字节数为( )(分数:1.00)A.64B.8 C.4D.1解析:解析在 64位计算机中,一个字节占 4位,一个字长占 8个字节。6.在 Windows环境下,当一个应用程序窗口被最小化后,该应用程序( )(分数:1.00)A.继续在后台运行 B.继续在前台运行C.终止运行D.暂停运行解析:解析在 Windows操作系统下,一个应用程序窗口最小化后,该程序继续在后台运行,只有关闭该窗口时,才终止运行。7.在 Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用

    20、鼠标拖动窗口的标题栏。 解析:解析鼠标拖动窗口的标题栏,能实现窗口的移动;拖边框,实现窗体的大小调整。8.在 Windows环境下,PrintScreen 键的作用是( )(分数:1.00)A.打印当前窗口的内容B.打印屏幕内容C.复制屏幕到剪贴板 D.复制当前窗口到剪贴板解析:解析PrintScreen 键的作用是复制屏幕到剪贴板,使用者就可以在其他地方利用粘贴命令将屏幕复制过去。9.Internet的通信协议是( )(分数:1.00)A.TCP/IP B.BBSC.WWWD.FTP解析:解析TCPIP 是 Intemet的通信协议,BBS 是网上论坛的简称,WWW 是 World Wide

    21、 Web(万维网)的简称,FTP 是 Intemet的文件传输协议。10.下列叙述中正确的是( )(分数:1.00)A.计算机病毒只感染可执行文件B.计算机病毒只感染文本文件C.计算机病毒只能通过软件复制的方式进行传播D.计算机病毒可以通过网络或读写磁盘方式进行传播 解析:解析不同类型的计 算机病毒可以感染不同类型的文件,它可以以多种方式进行传播,比如说可以通过网络或读写磁盘等方式。11.一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是( )(分数:1.00)A.有零个或多个输入B.有零个或多个输出 C.有穷性D.可行性解析:解析算法应具有的 5个特性:有穷性,确定

    22、性,可行性,有零个或多个输入,有一个或多个输出。12.以下叙述中正确的是( )(分数:1.00)A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译解析:解析每条 C语句,经过编译(Compile)最终都将转换成二进制的机器指令。C 语言源程序经过 C语言编译程序编译之后生成一个后缀为OBJ 的二进制文件,最后还要由称为“连接程序”的软件,把此OBJ 文件与 C语言提供的各种库函数连接起来生成一个可执行文件。13.以下符合 C语言语法的实型常量是( )(分数:

    23、1.00)A.1.2E0B.3.14.159EC5E-3 D.E15解析:解析C 语言的语法规定,字母 e(或 E)之前必须有数字,且 e(或 E)后面的指数必须为整数。选项A)中,E 后面不是整数;选项 B)中,E 后面没有数;选项 D)中,E 前面没有数。14.以下 4组用户定义标识符中,全部合法的一组是( )(分数:1.00)A._main enclude sin B.If -max turboC.txt REAL 3COMD.int k_2 _001解析:解析合法的标识符由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。而且在用户标识符中,如果与关键字相同,程序在编译时将出错

    24、,所以,用户定义标识符不能为关键字。15.若以下选项中的变量已正确定义,则正确的赋值语句是( )(分数:1.00)A.x1=26.8%3B.1+2=x2C.x3=0x12 D.x4=1+2=3;解析:解析在 C语言中,“ =”称为赋值运算符,“=”符号的左边必须是变量名,“=”符号的右边必须是 C 语言中合法的表达式。在选项 B)中,0x12 表示 16进制数;在选项 D)中,1+2=3 不是正确的表达式。选项 A)中,“”符号的运算对象为整型。16.设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是( )(分数:1.

    25、00)A.a+;B.b+;C.c+;D.d+; 解析:解析在 C语言中,+(自加)运算对象可以是整型、实型变量,也可以是字符型变量。但不能是常量和表达式。17.设有定义:float a=2,b=4,h=3;,以下 C语言表达式与代数式 1/2(a+b) 计算结果不相符的是( )(分数:1.00)A.(a+*h/2B.(1/2)*(a+*hC.(a+*h*1/2D.h/2*(a+ 解析:解析“*”的运算优先级高于“”的运算优先级,因此,在选项 D)中,计算结果为 025。18.有以下程序 main( ) int x=102,y=012; printf(“%2d,%2d/n”,x,y); 执行后输

    26、出结果是( )(分数:1.00)A.10,01B.002,12C.102,10 D.02,10解析:解析在“”与格式字符之间插入一个整数来指定输出宽度,如果指定的输出宽度不够,并不影响数据的完整输出,系统会代之以隐含的输出宽度。19.以下 4个选项中,不能看作一条语句的是( )(分数:1.00)A.;B.a=0,b=0,c=0;C.if(a0); D.if(b=0) m=1;n=2;解析:解析选项 A)中,;是空语句;选项 B)是条赋值语句;选项 D)也正确。20.设有定义:int a,*pa=以下 scanf语句中能正确为变量 a读入数据的是( )(分数:1.00)A.scanf(“%d”,

    27、p; B.scanf(“%d”,;C.scanf(“%d”,D.scanf(“%d”,*p;解析:解析Pa 被声明为指针变量,并被赋值指向了变量 a,因此,scanf(“, else k=0; B.if(a|(b) k=1 else k=0;C.if(a k=1; else if(b k=1; else k=0;解析:解析C 语言中,条件运算符优先于赋值运算,但低于逻辑运算、关系运算和算术运算。22.有以下程序 main( ) char k; int l; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“another/n”); cas

    28、e 1: printf(“number/n”); 程序运行时,从键盘输入:01,程序执行后的输出结果是( )(分数:1.00)A.another number B.another number anotherC.another number numberD.number number解析:解析在本题中,for 循环共有两次,因此输出结果为两行;而且在 scanf语句中,如果输入的数据多于 scanf要求输入的数据,则多余的数据将留在缓冲区作为下一次输入操作的输人数据。23.下列程序的输出结果是( ) main( ) int x=0,y=5,z=3; while(z-0 for(i=1;i10;

    29、i+=2) s+=i+1; printf(“%d/n”,s); (分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和 解析:解析本题执行过程: i S i=1 1 s=0+1+1=2 i=i+2 3 s=2+3+1=6 i=i+2 5 s=6+5+1=12 i=i+2 7 s=12+7+1=20 i=i+2 9 s=20+9+1=30 i=i+2=1110,循环结束。25.有以下程序的输出结果是( ) main( ) int i,n=0; for(i=2;iA.n=5B.n=2C.n=3D.n=4 解析:解析程序

    30、执行过程为: i (i3) continue (!i) n 2 2 执行 0 1 3 0 不执行 0 3 4 1 执行 0 4 5 循环结束。26.若程序中定义了以下函数 double myadd(double a,double b) return (a+b); 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )(分数:1.00)A.double myadd(double a,; B.double myadd(double,doubl;C.double myadd(double b,double ;D.double myadd(double x,double

    31、 ;解析:解析在对函数进行说明时,参数类型要一一对应,而参数名完全是虚设的,可以不必与出数首部中的形参名一致,而且参数名可以省略。27.有以下程序的输出结果是( )char fun(char x , char y) if(xmain( ) int a=9,b=8,c=7;printf(“%c/n”,fun(fun(a,b),fun(b,c); A)函数调用出错B)8 C)9D)7(分数:1.00)A.B.C.D. 解析:解析函数 fun(a,b)的结果是 8,函数 fun(b,c)的结果是 7,将 8,7 代人函数中,f(8,7)的返回结果是 7。28.设有定义:int n=0,*p=则以下选

    32、项中,正确的赋值语句是( )(分数:1.00)A.p=1B.*q=2;C.q=p;D.*p=5; 解析:解析选项 A),B),C)的指针赋值表达方式都不正确,*p=5 表示将整数 5放到指针 p所向的存储 单元中。29.有以下程序的输出结果是( ) void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z);(分数:1.00)A.1,2,3B.3,1,2C.1,3,2 D.

    33、2,3,1解析:解析在本题中,main 函数中的 x,y,z 在 f函数调用前后不会发生值的变化。30.有以下程序段中 b的值是( ) int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5;(分数:1.00)A.5B.6C.8D.9 解析:解析p= printf(“%d %d/n”,sizeof(a),sizeof(b);(分数:1.00)A.7 7B.8 8C.8 10 D.10 10解析:解析字符数组 a共有 8个元素,b 有 10个元素。32.有以下程序的输出结果是( ) void swap1(int c ) int t; t=c0;c0=c1;c1=t; void

    34、 swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(“%d %d %d %d/n”,a0,a1,b0,b1); (分数:1.00)A.5 3 5 3B.5 3 3 5 C.3 5 3 5D.3 5 5 3解析:解析在本题函数的调用中,swap2()不会改变实参的值,swapl()改变了实参的值。33.有以下程序的输出结果是( ) void sum(int *a) a0=a1; main( ) int aa10=1,2,3,4,5,6,7,8

    35、,9,10,i; for(i=2;i=0;i-) sp; sum( printf(“%d/n”,aa0); (分数:1.00)A.4 B.3C.2D.1解析:解析在本题中,由于函数中的参数为指针,因此在 main函数中的变量可能会发生改变。程序执行过程为 i sum( for(j=0;j2) i=3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(“%d/n”,f(a); (分数:1.00)A.12B.11C.18D.16 解析:解析程序执行过程为: j i i=3-j s 0 0 不执

    36、行 1 1 1 不执行 3 2 2 不执行 12 3 3 0 16 4 结束循环。35.有以下定义 #include stdio.h char a10,*b=a; 不能给数组 a输入字符串的语句是( )(分数:1.00)A.gets(B.gets(a0) C.gets(D.gets(;解析:解析选项 B)只能输入一个字符。36.有以下程序 main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%d/n”,strlen(p4); 执行后输出结果是( )(分数:1.00)A.2 B.3C.4D.5解析:解析数组指针 p4指向字符

    37、串“cd“,所以其长度为 2。37.有以下程序 int a=2;int f(int *a)return (*a)+;main( ) int s=0; int a=5; s+=f( s+=f( printf(“%d/n”,s); 执行后输出结果是()(分数:1.00)A.10B.9C.7 D.8解析:解析s 的两次赋值依次为: s=s+f( i=f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )(分数:1.00)A.28 B.22C.16D.4解析:解析f(4+4)f(2+2)=4+4*4+42+2*2+2=28。39.设有以下语句 typedef stru

    38、ct S int g; char h; T; 则下面叙述中正确的是( ) A)可用 S定义结构体变量 B)可以用 T定义结构体变量 C)S 是 struct类型的变量 D)T 是struct S类型的变量(分数:1.00)A. B.C.D.解析:解析S 是自定义的一种结构体类型,T 是 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”,2

    39、044; *c=b; main( ) struct STU a=“YangSan”,2041,b=“WangYin”,2043 ; f1(a);f2( printf(“%d %d/n”,a.num,b.num); 执行后的输出结果是( ) A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043(分数:1.00)A. B.C.D.解析:解析经过函数调用,n()没有改变实参早的值,f2()改变了实参 b的值。41.有以下程序 main( ) unsigned char a,b; a=4|3; b=4 printf(“%d %d/n”,a,b(; 执行后输出结

    40、果是( )(分数:1.00)A.7 0 B.0 7C.1 1D.43 0解析:解析a=4 0 3 中的“|”表示按位或,结果为 4:100 3: 011 4|3:111 所以 a=7。 b=4 for(i=1;inextnum=3,pnum=1,所以结果为 4。49.有以下程序 #include stdio.h main( ) FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”); for(i=1;i4;i+) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“d1.dat”,”r”); fscanf(fp,”%d%d

    41、”, printf(“%d %d/n”,k,n); fclose(fp); 执行后输出结果是( )(分数:1.00)A.1 2B.123 0 C.1 23D.0 0解析:解析在文件写操作时,两个数之间应用空格隔开,而在本题中,没有用空格隔开,所以 123视为一个数。50.有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移 2*sizeof(int)字节) #include stdio.h main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“)

    42、; for(i=0;iA.2B.1C.4D.3 解析:解析本题主要考查输入输出函数的作用。fopen()函数的作用是以指定的方式打开指定的文件,fread()函数的作用是从指定的文件中按指定的格式把输人数据存人指定的文件中,fwrite()函数的作用是把指定个数的字节输出到指定文件中。二、B填空题/B(总题数:19,分数:19.00)51.E-mail地址由用户名和域名两部分组成,这两部分的分隔符为 【1】 。(分数:1.00)填空项 1:_ (正确答案:1、)解析:52.计算机网络分为广域网和局域网,因特网属于 【2】 。(分数:1.00)填空项 1:_ (正确答案:2、广域网)解析:解析注

    43、意局域网与广域网的区别。53.从 Windows环境进入 MSDOS 方式后,返回 Windows环境的 DOS命令为 【3】 。(分数:1.00)填空项 1:_ (正确答案:3、exit)解析:解析在 Windows环境下进入 MS-DOS后,返回的命令是 exit。54.在 Windows环境下,只要在“开始”菜单中单击 【4】 选项,就可以查阅最近打开过的文档清单。(分数:1.00)填空项 1:_ (正确答案:4、文档)解析:55.计算机的运算速度可以用 MIPS来描述,1MIPS 是指每秒执行 【5】 条指令。(分数:1.00)填空项 1:_ (正确答案:5、100 万)解析:56.已

    44、知字符 A的 ACSII码值为 65,以下语句的输出结果是 【6】。 char ch=B; printf(“%c %d/n”,ch,ch);(分数:1.00)填空项 1:_ (正确答案:6、B 66)解析:解析c 表示输出字符,d 输出整型,字符“B”对应的 ASCII值为 66。57.有以下语句段 int n1=10,n2=20; printf(“ 【7】 ”,n1.n2); 要求按以下格式输出n1和 n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20(分数:1.00)填空项 1:_ (正确答案:7、n1=%d/n n 2=%d/n)解析:解析n 表示换行操作。58.有以下程

    45、序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 U 【8】 /U 。(分数:1.00)填空项 1:_ (正确答案:8、0)解析:解析本题中 t=tXi=5X4X3X2X1X0=0。59.有以下程序 main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d/n”,x); 执行后输出结果是 U 【9】 /U。(分数:1.00)填空项 1:_ (正确答案:9、4)解析:解析程序执行过程为: x=x-1=2-1=1 x=x-2

    46、=1-2=-1 x=x-3=-1-3-460.有以下程序#include stdio.hmain( ) char ch1,ch2; int n1,n2; ch1=getchar( ); ch2=getchar( ); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%d/n”,n2); 程序运行时输入:12,执行后输出结果是U 【10】 /U。(分数:1.00)填空项 1:_ (正确答案:10、12)解析:解析程序执行后:chi=1,ch2=2 n1=chl-0=49-48=1 n2=1*10+(2-0)=10+2=1261.有以下程序 void f( int y,int *x) y=y+*x;


    注意事项

    本文(【计算机类职业资格】全国计算机等级考试二级C语言真题2004年4月及答案解析.doc)为本站会员(eventdump275)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开