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

    【计算机类职业资格】国家计算机二级(C)74及答案解析.doc

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

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

    【计算机类职业资格】国家计算机二级(C)74及答案解析.doc

    1、国家计算机二级(C)74 及答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有定义:long x= -123456L;,则以下能够正确输出变量 x值的语句是( )。(分数:60.00)A.printf(“x=%d/n“,x);B.printf(“x=%1d/n“,x);C.printf(“x=%8dL/n“,x);D.printf(“x=%LD/n“,x);2.以下语句或语句组中,能正确进行字符串赋值的是【 】。(分数:60.00)A.char*sp;*sp=“right!“;B.char s

    2、10;s=“right!“;C.char s 10;*s=“right!“;D.char*sp=“right!“;3.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:60.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息4.以下不能正确表示代数式 2ad/cd的 C语言表达式是(分数:60.00)A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d5.以下关于宏的叙述中正确的是(分数:60.00)A.宏名必

    3、须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间6.在软件设计中,不属于过程设计工具的是【 】。(分数:60.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图7.有以下程序 main( ) char str =“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后输出结果是( )。 (分数:60.00)A.yz xyzB.z yzC.z yz xyzD.x xy xyz8.以下叙述中错误的是(分数:60.00)A.用户定义的函数中可以没有

    4、 retum语句B.用户定义的函数中可以有多个 retum语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 retum语句,则应当定义函数为 void类型D.函数的 remm语句中可以没有表达式9.按照 C语言规定的用户标识符命名规则,不能出现在标识符中的是【 】。(分数:60.00)A.大写字母B.连接符C.数字字符D.下划线10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(分数:60.00)A.一对一B.一对多C.多对一D.多对多11.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是( )。(分数:60.00)A.for(i=1,p=1;i0

    5、i=f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )。 (分数:60.00)A.28B.22C.16D.436.以下叙述中正确的是( )。(分数:60.00)A.构成 C语言程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义37.在 64位高档微机中,一个字长所占的二进制位数为( )。(分数:60.00)A.8B.16C.32D.6438.有以下程序 #include main() struct STUchar name9;char sex;double score

    6、2; ; struct STU a=“Zhao“,m,85.0,90.0,b=“Qian“,f,95.0,92.0; b=a: printf(“%s,%c,%2.0f,%2.0f/n“,bname,bsex,bscore 0,bscore1); 程序的运行结果是 (分数:60.00)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,9039.有以下程序段 struct st int x;int*y;*pt; int a=l,2,b=3,4; struct st C2=l0,a,20,b pt=C; 以下选项中表达式的值为 11的是【 】

    7、。 (分数:60.00)A.*pt-YB.pt-XC.+pt-xD.(pt+)-X40.有以下程序: void fun(int *a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; i+; j-; fun(a,i,j); main( ) int x =2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d“,xi); printf(“/n“); 程序运行后的输出结果是( )。 (分数:60.00)A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 241.有以下程序 int *f(int *x

    8、,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/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:60.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,842.有以下程序: point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p);printf(“%c/n“,*p); 程序运行后的输出结果是【 】。 (分数:60.00)A.aB.bC.cD.d43.下

    9、列叙述中正确的是【 】。(分数:60.00)A.break语句只能用于 switch语句B.在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中,不一定使用 break语句44.在 E-R图中,用来表示实体之间联系的图形是【 】。(分数:60.00)A.矩形B.椭圆形C.菱形D.平行四边形45.有以下程序: main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=aA.0,0B.0,1C.1,0D.1,146.有以下程序: main( ) int m=3,n=4,x; x=-m+;

    10、 x=x+8/+n; printf(“%d/n“,x); 程序运行后的输出结果是( )。 (分数:60.00)A.3B.5C.-1D.-247.有以下程序 main() int a 32=0,(* ptr 2,i,j; for(i=0;i2;i+)ptr=a+i;scanf(“%d“,ptr);pb+; for(i=0;i3;i+) for(j=0;j2;j+)printf(“%2d“,aij); printf(“/n“); 若运行时输入:123回车,则输出结果是【 】。(分数:60.00)A.产生错误信息B.10C.12D.1048.下面程序的功能是输出以下形式的金字塔图案是: * * *

    11、* * * * * * * * * * * * * main( ) int i,j; for(i=1;inext; while( 1) printf(“sn“,P-sub);P= 2; main3 Node *hd; hd=fun4;disp(hd);prinff(“n“); (分数:40.00)填空项 1:_54.以下程序运行后的输出结果是 1。 int f(int a,int n) if(n=1 return f(a,n-1)+an-1); else return 0; main2 int aa5=(1,2,3,4,5),s; s=f(aa,5); printf(“%d/n“,s); (分

    12、数:40.00)填空项 1:_55.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int*); main1 int a 34=1,2,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b,); for(i=0;i3;1+)printf(“%4d“,bi); printf(“/n“); void fun(int m,int n,int ar4,int*br) int i,j,x; for(i=0;im;i+) x=ari0; for(j=0;jn;j+)if(xar

    13、ij)x=arij; 2=x; (分数:40.00)填空项 1:_56.以下程序运行后的输出结果是 1。 #define S(x)4*x*x+1 main2 int i=6,j=8; printf(“%d/n“,S(i+j); (分数:40.00)填空项 1:_57.一个关系表的行称为 1。(分数:40.00)填空项 1:_58.已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中,文件 test.txt已正确为“读”而打开,由此文件指针 fr指向文件,则程序的输出结果是 1。 #include stdio.h main( ) FILE *fr; char

    14、str40; fgets(str,5,fr); printf(“%s/n“,str); fclose(fr); (分数:40.00)填空项 1:_59.在结构化分析使用的数据流图(DFD)中,利用 1 对其中的图形元素进行确切解释。(分数:40.00)填空项 1:_60.从 Windows环境进入 MSDOS 方式后,返回 Windows环境的 DOS命令为 1。(分数:40.00)填空项 1:_61.下列程序的输出结果是 1。 #include stdio.h main2 int a5=2,4,6,8,10,*p; p=a;p+; printf(“%d“,*p); (分数:40.00)填空项

    15、 1:_62.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:40.00)填空项 1:_国家计算机二级(C)74 答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有定义:long x= -123456L;,则以下能够正确输出变量 x值的语句是( )。(分数:60.00)A.printf(“x=%d/n“,x);B.printf(“x=%1

    16、d/n“,x); C.printf(“x=%8dL/n“,x);D.printf(“x=%LD/n“,x);解析:在语言环境下,输出 long型数时,在%和 d之间必须加 1(L的小写);输出 double型数时,在% 和 f(e)之间也必须加 1。2.以下语句或语句组中,能正确进行字符串赋值的是【 】。(分数:60.00)A.char*sp;*sp=“right!“;B.char s10;s=“right!“;C.char s 10;*s=“right!“;D.char*sp=“right!“; 解析:选项 A定义了字符型的指针变量甲,则*sp 存储的是第一个字符,而给它赋的是字符串,故错;

    17、选项B表示代表数组的首地址,而题中给它赋的是字符串,所以错误:选项 C定义了一个字符型的数组 s10,再通过*s 给数组元素赋初值,这时是与选项 A相同的错误。3.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:60.00)A.程序输出大写字母 MB.程序输出小写字母 m C.格式说明符不足,编译出错D.程序运行时产生出错信息解析:在逗号表达式(表达式 1,表达式 2)中,其运算方法是先求表达式 1的值,然后求表达式 2的值,整个逗号表达式的值是表达式 2的值。故本题输出的是 a2的值 m。 4.以下

    18、不能正确表示代数式 2ad/cd的 C语言表达式是(分数:60.00)A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d 解析:C 语言中算术运算符的结合性均为自左向右。选项 D)中表达式计算结果是 2*a*b*d/c,和题目要求的代数式不一致,因此选项 D)不能正确表示题目所给的代数式内容。5.以下关于宏的叙述中正确的是(分数:60.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制 D.宏调用比函数调用耗费时间解析:宏名可以大写,也可以小写。其有效范围为定义命令之后到本源文件结束。宏的调用是字符的替换,没有

    19、数据类型限制。6.在软件设计中,不属于过程设计工具的是【 】。(分数:60.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图 解析:软件设计工具包括:程序流程图、N-S、PAD、H1PO,判定表,PDL(伪码)。而 DFD(数据流图)属于结构化分析工具。 7.有以下程序 main( ) char str =“xyz“,*ps=str; while(*ps) ps+; for(ps-;ps-str=0;ps-) puts(ps); 执行后输出结果是( )。 (分数:60.00)A.yz xyzB.z yzC.z yz xyz D.x xy xyz解析:8.以下叙述中错误的是(

    20、分数:60.00)A.用户定义的函数中可以没有 retum语句B.用户定义的函数中可以有多个 retum语句,以便可以调用一次返回多个函数值 C.用户定义的函数中若没有 retum语句,则应当定义函数为 void类型D.函数的 remm语句中可以没有表达式解析:在函数中允许有多个 return语句,但每次调用只能有一个 return语句被执行,因此只能返回一个函数值。9.按照 C语言规定的用户标识符命名规则,不能出现在标识符中的是【 】。(分数:60.00)A.大写字母B.连接符 C.数字字符D.下划线解析:在 C语言中,用户标识符命令规则规定:变量名只能由字母、数字或下划线 3种字符组成,且

    21、第一个字符必须为字母或下划线。在 C语言中,大写字母和小写字母被认为是两个不同的字符。据此规定 A)、D)、C)三个选项是正确的,而 B)选项是连字符,不在 C语言规定的命名变量标识符的范围内。10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(分数:60.00)A.一对一B.一对多 C.多对一D.多对多解析:一个实体宿舍可以对应多个学生,而一个学生只能对应一个宿舍,所以宿舍和学生之间是一对多关系。11.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是( )。(分数:60.00)A.for(i=1,p=1;i0 if(ij) t=ai;ai=aj;aj=t; i+

    22、; j-; fun(a,i,j); main( ) int x =2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d“,xi); printf(“/n“); 程序运行后的输出结果是( )。 (分数:60.00)A.1 2 6 8B.8 6 2 1C.8 1 6 2 D.8 6 1 2解析:41.有以下程序 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/n“,

    23、*p,*q,*r); 执行后输出结果是( )。 (分数:60.00)A.7,8,8B.7,8,7 C.8,7,7D.8,7,8解析:42.有以下程序: point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p);printf(“%c/n“,*p); 程序运行后的输出结果是【 】。 (分数:60.00)A.a B.bC.cD.d解析:在 C语言中,函数的参数传递方式采用按值传递,因此不能通过调用函数的方式来改变指针本身的值,只能改变指针所指变量的值。 43.下列叙述中正确的是【 】。(分数:60.00)A.break语句只能用于 switc

    24、h语句B.在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中,不一定使用 break语句 解析:break 语句的功能是跳出正在执行的条件语句或循环语句。它可以出现在 switch语句中,也可以出现在循环语句中。default 语句的功能是如果所有 case后面的语句都不执行的时候,就转去执行 default后的语句,它可以省略不写。前面我们说过,break 语何可以出现在循环语句中,所以选项 C)也是错误的。44.在 E-R图中,用来表示实体之间联系的图形是【 】。(分数:60.00)A.矩形B.椭圆形C.

    25、菱形 D.平行四边形解析:E-R 模型可用 E-R图来表示,它具有 3个要素:实体(型)用矩形框表示,框内为实体名称。属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。45.有以下程序: main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=aA.0,0B.0,1C.1,0 D.1,1解析:46.有以下程序: main( ) int m=3,n=4,x; x=-m+; x=x+8/+n; printf(“%d/n“,x); 程序运行后的输出结果是( )。 (分数

    26、:60.00)A.3B.5C.-1D.-2 解析:47.有以下程序 main() int a 32=0,(* ptr 2,i,j; for(i=0;i2;i+)ptr=a+i;scanf(“%d“,ptr);pb+; for(i=0;i3;i+) for(j=0;j2;j+)printf(“%2d“,aij); printf(“/n“); 若运行时输入:123回车,则输出结果是【 】。(分数:60.00)A.产生错误信息B.10 C.12D.10解析:二维数组 a,通过 a32=0将数组中的各个元素初始化为 0,指针变量 ptr,指向包含 2个元素的一维数组。a00=1,a10=2,故本题的输

    27、出选 B。 48.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;inext; while( 1) printf(“sn“,P-sub);P= 2; main3 Node *hd; hd=fun4;disp(hd);prinff(“n“); (分数:40.00)填空项 1:_ (正确答案:p!=NULL,p-next)解析:NULL 的 ASCII码的值和O的 ASCII码的值相等,条件到 NULL停止循环。把下一个节点的地址54.以下程序运行后的输出结果是 1。 int f(int

    28、 a,int n) if(n=1 return f(a,n-1)+an-1); else return 0; main2 int aa5=(1,2,3,4,5),s; s=f(aa,5); printf(“%d/n“,s); (分数:40.00)填空项 1:_ (正确答案:15)解析:本题通过递归调用实现了数组 aa各元素之和,即 a4+a3+a2+a1+a0=15。 55.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int*); main1 int a 34=1,2,41,36,28,19,33,15,

    29、27,3,27,19,1,b3,i; fun(3,4,a,b,); for(i=0;i3;1+)printf(“%4d“,bi); printf(“/n“); void fun(int m,int n,int ar4,int*br) int i,j,x; for(i=0;im;i+) x=ari0; for(j=0;jn;j+)if(xarij)x=arij; 2=x; (分数:40.00)填空项 1:_ (正确答案:bri或*(br+i))解析:二维数组 a存放 3行:4 列的数组元素,一维数组 b用于存放每行的最大数。在函数 fun中,外层for循环用于控制行数,内层 for循环用于控制列

    30、数。 56.以下程序运行后的输出结果是 1。 #define S(x)4*x*x+1 main2 int i=6,j=8; printf(“%d/n“,S(i+j); (分数:40.00)填空项 1:_ (正确答案:81)解析:带参数的宏定义是按#define 命令行中指定的字符串从左到右进行转换。本题中替换的式子为:4*i+j*i+j+1,代入 i,j 的值得 81。 57.一个关系表的行称为 1。(分数:40.00)填空项 1:_ (正确答案:元组)解析:在关系中,水平方向的行称为元组,垂直方向的列称为属性,每一列有一个属性名。58.已有文本文件 test.txt,其中的内容为:Hello

    31、,everyone!。以下程序中,文件 test.txt已正确为“读”而打开,由此文件指针 fr指向文件,则程序的输出结果是 1。 #include stdio.h main( ) FILE *fr; char str40; fgets(str,5,fr); printf(“%s/n“,str); fclose(fr); (分数:40.00)填空项 1:_ (正确答案:Hell)解析:59.在结构化分析使用的数据流图(DFD)中,利用 1 对其中的图形元素进行确切解释。(分数:40.00)填空项 1:_ (正确答案:数据字典)解析:数据字典(Data Dictionary,简称 DD)就是用来

    32、定义数据流图中的各个成分的具体含义。数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有-个确切的解释。60.从 Windows环境进入 MSDOS 方式后,返回 Windows环境的 DOS命令为 1。(分数:40.00)填空项 1:_ (正确答案:exit)解析:61.下列程序的输出结果是 1。 #include stdio.h main2 int a5=2,4,6,8,10,*p; p=a;p+; printf(“%d“,*p); (分数:40.00)填空项 1:_ (正确答案:4)解析:题目中定义了一个数组和指针,接着将数组的首地址给了指针,即指针 p指向数组 a的第一个元素,通过 p+,p 指向了数组 a的第二个元素,所以输出结果为 4。62.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:40.00)填空项 1:_ (正确答案:0918273645)解析:本题程序的作用是通过 for循环将 0-9这 10个数字从前向后,同时也从后向前依次输出。


    注意事项

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




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

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

    收起
    展开