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

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

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

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

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

    1、二级 C语言分类模拟题 519及答案解析(总分:58.50,做题时间:90 分钟)一、选择题(总题数:35,分数:58.50)1.有以下程序 #includestdio.h main() char a,b,c,d; scanf(“%c%c“, c=getchar();d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方式输入数据(从第 1列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.12 34B.12C.1234D.12 32.if语句的基本形式是:if(表达式)语句,以下关于“

    2、表达式”值的叙述中正确的是_。(分数:1.00)A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值3.有以下程序: #include stdio.h #define FNA(x) x*x #define FNB(x) x+z main() int a=2,b=4; printf(“%d,%d/n“,FNA(FNB(a),FNB(FNA(b); 程序运行后的输出结果是_。(分数:1.00)A.8,16B.16,32C.8,32D.16,164.以下程序的输出结果是_。 void fun(int*a, int i, int j) int t; if(ij) t=ai; ai=a

    3、j; aj=t; i+; j-; fun(a, i, j); main() int x=2, 6, 1, 8, i; fun(x, 0, 3); for(i=0; i4; i+) printf(“%2d“, xi); printf(“/n“); (分数:2.50)A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,25.以下关于 switch语句的叙述中正确的是_。(分数:1.00)A.所有 case的标号都应当是连续的B.每个 case语句标号后面可以没有 break语句C.char型常量不能做 case的标号使用D.default必须放在全部 case的最后6.按照 C语

    4、言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:2.00)A.大写字母B.下划线C.数字字符D.连接符7.有以下函数: fun(char * a,char * b) while(*a!=“/0“) printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b);(分数:2.00)A.1,2B.1,0C.3,2D.0,010.若有 char s34=“AAA“,“BBB“,“CCC“;说明语句,则与它等价的语句是_。(分数:2.00)A.char*s=“AAA“,“BBB“,“CCC“;B.char*s3=“AAA“,“BBB“,“CCC“;C.char s5=

    5、“AAA“,“BBB“,“CCC“;D.char s4=“AAA“,“BBB“,“CCC“;11.有以下程序: #includestdio.h void fun(int*a, int n)/*fun函数的功能是将 a所指数组元素从大到小排序*/ int t, i, j; for(i=0; in-1; j+) for(j=i+1; jn; j+) if(aiaj)t=ai; ai=aj; aj=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; fun(c+4, 6); for(i=0; i10; i+) printf(“%d, “, ci);

    6、printf(“/n“); 程序运行的结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,5,0,12.有以下程序 #includestdio.h void fun(char*p) +p; printf(“%s/n“,*p); main() char*a=“Morning“,“Afternoon“,“Evening“,“Night“); fun(a); 程序的运行结果是_。(分数:1.00)A.AfternoonB.fternoonC.MorningD

    7、.orning13.有以下程序: #include stdio.h main() int x=1, y=2, z=3; if(xy) if(yz) printf(“% d“, +z); else printf(“% d“, +y); printf(“% d/n“, x+); 程序的运行结果是_。(分数:1.00)A.331B.41C.2D.114.表达式 3.6-5/2+1.2+5%2的值是_。(分数:2.00)A.4.3B.4.8C.3.3D.3.815.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。(分数:2.50)A.逻辑设计B.需求分析C.详细设计D.物理设计1

    8、6.下列条件语句中,输出结果与其他语句不同的是_。(分数:1.00)A.if(a=0) printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0) printf(“%d/n“,y); else printf(“%d/n“,x);C.if(a!=0) printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a) printf(“%d/n“,x); else printf(“%d/n“,y);17.以下程序的输出结果是_。 #include stdio.h void prt (int *x,int *y,int *z) pr

    9、intf(“%d,%d,%d/n“,+*x,+*y,*(z+); main() int a=10,b=40,c=20; prt ( prt ((分数:2.50)A.11,42,3112,22,41B.11;41,2012,42,20C.11,21,4011,21,21D.11,41,2112,42,2218.有以下程序: main() int x=102,y=012; printf(“%2d,%2d/n“,x,y); 执行后输出结果是 _ 。(分数:1.00)A.10,01B.02,12C.102,10D.02,1019.有以下定义: int a; long b; double x,y; 则以

    10、下选项中正确的表达式是_。(分数:1.00)A.a%(int)(x-y)B.a=xyC.(a*y)%bD.y=x+y=x20.下列程序段的输出结果是 int n=“c“; switch(n+) default: printf(“error“);break; case “a“: case “A“: case “b“: case “B“: printf(“good“);break; case “c“: case “C“: printf(“pass“); case “d“: case “D“: printf(“warn“); (分数:1.00)A.passwarnB.passerrorC.goodp

    11、asswarnD.pass21.若有以下定义和语句: char s 10=“abcd!“, *s2=“/n123/“; printf(“%d %d/n“, strlen(s1), strlen(s2); 则输出结果是_。(分数:1.00)A.5 5B.10 5C.10 7D.5 822.有以下程序: #include stdio.h #define SUB(X,Y) (X+1)*Y main( ) int a=3,b=4; printf(“%d/n“,SUB(a+ +,b+ +); 程序运行后的输出结果是_。(分数:5.00)A.25B.20C.12D.1623.以下程序运行后的输出结果是_。

    12、 int d=1: fun(int p) static int d=5;d+=p; printf(“%d“,d);return d; main() int a=3;printf(“%d/n“,fun(a+fun(d);(分数:2.00)A.699B.669C.61515D.661524.以下程序运行后,输出结果是 ( ) fut(int * * s,int p23) * * sp11; main( ) int a 2 3 1, 3, 5, 7, 9, 11, * p; p=(int * )malloc (sizeof(int); fut( printf(“%d“,ab?a:dc?d:b);(分

    13、数:2.00)A.1B.3C.2D.427.有以下程序 #include stdio.h void main() char s=“01aXy“;int i,n=0; for(i=0;si!=0;i+) if(s i=“a“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:2.50)A.0B.2C.3D.528.在一个 C源程序文件中所定义的全局变量,其作用域为_。(分数:2.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围29.关系表中的每一横行称为个_。(分数:2.00)A.元组B.字段C.属性D码

    14、30.以下叙述中错误的是_。(分数:2.00)A.C语言源程序经编译后生成后缀为.obj 的目标程序B.C程序经过编译、连接步骤后才能形成一个真正可执行的二进制机器指令文件C.用 C语言编写的程序称为源程序,它以 ASC代码形式存放在一个文本文件中D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令31.已知 i、j、k 为血型变量,若要从键盘输入 2、3、4CR,使 i、j、k 的值分别为 2、 3、4,下列正确的输入语句是 _ 。(分数:1.00)A.scanf(“%3d,%3d,%3d“,B.scan(“%d,%d,%d“,C.scan(“%do/od%d“,D.sc

    15、anf(“i%d,j%d,k%d“,32.在以下一组运算中,优先级最高的运符算是 ( )(分数:1.00)A.B.C.%D. printf(“%d,“,b=a+b); printf(“%d/n“,a=2+b); 程序运行后的输出结果是_。(分数:1.00)A.0,0B.1,0C.3,2D.1,234.有以下程序: #include stdio.h main() FILE *fp; int i,a6=1,2,3,4,5,6,k; fp = fopen(“data.dat“,“w+“); fprintf(fp, “%d/n“, a0); for (i=1; i6; i+) fseek(fp, 0L

    16、, 0); fscanf(fp, “%d“, fseek(fp, 0L, 0); fprintf(fp, “%din“, ai+k); rewind(fp); fseanf(fp, “%d“, fclose(fp); printf(“%d/n“, k); 程序的运行结果是_。(分数:1.00)A.21B.6C.123456D.1135.两个或两个以上模块之间关联的紧密程度称为_。(分数:2.00)A.耦合度B.内聚度C.复杂度D.数据传输特性二级 C语言分类模拟题 519答案解析(总分:58.50,做题时间:90 分钟)一、选择题(总题数:35,分数:58.50)1.有以下程序 #includ

    17、estdio.h main() char a,b,c,d; scanf(“%c%c“, c=getchar();d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方式输入数据(从第 1列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.12 34B.12C.1234D.12 3 解析:解析 按照从键盘输入的数据可以判断字符 1赋给了变量 a,字符 2赋给了变量 b,字符CR即回车赋给了变量 c,字符 3赋给了变量 d。因此打印输出的结果为选项 D。2.if语句的基本形式是:if(表达式

    18、)语句,以下关于“表达式”值的叙述中正确的是_。(分数:1.00)A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值 解析:解析 if 语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以 D选项正确。3.有以下程序: #include stdio.h #define FNA(x) x*x #define FNB(x) x+z main() int a=2,b=4; printf(“%d,%d/n“,FNA(FNB(a),FNB(FNA(b); 程序运行后的输出结果是_。(分数:1.00)A.8,16B.16,32C.8,32 D.16,16解析:解析 带参数的宏定

    19、义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA(FNB(a)的替换过程为:FNA(2+2)替换为 2+22+2,计算结果为 8。FNB(FNA(b)的替换过程为:FNB(4*4)替换为 44+44=32。程序运行后的输出结果是 8,32,故 C选项正确。4.以下程序的输出结果是_。 void fun(int*a, int i, int j) int t; if(ij) t=ai; ai=aj; aj=t; i+; j-; fun(a, i, j); main() i

    20、nt x=2, 6, 1, 8, i; fun(x, 0, 3); for(i=0; i4; i+) printf(“%2d“, xi); printf(“/n“); (分数:2.50)A.1,2,6,8B.8,6,2,1C.8,1,6,2 D.8,6,1,2解析:解析 本题用了函数调用,fun 中 if语句成立则进行 i,j 的交换,用到主函数中则为把下标0、3,1、2 互换,因此,当执行完后 x的数组为 8,1,6,2,故选择 C选项。5.以下关于 switch语句的叙述中正确的是_。(分数:1.00)A.所有 case的标号都应当是连续的B.每个 case语句标号后面可以没有 break

    21、语句 C.char型常量不能做 case的标号使用D.default必须放在全部 case的最后解析:解析 switch 语句中,case 标号不需要是连续的,选项 A错误;每个 case语句标号后面可以没有 break语句,此时程序会接着执行下一个 case语句,选项 B正确;case 标号后必须是常量表达式,可以是整型、char 型、枚举型或常量表达式,选项 C错误;default 标号可以出现在 switch语句体中任何标号位置上,选项 D错误。故本题答案为 B选项。6.按照 C语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:2.00)A.大写字母B.下划线C.数字字符D

    22、.连接符 解析:解析 C 语言中的标识符由字母、下划线、数字组成,且开头必须是字母或下划线,所以 D选项中的连接符不合法。7.有以下函数: fun(char * a,char * b) while(*a!=“/0“) printf(“%d,“,b=a+b); printf(“%d/n“,a=2*b);(分数:2.00)A.1,2 B.1,0C.3,2D.0,0解析:解析 首先打印 b=a+b=1+0=1的值 1,此时已给 b赋值为 1。然后打印 a=2*b=2*1=2的值 2。所以结果是 1,2。10.若有 char s34=“AAA“,“BBB“,“CCC“;说明语句,则与它等价的语句是_。

    23、(分数:2.00)A.char*s=“AAA“,“BBB“,“CCC“;B.char*s3=“AAA“,“BBB“,“CCC“;C.char s5=“AAA“,“BBB“,“CCC“;D.char s4=“AAA“,“BBB“,“CCC“; 解析:11.有以下程序: #includestdio.h void fun(int*a, int n)/*fun函数的功能是将 a所指数组元素从大到小排序*/ int t, i, j; for(i=0; in-1; j+) for(j=i+1; jn; j+) if(aiaj)t=ai; ai=aj; aj=t; main() int c10=1, 2,

    24、3, 4, 5, 6, 7, 8, 9, 0, i; fun(c+4, 6); for(i=0; i10; i+) printf(“%d, “, ci); printf(“/n“); 程序运行的结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,5,0, 解析:解析 fun()函数的功能是对数组 a的元素从大到小进行排序。12.有以下程序 #includestdio.h void fun(char*p) +p; printf(“%s/n“,*p); m

    25、ain() char*a=“Morning“,“Afternoon“,“Evening“,“Night“); fun(a); 程序的运行结果是_。(分数:1.00)A.Afternoon B.fternoonC.MorningD.orning解析:解析 fun 函数将第二个字符串输出,所以输出 Afternoon,答案选择 A。13.有以下程序: #include stdio.h main() int x=1, y=2, z=3; if(xy) if(yz) printf(“% d“, +z); else printf(“% d“, +y); printf(“% d/n“, x+); 程序的运

    26、行结果是_。(分数:1.00)A.331B.41C.2D.1 解析:解析 该题目考查 if条件语句,else 语句和最近的一个 if语句配对。由于 xy 为假,所以直接执行最后一行代码。14.表达式 3.6-5/2+1.2+5%2的值是_。(分数:2.00)A.4.3B.4.8C.3.3D.3.8 解析:解析 计算 5/2,结果取整数值 2。计算 3.6-2,结果与高精度数据保持一致,即为 1.6。计算1.6+1.2,结果为 2.8。计算 5%2,结果为 1。计算 2.8+1结果为 3.8。所以选择 D选项。15.在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。(分数:2

    27、.50)A.逻辑设计B.需求分析 C.详细设计D.物理设计解析:解析 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。16.下列条件语句中,输出结果与其他语句不同的是_。(分数:1.00)A.if(a=0) printf(“%d/n“,x); else printf(“%d/n“,y); B.if(a=0) printf(“%d/n“,y); else printf(“%d/n“,x);C.if(a!=0) printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a) printf(“%d/n“

    28、,x); else printf(“%d/n“,y);解析:解析 若 a为 0,A 选项输出 x,其他输出 y,所以选择 A。17.以下程序的输出结果是_。 #include stdio.h void prt (int *x,int *y,int *z) printf(“%d,%d,%d/n“,+*x,+*y,*(z+); main() int a=10,b=40,c=20; prt ( prt ((分数:2.50)A.11,42,3112,22,41B.11;41,2012,42,20 C.11,21,4011,21,21D.11,41,2112,42,22解析:解析 本题考查的是函数参数的

    29、传递及自加运算符。主函数中第一次调用函数“prt(”,此函数中的输出语句“printf(“%d,%d,%d/n“,+*x,+*y,*(z+);”使得 a和 b的值均加 1,而“*(z+)”由于先执行“z+”所以 c的值不变;第二次调用函数“prt(”使得 a和 b在上一次的基础上再各自加 1(因为形参和实参进行的是地址传递),而 c的值仍不变。18.有以下程序: main() int x=102,y=012; printf(“%2d,%2d/n“,x,y); 执行后输出结果是 _ 。(分数:1.00)A.10,01B.02,12C.102,10 D.02,10解析:解析 x 的值为十进制数 1

    30、02,而 y的值为八进制数 012,根据题意将 y用十进制表示为10%md,m 为指定输出数据的宽度,若位数小于 m则左端补以空格,若位数大于 m则按实际输出。所以答案是 C。19.有以下定义: int a; long b; double x,y; 则以下选项中正确的表达式是_。(分数:1.00)A.a%(int)(x-y) B.a=xyC.(a*y)%bD.y=x+y=x解析:解析 C 语言中不存在运算符,B 错误;%两边必须都是整数,C 错误;x+y 不能出现在赋值号的左边,D 错误。20.下列程序段的输出结果是 int n=“c“; switch(n+) default: printf(

    31、“error“);break; case “a“: case “A“: case “b“: case “B“: printf(“good“);break; case “c“: case “C“: printf(“pass“); case “d“: case “D“: printf(“warn“); (分数:1.00)A.passwarn B.passerrorC.goodpasswarnD.pass解析:解析 本题的考查点是 switch()语句。当用户输入的字符时,会进入一个多分支选择语句,根据n的值,来确定下一步执行的选择语句;最后的结果应当为 passwarn。本题需要注意的是,当 ca

    32、se语句没有跟随 break语句时,不会跳出 switch,而是继续执行下一个 case语句,直至遇到 break语句。21.若有以下定义和语句: char s 10=“abcd!“, *s2=“/n123/“; printf(“%d %d/n“, strlen(s1), strlen(s2); 则输出结果是_。(分数:1.00)A.5 5 B.10 5C.10 7D.5 8解析:解析 /n 和/分别为转义字符,各占据一个字符的位置。22.有以下程序: #include stdio.h #define SUB(X,Y) (X+1)*Y main( ) int a=3,b=4; printf(“

    33、%d/n“,SUB(a+ +,b+ +); 程序运行后的输出结果是_。(分数:5.00)A.25B.20C.12D.16 解析:解析 本题考查宏定义。宏定义只是做简单的替换,+运算符是先使用后自增 1,所以语句SUB(a+,b+)=(a+ +1)*b+(a+1)*b+=(3+1)*4=16,选项 D正确。23.以下程序运行后的输出结果是_。 int d=1: fun(int p) static int d=5;d+=p; printf(“%d“,d);return d; main() int a=3;printf(“%d/n“,fun(a+fun(d);(分数:2.00)A.699B.669C

    34、.61515 D.6615解析:解析 静态局部变量在编译时赋初值,即只赋初值一次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。 本题在程序开头定义了全局变量 d并赋初值 1,在被调函数 fun()中,定义了静态局部变量 d,初值为 5。在第一次调用函数 fun时,d 初值为 5,P 由主函数传递过来的值为 1,则 d=d+p=5+1=6,由于 d是静态局部变量,在函数调用结束后,它仍保留 d=6。再次调用 fun函数,d 的初值为 6,而由

    35、主函数传递的 p的值为 9,则此时 d=d+p=6+9=15,最后打印输出 d的值并返回主函数。24.以下程序运行后,输出结果是 ( ) fut(int * * s,int p23) * * sp11; main( ) int a 2 3 1, 3, 5, 7, 9, 11, * p; p=(int * )malloc (sizeof(int); fut( printf(“%d“,ab?a:dc?d:b);(分数:2.00)A.1 B.3C.2D.4解析:27.有以下程序 #include stdio.h void main() char s=“01aXy“;int i,n=0; for(i=

    36、0;si!=0;i+) if(s i=“a“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:2.50)A.0 B.2C.3D.5解析:解析 这段程序的功能求出字符串 s中字符的 ASCII码小于小写字符 a并且大于小写字符 z的字符的个数。因为小写字符 z的 ASCII码大于小写字符 a的 ASCII码,所以满足 a的 ASCII码并且大于 z的 ASCII码的字符是不存在的,所以输出 0。28.在一个 C源程序文件中所定义的全局变量,其作用域为_。(分数:2.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明

    37、来决定范围 解析:解析 全局变量是在函数外部定义的,它的作用域是从变量的定义位置开始,到本程序文件的末尾。对于多文件构成的程序,若使用 extern来声明全局变量,则可以在一个文件中引用另一个文件中的全局变量。故本题答案为 D。29.关系表中的每一横行称为个_。(分数:2.00)A.元组 B.字段C.属性D码解析:解析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。30.以下叙述中错误的是_。(分数:2.00)A.C语言源程序经编译后生成后缀为.obj 的目标程序B.C程序经过编译、连接步骤后才能形成一个真正

    38、可执行的二进制机器指令文件C.用 C语言编写的程序称为源程序,它以 ASC代码形式存放在一个文本文件中D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 解析:解析 C 语言程序编译时,每条可执行语句将转换为二进制的机器指令,非执行语句如注释语句等不被编译。31.已知 i、j、k 为血型变量,若要从键盘输入 2、3、4CR,使 i、j、k 的值分别为 2、 3、4,下列正确的输入语句是 _ 。(分数:1.00)A.scanf(“%3d,%3d,%3d“,B.scan(“%d,%d,%d“, C.scan(“%do/od%d“,D.scanf(“i%d,j%d,k%d“,解

    39、析:解析 函数 scan()的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符:“输入项地址表”是要输入的变量的地址。 若在格式符中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符,其中的逗号也必须输入。32.在以下一组运算中,优先级最高的运符算是 ( )(分数:1.00)A.B.C.% D. printf(“%d,“,b=a+b); printf(“%d/n“,a=2+b); 程序运行后的输出结果是_。(分数:1.00)A.0,0B.1,0C.3,2D.1,2 解析:解析 本题输出两个值:第一个 printf语句输出 b的值,b=a

    40、+b=1;第二个 printf语句输出了 a的值,a=2+b,此时 b的值为 1,所以 a的值为 2。34.有以下程序: #include stdio.h main() FILE *fp; int i,a6=1,2,3,4,5,6,k; fp = fopen(“data.dat“,“w+“); fprintf(fp, “%d/n“, a0); for (i=1; i6; i+) fseek(fp, 0L, 0); fscanf(fp, “%d“, fseek(fp, 0L, 0); fprintf(fp, “%din“, ai+k); rewind(fp); fseanf(fp, “%d“,

    41、fclose(fp); printf(“%d/n“, k); 程序的运行结果是_。(分数:1.00)A.21 B.6C.123456D.11解析:解析 fopen 函数以一定方式打开指定文件,返回一个指向文件的文件指针。如果不能实现打开指定文件的操作,则返回一个空指针 NULL。fscanf 函数从文本文件中按格式输入。fprintf 函数按照格式向文本文件中输出数据。文件定位函数 fseek,将指针由文件开头 0、当前位置 1、末尾 2移动指定字节。rewind 函数功能使文件的位置指针返回到文件头。本例中,循环实现的功能是求数组的和。程序执行过程为:以读/写方式建立一个新的文本文件 data.dat,将 1写入文件;执行 for循环,将文件指针移到文件开头,将文件第一个数值 1赋给 k,再将指针移动到开头,向文件内输入 ai+k=3。for 循环实现将 a数组中元素累加,结果 21存放在文件中。调用 rewind将文件指针移动到开头,调用 fscanf函数从文件中读出数值赋予 k=21,调用 fclose函数关闭文件,打印 k值,故 A选项正确。35.两个或两个以上模块之间关联的紧密程度称为_。(分数:2.00)A.耦合度 B.内聚度C.复杂度D.数据传输特性解析:解析 耦合度是模块间互相连接的紧密程度。


    注意事项

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




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

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

    收起
    展开