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

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

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

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

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

    1、国家计算机二级(C)76 及答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.若要求从键盘读入含有空格字符的字符串,应使用函数【 】。(分数:60.00)A.getc()B.gets()C.getchar()D.scanf()2.以下叙述中正确的是(分数:60.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值3.有以下程

    2、序: void sort(int a,int n) int i,j,t; for(i=0;in;i+) for(j=i+1;n;j+) if(aiaj) t=ai; ai=aj; aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa+2,5); for(i=0;i10;i+)printf(“%d,“,aa i); printf(“/n“); 程序运行后的输出结果是【 】。 (分数:60.00)A.1,2,3,4,5,6,7,8,9,10,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10,D.1,2,

    3、9,8,7,6,5,4,3,10,4.有以下程序: #include string.h main( ) char str20=“Hello“,“Beijing“,*p=str; printf(“%d/n“,strlen(p+20); 程序运行后的输出结果是( )。 (分数:60.00)A.0B.5C.7D.20A.p-nextB.pC.sD.s-next6.在计算机系统中,存储一个汉字的国标码所需要的字节数为( )。(分数:60.00)A.1B.2C.3D.47.有以下程序段 int a,b,c; a=10:b=50;c=30; if(ab)a=b,b=c;c=a; printf(“a=%d

    4、b=%d c=%d/n“,a,b,c); 程序的输出结果是 (分数:60.00)A.a=10 b=50 c=10B.a=10 b=50 c=30C.a=10 b=30 c=10D.a=50 b=30 c=508.有以下程序 main() char ch=“uvwxyz“,* pc; pc=ch;printf(“cn“,*(pc+5); 程序运行后的输出结果是【 】。 (分数:60.00)A.ZB.0C.元素 ch5的地址D.字符 Y 的地址9.下列关于栈的描述中错误的是【 】。(分数:60.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变

    5、栈底指针10.有以下程序: main( ) char a,b,c,d; scanf(“%c,%c,%d,%d“, printf(“c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是( )。(分数:60.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,611.第 4850 题基于以下信息。以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct

    6、node *next; (48) CreatList(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); p-data= (49) ; q-next=p; q= (50) ; s+; p-next=/0; return h; main( ) char str =“link list“; struct node *head; head=CreatList(str);

    7、 . (分数:60.00)A.char *B.struct nodeC.struct node*D.char12.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。(分数:60.00)A.(c= =2)(c= =4)(c= =6)B.(c=2 prinff(“Input n:“);scanf(“d“, while(iN) scanf(“%d“,_); 在下划线处应填入的是( )。 (分数:60.00)A.x+iB. c= b= 程序在执行了 c=b=语句后,表达式:*c 的值是( )。 (分数:60.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值D.变量

    8、b 的地址16.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指【 】。(分数:60.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对17.有以下程序: main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=aA.0,0B.0,1C.1,0D.1,118.有以下程序: #define f(x) x*x main( ) int i; i=f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )。 (分数:60.00)A.28B.22C.16D.419

    9、.以下合法的字符型常量是【 】。(分数:60.00)A.x13B.081C.65D.“n“20.有以下程序 int a=2; int f(int *a) return (*a)+; main( ) int s=0; int a=5; s+=f( s+=f( printf(“%d/n”,s); 执行后输出结果是( )。 (分数:60.00)A.10B.9C.7D.821.以下叙述中错误的是【 】。(分数:60.00)A.计算机不能直接执行用 C 语言编写的源程序B.C 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件C.后缀为.obj 的文件,经连接程序生成后缀为.exe

    10、的文件是一个二进制文件D.后缀为.obj 和.exe 的二进制文件都可以直接运行22.设有定义语句 int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是( )。 (分数:60.00)A.for(i=0;ib)a-=b; while(ba)b-=a; printf(“3d3dn“,a,b); (分数:40.00)填空项 1:_56.当运行以下程序时,输入 abcd,程序的输出结果是 1 insert(char str) int i; i=strlen(str); while(i0) str2*i=stri;str 2*i-1=*;

    11、i-; printf(“Sn“,str); main2 char str40; scanf(“S“,str);insert(str); (分数:40.00)填空项 1:_57.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 1 阶段。(分数:40.00)填空项 1:_58.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a10

    12、0,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_59.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:40.00)填空项

    13、 1:_60.有以下程序 void f( int y,int *x) y=y+*x; *x=*x+y; main( ) int x=2,y=4; f(y, printf(“%d %d/n”,x,y); 执行后输出的结果是 1。 (分数:40.00)填空项 1:_61.以下程序的输出结果是 1。 #include main2 prinff(“dn“,strlen(“IBMn0121“); (分数:40.00)填空项 1:_62.若有以下程序 main( ) char a; a=H-A+0; printf(“%c/n“,a); 执行后输出结果是 1。 (分数:40.00)填空项 1:_国家计算机二

    14、级(C)76 答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.若要求从键盘读入含有空格字符的字符串,应使用函数【 】。(分数:60.00)A.getc()B.gets() C.getchar()D.scanf()解析:canf()语句用“空格“区别不同的字符串;getc()与 getchar()语句不能用于字符串的读入。2.以下叙述中正确的是(分数:60.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于

    15、全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值解析:3.有以下程序: void sort(int a,int n) int i,j,t; for(i=0;in;i+) for(j=i+1;n;j+) if(aiaj) t=ai; ai=aj; aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa+2,5); for(i=0;i10;i+)printf(“%d,“,aa i); printf(“/n“); 程序运行后的输出结果是【 】。 (分数:60.00)A.1,2,3,4,5,6,7,8,9,10

    16、,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10, D.1,2,9,8,7,6,5,4,3,10,解析:本题 sort 函数的作用是将指定的数由大到小排序。主调函数“sort(aa+2,5);“中的实参 aa+2 是指aa2的地址,将其传给了形参 a,使得形参中 a0的值为主函数中 aa2的值,即 3;实参中的 5 传绐形参中的 n,在 sort 函数中起着限制循环次数的作用,即使得参加排序的只有 5 个数,从 aa2到 aa6,所以本题输出的结果是 1,2,7,6,5,4,3,8,9,10,。 4.有以下程序: #include string.h

    17、main( ) char str20=“Hello“,“Beijing“,*p=str; printf(“%d/n“,strlen(p+20); 程序运行后的输出结果是( )。 (分数:60.00)A.0B.5C.7 D.20解析:A.p-nextB.p C.sD.s-next解析:6.在计算机系统中,存储一个汉字的国标码所需要的字节数为( )。(分数:60.00)A.1B.2 C.3D.4解析:7.有以下程序段 int a,b,c; a=10:b=50;c=30; if(ab)a=b,b=c;c=a; printf(“a=%d b=%d c=%d/n“,a,b,c); 程序的输出结果是 (分

    18、数:60.00)A.a=10 b=50 c=10 B.a=10 b=50 c=30C.a=10 b=30 c=10D.a=50 b=30 c=50解析:该题考查 if 条件语句,当条件为真时,将 b 值赋给 a,c 值赋给 b;当条件为假时,将 a 值赋给c。该题中 if 条件为假,所以将 a 的值赋给 c,故 a=10 b=50 c=10。8.有以下程序 main() char ch=“uvwxyz“,* pc; pc=ch;printf(“cn“,*(pc+5); 程序运行后的输出结果是【 】。 (分数:60.00)A.Z B.0C.元素 ch5的地址D.字符 Y 的地址解析:将字符串的地

    19、址赋值给字符指针变量后,指针就指向了该字符串的第一个字符,即“* p=u“,所以*(p+5)指向的字符是z。9.下列关于栈的描述中错误的是【 】。(分数:60.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针 解析:栈是一种特殊的线性表,又称先进后出表(First In Last Out,FILO)。 10.有以下程序: main( ) char a,b,c,d; scanf(“%c,%c,%d,%d“, printf(“c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是( )。

    20、(分数:60.00)A.6,5,A,B B.6,5,65,66C.6,5,6,5D.6,5,6,6解析:11.第 4850 题基于以下信息。以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct node *next; (48) CreatList(char *s) struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node); p=q=h; while

    21、(*s!=/0) p=(struct node *)malloc(sizeof(struct node); p-data= (49) ; q-next=p; q= (50) ; s+; p-next=/0; return h; main( ) char str =“link list“; struct node *head; head=CreatList(str); . (分数:60.00)A.char *B.struct nodeC.struct node* D.char解析:12.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。(分数:60.00)A.(c= =2)(c

    22、= =4)(c= =6)B.(c=2 prinff(“Input n:“);scanf(“d“, while(iN) scanf(“%d“,_); 在下划线处应填入的是( )。 (分数:60.00)A.x+iB. c= b= 程序在执行了 c=b=语句后,表达式:*c 的值是( )。 (分数:60.00)A.变量 a 的地址B.变量 b 中的值C.变量 a 中的值 D.变量 b 的地址解析:16.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指【 】。(分数:60.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不

    23、对 解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项 A、B、C 三种说法都是错误的。 17.有以下程序: 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解析:18.有以下程序: #define f(x) x*x main( ) int i; i=f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )。 (分数:60.00)A.28 B.22C.16D.4解析:1

    24、9.以下合法的字符型常量是【 】。(分数:60.00)A.x13 B.081C.65D.“n“解析:C 语言的字符常量是用单引号(即撇号)括起来的一个字符。除此之外,在 C 语言中还允许用以一个“开头的字符序列来表示字符常量。其中,形式“ddd“表示 l 到 3 位 8 进制数所代表的字符;形式“xhh“表示 1 到 2 位 16 进制数所代表的字符。在本题中x13表示回车符,是一个字符常量;081用 8 进制数所代表的字符,但形式不正确,因为 8 进制数所表示的字符中不会出现数字“8“;65不是一个字符,而是一个十进制数字;“n“是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。2

    25、0.有以下程序 int a=2; int f(int *a) return (*a)+; main( ) int s=0; int a=5; s+=f( s+=f( printf(“%d/n”,s); 执行后输出结果是( )。 (分数:60.00)A.10B.9C.7 D.8解析:21.以下叙述中错误的是【 】。(分数:60.00)A.计算机不能直接执行用 C 语言编写的源程序B.C 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件C.后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件D.后缀为.obj 和.exe 的二进制文件都可以直接运行 解

    26、析:一个 C 语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序(后缀名为.obj),目标程序不可以直接运行,它要和库函数或其它目标程序连接成可执行文件(后缀名为.exe)后方可运行。故本题答案为 D)。22.设有定义语句 int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是( )。 (分数:60.00)A.for(i=0;ib)a-=b; while(ba)b-=a; printf(“3d3dn“,a,b); (分数:40.00)填空项 1:_

    27、(正确答案:11)解析:外层循环共执行了 4 次,最后 a 和 b 的值都等于 1 时,退出循环输出结果。56.当运行以下程序时,输入 abcd,程序的输出结果是 1 insert(char str) int i; i=strlen(str); while(i0) str2*i=stri;str 2*i-1=*;i-; printf(“Sn“,str); main2 char str40; scanf(“S“,str);insert(str); (分数:40.00)填空项 1:_ (正确答案:a*b*c*d*)解析:在子程序中,如果条件成立,则执行下面的语句,如果不成立,跳过。最后的输出结果是

    28、 a*b*c*d*。57.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 1 阶段。(分数:40.00)填空项 1:_ (正确答案:开发)解析:软件生命周期(SDILC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,其中的编码和测试属于开发阶段。58.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出

    29、。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_ (正确答案:“rb“)解析:“rb“表示只读方式打开一个二进制文件。赋给 p,这样循环,节点可以依次向后取值。59.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int

    30、 (*f)( ),x,y,z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:40.00)填空项 1:_ (正确答案:findbig)解析:60.有以下程序 void f( int y,int *x) y=y+*x; *x=*x+y; main( ) int x=2,y=4; f(y, printf(“%d %d/n”,x,y); 执行后输出的结果是 1。 (分数:40.00)填空项 1:_ (正确答案:8 2)解析:61.以下程序的输出结果是 1。 #include main2 prinff(“dn“,strlen(“IBMn0121“); (分数:40.00)填空项 1:_ (正确答案:9)解析:本题的字符串中共有 9 个字符,它们分别是I,B,M,n,0,1,2,1,其中“n“表示换行,“表示反斜杠字符“。所以本题的最后输出结果为 9。62.若有以下程序 main( ) char a; a=H-A+0; printf(“%c/n“,a); 执行后输出结果是 1。 (分数:40.00)填空项 1:_ (正确答案:7)解析:


    注意事项

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




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

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

    收起
    展开