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

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

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

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

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

    1、二级 C 语言笔试 337 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若有程序 fun(int a,int b static int c=0; c+=a+b; return c; main() int x=5,y=3,z=7,r, r=fun(y,x+y),z); r=fun(xy); printf(“%d/n“,r); 上面程序的输出结果是_。(分数:2.00)A.23B.15C.19D.182.字符(char)型数据在微机内存中的存储形式是_。(分数:2.00)A.反码B.补码C.EBCDIC 码D.ASCII 码3.以下对

    2、枚举类型名的定义中正确的是_。(分数:2.00)A.enum a=one,two,three;B.enum a one=9,two=1,three;C.enum a=“one“,“two“,“three“;D.enum a“one“,“two“,“three“;4.数据库设计包括两个方面的设计内容,它们是_。(分数:2.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计5.设有以下语句,其中不是对 a 数组元素的正确引用的是:_(其中 Oi10) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:2.00)A.ap

    3、-aB.*(B.char b10=h,e,l,l,o,!;C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“:7.下列叙述中正确的是_。(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构8.下述关于数据库系统的叙中正确的是_。(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据9.设有如下程序 #inclidestdio.h main() int *k,*j,i=100; j= mai

    4、n() int a,b,c; sub(10,5,sub(7,a,sub(a,b,i6;ci=getchar(),i+); for(i=0;i6;i+)putchar(ci); printf(“/n“); 如果从键盘上输入: ab回车 c回车 def回车 则输出结果为_。(分数:1.00)A.a b c d e fB.a b c dC.ab c dD.abcdef20.下面程序 main() int x=100,a=10,b=20,ok1=5,ok2=0; if(ab) if(b!=15) if(!ok1) x=1: else if(ok2)x=10; x=-1; printf(“%d/n“,x

    5、); 的输出是_。(分数:1.00)A.-1B.0C.1D.不确定的值21.下面程序的输出是_。 mare() int x=3 y=6,a=0; while(x+!=(y=1) a+=1; if(yx)break; printf(“x=%d,y=%d,a=%d/n“,x,y,a); (分数:2.00)A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=122.以下程序运行后,输出结果是_。 main() char* d=“ab“,“cde“; printf(“%x“,d1); (分数:2.00)A.cdeB.字符 C 的 ASCII 码值C.字

    6、符 c 的地址D.出错23.下面程序的输出是_。 main() char *s=“12134211“; int v1=0, v2=0,v3=0,v4=0,k; for(k=0;sk;k+) switch(sk) default,v4+; case1:v1+; case3:v3+; case2:v2+; printf(“vl=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4); (分数:2.00)A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1D.v1=8,v2=8,v3=8,v4=824.若有下

    7、面的说明和定义,则 sizeof(struct aa)的值是_。 struct aa int r1;double r2;float r3; union uuchar ul5;longu22ua; mya;(分数:2.00)A.30B.29C.24D.2225.关系表中的每一横行称为一个_。(分数:2.00)A.元组B.字段C.属性D.码26.若要用下面的程序片段使指针变量 P 指向一个存储整型变量的动态存储单元 int *p; p=_malloc(sizeof(int); 则应填入_。(分数:2.00)A.intB.int*C.(*inD.(int*)27.fgetc 函数的作用是从指定文件读

    8、入一个字符,该文件的打开方式必须是_。(分数:2.00)A.只读B.追加C.读或读写D.以上均正确28.设 a、b 和 C 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:2.00)A.afloatb,c: scanf(“%2d%3f%4f, int fb(int x)return x*x*x; int f(int(*fl)(),int(*f2)(),int x return f2(x)-f1(x); main() int i;i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后,输出结果是U 【8】 /U。(分数:2.0

    9、0)填空项 1:_49.下面程序的输出是U 【9】 /U。 main() enum emem1=3,em2=l,em3; char*aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s/n“,aaeml,aaem2,aaem3); (分数:2.00)填空项 1:_50.下列程序的输出结果是U 【10】 /U。 int t(int x,int y,nt cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf(“%d%d/n“,c,d); (分数:2.00)填空项 1:_

    10、51.有以下定义和语句,则 sizeof(a)的值是U 【11】 /U,而 sizeof(a.share)的值是U 【12】 /U。 struct date int day; int mouth; int year; unionint share1; float share2; share; a;(分数:4.00)填空项 1:_52.下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。 word_num(str) char str; int i,num=0,word=0; fot(i=0;stri!=U 【13】 /U;i+) ifU 【14】 /U=)word=0; else if(w

    11、ord=0) word=1; U 【15】 /U; return(num); (分数:6.00)填空项 1:_二级 C 语言笔试 337 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若有程序 fun(int a,int b static int c=0; c+=a+b; return c; main() int x=5,y=3,z=7,r, r=fun(y,x+y),z); r=fun(xy); printf(“%d/n“,r); 上面程序的输出结果是_。(分数:2.00)A.23 B.15C.19D.18解析:评析 static

    12、声明的外部变量只限于彼本文件引用,而不能被其他文件引用。用 static 来声明一个变量的作用有:对局部变量用 static 声明,则为该变量分配的空间在整个程序执行期间始终存在;全部变量用 static 声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与 7 即 8 与 7,在函数 fun 执行结束返回 15。第二次调用 fun 时,由于static 为静态类型,其值保留,执行 fun(5,3)后,其返回值为 23,故选 A。2.字符(char)型数据在微机内存中的存储形式是_。(分数:2.00)A.反码B.补码C.EBCDIC 码

    13、D.ASCII 码 解析:评析 将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的 ASCII 码值放到存储单元中。3.以下对枚举类型名的定义中正确的是_。(分数:2.00)A.enum a=one,two,three;B.enum a one=9,two=1,three; C.enum a=“one“,“two“,“three“;D.enum a“one“,“two“,“three“;解析:评析 声明枚举类型用 enum 开头。例如:enum weekday(sun,mon,tue,wed,thu,fri,sat); 说明:1、在 C 编译中,对枚举元

    14、素按常量处理,同时可以改变他们的值。2、枚举值可以用来做判断比较。3、一个整数不能直接赋给一个枚举变量。4.数据库设计包括两个方面的设计内容,它们是_。(分数:2.00)A.概念设计和逻辑设计 B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计解析:评析 数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将 ER 图转换为指定的 RDBMS 中的关系模型。5.设有以下语句,其中不是对 a 数组元素的正确引用的是:_(其中 Oi10) int a10=0,1,2,3,4,5,6,7,8,9

    15、,*p=a;(分数:2.00)A.ap-aB.*(B.char b10=h,e,l,l,o,!; C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“:解析:评析 在 C 语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。7.下列叙述中正确的是_。(分数:2.00)A.线性表是线性结构 B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构解析:评析 一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。8.下述关于数

    16、据库系统的叙中正确的是_。(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据解析:评析 由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。9.设有如下程序 #inclidestdio.h main(

    17、) int *k,*j,i=100; j= main() int a,b,c; sub(10,5,sub(7,a,sub(a,b,i6;ci=getchar(),i+); for(i=0;i6;i+)putchar(ci); printf(“/n“); 如果从键盘上输入: ab回车 c回车 def回车 则输出结果为_。(分数:1.00)A.a b c d e fB.a b c dC.ab c d D.abcdef解析:getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。 2putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,

    18、ab 和 c 后面的回车符分别赋给了 c2和 c4,所以,正确答案为 C。20.下面程序 main() int x=100,a=10,b=20,ok1=5,ok2=0; if(ab) if(b!=15) if(!ok1) x=1: else if(ok2)x=10; x=-1; printf(“%d/n“,x); 的输出是_。(分数:1.00)A.-1 B.0C.1D.不确定的值解析:评析 第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断如此循环,在打印输出语句的前一行,程序给变量 x 赋了值,为-1,所以,无论前期如伺变化,最后的 x 值依然为-1。21.下面程序的输出是

    19、_。 mare() int x=3 y=6,a=0; while(x+!=(y=1) a+=1; if(yx)break; printf(“x=%d,y=%d,a=%d/n“,x,y,a); (分数:2.00)A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1 解析:评析 注意的是 x+中 x 值的引用时,这里应当是先引用,后自加,具体执行过程如下:第一次while 循环:条件为真,执行 a=a+1=1 此时,x 的值已为 4,判断 yx 不成立,继续抽行循环;第二次while 循环:条件为假,此时 x 的值已为 5,退出 while 循环

    20、,执行 printf。22.以下程序运行后,输出结果是_。 main() char* d=“ab“,“cde“; printf(“%x“,d1); (分数:2.00)A.cdeB.字符 C 的 ASCII 码值C.字符 c 的地址 D.出错解析:评析 指针数组中的每一个元素都相当于一个指针变量。一维指针数组的定义形式为;类型名*数组名数组长度,在本题 main 函数中定义指针数组 d,它有两个元素,其初值分别是“ab”、“cde”的首地址。d1的值为“cde”的首地址。%x 是指以十六进制数形式输出整数。23.下面程序的输出是_。 main() char *s=“12134211“; int

    21、v1=0, v2=0,v3=0,v4=0,k; for(k=0;sk;k+) switch(sk) default,v4+; case1:v1+; case3:v3+; case2:v2+; printf(“vl=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4); (分数:2.00)A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1 D.v1=8,v2=8,v3=8,v4=8解析:评析 当 switch 后面括弧内的表达式的值与某一个 case 后面的常量的表达式的值相等时,就执行此 case

    22、后面的语句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。24.若有下面的说明和定义,则 sizeof(struct aa)的值是_。 struct aa int r1;double r2;float r3; union uuchar ul5;longu22ua; mya;(分数:2.00)A.30B.29C.24D.22 解析:评析 结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用伸变量所占的内存长度等于最长的成员的长度。结构件变量 aa 中,成员 r1 占 2 个字节,r2 占 8 个字节,r3 占 4

    23、 个字节,共用体 ua 占 8 个字节,所以共占用 2+8+4+8=22 个字节。25.关系表中的每一横行称为一个_。(分数:2.00)A.元组 B.字段C.属性D.码解析:评析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。26.若要用下面的程序片段使指针变量 P 指向一个存储整型变量的动态存储单元 int *p; p=_malloc(sizeof(int); 则应填入_。(分数:2.00)A.intB.int*C.(*inD.(int*) 解析:评析 不论 p 是指向什么类型的指针变量,都可以通过强制类型

    24、转换的方法使之类型一致,强制类型转换的格式为(数据类型*)。27.fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。(分数:2.00)A.只读B.追加C.读或读写D.以上均正确 解析:评析 fgetc 函数是指从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为:ch=fgetc(fp);。28.设 a、b 和 C 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:2.00)A.afloatb,c: scanf(“%2d%3f%4f, int fb(int x)return x*x*x;

    25、 int f(int(*fl)(),int(*f2)(),int x return f2(x)-f1(x); main() int i;i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后,输出结果是U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:4)解析:评析 在主函数中调用函数 f,函数 f 有三个参数,形参 f1 与 f2 分别是两个指向函数的指针。在 f 中执行 f2(x)-f1(x),实际上是执行了 fb(2)-fa(2),故执行 i=(fa,fb,2)后 i 的龇 23-22=4。49.下面程序的输出是U 【9】 /U。 main() enum

    26、emem1=3,em2=l,em3; char*aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s/n“,aaeml,aaem2,aaem3); (分数:2.00)填空项 1:_ (正确答案:DDBBCC)解析:评析 C 语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素 em3 的值,则 em3=em2+1=1+1=2,进而可知,在 printf()打印函数中,要打印的数组元素是 aa3,aa1、aa2,因此最后的打印结果应当为“

    27、DDBBCC”。50.下列程序的输出结果是U 【10】 /U。 int t(int x,int y,nt cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf(“%d%d/n“,c,d); (分数:2.00)填空项 1:_ (正确答案:56)解析:评析 本题中 a,b,c,d 是实参,x,y,cp,dp 是形参。C 语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分

    28、配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是 56。51.有以下定义和语句,则 sizeof(a)的值是U 【11】 /U,而 sizeof(a.share)的值是U 【12】 /U。 struct date int day; int mouth; int year; unionint share1; float share2; share; a;(分数:4.00)填空项 1:_ (正确答案:1110)解析:124 评析 结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。int 占 2 个字

    29、节,float 占 4 个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a.share)的值是 4,sizeof(a)的值是 2+2+2+4=10。52.下述函数用于统计一行字符中的单词个数,单词之问用空格分隔。 word_num(str) char str; int i,num=0,word=0; fot(i=0;stri!=U 【13】 /U;i+) ifU 【14】 /U=)word=0; else if(word=0) word=1; U 【15】 /U; return(num); (分数:6.00)填空项 1:_ (正确答案:13/0或 0 或 NULL)解析:14stri 15num+或 num=num+1 或 num+=1 评析 观察题目要求,可以知道以下几点:for循环的结束条件应当是:stri已是字符串的最后一个字符;stri代表字符串 str 中的第 i+1 个字符;整型变量 num 的值是要记录的单词的个数。 C 语言中规定字符串的最后一个字符是一个隐含的字符串结束符“/0”,所以在题中第一个空中应填写“/0”;题中第二个空应填写“stri”,以判断当前位置的字符是否为空格;题中第三个空中应当填写“num+”,通过变量 num 的加 1 累加得到字符串中的单词个数。


    注意事项

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




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

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

    收起
    展开