【计算机类职业资格】二级C语言模拟642及答案解析.doc
《【计算机类职业资格】二级C语言模拟642及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟642及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言模拟 642及答案解析(总分:167.50,做题时间:90 分钟)一、选择题(总题数:40,分数:57.50)1.有以下程序: #includestdio.h struct S int n;int a20; void f(struct S*p) int i,j,t; for(i=0;ip-n-1;i+) for(j=i+1;jp-n;j+) if(p-aip-aj) t=p-ai; p-ai=p-aj; p-aj=t; main() int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f( for(i=0;is.n;i+) printf(“%d,“
2、,s.ai); 程序的运行结果是_。(分数:2.00)A.2,3,1,6,8,7,5,4,10,9,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,4,5,6,7,8,9,10,D.10,9,8,7,6,1,2,3,4,5,2.若有定义:int a; float b; double c;,程序运行时输入:a=1,b=2,c=3回车,能把值 1输入给变量 a、值 2输入给变量 b、值 3输入给变量 c的输入语句是_。(分数:1.00)A.scanf(“a=%d,b=%f,c=%lf“,B.scanf(“%d%f%lf“,C.scanf(“a=% d,b=% lf,c=%lf“,D.
3、scanf(“a=%d,b=% f,c=%f“,3.将 E-R图转换到关系模式时,实体与联系都可以表示成( )。(分数:1.00)A.属性B.关系C键D域4.有以下程序: #include stdio.h main( ) int c,d; c = (131) 1; d = (131)11; printf(“%d,%d/n“, c, d); 程序运行后的输出结果是_。(分数:1.00)A.6,1B.1,1C.7,1D.7,25.表达式 3.6-5/2+1.2+5%2的值是_。(分数:1.00)A.4.3B.4.8C.3.3D.3.86.计算机软件的构成是_。(分数:1.00)A.源代码B.程序和
4、数据C.程序和文档D.程序、数据及相关文档7.有以下程序: #includestdio.h main() int sum,pad,pAd; sum=pad=5; pAd=+sum,pAd+,+pad; printf(“%d/n“,pad); 程序运行后的输出结果是_。(分数:1.00)A.5B.6C.7D.88.在下列模式中,能够给出数据库物理存储与物理存取方法的是_。(分数:1.00)A.外模式B.内模式C.概念模式D.逻辑模式9.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。(分数:1.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提
5、高模块的独立性C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度10.以下程序段中,与语句: k=ab?(bc?1:0):0; 功能相同的是_。(分数:2.00)A.if(ab)else k=0;B.if(ab)|(bc)k=1;else k=0;C.if(a=b) k=0;else if(b=c)k=1;D.if(ab)k=1;else if(bc)k=1;else k=0;11.有以下程序 #includestdio.h #includestdlib.h int fun(int n) int *p; p=(int*)malloc(sizeof(in
6、t); *p=n;return*p; main() int a; a=fun(10);printf(“%d/n“,a+fun(10); 程序的运行结果是_。(分数:1.00)A.20B.10C.0D.出错12.以下叙述中不正确的是_。(分数:2.50)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效13.有以下程序 #include stdio.h int f(int x) int y; if(x=0x=1) return(3); y=x*x-f(x-2); retur
7、n y; main() int z; z=f(3); printf(“%d/n“,z); 程序的运行结果是_。(分数:1.00)A.6B.9C.0D.814.以下选项中表示一个合法的常量是(说明:符号口表示空格)_。(分数:1.00)A.999B.0XabC.123E0.2D.2.7e15.以下叙述中正确的是_。(分数:1.00)A.逻辑“或”(即运算符“|”)的运算级别比算术运算符要高B.C语言的关系表达式:0x10 完全等价于:(0x) int a,b,c; a=(-x=y+)?x:+y; b=+x;c=y;(分数:2.00)A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,
8、b=6,c=5D.a=1,b=5,c=617.以下选项中,不正确的实型常量是_。(分数:1.00)A.123B.1e4C.3.640E-1D.0.3518.以下程序段中,与语句: k=ab?(bc?1:0):0; 功能相同的是_。(分数:2.50)A.if(ab)(hc)k=1;else k=0;B.if(ab)|(bc)k=1;else k=0;C.if(a=b)k=0;else if(b=c)k=1;D.if(ab)k=1;else if(bc)k=1;else k=0;19.下面选项中关于位运算的叙述正确的是_。(分数:1.00)A.位运算的对象只能是整型或字符型数据B.位运算符都需要两
9、个操作数C.左移运算的结果总是原操作数据 2倍D.右移运算时,高位总是补 020.有下列程序: #includestdio.h void fun(int a,int n,int flag) int i=0,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag(aiaj):(aiaj) t=ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,10,1); fun(c,5,0); for(i=0;i10;i+) printf(“%d,“,ci); 程序执行后的输出结果是_。(分数:1.00)
10、A.5,4,3,2,1,6,7,8,9,10,B.6,7,8,9,10,5,4,3,2,1,C.6,7,8,9,10,1,2,3,4,5,D.10,9,8,7,6,1,2,3,4,5,21.当变量 c的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:2.50)A.(c=2 main( ) printf(“%d/n“, sub(3.2,4.1); 程序运行后的输出结果是_。(分数:1.00)A.-2B.1.7C.-3D.2.023.不正确的指针概念是_。(分数:2.00)A.一个指针变量只能指向同一类型的变量B.一个变量的地址称为该变量的指针C.只有同一类型变量的地址才能存放在指向该类
11、型变量的指针变量之中D.指针变量可以赋任意整数,但不能赋浮点数24.若有定义语句: int a23,*p3; 则以下语句中正确的是_。(分数:1.00)A.p0=a12;B.p0=a;C.p=a;D.p1=a;25.若有函数首部 int fun(double x10,int*n),则下列针对此函数的函数声明语句中正确的是_。(分数:2.00)A.int fun(double,int);B.int fun(double *,int *);C.int fun(double*x,int n);D.int fun(double x,int*n);26.下列定义变量的语句中错误的是_。 Aint_int
12、; Bdouble int_; Cchar For; D (分数:1.00)A.B.C.D.27.冒泡排序在最坏情况下的比较次数是 _ 。(分数:2.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/228.若有以下程序段: int r=8; printf(“%d/n“,r1); 则输出结果是_。(分数:2.00)A.16B.8C.4D.1229.有以下不完整函数 int fun(char*p) char*t=p; while(*t+); return(_); 该函数的功能是:计算 p所指字符串占用内存单元的个数,作为函数值返回。return 语句下划线处应填入的是_。(分
13、数:1.00)A.t-pB.*tC.*t-*pDt30.有以下程序: # include stdio.h int a=1,b=2; void funl(int a,int b) printf(“%d%d“,a,b); void fun2() a=3;b=4; main() fun1(5,6);fun2(); printf(“%d%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1 2 5 6B.5 6 3 4C.5 6 1 2D.3 4 5 631.有以下程序: #includestdio.h main() int a,b; for(a=1,b=1;a=100;a+) i
14、f(b=20)break; if(b%3=1)b=b+3;continue; b=b-5; printf(“%d/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.10B.9C.8D.732.有以下程序: #includestdio.h main() int y=9; for(;y0;y-) if(y%3=0) printf(“%d“,-y); 程序的运行结果是_。(分数:2.50)A.852B.963C.741D.87542133.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据34.有以
15、下程序: #includestdio.h void fun(int p) int d=2; p=d+; printf(“%d“, p); main() int a=1; fun(a); printf(“%d/n“, a); 程序运行后的输出结果是(分数:2.00)A.32B.12C.21D.2235.有以下程序段: int x=3: do printf(“%d“,x-=2); while(!(-x); 其输出结果是 _ 。(分数:1.00)A.1B.3 0C.1-2D.死循环36.有以下结构体说明、变量定义和赋值语句: struct STD char name10; int age; char
16、 sex; s5,*ps; ps=s0; 则以下 scanf函数调用语句有错误的是_。(分数:1.00)A.scanf(“%s“,s0.name);B.scallf(“%d“,s0.age);C.scanf(“%c“,(ps-sex);D.scanf(“%d“,ps-age);37.有如下程序: #include stdio.h int sum(int a,int b) return a+b-2; main() int i; for(i=0; i5; i+) printf(“%d“,sum(i,3); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.54321B.0
17、1234C.45678D.1234538.若有以下程序: #include stdio.h main( ) int x=8; for( ;x0; x-) if(x%3) printf(“%d,“,x-); continue; printf(“%d,“,-x); 则程序的运行结果是_。(分数:2.00)A.7,4,2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,39.在一个 C语言源程序文件中所定义的全局变量,其作用域为_。(分数:2.50)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围40.有以下函数: voi
18、d fun(char *p, chat *q) while(*p+ =*q+) !=“/0“); 该函数的功能是_。(分数:1.00)A.计算字符串的长度B.计算字符串所占字节数C.将字符串逆序存放D.实现字符串的复制二、程序填空题(总题数:1,分数:30.00)41.下列给定程序中,函数 fun的功能是:把形参 a所指数组中的奇数按原顺序依次存放到 a0、a1、a2.中,把偶数从数组中删除,奇数个数通过函数值返回。 例如,若 a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后 a所指数组中的数据为:9,1,3,5,7,返回值为 5。 请在下划线处填入正确的内容并将下
19、划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdio.h #defineN 9 int fun(int a,int n) int i,j; j=0; for(i=0;in;i+) /*found*/ if(ai%2= 1) /*found*/ aj=ai; 2; /*found*/ return 3; main() int bN=9,1,4,2,3,6,5,8,7,i,n; printf(“/nThe original data:/n“); for(i=0;iN;i+) printf(“%4d“,bi);
20、printf(“/n“); n=fun(b,N); printf(“/nThe number of odd:%d/n“,n); printf(“/nThe odd number:/n“); for(i=0;in;i+) printf(“%4d“,bi); printf(“/n“); (分数:30.00)三、程序修改题(总题数:1,分数:40.00)42.下列给定的程序中,函数 proc()的功能是:用选择法对数组中的 n个元素按从大到小的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includ
21、estdio.h #define M 20 void proc(int a, int n) int i, j, t, p; for(j=0; jn-1; j+) /*found* p=j for(j=j; in; i+) if(aiap) /*found* p=j; t=ap; ap=aj; aj=t; void main() int arrM=9, 6, 8, 3, -1, i, m=5; printf(“排序前的数据:“); for(i=0; im; i+)printf(“%d“, arri); printf(“/n“); proc(arr, m); printf(“排序后的顺序:“);
22、for(i=0; im; i+)printf(“%d“, arri); printf(“/n“); (分数:40.00)_四、程序设计题(总题数:1,分数:40.00)43.编写函数 fun,其功能是:根据以下公式求 P的值,结果由函数值带回。m 与 n为两个正整数且要求mn。 (分数:40.00)_二级 C语言模拟 642答案解析(总分:167.50,做题时间:90 分钟)一、选择题(总题数:40,分数:57.50)1.有以下程序: #includestdio.h struct S int n;int a20; void f(struct S*p) int i,j,t; for(i=0;ip
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 642 答案 解析 DOC
