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

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

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

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

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

    1、二级 C 语言模拟 647 及答案解析(总分:128.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.50)1.以下不能输出字符 A 的语句是_(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为 97)。(分数:1.00)A.printf(“%c/n“,65);B.printf(“%c/n“,“a“-32);C.printf(“%d/n“,“A“);D.printf(“%c/n“,“B“-1);2.有以下程序 #includestdio.h struct S int a,b;data2=10,100,20,200; main() struct S

    2、p=data1; printf(“%d/n“,+(p.a); 程序运行后的输出结果是_。(分数:2.00)A.21B.11C.20D.103.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构4.下面不能作为软件设计工具的是_。(分数:1.00)A.PAD 图B.程序流程图C.数据流程图(DFD 图)D.总体结构图5.有以下程序: #includestdio.h main() int a=2, b=-1, c=2; if(ab) if(b0)c=0; else c+

    3、=1; printf(“%d/n“, c); 程序的输出结果是_。(分数:2.50)A.0B.1C.2D.36.有以下程序段 # include stdio.h main() while(getchar()!=“/n“); (分数:1.00)A.此 while 语句将无限循环B.getchar()不可以出现在 while 语句的条件表达式中C.当执行此 while 语句时,只有按回车键程序才能继续执行D.当执行此 while 语句时,按任意键程序就能继续执行7.有以下程序: #includestdio.h main() int a5=1, 2, 3, 4, 5, b5=0, 2, 1, 3,

    4、0, i, s=0; for(i=0; i5; i+) s=s+abi; printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.6B.10C.11D.158.已知:int a=6;,则执行 a+=a-=a*a;语句后,a 的值为_。(分数:2.00)A.36B.0C.-24D.-609.函数 ftell(fp)的作用是_。(分数:2.00)A.得到 fp 所指向文件的当前读写位置B.初始化文件的位置指针C.移动文件的位置指针D.以上答案均正确10.有以下程序: #includestdio.h main() int aa33=2, 4, 6, i, *p= for

    5、(i=0; i2; i+) if(i=0)aaii+1=*p+1; else+p; printf(“%d“, *p); printf(“/n“); 程序的输出结果是(分数:1.00)A.23B.26C.33D.3611.公司的开发人员可以同时参加多个项目的开发,则实体开发人员和实体项目间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多12.有以下程序 main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2)continue; x+; x+; printf(“x=%d/n“,x); 程序执行后的输出结果是(

    6、分数:2.00)A.x=4B.x=8C.x=6D.x=1213.有三个关系 R、S 和 T 如下: (分数:1.00)A.自然连接B交C除D并14.有以下程序 #includestdio.h struct ord int x,y;dt2=1,2,3,4; main() struct ord*p=dt; printf(“%d,“,+(p-x); printf(“%d/n“,+(p-y); 程序运行后的输出结果是_。(分数:2.00)A.2,3B.4,1C.3,4D.1,215.有以下程序: #includestdio.h struct ttint x;struct tt*y;*p; struct

    7、 tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i=2;i+) printf(“%d,“,p-x); p=p-y; 程序的运行结果是_。(分数:2.00)A.20,30,B.30,17C.15,30,D.20,15,16.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 码是 97),则执行下列语句后输出的结果为 _ 。 ch=“b“; k=10; printf(“%x,%o,“,ch,ch,k); printf(“k=%d/n“,k);(分数:2.00)A.因变量类型与格式描述符的类

    8、型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%dD.62,142,k=%1017.有以下程序: #include stdio.h main( ) char c25=“6934“,“8254“,*p2; int i,j,s=0; for(i=0;i2;i+)pi=ci; for(i=0;i2;i+) for(j=0;pij0 j+=2) s=10*s+pij-“0“; printf(“%d/n“,s); 程序的输出结果是_。(分数:1.00)A.693825B.69825C.63825D.638518.当执行以下程序时,如果输入 ABC,则输出

    9、结果是_。 #include stdio.h #include string.h main() char ss10=“1,2,3,4,5“; gets(ss); strcat(ss, “6789“); printf(“% s/n“, ss); (分数:1.00)A.ABC6789B.ABC67C.12345ABC6D.ABCA5678919.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合20.在 C 语言中,函数调用时_。(分数:2.00)A.实参和形参各占独立的存储单元B.实参和形参共用存储单元C.由系统自动确定实参和形参

    10、是否共用存储单元D.由用户指定实参和形参是否共用存储单元21.有以下程序: #includestdio.h main() int c; while(c=getchar _ )!=“/n“) switch(c-“2“) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; printf(“/n“); 从第一列开始输入以下数据,代表一个回车符。 27 43 程序的输出结果是 _ 。(分数:2.00)A.66877B.678966C.6677877

    11、D.668876622.已知小写母 a 的 ASCII 码为 97,大写字母 A 的 ASCII 码为 65,以下程序的结果是_。 main() unsigned int a=32,b=66; printf(“%c/n“,a|B) ; (分数:1.00)A.66B.98CbDB23.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_B.8_8C.voidD.unsigned24.当用户要求输入的字符串中含有空格时,应使用的输入函数是 _ 。(分数:2.00)A.scanf()B.getchar()C.gets()D.getc()25.以下叙述中正确的是_。(分数:2.00)A.i

    12、nt * p1; int * * p2; int *p3;都是合法的定义指针变量的语句B.指针变量只能通过求地址运算符(与 p=/0;是等价的语句D.语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元26.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构27.有以下程序: #include stdio.h #include string.h typedef struct char name9; char sex; int score2; STU; S

    13、TU f(STU a) STU b=“Zhao“,“m“,85,90; int i; strcpy(a.name, b.name); a.sex=b.sex; for (i=0; i2; i+) a.scorei=b.scorei; return a; main( ) STU c=“Qian“,“f“,95,92,d; d=f(c); printf(“%s,%c,%d,%d,“,d.name,d.sex, d.score0, d.score1); printf(“%s,%c,%d,%d/n“, c.name,c.sex, c.score0, c.score1); 程序运行后的输出结果是_。(分

    14、数:2.00)A.Zhao,m,85,90, Qian,f,95,92B.Zhao,m,85,90, Zhao,m,85,90C.Qian,f,95,92, Qian,f,95,92D.Qian,f,95,92, Zhao,m,85,9028.若有以下程序: #include stdio.h main( ) int i,j; for(i=1; i4; i + +) for(j=i; j4; j + +) pfinff(“%d*%d=%d“,i,j,i*j); printf(“/n“); 则程序运行后的输出结果是_。(分数:2.50)A.1*1=1 1*2=2 1*3=32*2=4 2*3=63

    15、*3=9B.1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3C.1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D.1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=929.有下列函数: int fun(char*s) char*t=s; while(*t+); return(t-s); 该函数的功能是 _ 。(分数:2.00)A.比较两个字符串的大小B.计算 s 所指字符串占用内存字节的个数C.计算 s 所指字符串的长度D.将 s 所指字符串复制到字符串 t 中30.以下选项中不合法的用户标识符是(分数:2.00)A.abc.cB.fileC

    16、.MainD.PRINTF31.下列叙述中错误的是(分数:2.00)A.在程序中凡是以“#”开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.C 程序对预处理命令行的处理是在程序执行的过程中进行的32.有以下程序 #includestdio.h int fun(int(*s)4, int n, int k) int m, i; m=s0k; for(i=1; in; i+) if(sikm) m=sik; return m; main() int a44=1, 2, 3, 4, 11, 12, 13, 14, 21, 22,

    17、 23, 24, 31, 32, 33, 34; printf(“%d/n“, fun(a, 4, 0); 程序的运行结果是_。(分数:2.00)A.31B.34C.4D.3233.设有以下定义: int a=0;double b=1.25;char c=“A“; #define d 2 则下面语句中错误的是 _ 。(分数:2.00)A.a+;B.b+;C.c+;D.d+;34.有以下程序: #includestdio.h int a5=7,10,3; int n=3; int *p=a; void main() int i; int a2=1,0; for(i=0;ai;i+) printf

    18、(“%4d“,ai); for(i=0;ai;i+) int a3=100,200,300; printf(“%4d“,ai); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.1 100B.1 0 100 200 300C.1 100 200 300D.1 100 20035.以下叙述中错误的是_。(分数:1.00)A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数36.函数 rewind(fp)的作用是_。(分数:1.00)A

    19、.函数 rewind(fp)的作用是使文件读写指针指向文件开始位置B.使文件位置指针指向文件的末尾C.使文件位置指针移至前一个字符的位置D.使文件位置指针移至下一个字符的位置37.经下列语句定义后,sizeof(x)、sizeof(y)、sizeof(a)、sizeof(b)在 IBM-PC 机上的值分别为_。 char x=65; float y=7.3; int a=100; double b=4.5;(分数:2.00)A.2,2,2,4B.1,2,2,4C.1,4,2,8D.2,4,2,838.有以下程序 #includestdio.h main() int i,j,m=55; for(

    20、i=1;i=3;i+) for(j=3;j=i;j+)m=m%j; printf(“%d/n“,m); 程序的运行结果是_。(分数:1.00)A.0B.1C.2D.339.以下选项中叙述正确的是_。(分数:1.00)A.char c1,c2,*c3,c440j;是合法的变量定义语句B.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式C.数组下标的下限可以是负值D.若有数组定义 float array4;则语句 printf(“%f“,array3.12);是合法的40.算法时间复杂度的度量方法是_。(分数:1.00)A.算法程序的长度B.执行算法所需要的基本运算次数C.执行算法所需要

    21、的所有运算次数D.执行算法所需要的时间二、程序填空题(总题数:1,分数:18.00)41.请补充函数 proc(),其功能是:计算并输出给定 10 个数的方差。 例如,给定的 10 个数为 12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includemath.h double proc(double x10) int i; double a

    22、vg=0.0; double sum=0.0; double abs=0.0; double sd; for(i-0; i10; i+) 1; avg=sum/10; for(i=0; i10; i+) 2; sd= 3; return sd; void main() double s, str10=12.0, 9.0, 26.0, 5.0, 6.0, 31.0, 9.0, 3.0, 8.0, 18.0; int i; printf(“/nThe original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, stri); printf(“/

    23、n/n“); s=proc(str); printf(“s=%f/n/n“, s); (分数:18.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:将 P 所指字符串中的所有字符复制到 b 中,要求每复制三个字符之后插入一个空格。 例如,若给 a 输入字串:ABCDEFGHIJK,调用函数后,字符数组 b 中的内容为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1.C 中,不得增行或删行,也不得更改程序的结构! #includestdio.h void fun(char *p,cha

    24、r *b) int i,k=0; while(*p) i=1; while(i=3 k+;p+;i+; if(*p) /*found*/ bk+=“ “; bk=“/0“; main() char a80,b80; printf(“Enter a string:“);gets(a); printf(“The original string:“);puts(a); fun(a,b); printf(“/nThe string after insert space:“);puts(b);printf(“/n/n“); (分数:18.00)_四、程序设计题(总题数:1,分数:30.00)43.编写函

    25、数 fun(),其功能是计算: (分数:30.00)_二级 C 语言模拟 647 答案解析(总分:128.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.50)1.以下不能输出字符 A 的语句是_(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为 97)。(分数:1.00)A.printf(“%c/n“,65);B.printf(“%c/n“,“a“-32);C.printf(“%d/n“,“A“); D.printf(“%c/n“,“B“-1);解析:解析 %d 输出整数,所以选择 C。2.有以下程序 #includestdio.h struct

    26、 S int a,b;data2=10,100,20,200; main() struct S p=data1; printf(“%d/n“,+(p.a); 程序运行后的输出结果是_。(分数:2.00)A.21 B.11C.20D.10解析:解析 声明 data 是结构体型 S 的数组。初始化时 data0.a=10; data0.b=100;data1.a=20;data1.b=200。主函数中 p=data1 ; 即 p.a=data1.a;p.b=data1.b;执行语句printf(“%dn“,+(p.a); 打印输出时 p.a 先增 1 再打印。即 p.a = data1.a=20,

    27、先增 1 等于 21,因此程序运行结果是 21。3.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构 C.循环链表是非线性结构D.双向链表是非线性结构解析:解析 线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,B 选项正确,所以有一个以上根结点的数据结构一定是非线性结构,A 选项错误。循环链表和双向链表都是线性结构的数据结构,所以 C、D 选项错误。4.下面不能作为软件设计工具的是_。(分数:1.00)A.PAD 图B.程序流程图C.数据流程图(DFD 图) D.总体结构图解析:解

    28、析 软件设计常用的工具有:图形工具,如程序流程图、N-S 图、PAD 图、HIPO;表格工具,如判定表;语言工具,如 PDL(伪码)。另外,在结构化设计方法中,常用的结构设计工具是结构图,故选择C 选项。5.有以下程序: #includestdio.h main() int a=2, b=-1, c=2; if(ab) if(b0)c=0; else c+=1; printf(“%d/n“, c); 程序的输出结果是_。(分数:2.50)A.0B.1C.2 D.3解析:解析 因为 a=2,b=-1,f(ab)中 ab 为假,便不执行下面的 ifelse,直接运行printf(“%d/n“, c

    29、);输出结果是 2。因此正确选项为 C。6.有以下程序段 # include stdio.h main() while(getchar()!=“/n“); (分数:1.00)A.此 while 语句将无限循环B.getchar()不可以出现在 while 语句的条件表达式中C.当执行此 while 语句时,只有按回车键程序才能继续执行 D.当执行此 while 语句时,按任意键程序就能继续执行解析:解析 主要是考查 while 和 getchar 函数,getchar 函数是输入字符函数,while 是循环语句,所以当输入的字符为换行符时将执行。7.有以下程序: #includestdio.h

    30、 main() int a5=1, 2, 3, 4, 5, b5=0, 2, 1, 3, 0, i, s=0; for(i=0; i5; i+) s=s+abi; printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.6B.10C.11 D.15解析:解析 本题考查数组的使用。本题定义了两个数组,注意数组的下标是从 0 开始的,进行第 1 次for 循环:当 i=0 时,b0为数组 b 中第 1 个元素,结果为 0,那么 a0也是数组 a 中第 1 个元素,结果为 1,所以 s 的值为 1。第 2 次循环:i 此时自加为 1,b1为数组的第 2 个元素,值为 2

    31、,所以可求出a2(数组中的第 3 个元素)的值为 3,s=s+3,所以 s 的值为 4。进入第 3 次 for 循环,依此类推,第 3次 for 循环结束时 s 的值为 6。第 4 次 for 循环,s 的值变为 10。第 5 次 for 循环时,此时 i 的值为4,s 的值变为 11,i=5 不符合题意,所以跳出循环,输出结果,所以本题答案为 C。8.已知:int a=6;,则执行 a+=a-=a*a;语句后,a 的值为_。(分数:2.00)A.36B.0C.-24D.-60 解析:9.函数 ftell(fp)的作用是_。(分数:2.00)A.得到 fp 所指向文件的当前读写位置 B.初始化

    32、文件的位置指针C.移动文件的位置指针D.以上答案均正确解析:10.有以下程序: #includestdio.h main() int aa33=2, 4, 6, i, *p= for(i=0; i2; i+) if(i=0)aaii+1=*p+1; else+p; printf(“%d“, *p); printf(“/n“); 程序的输出结果是(分数:1.00)A.23 B.26C.33D.36解析:11.公司的开发人员可以同时参加多个项目的开发,则实体开发人员和实体项目间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多 解析:解析 开发人员可以参加多个项目,而项目开发人

    33、员不止一个,那么开发人员和项目之间是多对多关系。故答案为 D 选项。12.有以下程序 main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2)continue; x+; x+; printf(“x=%d/n“,x); 程序执行后的输出结果是(分数:2.00)A.x=4B.x=8 C.x=6D.x=12解析:解析 此程序考查了 for 循环和 x+。对于大循环,有两个 x+,其中循环 3 次,对于小循环,循环三次,但是运行了两次 x+,所以最后结果是 6+2=8。13.有三个关系 R、S 和 T 如下: (分数:1.00)A.自

    34、然连接B交C除 D并解析:解析 由图可知,其中 C 中只有一个属性,是除操作。14.有以下程序 #includestdio.h struct ord int x,y;dt2=1,2,3,4; main() struct ord*p=dt; printf(“%d,“,+(p-x); printf(“%d/n“,+(p-y); 程序运行后的输出结果是_。(分数:2.00)A.2,3 B.4,1C.3,4D.1,2解析:解析 p-x 为 1, p-y 值为 2,前置自增表达式分别为 2,3,所以选择 A。15.有以下程序: #includestdio.h struct ttint x;struct

    35、tt*y;*p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i=2;i+) printf(“%d,“,p-x); p=p-y; 程序的运行结果是_。(分数:2.00)A.20,30,B.30,17C.15,30,D.20,15, 解析:解析 本题考查结构体变量的引用以及结构体数组。p 指向 a 数组的第一个元素,所以 p-x 为20,然后 p=p-y 后,p 指向数组 a 的第二个元素,所以输出 15,选项 D 正确。16.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASC

    36、II 码是 97),则执行下列语句后输出的结果为 _ 。 ch=“b“; k=10; printf(“%x,%o,“,ch,ch,k); printf(“k=%d/n“,k);(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%d D.62,142,k=%10解析:解析 第 1 个 printf 函数,格式说明的个数是 2,而输出项的个数是 3,所以对于多余的输出项k 不予输出;第 2 个 printf 函数,有两个%说明,第 1 个%后面的字符要原样输出。 知识拓展 本题考查 printf 函数的格

    37、式。 “%x”和“%o”分别表示以十六进制和八进制无符号型输出整型数据(不带前导 0x 或 0):printf 函数中格式说明符之前插入的任何字符都原样输出:格式说明与输出项的个数也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。17.有以下程序: #include stdio.h main( ) char c25=“6934“,“8254“,*p2; int i,j,s=0; for(i=0;i2;i+)pi=ci; for(i=0;i2;i+) for(j=0;pij0 j+=2) s=10*s+pij-“0“; printf(“%d/n“,s); 程序的输出结果是

    38、_。(分数:1.00)A.693825B.69825C.63825D.6385 解析:解析 本题的意图在于将 c 中两个字符串的偶数位置的数字组成一个新数,找到的 4 个数字分别为 6、3、8、5,组成的数为 6385,所以答案为 D 选项。18.当执行以下程序时,如果输入 ABC,则输出结果是_。 #include stdio.h #include string.h main() char ss10=“1,2,3,4,5“; gets(ss); strcat(ss, “6789“); printf(“% s/n“, ss); (分数:1.00)A.ABC6789 B.ABC67C.12345

    39、ABC6D.ABCA56789解析:19.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为 B。20.在 C 语言中,函数调用时_。(分数:2.00)A.实参和形参各占独立的存储单元 B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元解析:21.有以下程序: #includestdio.h main() int c; while

    40、(c=getchar _ )!=“/n“) switch(c-“2“) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; printf(“/n“); 从第一列开始输入以下数据,代表一个回车符。 27 43 程序的输出结果是 _ 。(分数:2.00)A.66877 B.678966C.6677877D.6688766解析:解析 本题主要考查了字符输入输出函数 getchar 和 putchar 的使用。getchar 函数用来从标准输入设备

    41、上读入一个字符,putchar(c)函数是将字符变量 c 中的字符输出到标准输出设备上,并且字符可以看作整数参与运算。22.已知小写母 a 的 ASCII 码为 97,大写字母 A 的 ASCII 码为 65,以下程序的结果是_。 main() unsigned int a=32,b=66; printf(“%c/n“,a|B) ; (分数:1.00)A.66B.98Cb DB解析:解析 位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有一个为 1,该位的结果值为 1。最后以字符型输出,98 对应的字符“b” 23.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_ B

    42、.8_8C.voidD.unsigned解析:解析 C 语言中标识符由字母、下划线或数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。B 选项中以数字 8 开头,所以错误。C 与 D 中用的是关键字 void 与 unsigned,因此错误。故本题答案为 A。24.当用户要求输入的字符串中含有空格时,应使用的输入函数是 _ 。(分数:2.00)A.scanf()B.getchar()C.gets() D.getc()解析:解析 本题考查的知识点是:输入函数。C 语言提供了许多输入函数,其中有:qecchar(输入字符)、scanf(格式输入)和 gecs(输入字符串)等。题目要求

    43、输入的是字符串,所以可以排除 getchar,而且要求输入的字符串中包含空格,而 scanf 函数默认将输入的空格字符作为分隔符,所以空格不会被输入,故可排除 scanf。getc 的作用是从文件中输入一个字符,故也不可取。aecs 函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择 C)。25.以下叙述中正确的是_。(分数:2.00)A.int * p1; int * * p2; int *p3;都是合法的定义指针变量的语句 B.指针变量只能通过求地址运算符(与 p=/0;是等价的语句D.语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元解析:解析 B 选项描述不

    44、正确,指针变量可以通过求地址运算符(等价;D 选项中,语句 p=NULL;执行后,指针 p 并不是指向地址为 0 的存储单元,而是具有一个确定的值-“空”。因此 A选项正确。26.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构 C.循环链表是非线性结构D.双向链表是非线性结构解析:解析 线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,因此 B 正确。因为有一个以上根结点的数据结构一定是非线性结构,所以 A 错误。循环链表和双向链表都是线性结构的数据结构。27.有以下程序: #in

    45、clude stdio.h #include string.h typedef struct char name9; char sex; int score2; STU; STU f(STU a) STU b=“Zhao“,“m“,85,90; int i; strcpy(a.name, b.name); a.sex=b.sex; for (i=0; i2; i+) a.scorei=b.scorei; return a; main( ) STU c=“Qian“,“f“,95,92,d; d=f(c); printf(“%s,%c,%d,%d,“,d.name,d.sex, d.score0

    46、, d.score1); printf(“%s,%c,%d,%d/n“, c.name,c.sex, c.score0, c.score1); 程序运行后的输出结果是_。(分数:2.00)A.Zhao,m,85,90, Qian,f,95,92 B.Zhao,m,85,90, Zhao,m,85,90C.Qian,f,95,92, Qian,f,95,92D.Qian,f,95,92, Zhao,m,85,90解析:解析 本题考查的是函数调用时的参数传递问题。程序在调用函数 f 时,传给函数 f 的参数只是结构变量 c 在栈中的一个副本,函数 f 所做的所有操作只是针对这个数据副本进行的修改,这些都不会影响变量 c


    注意事项

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




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

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

    收起
    展开