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

    【计算机类职业资格】二级C语言笔试-160及答案解析.doc

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

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

    【计算机类职业资格】二级C语言笔试-160及答案解析.doc

    1、二级 C 语言笔试-160 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.若已定义:int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,则对 a 数组元素不正确的引用是( )。(分数:1.00)A.ap-aB.*(char *q,ch;p=q=s=“ABCDE“;D.char *s;scanf(“%s“,for(i=0;in/2;i+)t=ai; ai=an-1 -i;an-1-i =t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i

    2、=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_22.C 语言允许函数类型缺省定义,此时函数值隐含的类型是( )。(分数:1.00)A.floatB.intC.longD.double23.下面程序段的运行结果是( )。char * format=“%s,a=%d,b=%d/n“;int a=11,b=10;a+ =b;printf(format,“a+=b“,a,b);(分数:1.00)A.for,“a+=b“,abB.format,“a+=b“C.a+=b,a=21,b=10D.以上结果都不对24.下面程序的运行结果是( )。#include stdi

    3、ohmain()int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);(分数:1.00)A.a=3,b=11B.a=2,b=8C.a=1,b=-1D.a=4,b=925.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )。(分数:1.00)A.消除软件危机B.软件工程管C.程序设计自动化D.实现软件可重用26.数据处理的最小单位是( )。(分数:1.00)A.数据B.数据元素C.数据项D.数据结构27.设有以下语句:char x=3,y=6,z;z=xy2;则 z 的二进制值是( )。(分数:1.00)A.000101

    4、00B.00011011C.00011100D.0001100028.有如下程序段:int a10=1,2,3,4,5,6,7,8,9,10;int *p=char ch2;a;main()a.ch0=13;a.ch1=0;printf(“%d/n“,ai);程序的输出结果是( )。(分数:2.00)A.13B.14C.208D.20944.下面程序的输出结果是( )。#include stdiohmain()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%d/n“,*(p+2);(分数:2.00)A.3B.4C.1D.245.以下程序有语法错误,有关错误

    5、原因的正确说法是( )。main()int G=5,k;void prt_char();k=prt_char(G);(分数:2.00)A.语句 void prt_char();有错,它是函数调用语句,不能用 void 说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线46.sizeof(float)是( )。(分数:2.00)A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式47.请选出可用作 C 语言用户标识符的是( )。(分数:2.00)A.void,define,WORDB.a3_b3,_123,IFC.FOR,-abc

    6、,CaseD.2a,Do,$izeof48.C 语言中,能识别处理的文件是( )。(分数:2.00)A.文本文件和数据块文件B.文本文件和二进制文件C.流文件和文本文件D.数据文件和二进制文件49.数据库系统的核心是( )。(分数:2.00)A.数据库B.数据库管理系统C.模拟模型D.软件工程50.在 16 位 IBM-PC 机上使用 C 语言,若有如下定义:stmct dataint i;char ch;double f;b;则结构变量 b 占用内存的字节数是( )。(分数:2.00)A.1B.2C.7D.11二、填空题(总题数:15,分数:30.00)51.数据的逻辑结构有线性结构和 【1

    7、】 两大类。(分数:2.00)填空项 1:_52.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_53.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。(分数:2.00)填空项 1:_54.软件工程研究的内容主要包括: 【4】 技术和软件工程管理。(分数:2.00)填空项 1:_55.关系操作的特点是 【5】 操作。(分数:2.00)填空项 1:_56.下面的程序是将从终端读入的 20 个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。#includestdiohmain()int i;ch

    8、ar s21,*p;for(i=0;i20;i+)si=getehar();si= 【6】 ;p= 【7】 ;while(*p) putchar( 【8】 );(分数:2.00)填空项 1:_57.以下程序将数组 a 的 4 个元素和数组 b 的 6 个元素写到名为 lett.dat 的二进制文件中,请填空。#include stdioh#include stdlibhmain()FILE *fp;char a5=“1234“,b7=“abcedf“;if(fp=fopen(“ 【9】 “,“wb“)=NULL) exit(0);fwrite(a,sizeof(char),4,fp);fwri

    9、te(b, 【10】 ,1,fp);fclose(fp);(分数:2.00)填空项 1:_58.在 C 语言中(以 16 位 PC 机为例),一个 float 型数据在内存中所占的字节数为 4;一个 double 型数据在内存中所占的字节数为 【11】 。(分数:2.00)填空项 1:_59.以下程序输出的结果是 【12】 。#include stdiohmain()int a=5,b=4,c=3,d;d=(abc);printf(“%d/n“,d);(分数:2.00)填空项 1:_60.以下程序中函数 fun 的功能是求出能整除 x 且不是偶数的务正整数,并按从小到大的顺序放在 pp 所指的

    10、数组中,这些除数的个数通过形参 n 返回。例如,若 x 中的值为 30,则有 4 个数符合要求,它们是 1,3,5,15。请按题意,完成填空。试题程序:#include stdiohvoid fun(int x,int pp,int *n)int i,j=0;【13】 ;if(x%i=0)ppj+=i;【14】 ;main()int x,aa1000,n,i;printf(“/nPlease enteran integer number :/n“);scanf(“%d“,其中 0i9,则对 a 数组元素不正确的引用是( )。(分数:1.00)A.ap-aB.*(char *q,ch;p=q=s

    11、=“ABCDE“; D.char *s;scanf(“%s“,for(i=0;in/2;i+)t=ai; ai=an-1 -i;an-1-i =t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_解析:解析 在 main 函数中,调用 reverse 函数将 b 数组中的前 8 个成员进行互置,执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,1,9,1022.C 语言允许函数类型缺省定义,此时函数值隐含的类型是( )。(分

    12、数:1.00)A.floatB.int C.longD.double解析:解析 在 C 语言中,对于自定义函数要遵循“先定义,后使用”的规则,如定义时不指定函数类型,C 编译系统都默认函数的返回值是 int 型。23.下面程序段的运行结果是( )。char * format=“%s,a=%d,b=%d/n“;int a=11,b=10;a+ =b;printf(format,“a+=b“,a,b);(分数:1.00)A.for,“a+=b“,abB.format,“a+=b“C.a+=b,a=21,b=10 D.以上结果都不对解析:解析 字符串常量是由双引号括起来的一串字符,每一个字符串常量都

    13、分别占用内存中一串连续的存储空间,这些连续的存储空间实际上就是字符型一维数组。24.下面程序的运行结果是( )。#include stdiohmain()int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);(分数:1.00)A.a=3,b=11B.a=2,b=8 C.a=1,b=-1D.a=4,b=9解析:解析 本题考查两个知识点:自加自减运算符和 do -while 循环语句。do -while 循环条件是 b-0,所以循环体语句只执行一次。25.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )。(分数:1.00

    14、)A.消除软件危机B.软件工程管 C.程序设计自动化D.实现软件可重用解析:解析 软件工程的目标是:在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。26.数据处理的最小单位是( )。(分数:1.00)A.数据B.数据元素C.数据项 D.数据结构解析:解析 数据处理的最小单位是数据项。由若干数据项组成数据元素,而数据是指能够被计算机识别、存储和加工处理的信息载体,数据结构是指数据之间的相互关系和数据运算。故正确答案为选

    15、项 C) 。27.设有以下语句:char x=3,y=6,z;z=xy2;则 z 的二进制值是( )。(分数:1.00)A.00010100B.00011011 C.00011100D.00011000解析:解析 本题考查两个位运算符。按位异或运算符“”是双目运算符,其功能是参与运算的两数对应的二进制位相异或,当两对应的二进制位相异时,结果为 1。左移运算符“”是双目运算符,其功能是把“”左边的运算数的各二进制位全部左移若干位,移动的位数由“”右边的数指定,高位丢弃,低位补 0。“”运算符的优先级高于“”。28.有如下程序段:int a10=1,2,3,4,5,6,7,8,9,10;int *

    16、p=char ch2;a;main()a.ch0=13;a.ch1=0;printf(“%d/n“,ai);程序的输出结果是( )。(分数:2.00)A.13 B.14C.208D.209解析:解析 在本题中,首先定义了一个共用体 pw,其中有两个域:整型变量 i 和字符数组 ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch0在低字节;ch1在高字节;整型变量 i 占两个字节,高位与 ch1共用存储空间,低位与 ch0共用存储空间,而高位 ch1的值为 0,所以输出的成员变量 i 的值就是 ch0的值 13。44.下面程序的输出结果是( )。#include stdiohma

    17、in()int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%d/n“,*(p+2);(分数:2.00)A.3 B.4C.1D.2解析:解析 在 C 语言中,数组元素的下标是从 0 开始的。指针变量 p 指向数组的首地址,(p +2)就会指向数组中的第 3 个元素。因此输出数组元素的值为 3。45.以下程序有语法错误,有关错误原因的正确说法是( )。main()int G=5,k;void prt_char();k=prt_char(G);(分数:2.00)A.语句 void prt_char();有错,它是函数调用语句,不能用 void 说明B.变量名不能使用

    18、大写字母C.函数说明和函数调用语句之间有矛盾 D.函数名不能使用下划线解析:解析 在 C 程序中,若把函数定义放在函数调用之后,应该在函数调用之前对函数进行声明,或称为函数原型说明。函数声明的类型必须与函数返回类型一致,函数声明可以是一条独立的语句,也可以与普通变量一起出现在同一条语句中。本题程序中声明 prt_char 函数是 void 类型,与 k=prt _ char()的类型矛盾,所以本题的错误在于“函数说明和函数调用语句之间有矛盾”。46.sizeof(float)是( )。(分数:2.00)A.一个双精度型表达式B.一个整型表达式 C.一种函数调用D.一个不合法的表达式解析:解析

    19、sizeof 是长度运算符,或称字节数运算符,用于计算数据类型和变量的长度。47.请选出可用作 C 语言用户标识符的是( )。(分数:2.00)A.void,define,WORDB.a3_b3,_123,IF C.FOR,-abc,CaseD.2a,Do,$izeof解析:解析 C 语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项 C) ,D) 是错误的;此外,C 语言不允许用户将关键字作为标识符,而选项 A) 中的 void 是 C语言的关键字。48.C 语言中,能识别处理的文件是( )。(分数:2.00)A.文本文件和数据块文件B.文本文件和二进制文件

    20、 C.流文件和文本文件D.数据文件和二进制文件解析:解析 在计算机中,对于输入输出均采用数据流的形式。文件按照存取方式分为顺序存取文件和随机存取文件;按照存储形式分为二进制文件和文本文件。文本文件存储的是字符的 ASCII 码,文件的内容可以直接进行输入输出;二进制文件直接将字符存储,不能将二进制文件的内容直接输出到屏幕上。所以,C 语言能够处理的文件是文本文件和二进制文件。49.数据库系统的核心是( )。(分数:2.00)A.数据库B.数据库管理系统 C.模拟模型D.软件工程解析:解析 数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数

    21、据服务等,数据库管理系统是数据库系统的核心。50.在 16 位 IBM-PC 机上使用 C 语言,若有如下定义:stmct dataint i;char ch;double f;b;则结构变量 b 占用内存的字节数是( )。(分数:2.00)A.1B.2C.7D.11 解析:解析 结构体变量占用内存的字节数是其所有成员占用内存字节数之和。本题中整型变量 i 占用的内存是 2 字节,字符型变量 ch 占用的内存是 1 字节,双精度型变量 f 占用的内存是 8 字节,三者相加为 11。二、填空题(总题数:15,分数:30.00)51.数据的逻辑结构有线性结构和 【1】 两大类。(分数:2.00)填

    22、空项 1:_ (正确答案:非线性结构)解析:解析 数据的逻辑结构有线性结构和非线性结构两大类。52.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_ (正确答案:相邻)解析:解析 常用的存储表示方法有四种:顺序存储、链式存储、索引存储、散列存储,其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。53.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。(分数:2.00)填空项 1:_ (正确答案:可重用性)解析:解析 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大

    23、减少了程序中的冗余,提高软件的可重用性。54.软件工程研究的内容主要包括: 【4】 技术和软件工程管理。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。软件开发技术包括软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学;软件工程管理包括软件管理学、软件工程经济学以及软件心理学等内容。55.关系操作的特点是 【5】 操作。(分数:2.00)填空项 1:_ (正确答案:集合)解析:解析 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。

    24、因此,关系操作的特点是集合操作。56.下面的程序是将从终端读入的 20 个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。#includestdiohmain()int i;char s21,*p;for(i=0;i20;i+)si=getehar();si= 【6】 ;p= 【7】 ;while(*p) putchar( 【8】 );(分数:2.00)填空项 1:_ (正确答案:“/0“ s *p+)解析:解析 本题先通过 for 循环从键盘读入 20 个字符,然后赋值“/0“作为字符串结束标志,再使指针p 指向字符串的首地址,最后通过 while 循环对字符串进行扫描并输出。5

    25、7.以下程序将数组 a 的 4 个元素和数组 b 的 6 个元素写到名为 lett.dat 的二进制文件中,请填空。#include stdioh#include stdlibhmain()FILE *fp;char a5=“1234“,b7=“abcedf“;if(fp=fopen(“ 【9】 “,“wb“)=NULL) exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b, 【10】 ,1,fp);fclose(fp);(分数:2.00)填空项 1:_ (正确答案:lett.dat 6*sizeof(char))解析:解析 本题主要考查函数 fwrite

    26、(char *pt,unsigned size,unsigned n,FILE *fp),把 pt 所指向的 n*size 个字节输出到 fp 所指定的文件中。58.在 C 语言中(以 16 位 PC 机为例),一个 float 型数据在内存中所占的字节数为 4;一个 double 型数据在内存中所占的字节数为 【11】 。(分数:2.00)填空项 1:_ (正确答案:8)解析:解析 在一般系统中,一个 float 型数据在内存中占 4 个字节(32 位),一个 double 型数据占 8个字节。59.以下程序输出的结果是 【12】 。#include stdiohmain()int a=5,

    27、b=4,c=3,d;d=(abc);printf(“%d/n“,d);(分数:2.00)填空项 1:_ (正确答案:0)解析:解析 在本题中,d=(abc);相当于 d=(543);其计算过程为:先算 54,结果为真,得1,即 d=(13);然后计算 13,结果为假,得 0。60.以下程序中函数 fun 的功能是求出能整除 x 且不是偶数的务正整数,并按从小到大的顺序放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。例如,若 x 中的值为 30,则有 4 个数符合要求,它们是 1,3,5,15。请按题意,完成填空。试题程序:#include stdiohvoid fun(int x,

    28、int pp,int *n)int i,j=0;【13】 ;if(x%i=0)ppj+=i;【14】 ;main()int x,aa1000,n,i;printf(“/nPlease enteran integer number :/n“);scanf(“%d“,&x);fun(x,aa,&n);for(i=0;in;i+) printf(“%d“,aai);printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:for(i=1;i=x;i+=2) *n=j)解析:解析 本题题干信息是求能整除 x 且不是偶数的所有正整数。循环语句中 i 从 1 开始且每次增2,所以 i 始终是

    29、奇数,语句,n=j;是记录符合题意的整数的个数。61.以下函数把 b 字符串连接到 a 字符串的后面,并返回 a 中新字符串的长度。请填空。strcen(char a,char b)int num=0,n=0;while(*(a+num)! = 【15】 )num+;while(bn)*(a+num)=bn;num+; 【16】 ;return(num);(分数:2.00)填空项 1:_ (正确答案:/0或 0 或 NULL n+或+n 或 n+=1 或 n=n+1 或 n=1+n)解析:解析 第一个循环是为了计算 a 字符串的长度,字符串以 NULL 结束,所以第一个空应填 /0或0 或 N

    30、ULL;第二个循环是为了在 a 字符串的后面加上 b 字符串,num+是为了将 a 字符串的下标向前移动,毫无疑问,b 字符串的下标也必须向前移动,所以第二个空必须填 n+或与此等功能的其他表达式。62.mystrlen 函数的功能是计算 str 所指字符串的长度,并作为函数值返回。请填空。int mystden(char *str)int i;fo,(i=0; 【17】 ! =/0;i+);return(i);(分数:2.00)填空项 1:_ (正确答案:*(str+i) 或 stri)解析:解析 str 是指针变量,它指向字符型数据,在循环过程中,用*(str+i)或 stri来访问字符串

    31、的第 i 个元素,判断是否是结束标志,如果不是,i=i+1,继续取下一个元素进行判断,直到*(str+i)的值为“/0“为止。63.以下程序的输出结果是 【18】 。#include stdioh#deftne JFT(x)x*xmain()int a,k=3;a=+JFT(k+1);printf(“%d“,a);(分数:2.00)填空项 1:_ (正确答案:9)解析:解析 宏替换的原则是按原样替换,本题中遇到形参 x 则以实参 k+1 替换,其他字符不变,所以JFT(k+1)经替换后为 k+1,k+1,则 a=+k+1 *k+1。若 k 的值为 3,则经过运算为 a=4+1 *4+1=9。6

    32、4.以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存入整型数据,成员变量 link 是指向自身结构体的指针,请将定义补充完整。struct nodeint info;【19】 link;(分数:2.00)填空项 1:_ (正确答案:struet node *)解析:解析 本题中的结构类型名为 struet node,所以空白处应填:struct node*,即定义一个指向自身的结构体指针。65.设有以下结构体类型:struct stcharname8;int num;float s4;student50;并且结构体数组 student 中的元素都已有值。若要将这些元素写到硬盘文件 fp 中,请将以下 fwrite 语句补充完整:fwrite(student, 【20】 ,1,fp);(分数:2.00)填空项 1:_ (正确答案:sizeof(struct st)*50)解析:解析 fwrite 函数的一般调用形式为:fwrite(buffer,size,count,fp);其中:buffer 是一个指针变量,是要输出数据的起始地址;size 是要写的字节数;count 是要写多少个 size 字节的数据项;fp 是文件指针。


    注意事项

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




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

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

    收起
    展开