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

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

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

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

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

    1、二级 C语言笔试 51及答案解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)2.若有说明 char t;,下列表达式不正确的是_。(分数:1.00)A.t=97B.t=aC.t=“a“D.t=a+b3.下列程序段的输出结果是_。 int x=5,y=4,z; printf(“%d/n“,z+=1,z=x%y);(分数:1.00)A.0B.1C.2D.结果是不确定值4.设有如下程序: fun(float*p1,int n,float*p2,int m,float*s) int i; *s=0.0; for(i=0;in;i+)*s+=*p1+; f

    2、or(i=0;im;i+)*s+=*p2+; main() float a=1.1,2.2,b=1.0,2.0,3.0),*s=a; fun(a,2,b,3,s); printf(“%f/n“,*s); 上面程序的输出结果是_。(分数:1.00)A.8.200000B.9.300000C.3.300000D.1.1000005.若有以下说明和语句,则值为 6的表达式是_。 struct stu int n; struct stu*next; ; struct stu a3,*p; a0).n=5;a0.next=gets(s3); for(i=0;i4;i+) puts(si); 输入数据如下

    3、:(此处CR代表回车符) aa bbCR cc ddCR 则程序的输出结果是_。(分数:1.00)A.aa bb ccddB.aa bb cc ddC.aa bb cc ddD.aa bb cc dd7.下面程序的执行结果为_。 main() int a,b; for(a=1,b=1;a100;a+) if (b20)break; if(b%3=1) b+=3; continue; b-=5; printf(“%d“,A) ; (分数:1.00)A.7B.8C.9D.108.下面程序的输出结果是_。 main() int a34=1,3,5,7,9,11,13,15,17,19,21,23;

    4、int(*p)4=a,i,j,k=0; for(i=0;i3;i+) for(j=0;j2;j+) k=pij; printf(“%d/n“,k); (分数:1.00)A.17B.18C.19D.239.下列叙述中,不属于结构化分析方法的是_。(分数:1.00)A.面向数据流的结构化分析方法B.面向数据结构的 Jackson方法C.面向数据结构的结构化数据系统开发方法D.面向对象的分析方法10.下列不属于静态测试方法的是_。(分数:1.00)A.代码检查B.白盒法C.静态结构分析D.代码质量度量11.以下程序的运行结果是_。 main() char n=0x20; printf(“%d/n“,

    5、n=n1); (分数:1.00)A.100B.160C.128D.6412.若执行下面的程序时,从键盘上输入 5和 2,则输出结果是_。 main() int a,b,k; scanf(“%d,%d“,str2+; printf(“%d/n“,strcmp(str1,str2); (分数:1.00)A.正数B.负数C.零D.不确定的值14.下列程序的输出结果是_。 union un int a3; long b; char c6; un1,*p; main() p=sub(b,str1=str2=i1MAX;i+) ai-i+i; sub2() int aMAX,i,max; max=5; f

    6、or(i=0;imax;i+) ai=i; sub3(int a) int i; for(i=0;iMAX;i+) printf(“%d“,ai); printf(“/n“); (分数:1.00)A.0 2 4 6 8 10 12 14 16 18 0 1 2 3 4B.0 1 2 3 4 0 2 4 6 8 10 12 14 16 18C.0 1 2 3 4 5 6 7 8 9 0 1 2 3 4D.0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 1846.以下程序的输出结果是_。 fun(int *s,int *p) static int t=

    7、3; *p=st; t-; main() int str=1,2,3,4,i,m=0; for(i=0;i4;i+) fun(str,k= (分数:2.00)填空项 1:_61.若 x=3,y=2,z=1,表达式 z-=xy?x+:+y 的值为 1。(分数:2.00)填空项 1:_62.下列程序的输出结果是_。 #define LEN 5 int aLEN,k; main() fun1(); fun2(); fun1() for(k=0;kLEN;k+) ak=k; fun2() int k; for(k=0;kLEN;k+) printf(“%d“,*(a+k); (分数:2.00)填空项

    8、1:_63.以下程序的输出结果是_。 int fun(int*x,int*y) static int m=4; m=*X+*y; *x-=m; *y+=m; return m; main() int a=2,b=6,n; n=fun(printf(“%d,“,n); n=fun( printf(“%d/n“,n); (分数:2.00)填空项 1:_64.想通过以下输入语句给 x赋值 2,给 y赋值 3,则输入数据的形式应该是_。 int x,y; scanf(“x=%d,y=%d“,a=b; b=temp;x=a/b; printf(“x=%d/n“,x); (分数:2.00)填空项 1:_6

    9、6.fun1函数的功能是将 3个整数按由大到小的顺序调整后依次放入 a、b、c3 个变量中,a 中放最大数,fun2函数的功能是交换两个变量中的值。补足所缺语句。 fun2(int*x,int*y) int t; t=*x;*x=*y;*y=t; fun1(int*p1,int*p2,int*p3) if(*p3*p2) fun2(*P2,*p3); if(*p1*p3) fun2(_); if(*p1*p2) fun2(_); main() int a,b,c; scanf(“%d%d%d“,i_;i+) z=_; returnz; (分数:2.00)填空项 1:_二级 C语言笔试 51答案

    10、解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)解析:分析程序段中定义 x值为 1,!x 值为 0,因此循环执行的条件永远成立,该循环是死循环。2.若有说明 char t;,下列表达式不正确的是_。(分数:1.00)A.t=97B.t=aC.t=“a“ D.t=a+b解析:分析选项 A将 97作为 ASCII码值(小写字母 a的 ASCII码值)赋给字符变量 t。选项 D将字符 a和字符 b的 ASCII码值的和赋给变量 t。选项 B是将字符 a的 ASCII 码值赋给变量 t,也是正确的。选项C中的“a”是字符串常量,不是字符常量。3.下列程序

    11、段的输出结果是_。 int x=5,y=4,z; printf(“%d/n“,z+=1,z=x%y);(分数:1.00)A.0B.1C.2 D.结果是不确定值解析:分析printf 函数的参数传递方向是从右至左,因此,先将 x%y的值 1赋给 z,再执行 z+=1,z 的值变为 2,格式控制符%d 是将 z+=1的值输出。4.设有如下程序: fun(float*p1,int n,float*p2,int m,float*s) int i; *s=0.0; for(i=0;in;i+)*s+=*p1+; for(i=0;im;i+)*s+=*p2+; main() float a=1.1,2.2

    12、,b=1.0,2.0,3.0),*s=a; fun(a,2,b,3,s); printf(“%f/n“,*s); 上面程序的输出结果是_。(分数:1.00)A.8.200000 B.9.300000C.3.300000D.1.100000解析:分析实参指针变量 s指向数组 a的第一个元素,在函数 fun中首先将 s所指数组 a的第一个元素赋值为 0.0,然后将数组 a和 b中的元素值依次累加到数组 a的第一个元素中。5.若有以下说明和语句,则值为 6的表达式是_。 struct stu int n; struct stu*next; ; struct stu a3,*p; a0).n=5;a0

    13、.next=gets(s3); for(i=0;i4;i+) puts(si); 输入数据如下:(此处CR代表回车符) aa bbCR cc ddCR 则程序的输出结果是_。(分数:1.00)A.aa bb ccddB.aa bb cc ddC.aa bb cc dd D.aa bb cc dd解析:分析按题目要求输入数据后,数组的第一行是字符串“aa“,第二行是“bb“,第三行是“cc dd“,第四行没有接收到字符串。7.下面程序的执行结果为_。 main() int a,b; for(a=1,b=1;a100;a+) if (b20)break; if(b%3=1) b+=3; conti

    14、nue; b-=5; printf(“%d“,A) ; (分数:1.00)A.7B.8 C.9D.10解析:分析本题考查循环辅助控制语句 break和 continue,建议读者用本书采用的列表法分析本题。8.下面程序的输出结果是_。 main() int a34=1,3,5,7,9,11,13,15,17,19,21,23; int(*p)4=a,i,j,k=0; for(i=0;i3;i+) for(j=0;j2;j+) k=pij; printf(“%d/n“,k); (分数:1.00)A.17B.18C.19 D.23解析:分析p 是指向长度为 4的一维数组的指针变量,可看作是二维数组

    15、 a的行指针,可以像使用数组名一样通过 p带数组下标的形式来引用数组中元素,变量 k最后是元素 a21的值。9.下列叙述中,不属于结构化分析方法的是_。(分数:1.00)A.面向数据流的结构化分析方法B.面向数据结构的 Jackson方法C.面向数据结构的结构化数据系统开发方法D.面向对象的分析方法 解析:分析常见的需求分析方法有结构化分析方法和面向对象的分析方法两类。其中结构化分析方法又包括面向数据流的结构化分析方法(SA,Structured analysis)、面向数据结构的 Jackson方法(JSD,Jackson system development method) 和面向数据结构

    16、的结构化数据系统开发方法(DSSD,Data structured system development method) 。10.下列不属于静态测试方法的是_。(分数:1.00)A.代码检查B.白盒法 C.静态结构分析D.代码质量度量解析:分析静态测试包括代码检查、静态结构分析和代码质量度量等。其中白盒测试属于动态测试。11.以下程序的运行结果是_。 main() char n=0x20; printf(“%d/n“,n=n1); (分数:1.00)A.100B.160C.128D.64 解析:分析n 初始化时值是十六进制 20(即十进制 32),左移 1位,相当于乘以 2,结果是 64。12

    17、.若执行下面的程序时,从键盘上输入 5和 2,则输出结果是_。 main() int a,b,k; scanf(“%d,%d“,str2+; printf(“%d/n“,strcmp(str1,str2); (分数:1.00)A.正数 B.负数C.零D.不确定的值解析:分析当两个字符串比较到第 5个字符时,str1 指向的字符是e,str2 指向的字符是/0,字符串比较函数 strcmp的返回值是这两个字符 ASCII码值的差(101),是正数。14.下列程序的输出结果是_。 union un int a3; long b; char c6; un1,*p; main() p=sub(b,st

    18、r1=str2=i1MAX;i+) ai-i+i; sub2() int aMAX,i,max; max=5; for(i=0;imax;i+) ai=i; sub3(int a) int i; for(i=0;iMAX;i+) printf(“%d“,ai); printf(“/n“); (分数:1.00)A.0 2 4 6 8 10 12 14 16 18 0 1 2 3 4B.0 1 2 3 4 0 2 4 6 8 10 12 14 16 18C.0 1 2 3 4 5 6 7 8 9 0 1 2 3 4D.0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12

    19、 14 16 18 解析:分析函数 sub1给全局作用范围内数组 a(长度为 10)的每个元素赋值,函数 sub2中数组 a仅在本函数范围内有效,长度也是 10,但仅给前 5个元素赋值,main 函数调用 sub3时,传递数组地址均是全局作用范围内数组 a的地址,因此两次调用打印的结果相同。46.以下程序的输出结果是_。 fun(int *s,int *p) static int t=3; *p=st; t-; main() int str=1,2,3,4,i,m=0; for(i=0;i4;i+) fun(str,k= (分数:2.00)填空项 1:_ (正确答案:(ch=getchar()

    20、!=,fclose(fp)。)解析:分析根据题目要求,用作为文本结束标志,所以第一空白处应填(ch=getchar()!=,程序中利用循环完成写操作,在操作完毕后,被打开的文件没有被关闭,所以第二个空白处应填 fclose(fp)。61.若 x=3,y=2,z=1,表达式 z-=xy?x+:+y 的值为 1。(分数:2.00)填空项 1:_ (正确答案:-2。)解析:分析表达式 z-=xy?x+:+y 相当于先执行+y,再执行 z-=xy?x:y,最后执行 x+,其中 z-=xy?x:y 等价于 z=z-(xy?x:y),由于 x值为 3,y 值为 3,xy 不成立,返回 y的值,z-y 的值

    21、为-2,赋给 z。62.下列程序的输出结果是_。 #define LEN 5 int aLEN,k; main() fun1(); fun2(); fun1() for(k=0;kLEN;k+) ak=k; fun2() int k; for(k=0;kLEN;k+) printf(“%d“,*(a+k); (分数:2.00)填空项 1:_ (正确答案:01234。)解析:分析函数 fun1给数组 a的每个元素赋值,fun2 则输出结果。63.以下程序的输出结果是_。 int fun(int*x,int*y) static int m=4; m=*X+*y; *x-=m; *y+=m; ret

    22、urn m; main() int a=2,b=6,n; n=fun(printf(“%d,“,n); n=fun( printf(“%d/n“,n); (分数:2.00)填空项 1:_ (正确答案:8,8。)解析:分析本题考查静态局部变量值的特点,请参考第 10章有关习题的解析。64.想通过以下输入语句给 x赋值 2,给 y赋值 3,则输入数据的形式应该是_。 int x,y; scanf(“x=%d,y=%d“,a=b; b=temp;x=a/b; printf(“x=%d/n“,x); (分数:2.00)填空项 1:_ (正确答案:a=5,b=8,x=1。)解析:分析本题考查形参变量值的

    23、改变并不能传回给实参。因此主函数中最后输出的 a和 b仍为原来的初值 5和 8。66.fun1函数的功能是将 3个整数按由大到小的顺序调整后依次放入 a、b、c3 个变量中,a 中放最大数,fun2函数的功能是交换两个变量中的值。补足所缺语句。 fun2(int*x,int*y) int t; t=*x;*x=*y;*y=t; fun1(int*p1,int*p2,int*p3) if(*p3*p2) fun2(*P2,*p3); if(*p1*p3) fun2(_); if(*p1*p2) fun2(_); main() int a,b,c; scanf(“%d%d%d“,i_;i+) z=_; returnz; (分数:2.00)填空项 1:_ (正确答案:ix z*y。)解析:分析循环次数应该是 x次,相当于 x个 y相乘,循环体中 z作为累乘器,值为 z*y。


    注意事项

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




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

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

    收起
    展开