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

    【计算机类职业资格】二级C语言分类模拟题526及答案解析.doc

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

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

    【计算机类职业资格】二级C语言分类模拟题526及答案解析.doc

    1、二级 C语言分类模拟题 526及答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下选项中,合法的一组 C语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0C1774e1.50abcD.0x8A10,0003. e52.有以下程序: #includestdio.h int m1(int x, int y) if(x=y)return 2 * x+1; else return y; int m2(int x, int y) if(x=y)return 2 * y+1; else return x; ma

    2、in() int i, t1=10, t2=0; for(i=1; i=4; i+) t1=m1(i, t1); t2=m2(i, t2); printf(“t1=%d t2=%d/n“, t1, t2); 程序运行后的输出结果是_。(分数:1.00)A.t1=9 t2=4B.t1=4 t2=9C.t1=9 12=9D.t1=1 t2=43.已有定义 int a=3;和输出语句 printf(“%8x“,a);以下正确的叙述是_。(分数:2.50)A.整型变量的输出格式符只有%d 一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制数输出,但%

    3、8x 是错误的D.%8x是正确的格式符,其中数字 8规定了输出字段的宽度4.有以下程序: #include stdio.h main( ) int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序的输出结果是_。(分数:1.00)A.0B.9C.3D.-125.C语言主要是借助以下哪种手段来实现程序模块化?_(分数:2.00)A.定义函数B.定义常量和外部变量C.使用丰富的数据类型D.使用三种基本结构语句6.关于函数返回值,以下叙述正确的是_。(分数:1.00)A.函数可以返回整个结构体,即使结构体中有数组B.函数只能返回基本数据类型的数值或指针C.函数不可以返回一个数

    4、组D.函数不能没有返回值7.若有定义: char s30=0; 运行时输入: This is a string.回车 则以下不能正确读入整个字符串: This is a string. 到字符数组 s中的语句组是_。(分数:1.00)A.i=0;while(c=getchar()!=“/n“)si+=c;B.gets(s);C.for(i=0;(c=getchar()!=“/n“;i+)si=c;D.scanf(“%s“,s);8.设 p1和 p2是指向一个 int型一维数组的指针变量,k 为 int型变量,则不能正确执行的语句是(分数:1.00)A.k=*p1+*p2B.p2=k;C.p1=

    5、p2;D.k=*p1*(*p2);9.以下选项中可用做 C程序合法实数的是_。(分数:2.00)A.3.0e0.2B1e0CE9D.9.12E10.为了建立如下图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域)则在_处填入的选项是_。 struct linkchar data; _ node; (分数:1.00)A.struet link *next;B.link next;C.link *next;D.struct link next;11.以下有 4组用户标识符,其中合法的一组是 _。(分数:2.00)A.For-subCaseB.4dDOSizeC.

    6、f2_G3IFabcD.WORDvoiddefine12.有以下程序 #includestdio.h #includestring.h main() char str20=“One*World“,“One*Dream!“),/p=str1; printf(“%d,“,strlen(p);printf(“%s/n“,p); 程序运行后的输出结果是_。(分数:4.00)A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World13.下面描述中,不属于软件危机表现的是_。(分数:2.50)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制

    7、D.软件成本不断提高14.以下程序的输出结果是 _ 。 #include stdio.h charcchar(char eh) if(ch=“A, for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag) if(aiaj) t=ai;ai=aj;aj=t; else if(aiaj) t=ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,4,1); fun(c+4,6,0); for(i=0;i10;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(

    8、分数:1.00)A.7,8,9,10,6,5,4,3,2,1,B.10,9,8,7,6,5,4,3,2,1,C.10,9,8,7,1,2,3,4,5,6,D.1,2,3,4,5,6,7,8,9,10,18.在 Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。19.有以下程序,程序中库函数“islower (ch)”用以判断 ch中的字母是否为小写字母 #include stdio.h #include ctype.h void fun(char *P) int i=

    9、0; while(pi) if(pi=“ i+; main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“,s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFG !B.Ab Cd EFg !C.aB cD EFG !D.ab cd EFg !20.以下程序中函数 reverse 的功能是将 a所指数组中的内容进行逆置。 void reverse(int a , int n) int i, t; for(i=0;in/2;i+) t=ai; ai =an-1-i;an-1-i=t; main() int b10=1,2,

    10、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)A.22B.10C.34D.3021.在下述程序中,判断 ij 共执行的次数是 _ 。 main() int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(“%d“,s);break; s+=i; (分数:2.00)A.4B.7C.5D.622.以下叙述中错误的是_。(分数:2.50)A.改变函数形参的值,不会改变对应实参的值B.函数可以返回

    11、地址值C.可以给指针变量赋一个整数作为地址值D.当在程序的开头包含文件 stdio.h时,可以给指针变量赋 NULL23.有以下程序: #includestdio.h #define S(x)4*(x)*x+1 main() int k=5,j=2; printf(“%d/n“,S(k+j); 程序的运行结果是_。(分数:2.00)A.33B.197C.143D.2824.设有宏定义: #define IsDIV(k,n)(k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) while(!(k0|n+); printf(“%d %d/n“,k,n); 程序运行

    12、后的输出结果是_。(分数:2.50)A.0 2B.1 3C.5 7D.1 226.若打开一个新的文本文件 c.txt中的数据做读/写操作,则在“fp=fopen(“c.txt“,模式字符串);”中,模式字符串应当是_。(分数:2.00)A.“w+“B.“r+“C.“a+“D.“r“27.有以下程序: #defme P 3 void P(int x)return(p*x*x); main() pritnf(“%d/n“,F(3+5); 程序运行后的输出结果是( )。(分数:1.00)A.192B.29C.25D.编译出错28.有如下程序段: int x=12; double y=3.141593

    13、; printf(“%d%8.6f“,x,y); 其输出结果是_。(分数:2.00)A.123.141593B.123.141593C.12,3.141593D.123.141593029.有两个关系 R和 T如下: R A B C a 1 2 b 4 4 c 2 3 d 3 2 T A C a 2 b 4 c 3 d 2 则由关系 R得到关系 T的操作是_。(分数:1.00)A.选择B交C.投影D并30.设有宏定义: #define IsDIV(k,n) (k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) do bi+=bi+1; while(+i2);

    14、main() int k, a5=1, 3, 5, 4, 9; fun(a); for(k=0; k5; k+)printf(“%d“, ak); (分数:2.50)A.13579B.48579C.48549D.4899932.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar (“); putchar (“#“); (分数:2.50)A. #B. #C. #D. #33.设有以下定义: union data int d1; float

    15、 d2; demo; 则下面叙述中错误的是 _ 。(分数:1.00)A.变量 demo与成员 d2所占的内存字节数相同B.变量 demo中各成员的地址相同C.变量 demo和各成员的地址相同D.若给 demo.d1赋 99后,demo.d2 中的值是 99.034.若有以下定义,则对 a数组元素地址的正确引用是_。 int a5,*p=a;(分数:1.00)A.p+5B.*a+1C.double b;float c;char k;,则表达式 a/b+c-k的值的类型为_。(分数:1.00)A.intB.doubleC.floatD.char二级 C语言分类模拟题 526答案解析(总分:55.0

    16、0,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下选项中,合法的一组 C语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0 C1774e1.50abcD.0x8A10,0003. e5解析:解析 C 语言中,八进制数其开头必须是数字“0”,其数字包括 07,因此选项 A错误。浮点数据的指数形式表示中,字母 e或 E之后的指数必须为整数,所以选项 C错误。选项 D中,整型数据10,000的表示形式是错误的。2.有以下程序: #includestdio.h int m1(int x, int y) if(x=y)return

    17、2 * x+1; else return y; int m2(int x, int y) if(x=y)return 2 * y+1; else return x; main() int i, t1=10, t2=0; for(i=1; i=4; i+) t1=m1(i, t1); t2=m2(i, t2); printf(“t1=%d t2=%d/n“, t1, t2); 程序运行后的输出结果是_。(分数:1.00)A.t1=9 t2=4 B.t1=4 t2=9C.t1=9 12=9D.t1=1 t2=4解析:解析 由程序可知,main 函数的 for循环中 i的取值为 1、2、3、4。t1

    18、 初值为 10,t2 初值为0,当 i=1时,传入函数 m1的参数为:1、10,因为 110,所以函数 m1的返回值为 21+1=3;传入函数m2的参数为 1、0,因为 10,所以返回值为 1;即第一轮循环后,t1=3,t2=1。当 i=2时,传入函数 m1的参数为 2、3,因为 23,所以函数返回值为 22+1=5;传入函数 m2的参数为 2、1,因为 21,所以函数返回值为 2;即第二轮循环后,t1=5,t2=2。当 i=3时,传入函数 m1的参数为 3、5,因为 35,所以返回值为 23+1=7;传入函数 m2的参数为 3、2,因为 32,所以返回值为 3;即第三轮循环后,t1=7,t2

    19、=3。当 i=4时,传入函数 m1的参数为 4、7,因为 47,所以函数返回值为 24+1=9,传入函数 m2的参数为 4、3,因为 43,所以函数返回值为 4,即第四轮循环后,t1=9,t2=4。故答案选 A选项(仔细分析可以发现,对于 m1函数,由于第一次 110,导致后面每次参数 x都是 i,而参数 y都是2i-1,返回值都是 2i+1。同理,对于 m2函数,由于第一次 10,导致后面每次参数 x都是 i,而 y都是 i-1,返回值都是 i,所以最终结果为 t1=24+1,t2=4)。3.已有定义 int a=3;和输出语句 printf(“%8x“,a);以下正确的叙述是_。(分数:2

    20、.50)A.整型变量的输出格式符只有%d 一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按十六进制数输出,但%8x 是错误的D.%8x是正确的格式符,其中数字 8规定了输出字段的宽度 解析:解析 本题考查 printf函数的格式。“%8x”表示以十六进制无符号形式输出整型数据。“8”表示指定输出数据的宽度为 8位。4.有以下程序: #include stdio.h main( ) int a=3; a+=a-=a*a; printf(“%d/n“,a); 程序的输出结果是_。(分数:1.00)A.0B.9C.3D.-12 解析:解析 等号“=”运算

    21、符是从右到左,且与“+、-、*”运算符相比,优先级较低,首先计算 a * a结果为 9,执行 a=a-9后,a 的值为-6,然后执行 a+=a,即 a=a+a=-6+(-6),所以值为-12。5.C语言主要是借助以下哪种手段来实现程序模块化?_(分数:2.00)A.定义函数 B.定义常量和外部变量C.使用丰富的数据类型D.使用三种基本结构语句解析:解析 C 语言主要通过函数的功能来实现程序模块化,答案选择 A。6.关于函数返回值,以下叙述正确的是_。(分数:1.00)A.函数可以返回整个结构体,即使结构体中有数组 B.函数只能返回基本数据类型的数值或指针C.函数不可以返回一个数组D.函数不能没

    22、有返回值解析:解析 函数返回值可以为整型、实型、字符型、指针和结构类型,也可以没有返回值,因此 A选项正确,可以返回数组指针,因此可知 B、C、D 选项错误。故答案为 A选项。7.若有定义: char s30=0; 运行时输入: This is a string.回车 则以下不能正确读入整个字符串: This is a string. 到字符数组 s中的语句组是_。(分数:1.00)A.i=0;while(c=getchar()!=“/n“)si+=c;B.gets(s);C.for(i=0;(c=getchar()!=“/n“;i+)si=c;D.scanf(“%s“,s); 解析:解析 在

    23、使用格式符“%s”进行字符串的输入时,空格和回车(Enter)会被读入,并且函数 scanf以它们作为分隔符停止一个字符串的输入,因此答案为 D选项。8.设 p1和 p2是指向一个 int型一维数组的指针变量,k 为 int型变量,则不能正确执行的语句是(分数:1.00)A.k=*p1+*p2B.p2=k; C.p1=p2;D.k=*p1*(*p2);解析:解析 本题主要考查了一维数组指针的赋值和用指针引用数组元素进行运算。选项 B)中 p2为指向 int型变量的指针,而 k为 int型变量,不能将 int型变量直接赋值给指向 int型变量的指针,所以选项 B)错误,应为 p2=82k。9.以

    24、下选项中可用做 C程序合法实数的是_。(分数:2.00)A.3.0e0.2B1e0 CE9D.9.12E解析:解析 A 选项中 E后面的指数必须为整数。C 语言规定,E 之前必须要有数字,所以 C选项错误。E后面必须要有数字,且必须为整数,所以 D选项错误。10.为了建立如下图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域)则在_处填入的选项是_。 struct linkchar data; _ node; (分数:1.00)A.struet link *next; B.link next;C.link *next;D.struct link next;解

    25、析:解析 存储结构用链式存储。链式结构每个节点有个指针域,指针域指向下一个链式结构的节点,因此指针域的结构应该是链式结构形式,因此应定义为 struet link*next,故答案为 A选项。struct 是结构体的说明符,不能省略。11.以下有 4组用户标识符,其中合法的一组是 _。(分数:2.00)A.For-subCaseB.4dDOSizeC.f2_G3IFabc D.WORDvoiddefine解析:解析 选项 A中有非法标识符-sub,选项 B中有非法标识符 4d,选项 D中有 C语言保留字 void。12.有以下程序 #includestdio.h #includestring.

    26、h main() char str20=“One*World“,“One*Dream!“),/p=str1; printf(“%d,“,strlen(p);printf(“%s/n“,p); 程序运行后的输出结果是_。(分数:4.00)A.10,One*Dream! B.9,One*Dream!C.9,One*WorldD.10,One*World解析:解析 p 是指向二维字符数组第二行 One*Dream!的数组指针,因此长度是 10,打印输出的也是该字符串。13.下面描述中,不属于软件危机表现的是_。(分数:2.50)A.软件过程不规范 B.软件开发生产率低C.软件质量难以控制D.软件成本

    27、不断提高解析:解析 软件危机的表现包括:对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势。14.以下程序的输出结果是 _ 。 #include stdio.h charcchar(char eh) if(ch=“A, for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag) if(aiaj) t=ai;ai=aj;aj=t; else if(aiaj) t=

    28、ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,4,1); fun(c+4,6,0); for(i=0;i10;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.7,8,9,10,6,5,4,3,2,1,B.10,9,8,7,6,5,4,3,2,1,C.10,9,8,7,1,2,3,4,5,6, D.1,2,3,4,5,6,7,8,9,10,解析:解析 fun()函数的作用是定义了冒泡法排序,flag 控制升序(0)或者降序(1),n 为参与排序的元素个数

    29、,a 为数组的起始地址。因此,fun(a,4,1)函数即将数组的前 4个数据降序排序,fun(a+4,6,0)函数是对数组的第 4项后的 6个元素进行升序排序。故结果为 10,9,8,7,1,2,3,4,5,6。答案为 C选项。18.在 Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。 解析:解析 鼠标拖动窗口的标题栏,能实现窗口的移动;拖边框,实现窗体的大小调整。19.有以下程序,程序中库函数“islower (ch)”用以判断 ch中的字母是否为小写字母 #in

    30、clude stdio.h #include ctype.h void fun(char *P) int i=0; while(pi) if(pi=“ i+; main() char s1100=“ab cd EFG!“; fun(s1); printf(“%s/n“,s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFG !B.Ab Cd EFg !C.aB cD EFG ! D.ab cd EFg !解析:解析 fun 函数将空格之前的小写字母修改为大写字母,所以答案选 C。20.以下程序中函数 reverse 的功能是将 a所指数组中的内容进行逆置。 void re

    31、verse(int a , int n) int i, t; 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)A.22 B.10C.34D.30解析:解析 本题考查的知识点是数组名作为函数参数及函数调用。reverse()数的功能是将具有 n个元素的数组 a反序存放。在主函数中调用语句是“reverse(b,

    32、8);”,实现的功能是把 b数组的前八个元素逆置,所以 b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for 循环了 4次,分别把b6、b7、b8和 b9的值(分别是 2、1、9、10)加到了 s中,s 的结果是 22,所以最后输出的 s值为22。所以 4个选项中 A正确。21.在下述程序中,判断 ij 共执行的次数是 _ 。 main() int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(“%d“,s);break; s+=i; (分数:2.00)A.4B.7C.5D.6 解析:解析 分析程序,i+=k:使得 i的值每次增

    33、加 2然后再和 j进行比较看 ij 是否成立,i 的变化过程为:i=2,i=4,i=6,i=8,i=10,i=12,此时 ij 成立,所以判断 ij 共执行的次数为 6次。22.以下叙述中错误的是_。(分数:2.50)A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值 D.当在程序的开头包含文件 stdio.h时,可以给指针变量赋 NULL解析:解析 指针变量的值只能是存储单元地址,而不能是一个整数,故选项 C错误。23.有以下程序: #includestdio.h #define S(x)4*(x)*x+1 main() int k=5,j

    34、=2; printf(“%d/n“,S(k+j); 程序的运行结果是_。(分数:2.00)A.33B.197C.143 D.28解析:解析 本题考查带参数的宏定义,S 为带参数的宏定义,运行 S(k+j)为 4*(k+j)*k+j+1=143,C 选项正确。24.设有宏定义: #define IsDIV(k,n)(k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) while(!(k0|n+); printf(“%d %d/n“,k,n); 程序运行后的输出结果是_。(分数:2.50)A.0 2B.1 3C.5 7D.1 2 解析:解析 在程序中整型变量 n的

    35、初始值等于 2,整型变量 k的初始值等于 1,在执行 while语句时,由于表达式 k的值大于 0为真,所以不再需要判断“n+”是否为真,“(k0|n+)”表达式的值为真。“!(k0|n+)”表达式的值为假,所以 while语句中的条件不满足,循环语句不会执行,变量 n的值也不会加 1,所在输出变量 k和 n的值是 1和 2。26.若打开一个新的文本文件 c.txt中的数据做读/写操作,则在“fp=fopen(“c.txt“,模式字符串);”中,模式字符串应当是_。(分数:2.00)A.“w+“ B.“r+“C.“a+“D.“r“解析:27.有以下程序: #defme P 3 void P(i

    36、nt x)return(p*x*x); main() pritnf(“%d/n“,F(3+5); 程序运行后的输出结果是( )。(分数:1.00)A.192B.29C.25D.编译出错 解析:解析 本题是一道陷阱题,考生如果没注意到 F()函数被定义为 void类型的话,很容易错选为选项 A,其实应该选择选项 D,编译出错。28.有如下程序段: int x=12; double y=3.141593; printf(“%d%8.6f“,x,y); 其输出结果是_。(分数:2.00)A.123.141593 B.123.141593C.12,3.141593D.123.1415930解析:解析

    37、printf 函数中格式字符“%8.6”的含义是:变量 y的输出宽度为 8(包括小数点),小数点后面保留 6位小数,且右对齐,当数值的实际宽度大于设定宽度时,按实际宽度输出,所以选择 A选项。29.有两个关系 R和 T如下: R A B C a 1 2 b 4 4 c 2 3 d 3 2 T A C a 2 b 4 c 3 d 2 则由关系 R得到关系 T的操作是_。(分数:1.00)A.选择B交C.投影 D并解析:解析 关系 T是由关系 R的第 1、3 列的元组组成,这是对关系 R进行投影运算的结果。可以简单理解为:选择运算是对行的操作,投影运算是对列的操作。30.设有宏定义: #defin

    38、e IsDIV(k,n) (k%n=1)?1:0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) do bi+=bi+1; while(+i2); main() int k, a5=1, 3, 5, 4, 9; fun(a); for(k=0; k5; k+)printf(“%d“, ak); (分数:2.50)A.13579B.48579C.48549 D.48999解析:解析 本题考查 do-while循环,在 fun函数中,首先定义了静态变量 i=0,do-while 循环要实现的功能是以 b0=b0+b1,b1=b1+b2,其他元素不变的规则重新给 b数组赋值。在主函数

    39、中,通过调用 fun函数,按上面的规则对数组 a重新赋值,最后输出数组 a。32.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar (“); putchar (“#“); (分数:2.50)A. # B. #C. #D. #解析:解析 本例考查 cuntinue语句的基本使用方法。在程序中,当 i%2为真时,执行输出语句,否则执行 continue语句,即开始 i+运算,进入下一次循环,即当 i是偶数时(i%2 为 0)无任何输出。3

    40、3.设有以下定义: union data int d1; float d2; demo; 则下面叙述中错误的是 _ 。(分数:1.00)A.变量 demo与成员 d2所占的内存字节数相同B.变量 demo中各成员的地址相同C.变量 demo和各成员的地址相同D.若给 demo.d1赋 99后,demo.d2 中的值是 99.0 解析:解析 本题中 float所占内存字节数为 4,而 int类型在 VC 6.0中占 4字节,所以 demo就与成员 d2所占字节数是相同的,选项 A的说法正确。联合体的所有成员的首地址都是相同的,和联合体变量的地址一致。故选项 B和 C都是正确的。由于 int类型数

    41、据和 float类型数据在内存中的存放格式是不一样的,所以给 d1赋 99后,d2 中不会得到 99.0这个值。故选项 D不正确,答案应该选择 D。34.若有以下定义,则对 a数组元素地址的正确引用是_。 int a5,*p=a;(分数:1.00)A.p+5B.*a+1C.double b;float c;char k;,则表达式 a/b+c-k的值的类型为_。(分数:1.00)A.intB.double C.floatD.char解析:解析 双目运算中两边运算量类型转换规则。 运算数 1 运算数 2 转换结果类型 短整型 整型 字符型 有符号整型 整型 长整型 长整型 整型 无符号整型 浮点型 短整型-长整型 整型-长整型 字符型-整型 有符号整型-无符号整型 整型-浮点型 在 a/b的时候,a、b 的类型不一致,根据类型转换规则,要把整型转换成 double类型,之后的加、减类似。转换规则 char,shortintunsignedlongdoublefloat。


    注意事项

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




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

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

    收起
    展开