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

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

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

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

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

    1、二级 C 语言笔试 18 及答案解析(总分:80.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.下面程序的输出是_。 main() int x=3,y=6,a=0; while(x+!=y-=1) a+=1; if(yx)break; printf(“x=%d,a=%d/n“,x,y,A) ; (分数:1.00)A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=,a=12.有以下程序,程序运行后的输出结果是_。 int f(int b4) int i,j,s=0; for(j=0;j4;i+) i=j; if(i2

    2、)i=3-j; s+=bij; return s; main() int a44=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0; printf(“%d/n“,f(A) ); (分数:1.00)A.22B.11C.18D.163.有以下程序: #includestdioh main() char c6; int i=0; for(;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

    3、c dC.ab c dD.abcdef4.以下叙述中正确的是_。(分数:1.00)A.C 语言比其他语言高级B.C 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C 语言出现的最晚,具有其他语言的一切优点5.不能把字符串“Hello!“赋给数组 b 的语句是_。(分数:1.00)A.char b10=H,e,l,l,o,!;B.char b10=h,e,l,l,o,!;C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;6.请选出以下程序的输出结果_。 #includestdio.h su

    4、b(x,y,z) int x,y,*z; *z=y-x; main() int a,b,c; sub(10,5, (分数:1.00)A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-77.下面程序的输出是_。 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(“v1=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4): (分数:1.

    5、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=88.fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。(分数:1.00)A.只读B.追加C.读或读写D.以上均正确9.算法的时间复杂度是指_。(分数:1.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数10.若有程序: fun(int a,int b) static int c=0; c+=a+b: return c; main()

    6、int x=5,y=3,z=7,r; r=fun(y,x+y),z); r=fun(x,y); printf(“%d/n“,r); 上面程序的输出结果是_。(分数:1.00)A.23B.15C.19D.1811.以下程序的输出结果是_。 #includestdio.h #define FUDGE(y) 2.84+y #define PR(A) printf(“%d“,(int)(a) ) #define PRINT1(A) PR(a) ;putchar(/n) main() int x=2; PRINT1(FUDGE(5)*X); (分数:1.00)A.11B.12C.13D.1512.软件需

    7、求分析一般应确定的是用户对软件的_。(分数:1.00)A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求13.下列叙述中正确的是_。(分数:1.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构14.设有如下程序 #includestdio.h main() int*k,*j,i=100; j= 上述程序的输出结果是_。(分数:1.00)A.运行错误B.100C.i 的地址D.j 的地址15.一个良好的算法由下面的基本结构组成,但不包括_。(分数:1.00)A.顺序结构B.选择结构C.循环结构D.跳转结构16.若要用下面的程序片段使指针变

    8、量 p 指向一个存储整型变量的动态存储单元 int *p; p=_malloc(sizeof(int); 则应填入_。(分数:1.00)A.intB.int*C.(*inD.(int*)17.关系表中的每一横行称为一个_。(分数:1.00)A.元组B.字段C.属性D.码18.下面程序 main() int x=32; printf(“%d/n“,x=x1); 的输出是_。(分数:1.00)A.100B.160C.120D.6419.以下程序的输出结果是_。 #includestdio.h #includestring.h fun(char*w,int n) char t,*s1,*s2; s1

    9、=w;s2=w+n-1; while(s1s2) t=*s1+; *s1=*s2-; *s2=t; main() char*p; p=“1234567“; fun(p,strlen(p); puts(p); (分数:1.00)A.1234567B.7654321C.1711717D.717717120.设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:1.00)A.a printf(“%s/n“,str); 的输出是_。(分数:1.00)A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC22.以

    10、下程序 int aa33=2,4,6; main() int i,*p= for(i=0;i2;i+) if(i=0)aaii+1=*p+1; else +p; printf(“%d“,*p); 的输出是_。(分数:1.00)A.23B.26C.33D.3623.下面程序在屏幕上的输出是_。 main() printf(“ab/b/bc“); (分数:1.00)A.ab/b/bcB.acC.abcD.ab c24.下面程序的输出是_。 typedef union long x2; int y4; char z8; MYTYPE; MYTYPE them; main() printf(“%d/n

    11、“,sizeof(them);(分数:1.00)A.32B.16C.8D.2425.请选出正确的程序段_。(分数:1.00)A.int*p scanf(“%d“,; B.int*s,k; *s=100; C.int*s,k; char *p,c; s= p= *p=a; D.int *s,k; char *p,e; s= p= s=p; *s=1; 26.请读程序: #includestdio.h main() int a;float b,c; scanf(“%2d%3f%4f“, 若运行时从键盘上输入 9876543210 (分数:1.00)A.a=98,b=765,c=4321B.a=10

    12、,b=432,c=8765C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.027.设有以下定义和语句,输出的结果是(用 small 模式编译,指针变量占 2 个字节)_。 struct date long*cat; struct date *next; double dog; too; printf(“%d“,sizeof(too);(分数:1.00)A.20B.16C.14D.1228.字符(char)型数据在微内存中的存储形式是_。(分数:1.00)A.反码B.补码C.EBCDIC 码D.ASCII 码29.下述关于数据库系统的

    13、叙述中正确的是_。(分数:1.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据30.以下程序段给数组所有的元素输入数据,请选择正确答案填入: #includestdio.h main() int a10,i=0; while(i10)scanf(“%d“,_); : : (分数:1.00)A.a+(i+)B.double r2;float r3; union uu char ul 5;long u22ua; mya;(分数:1.00)A.30B.29C.24D.2232.在软件生命周期中,能准确

    14、地确定软件系统必须做什么和必须具备哪些功能的阶段是_。(分数:1.00)A.概要设计B.详细设计C.可行性分析D.需求分析33.以下对枚举类型名的定义中正确的是_。(分数:1.00)A.enum a=one,two,three;B.enum aone=9,two=-1,three;C.enum a=“one“,“two“,“three“;D.enum a“one“,“two“,“three“;34.若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是_。(分数:1.00)A.pb=C.*pb=的输出为_。(分数:1.00)A.10B.11C.12D.语法错误36.数据库设计

    15、包括两个方面的设计内容,它们是_。(分数:1.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计37.下列可用于 C 语言用户标识符的一组是_。(分数:1.00)A.void define WORDB.a3_b3 _123 CarC.For -abc IFCaseD.2a DO sizeof38.若执行下面程序时从键盘上输入 5, main() int x; scanf(“%d“, 则输出是_。(分数:1.00)A.7B.6C.5D.439.下面关于完全二叉树的叙述中,错误的是_。(分数:1.00)A.除了最后一层外,每层上的结点数均达到

    16、最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深度为log 2n+140.结构化程序设计主要强调的是_。(分数:1.00)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性41.下面程序 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.-1B.0C.1D.不确定的值42.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些

    17、特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。(分数:1.00)A.控制流B.加工C.数据存储D.源和潭43.若有以下定义和语句: int a=1,2,3,4,5,6,7,8,9,10,*p=a; 则值为 3 的表达式是_。(分数:1.00)A.p+=2,*(p+)B.p+=2,*+pC.p+=3,*p+D.p+=2,+*p44.下面程序输出的结果是_。 main() int i=5,j=9.x; x=(i=j?i:(j=7); printf(“/n%d,%d“,i,j); (分数:1.00)A.5,7B.5,5C.语法错误D.7,545.在调用函数时,如果实参是简单变量,

    18、它与对应形参之间的数据传递方式是_。(分数:1.00)A.地址传递B.单向值传递C.由实参传递给形参,再由形参传递给实参D.传递方式由用户指定46.以下程序运行后,输出结果为_。 main() int a23=1,3,5,7,9,11,*s2,*pp,*p: s0=a0,s1=a1; pp=s; p=(int*)malloc(sizeof(int); *pp=s11; p=*pp; printf(“%d/n“,*p); (分数:1.00)A.1B.7C.9D.1147.下面程序的输出是_。 main() int k=11; printf(“k=%d,k=%o,k=%x/n“,k,k,k); (

    19、分数:1.00)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=B48.下面程序段中 c 的二进制值是_。 char a=3,b=6,c; c=ab1;(分数:1.00)A.00001011B.00001111C.00011110D.0001110049.以下程序运行后;输出结果是_。 main() char*d=“ab“,“cde“; printf(“%x“,d1); (分数:1.00)A.cdeB.字符 c 的 ASCII 码值C.字符 c 的地址D.出错50.设有以下语句,其中不是对 a 数组元素的正确引用的

    20、是_(其中 0i10) int a10=0,1,2,3,4,5,6,7,8,9,*p=a;(分数:1.00)A.ap-aB.*( 程序运行后,输出结果是U 【8】 /U。(分数:2.00)填空项 1:_59.下面程序的输出走U 【9】 /U。 main() enum em em1=3,em2=1,em3; char*aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s%s/n“,aaem1,aaem2,aaem3); (分数:2.00)填空项 1:_60.若想通过以下输入语句使 a=5.0,b=4,c=3,则输入数据的形式应该是U 【10】 /U。 int b,c;floa

    21、t a; scanf(“%f,%d,c=%d“, dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d) ; printf(“%d/n“,c,d) ; (分数:2.00)填空项 1:_62.下面程序的输出结果是U 【12】 /U。 char b=“ABCD“; main() char b30; strcpy( printf(“%s/n“,b) ; (分数:2.00)填空项 1:_63.有以下定义和语句,则 sizeof(a) 的值是U 【13】 /U,而 sizeof(a.share)的值是U 【14】 /U。 struct datc int da

    22、y; int mouth; int year: union int share1; float share2: share; a;(分数:2.00)填空项 1:_64.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word num (str) char str; int i,num=0,word=0; for(i=0;stri!=U 【15】 /U;i+) if(U 【16】 /U=)word=0; else if(word=0) word=1; U 【17】 /U; return(num); (分数:2.00)填空项 1:_65.有一个已排好序的数组,今输入一个数,要求按原来的

    23、顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100 main() float aN+1,x; int i,p; for(i=0;iN;i+) scanf(“%f“, scanf(“%f“, for(i=0,p=N;iN;i+) if(xai) U 【18】 /U; break; for(i=N-1;U 【19】 /U;i-) ai+1=ai; ap=x; for(i=0;U 【20】 /U;i+) printf(“

    24、%8.2f“,ai); if(i% 5=0) printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言笔试 18 答案解析(总分:80.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.下面程序的输出是_。 main() int x=3,y=6,a=0; while(x+!=y-=1) a+=1; if(yx)break; printf(“x=%d,a=%d/n“,x,y,A) ; (分数:1.00)A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=,a=1 解析:评析 注意的是 x+中 x 值的引用

    25、时,这里应当是先引用,后自加,具体执行过程如下: 第一次while 循环:条件为真,执行 a=a+1=1;此时,x 的值已为 4,判断 yx 不成立,继续执行循环; 第二次while 循环;条件为假,此时 x 的值已为 5,退出 while 循环,执行 printf。2.有以下程序,程序运行后的输出结果是_。 int f(int b4) int i,j,s=0; for(j=0;j4;i+) i=j; if(i2)i=3-j; s+=bij; return s; main() int a44=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0; printf(“%d/n“,f(A

    26、) ); (分数:1.00)A.22B.11C.18D.16 解析:评析 本题通过函数调用对数组 a00、a11、a22、a03进行求和,然后用 return语句返回 s 的值。3.有以下程序: #includestdioh main() char c6; int i=0; for(;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解析:评析1getchar

    27、():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。 2putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。 本题在输入字符时,ab 和c 后面的回车符分别赋给了 c2和 c4,所以,正确答案为 C。4.以下叙述中正确的是_。(分数:1.00)A.C 语言比其他语言高级B.C 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D.C 语言出现的最晚,具有其他语言的一切优点解析:评析 计算机语言分为低级语言、汇编语言和高级语言,C 语言属于高级语言,但并不是说 C 语言比其他语言高级,所以选项 A 错误;除

    28、了低级语言外,其他各种语言都必须编译成能被计算机识别的二进制数才能执行,选项 D 错误;C 语言出现从 1972 年到 1973 年间,并不是出现最晚的语言,所以选项 D也是错误的。5.不能把字符串“Hello!“赋给数组 b 的语句是_。(分数:1.00)A.char b10=H,e,l,l,o,!;B.char b10=h,e,l,l,o,!; C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;解析:评析 在 C 语言中,大写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。6.请选出以下程序

    29、的输出结果_。 #includestdio.h sub(x,y,z) int x,y,*z; *z=y-x; main() int a,b,c; sub(10,5, (分数:1.00)A.5,2,3B.-5,-12,-7 C.-5,-12,-17D.5,-2,-7解析:评析 sub()函数的作用是将形参 y 和 x 的差赋给了 z 指向的那个内存地址,所以在sub(10,5, 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(“v1

    30、=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4): (分数:1.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 后面的语句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。8.fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。(分数:1.00)A.只

    31、读B.追加C.读或读写D.以上均正确 解析:评析 fgetc 函数是指从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为: ch=fgetc(fp);9.算法的时间复杂度是指_。(分数:1.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数解析:评析 所谓算法的时间复杂度,是指执行算法所需要的计算工作量。10.若有程序: 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+

    32、y),z); r=fun(x,y); printf(“%d/n“,r); 上面程序的输出结果是_。(分数:1.00)A.23 B.15C.19D.18解析:评析 static 声明的外部变量只限于被本文件引用,而不能被其他文件引用。用 static 来声明一个变量的作用有:对局部变量用 static 声明,则为该变量分配的空间在整个程序执行期间始终存在:全部变量用 static 声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3.5+3)与 7 即 8 与 7,在函数 fun 执行结束返回 15。第二次调用 fun 时,由于static 为静态类

    33、型,其值保留,执行 fun(5,3)后,其返回值为 23,故选 A。11.以下程序的输出结果是_。 #includestdio.h #define FUDGE(y) 2.84+y #define PR(A) printf(“%d“,(int)(a) ) #define PRINT1(A) PR(a) ;putchar(/n) main() int x=2; PRINT1(FUDGE(5)*X); (分数:1.00)A.11B.12 C.13D.15解析:评析 在程序中如果有带实参的宏,则按#define 命令行中指定的字符串从左到右进行置换,如果串中包含宏中的形参,则将程序语句中相应的实参代替

    34、形参。将实参带入已经定义的宏中,可以得出答案为“12”。12.软件需求分析一般应确定的是用户对软件的_。(分数:1.00)A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求 解析:评析 软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。13.下列叙述中正确的是_。(分数:1.00)A.线性表是线性结构 B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构解析:评析 一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树

    35、是非线性结构。14.设有如下程序 #includestdio.h main() int*k,*j,i=100; j= 上述程序的输出结果是_。(分数:1.00)A.运行错误B.100 C.i 的地址D.j 的地址解析:评析 j= 则应填入_。(分数:1.00)A.intB.int*C.(*inD.(int*) 解析:评析 不论 p 是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型*)。17.关系表中的每一横行称为一个_。(分数:1.00)A.元组 B.字段C.属性D.码解析:评析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由

    36、表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。18.下面程序 main() int x=32; printf(“%d/n“,x=x1); 的输出是_。(分数:1.00)A.100B.160C.120D.64 解析:评析 是 C 语言中规定的左移运算符,例如,a=a2,这个语句即是将 a 的二进制数左移两位,左移一位相当于该数乘于 2,左移两位相当于该数乘以 2 的 2 次方。所以,x1=32*2=64。19.以下程序的输出结果是_。 #includestdio.h #includestring.h fun(char*w,int n) char t,*s1,*s2; s1=

    37、w;s2=w+n-1; while(s1s2) t=*s1+; *s1=*s2-; *s2=t; main() char*p; p=“1234567“; fun(p,strlen(p); puts(p); (分数:1.00)A.1234567B.7654321C.1711717 D.7177171解析:评析 在子函数 fun 中,s1 为字符串 w 的起始地址,s2 为字符串的结束地址(字符/0除外),当执行循环结束循环, w=“1711717“。20.设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:1.00)A.a pr

    38、intf(“%s/n“,str); 的输出是_。(分数:1.00)A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC 解析:评析 strcat(p1,p2)将字符串 abcABC 放到了*p1 所指向的存储单元中;strcpy 在本题将 abcABC复制到 str+2 所指向的存储单元中,即覆盖原 str 数组中的字符 z 及其后的所有字符,故 str 的值为“xyabcABC”。22.以下程序 int aa33=2,4,6; main() int i,*p= for(i=0;i2;i+) if(i=0)aaii+1=*p+1; else +p; printf(“

    39、%d“,*p); 的输出是_。(分数:1.00)A.23 B.26C.33D.36解析:评析 观察题目,可以发现,*p= int y4; char z8; MYTYPE; MYTYPE them; main() printf(“%d/n“,sizeof(them);(分数:1.00)A.32B.16C.8 D.24解析:评析 sizeof(x)是一个标准 C 函数,它的返回值是 x 型的数据结构占用的内存字节数。题目中定义了一个共用体,共用体变量在内存中所占的长度等于最长的成员的长度。25.请选出正确的程序段_。(分数:1.00)A.int*p scanf(“%d“,; B.int*s,k;

    40、*s=100; C.int*s,k; char *p,c; s= p= *p=a; D.int *s,k; char *p,e; s= p= s=p; *s=1; 解析:评析 本题的 A 和 B 犯了一个同样的错误,即指针变量 p 定义后并没有指向具体的变量,因此不能进行赋值操作。另外,在选项 D 中,s 是 int 指针变量,p 是 char 型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量 p 的值赋给整型指针变量 s。26.请读程序: #includestdio.h main() int a;float b,c; scanf(“%2d%3f%4f“, 若运行时从

    41、键盘上输入 9876543210 (分数:1.00)A.a=98,b=765,c=4321B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.0解析:评析 scanf()把用户从键盘录入的数字的第 1、2 位存入整型变量 a;把第 3、4、5 位存入单精度实型变量 b,把第 6、7、 8、9 位存入单精度实型变量 c,用户录入的第 10 位被 scanf()遗弃。这时变量 a、b、c 的值分别为:98、765.000000、 4321.000000。27.设有以下定义和语句,输出的结果是(用 sm

    42、all 模式编译,指针变量占 2 个字节)_。 struct date long*cat; struct date *next; double dog; too; printf(“%d“,sizeof(too);(分数:1.00)A.20B.16C.14D.12 解析:评析 sizeof 函数计算已知类型所占的字节数。结构体变量所占内存长度是各成员占的内存长度之和。指针变量占 2 个字节,所以 cat 和*next 各占 2 个字节;double 型占 8 个字节,故 too 共占 12 个字节。28.字符(char)型数据在微内存中的存储形式是_。(分数:1.00)A.反码B.补码C.EBC

    43、DIC 码D.ASCII 码 解析:评析 将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的 ASCII 码值放到存储单元中。29.下述关于数据库系统的叙述中正确的是_。(分数:1.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据解析:评析 由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。30.以下程序段给数组所有的元素输入数据,请选择

    44、正确答案填入: #includestdio.h main() int a10,i=0; while(i10)scanf(“%d“,_); : : (分数:1.00)A.a+(i+) B.double r2;float r3; union uu char ul 5;long u22ua; mya;(分数:1.00)A.30B.29C.24D.22 解析:评析 结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量 aa 中,成员 r1 占 2 个字节,r2 占 8 个字节,r3 占 4 个字节,共用体 ua 占 8

    45、 个字节,所以共占用 2+8+4+8=22 个字节。32.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。(分数:1.00)A.概要设计B.详细设计C.可行性分析D.需求分析 解析:评析 需求分析是对特开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。33.以下对枚举类型名的定义中正确的是_。(分数:1.00)A.enum a=one,two,three;B.enum aone=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语言笔试18及答案解析.doc)为本站会员(livefirmly316)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




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

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

    收起
    展开