【计算机类职业资格】二级C语言模拟653及答案解析.doc
《【计算机类职业资格】二级C语言模拟653及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟653及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言模拟 653及答案解析(总分:160.50,做题时间:90 分钟)一、选择题(总题数:40,分数:60.50)1.有以下程序(strcat 函数用以连接两个字符串) # include stdio.h # include string.h main() char a20=“ABCD/0EFG/0“ ,b=“IJK“; strcat(a,b);printf(“%s/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.ABCDE/0FG/0IJKB.ABCDIJKC.IJKD.EFGIJK2.以下 for循环体的执行次数是_。 #include stdio.h main()
2、int i, j; for(i=0, j=i; i=j+1; i+ =2, j-)printf(“% d/n“, i); (分数:2.50)A.3B.2C.1D.03.有以下程序: #include stdio.h main() int*p,x=100; p=x=*p+10; printf(“%d/n“,x); 程序运行后的输出结果是_。(分数:1.00)A.110B.120C.100D.904.有下列程序: main() int k=5; while(-k) printf(“%d“,k=1); printf(“/n“); 执行后的输出结果是_。(分数:1.00)A.1B.2C.4D.死循环5
3、.有以下程序: #includestdio.h #includestring.h struct A int a; char b10; double c; ; void f(struct A t); main() struct A a=1001,“ZhangDa“,1098.0; f(a); printf(“%d,%s,%6.lf/n“,a.a,a.b,a.c); void f(struct A t) t.a=1002; strcpy(t.b,“ChangRong“); t.c=1202.0; 程序运行后的输出结果是_。(分数:1.00)A.1002,ZhangDa,1202.0B.1002,C
4、hangRong,1202.0C.1001,ChangRong,1098.0D.1001,ZhangDa,1098.06.以下程序段完全正确的是_。(分数:1.00)A.int*p;scanf(“%d“,B.int*p;scanf(“%d“,p);C.int k,*p=scanf(“%d“,p);D.int k,*p;*p=scanf(“%d“,p);7.下列关于信息系统的叙述中,错误的是_。(分数:2.50)A.广播电视是一种双向的、点到多点的信息交互系统B.网络聊天是一种双向的、以信息交互为主要目的的系统C.电话是一种双向的、点对点的、以信息交互为主要目的的系统D.雷达是一种以感测和识别为
5、主要目的的系统8.以下叙述中正确的是_。(分数:2.50)A.关系运算符两边的运算对象可以是 C语言中任意合法的表达式B.在 C语言中,逻辑真值和假值分别对应 1和 0C.对于浮点变量 x和 y,表达式:x=y 是非法的,会出编译错误D.分支结构是根据算术表达式的结果来判断流程走向的9.下列程序输出结果是_。 #includestdio.h main() char a=“a“, “b“, “c“, “d“, “e“, “f“, “/0“; int i, j; i=sizeof(a); j=strlen(a); printf(“%d, %d“, i, j); (分数:2.50)A.7,7B.7,
6、6C.6,6D.6,710.有以下程序: #includestdio.h main() int a=1,b=2,c=3,x; x=(ab) printf(“%d/n“,x); 程序运行后的输出结果是_。(分数:1.00)A.3B.1C.2D.011.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合12.若有以下程序段: double x=5.16894; printf(“%f/n“,(int)(x*1000+0.5)/(double)1000); 则程序段的输出结果是_。(分数:1.00)A.5.170000B.5.17500
7、0C.5.169000D.5.16800013.设有定义 int k=1,m=2;float f=7;,则以下选项中错误的表达式是 _。(分数:1.00)A.k=k=kB.-k+C.k%int(f)D.k=fm14.程序中对 fun函数有如下说明: void * fun(); 此说明的含义是_。(分数:2.00)A.fun函数无返回值B.fun函数的返回值可以是任意的数据类型C.fun函数的返回值是无值型的指针类型D.指针 fun指向一个函数,该函数无返回值15.设有以下说明和语句:int x34,(*p)4;p=a;,则与表达式*(* p+2)等价的选项是_。(分数:1.00)A.a02B.
8、*(a+2)0C.(*a+2)0D.a2016.下面属于黑盒测试方法的是_。(分数:1.00)A.基本路径测试B.等价类划分C.判定覆盖测试D.语句覆盖测试17.以下程序依次把从终端输入的字符存放到 f文件中,用#作为结束输入的标识,则在横线处应填入的是_。 #includestdio.h main() FILE*fp; char ch; fp=fopen(“fname“,“w“); while(ch=getchar()!=“#“)fputc(_); fclose(fp); (分数:1.00)A.ch,“fname“B.fp,chC.chD.ch,fp18.有以下程序: #include st
9、dio.h #include stdlib.h int fun(int n) int *p; p=(int*)malloc(aizeof(int); *p=n; return *p; main( ) int a; a=fun(10); printf(“%d/n“,a+fun(10); 程序的运行结果是_。(分数:2.00)A.0B.10C.20D.出错19.若有定义:int a10;,则对数组 a元素的正确引用是_。(分数:2.50)A.a10B.a3.5C.a(5)D.a10-1020.以下是 while语句的基本形式: while(表达式) 语句; 其中“表达式”_。(分数:2.50)A.
10、必须是逻辑表达式B.必须是关系表达式C.必须是逻辑表达式或关系表达式D.可以是任意合法的表达式21.有如下程序: #includestdio.h #includestring.h main() char *str=“0/n0123/4“: printf(“%d“,strlen(str); 程序运行后的输出结果是_。(分数:1.00)A.3B.6C.8D.722.以下不是合法 C语言转义字符的是_。(分数:1.00)A.“/c“B.“/a“C.“/h“D.“/r“23.有以下程序: #include stdio.h #define N 4 void fun(int aN,int b) int i
11、; for(i=0;iN;i+ +) bi = aii; main( ) int xN=1,2,3,4,5,6,7,8,9,10,yN,i; fun(x, y); for(i=0;iN;i+ +) printf(“%d,“, yi); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,24.以下叙述中错误的是_。(分数:1.00)A.用户定义的函数中可以没有 return语句B.用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return语句
12、,则应当定义函数为 void类型D.函数的 return语句中可以没有表达式25.设有以下定义: typedef union longi; int k5;char c;DATE; srtuct date int cat;DATEcow;double dog; too; DATE max; 则下语句的执行结果是 ( ) printf(“%d,“sizeof(struct date)+size of(max);(分数:1.00)A.25B.30C.18D.826.在下列选项中,没有构成死循环的程序段是_。(分数:2.00)A.int i=100;while(1) i=i%100+1;if(i100
13、)break;B.for(;);C.int k=1000;do+k;while(k=1000);D.int s=36:while(s);-s;27.有以下程序: #include stdio.h main( ) int a =2,3,5,4,i; for(i=0;i4;i+ +) switch(i%2) case 0: switch(ai%2) case 0:ai+ +;break; case 1:ai- -; break; case 1:ai=0; for(i=0:i4;i+ +) printf(“%d“,ai); printf(“/n“); 程序运行后的输出结果是_。(分数:2.50)A.
14、0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 028.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模式C.外模式D.设计模式29.有以下程序: include stdio.h main( ) int i,a; for (i=0; i=10; i+) a=i; printf(“%d,%d/n“,i,a); 程序的运行结果是_。(分数:1.00)A.11,10B.10,10C.10,11D.11,1130.对下列二叉树进行中序遍历的结果是_。 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG31.以下叙
15、述中正确的是_。(分数:2.00)A.语言中的关键字不能作变量名,但可以作为函数名B.标识符的长度不能任意长,最多只能包含 16个字符C.标识符总是由字母、数字和下画线组成,且第一个字符不得为数字D.用户自定义的标识符必须”见名知义”,如果随意定义,则会出编译错误32.若 fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(fp)的值为(分数:1.00)A.0B.1C.-1D.一个非 0值33.设定义以下结构体,结构体变量 p的出生年份赋值正确的语句是_。 struct st int x; int y; int z; ; struct worker char name20;
16、char sex; struct st birth; )p;(分数:2.00)A.x=1987B.birth.x=1987;C.birth.x=1987;D.x=1987;34.设有以下定义: typedef union longi; int k5;char c;DATE; srtuct date int cat;DATEcow;double dog; too; DATE max; 则下语句的执行结果是 ( ) printf(“%d,“sizeof(struct date)+size of(max);(分数:1.00)A.25B.30C.18D.835.算法中,对需要执行的每一步操作,必须给出
17、清楚、严格的规定这属于算法的_。(分数:2.00)A.正当性B.可行性C.确定性D.有穷性36.请选出以下程序的输出结果 _。 #include stdio.h sub(x, y, z) int x, y,*z; *z=y-x: main() int a, b, c; sub 10,5,sub(7,a,sub(a, b, printf(“%d,% d,/%d/n“, a, b, c); (分数:2.00)A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-737.以下正确的字符串常量是_。(分数:1.00)A.“B.“abc“C.Olympic GamesD.“/“38
18、.以下只有在使用时才为该类型变量分配内存的存储类型说明是_。(分数:2.50)A.auto和 staticB.auto和 registerC.register和 staticD.extern和 register39.定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1,2,3,4,540.下列说法中,正确的是_。(分数:1.00)A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存储空间二、程序填空题(总题数:1,分数:30.00)41.给定程序中,函数 fun的功能是
19、将 a和 b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含 9个以下数字字符。 例如,主函数中输入字符串 32486和 12345,在主函数中输出的函数值为 44831。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序如下。 #includestdio.h #includestring.h #includectype.h #define N 9 long ctod(char*s) long d=0; while(*s) if(
20、isdigit(*s) /*found*/ d=d*10+*s- 1; /*found*/ 2; return d; long fun(char *a,char *b) /*found*/ return 3; main() ( char s1N,s2N; do printtf“Input string s1:“);gets(s1); while(strlen(s1)N); do printf(“Input string s2:“);gets(s2); while(strlen(s2)N); printf(“The result is:%ld/n“,fun(s1,s2); (分数:30.00)三
21、、程序修改题(总题数:1,分数:30.00)42.给定程序 MODI1.C中函数 fun的功能是:按顺序给 s所指数组中的元素赋予从 2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在 w所指的数组中。若 s所指数组中元素的个数不是5的倍数,多余部分忽略不计。 例如,s 所指数组有 14个元素,则只对前 10个元素进行处理,不对最后的 4个元素求平均值。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 #include stdio.h #define SIZE 20 fun(double *s,double
22、*w) int k,i;double sum; for(k=2,i=0;iSIZE;i+) si=k;k+=2; /*found*/ sun=0.0; for(k=0,i=0;iSIZE;i+) sum+=si; /*found*/ if(i+1%5=0) wk=sum/5;sum=0;k+; return k; main() double aSIZE,bSIZE/5; int i,k; k=fun(a,b); printf(“The original data:/n“); for(i=0;iSIZE;i+) if(i%5=0) printf(“/n“); printf(“%4.0f“,ai)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 653 答案 解析 DOC
