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

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

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

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

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

    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

    23、.TXT,现在要将文件 B.TXT 合并连接到文件 A.TXT的后面。若使用 COPY 命令,则完整的命令为 【】 。(分数:2.00)填空项 1:_53.E-mail 地址由用户名和域名两部分组成,这两部分的分隔符为 【】 。(分数:2.00)填空项 1:_54.假设在当前盘当前目录下有一个可执行程序 USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件 OUT.DAT 中,则完整的 DOS 命令为 【】 。(分数:2.00)填空项 1:_55.在 DOS 环境下,表示打印机的设备文件名是 【】 。(分数:2.00)填空项 1:_56.若有语句 i

    24、nt i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 【】 。(分数:2.00)填空项 1:_57.若有程序 main( ) int i,j; scanf(“i=%d,j=%d“, printf(“i=%d,j=%d/n “,i,j); 要求给 i 赋 10,给 j 赋 20,则应该从键盘输入 【7】 。(分数:2.00)填空项 1:_58.若有以下程序 main( ) int p,a=5; if(p=a!=0) printf(“%d/n“,p); else printf(“%d/n“,p+2); 执行后输出结果是U 【8】 /U。(分数:2.00)填空项 1:_

    25、59.若有以下程序 main( ) int a=4,b=3,c=5,t=0; if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; printf(“%d %d %d/n“,a,b,c); 执行后输出结果为 【】 。(分数:2.00)填空项 1:_60.若有以下程序 main1 int a44=1,2,-3,-4,0,-12,-13,14 ,-21,23,0,-24,-31,32,-33,0; int i,j,s=0; for(i=0;i【10】。(分数:2.00)填空项 1:_61.若有以下程序 main1 char a; a=H-A+0; printf(“%c/n“,a

    26、); 执行后输出结果是【11】。(分数:2.00)填空项 1:_62.若有以下程序 int f(int x,int y) return(y-x)*x; main( ) int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5); printf(“%d/n“,d); 执行后输出结果是 【12】 。(分数:2.00)填空项 1:_63.函数 YangHui 的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1. 其构成规律是: 1 第 0 列元素和主对角线元素均为 1 2 其余元素为其左上方和正上方元素之和 3 数据的

    27、个数每行递增 1 请将程序补充完整。 #define N 6 void yanghui(int xNN) int i,j; x00=1; for(i=1;iN;i+) xi0= 【13】 =1; for(j=1;ji;j+) xij= 【14】 ; (分数:2.00)填空项 1:_64.以下函数的功能是删除字符串 s 中的所有数字字符。请填空。 viod dele(char *s) int n=0,i; for(i=0;si;i+) if( 【15】 ) sn+=si; sn= 【1】 ; (分数:2.00)填空项 1:_65.设函数 findbig( )已定义为求 3 个数中的最大值。以下程

    28、序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,z,big; f= 【17】 ; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:2.00)填空项 1:_66.以下程序的输出结果是 【18】 。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) int i=2,j=3; printf(“%d/n“,MCRB(j,MCRA(i); (分数:2.00)填空

    29、项 1:_67.设有以下定义 stuct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: (分数:2.00)填空项 1:_68.已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中,文件 test.txt 已正确为“读”而打开,由此文件指针 fr 指向文件,则程序的输出结果是 【20】 。 #include stdio.h main( ) FILE *fr; char str40; fgets(str,5,fr);printf(“%s/n“,str); fclose(fr); (分数:2.00)填空项 1

    30、:_全国计算机等级考试二级 C 语言真题 2003 年 4 月答案解析(总分:85.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:49.00)1.用 8 位无符号二进制数能表示的最大十进制数为(分数:1.00)A.127B.128C.255 D.256解析:解析最大的 8 位无符号二进制数是 11111111,与之对应的十进制数是 1X27+1X26+1X25+1X24+1X23+lX22+1 X21+1X20=2552.在 64 位高档微机中,一个字长所占的二进制位数为(分数:1.00)A.8B.16C.32D.64 解析:3.在 Windows 环境下,为了复制一个对象

    31、,在用鼠标拖动该对象时应同时按住(分数:1.00)A.Alt 键B.Esc 键C.Shift 键D.Ctrl 键 解析:4.在 Windows 菜单中,暗淡(灰色)的命令项表示该命令(分数: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.ABCCOM C.ECBASICD.XY+TXT解析:解析DOS 系统中,文件名

    32、全称(通常指文件名)由文件名和扩展名两部分组成。其中,文件名由18 个字符组成,扩展名由 13 个字符组成,且可省略。选项 A)中包含有非法字符“”,选项 C)中扩展名超过 3 个字符,选项 D)中包含有非法字符“+”。7.下列叙述中正确的是(分数:1.00)A.在 Windows 环境下,最大化的窗口是不能移动的 B.在 Windows 环境下,应用程序窗口最小化后,该应用程序暂停执行C.在 Windows 环境下,只有最小化的窗口才能关闭D.在 Windows 环境下,不能关闭最小化窗口解析:8.在 Windows 环境下,工具栏中用于完成复制操作的按钮是 (分数:1.00)A.*B.*C

    33、.* D.*解析:解析选项 A)为打印,选项 B)为剪切,选项 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 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语

    34、言和数学语言作为语言的表达形式 D.C 语言出现的最晚、具有其他语言的一切优点解析:解析目前,在社会上使用的程序设计语言有上百种,它们都被称为计算机“高级语言”,如BASIC,C 语言等。但是对于计算机本身来说,它并不能直接识别由高级语言编写的程序,只能接受并处理由 0,1 代码组成的数据,即所谓的机器语言代码。目前,一些程序设计语言(如 Visual Basic Visual C+和 Visual FoxPro 等)所具有的面向对象技术,C 语言则没有。12.C 语言中用于结构化程序设计的三种基本结构是(分数:1.00)A.顺序结构、选择结构、循环结构 B.if、switch、breakC.

    35、for、while、do-whileD.if、for、continue解析:解析结构化程序由 3 种基本结构组成,即顺序结构、循环结构(包括 for 语句、while 语句及do while 语句)和选择结构(包括 if 语句和 switch 语句)。13.在一个 C 语言程序中(分数:1.00)A.main( )函数必须出现在所有函数之前B.main( )函数可以在任何地方出现 C.main( )函数必须出现在所有函数之后D.main( )函数必须出现在固定位置解析:14.下列叙述中正确的是(分数:1.00)A.C 语言中既有逻辑类型也有集合类型B.C 语言中没有逻辑类型但有集合类型C.C

    36、语言中有逻辑类型但没有集合类型D.C 语言中既没有逻辑类型也没有集合类型 解析:15.下列关于 C 语言用户标识符的叙述中正确的是(分数:1.00)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线 C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头解析:解析C 语言规定,合法的标识符由字母、数字和下划线组成,并且第一个字符必为字母或下划线。16.若有以下程序段(n 所赋的是八进制数) int m=32767,n=032767; printf(“%d,%o/n“,m,n)

    37、;执行后输出结果是(分数:1.00)A.32767,32767 B.32767,032767C.32767,77777D.32767,077777解析:解析C 语言中,格式字符 d 表示输出带符号的十进制整型数,o 表示以八进制无符号型输出整型数(不带前导 0)。17.下列关于单目运算符+、-的叙述中正确的是(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int

    38、 型变量和 float 型变量 解析:解析“+”和“-”运算符都是单目运算符,其运算对象可以是整型变量,也可以是实型变量,但不能是常量或表达式。当运算对象是字符型时,系统自动将其转换成该字符所对应的 ASCII 码值。18.若有以下程序段 int m=0xabc,n=0xabc;m-=n;printf(“%X/n“,m);执行后输出结果是(分数:1.00)A.0X0B.0x0C.0 D.0XABC解析:解析格式字符 x 或 x 是以十六进制无符号形式输出整型数(不带前导 0x 或 OX)。对于 x 用 abc 输出,X 用 ABC 输出。19.有以下程序段 int m=0,n=0; char

    39、c=a;scanf(“%d%c%d“,printf(“%d,%c,%d/n“,m,c,n);若从键盘上输入:10A10,则输出结果是:(分数:1.00)A.10,A,10 B.10,a,10C.10,a,0D.10,A,0解析:解析scanf 语句中,键盘输入时使用的间隔符应与输入项之间的间隔符一致。20.有以下程序 main( ) int i; for(i=0;i3;i+) switch(i) case 1: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是(分数:1.00)A.011122

    40、B.012C.012020D.120解析:解析当执行 switch 语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的 case 标号。若相等,则执行该标号后开始的各语句,包括在其后的所有 case 和 default 后的语句,直到 switch 语句体结束。21.有以下程序 main( ) int i=1,j=1,k=2; if(j+|k+) 执行后输出的结果是(分数:1.00)A.1,1,2B.2,2,1C.2,2,2 D.2,2,3解析:解析C 语言中,执行“”运算的两个操作数,若有 1 个值为 1,则整个表达式的值都为 1。若该运算符左边操作数的值为 1,则就不继

    41、续执行其右边的操作数。22.有以下程序 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.3 C.4D.编译时有错,无结果解析:解析第二个 if 语句中的表达式“c-1=d”的值为逻辑值 1,所以该条件成立。23.有以下程序 main( ) int p7=11,13,14,15,16,17,18,i=0,k=0; while(i7 i+; printf(“%d/n“

    42、,k); 执行后输出的结果是(分数:1.00)A.58B.56C.45D.24 解析:解析程序的功能是计算数组中满足条件的数的累加和(遇到第一个偶数为止)。24.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是(分数:1.00)A.16 B.12C.28D.21解析:解析本题的功能是计算 07 之间所有奇数的和(包括 7)。25.有以下程序 main( ) int i=10,j=1; printf(“%d,%d/n“,i-,+j); 执行后输出的结

    43、果是(分数:1.00)A.9,2B.10,2 C.9,1D.10,1解析:26.有以下程序 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;语句都不正确 解析:解析C 语言规定,转义字符常量是转义字符(反斜线字符)后跟一个特定的字符,来代表某一个特定的 SCII 码字符。反斜线后的十六进制数只可由小写字

    44、母 x 开头,不允许用大写字母 X,也不能用 0x。27.有以下程序: main( ) int f1 (int x, int y) return xy?x:y; int f2 (int x, int y) return 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,3 D.3,5,4解析:解析函数 f1()的功能是返回两

    45、数中的较大值,函数 f2()的功能是返回两数中的较小值,所以经过两次赋值后,d=5,e=3,f=a+b+c-d-e=4。28.有以下程序 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,b,c); 执行后输出的结果是(分数:1.00)A.3,4,5B.5,3,4C.5,4,3D.3,5,4 解析:29.若有一些定义和语句 #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;解析:解析给一指针赋空值的正确语句是 q=NULL;或 q=0;或 q=0;。选项 B)的含义为使指针 p 指向指针 q 所指向的存储单元。选项 C


    注意事项

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




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

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

    收起
    展开