【计算机类职业资格】二级C语言-281 (1)及答案解析.doc
《【计算机类职业资格】二级C语言-281 (1)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-281 (1)及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-281 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.数据库系统的核心是_。(分数:2.50)A.数据模型B.数据库管理系统C.数据库D.数据库管理员2.以下选项中正确的实型常量是_。(分数:2.50)A.0B.3.1415C.0.329102D.8713.为了提高软件的独立性,模块之间最好是_。(分数:2.50)A.控制耦合B.公共耦合C.内容耦合D.数据耦合4.下列叙述中正确的是_。(分数:2.50)A.算法的执行效率与数据存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算
2、法必须能在执行有限个步骤之后终止D.以上 3 种描述都不对5.有下列二叉树: (分数:2.50)A.ABCDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG6.下列标识符不是关键字的是_。(分数:2.50)A.breakB.charC.SwithchD.return7.下列运算符中优先级最低的算符是_。(分数:2.50)A.|B.!=C.=D.+8.C 语言结构体类型变量在程序执行期间,_。(分数:2.50)A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中9.下列 4 个关于 C 语言的结论中错误的是_。(分数:2.50)A.
3、可以用 do-while 语句实现的循环一定可以用 while 语句实现B.可以用 for 语句实现的循环一定可以用 while 语句实现C.可以用 while 语句实现的循环一定可以用 for 语句实现D.do-while 语句与 while 语句的区别仅是关键字“while”出现的位置不同10.有下列函数定义: int fun(double a, double b) return a*b; 若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是_。(分数:2.50)A.if(fun(x,y)B.z=fun(fun(x, y), fun(x, y);C.z=fun(fun(x, y)x,
4、 y);D.fun(x, y);11.下列叙述中正确的是_。(分数:2.50)A.break 语句只能用于 switch 语句体中B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环C.break 语句只能用在循环体内和 switch 语句体内D.在循环体内使用 break 语句和 continue 语句的作用相同12.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ACSII 码是 97。下列能将变量 c 中的大写字母转换为对应小写字母的语句是_。(分数:2.50)A.c=(c-“A“)%26+“A“B.c=c+32C.c=c-“A“+“A“D.c=(“A“
5、+C)%26-“a“13.下列叙述中正确的是_。(分数:2.50)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a 和 b 类型相同,在执行赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求取余运算符“%”两边的类型相同时才能进行运算14.若有说明“char s130=“abc“, s2=“defghi“; “,则在使用函数 stcat(s1,s2)后,结果是_。(分数:2.50)A.s1 的内容更新为 abcdefghiB.s1 的内容更新为 defghi/0C.s1 的内容更新为 defghiabc/0
6、D.s1 的内容更新为 abcdefghi/015.在 16 位编译系统上,若有定义“int a=10, 20, 30, *p=”,当执行“p+;”后,下列说法错误的是_。(分数:2.50)A.p 向高地址移了一个字节B.p 向高地址移了一个存储单元C.p 向高地址移了两个字节D.p 与 a+1 等价16.下列程序的执行结果是_。 #includestdio.h main() int a, b, c; a=b=2, c=1; c=(a+)-1; printf(“%d, %d“, a, c); c+=-a+(+b); printf(“%d, %d“, a, c); (分数:2.50)A.3,14
7、,1B.3,14,2C.2,04,1D.2,14,117.若有定义“double a;”,则正确的输入语句是_。(分数:2.50)A.scanf(“%1f“, a);B.scanf(“%f“, C.scanf(“%1f“, 18.若有以下程序: #includestdio.h void fun(float*a, float*b) float w; *a=*a+*a; w=*a; *a=*b; *b=w; main() float x=20, y=3.0, *px= fun(px, py); printf(“%2.0f, %2.0f/n“, x, y); 程序的输出结果是_。(分数:2.50)A
8、.4,3B.2,3C.3,4D.3,219.有以下程序: main() int a=0, b=10, c=0, d=0; if(a=1) b=1; c=2; else d=3; printf(“%d, %d.%d, %d/n“, a, b, c, d); 程序输 f_。(分数:2.50)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错20.若有以下程序: #includestdio.h void sub(int x, int y, int*z) *z=y-x; main() int a, b, c; sub(10, 5, sub(7, a, sub(a, b, printf(
9、“%d, %d, %d/n“, a, b, c); 程序的输出结果是_。(分数:2.50)A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-721.以下程序的输出结果是_。 void prt(int*m, int n) int i; for(i=0; in; i+)mi+; main() int a=1, 2, 3, 4, 5, i; prt(a, 5); for(i=0; i5; i+) printf(“%d, “, ai); (分数:2.50)A.1,2,3,4,5B.2,3,4,5,6C.3,4,5,6,7D.2,3,4,5,122.有以下程序: void fu
10、n1(char *p) char *q; q=p; while(*q!=“/0“) (*q)+; q+; main() (char a=“Program“), *p; p= fun1(p); printf(“%s/n“, a); 程序执行后的输出结果是_。(分数:2.50)A.ProhsbnB.PrphsbnC.ProgsbnD.Program23.若有以下的说明和语句,则在执行 for 语句后,*(*(pt+1)+2)表示的数组元素是_。 int t33, *pt3, k; for(k=0; k3; k+)ptk=(分数:2.50)A.t20B.t22C.t12D.t2124.有以下程序:
11、main() union char ch2; int d; s; s.d=0x4321; printf(“%x, %x/n“, s.ch0, s.ch1); 在 16 位编译系统上,程序执行后的输出结果是_。(分数:2.50)A.21,43B.43,21C.43,00D.21,0025.以下四个程序中不能对两个整型值进行交换的是_。(分数:2.50)A.#includestdio.hvoid swap(int *p, int *q) int*t, a;t= *t=*p; *p=*q; *q=*t;main() int a=10, b=20;swap( printf(“%d%d/n“, a, b
12、);B.#includestdio.hvoid swap(int *p, int *q) int t;t=*p; *p=*q; *q=t;main() int a=10, b=20;swap( printf(“%d%d/n“, a, b);C.#includestdio.hvoid swap(int*p, int*q) int t;t=*p; *p=*q; *q=t;main() int*a, *b;*a=10, *b=20;swap(a, b); printf(“%d%d/n“, *a, *b);D.#includestdio.hvoid swap(int*p, int*q) int t;t
13、=*p; *p=*q; *q=t;main()int a=10, b=20, *x=swap(x,y); printf(“%d%d/n“, a, b);26.有以下程序: main() int num44=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, , 13, 14, 15, 16, i, j; for(i=0; i74; i+) for(j=0; ji; j+)printf(“%4c“, “); for(j=_; j4; j+)printf(“%4d“, numij); printf(“n“); 若要按以下形式输出数组有上半三角 1 2 3 4 6 7 8
14、11 12 16 则在程序下划线处应填入的是_。(分数:2.50)A.i-1BiC.i+1D.4-i27.设有以下定义和语句: char str20=”Program”, *p; p=str; 则以下叙述中正确的是_。(分数:2.50)A.*p 与 str0的值相等B.str 与 p 的类型完全相同C.str 数组长度和 p 所指向的字符串长度相等D.数组 str 中存放的内容和指针变量 p 中存放的内容相同28.有下列程序: #includestdio.h main() int x=0; int y=0; while(x77 x+; printf(“%d, %d“, y, x); 程序的输出
15、结果是_。(分数:2.50)A.0,7B.7,7C.0,6D.1,629.有以下程序: #includestdio.h main() int a=2, 4, 6, 8, 10, y=1, x, *p; p= for(x=0; x3; x+)y+=*(p+x); printf(“%d/n“, Y); 程序的输 fH 结果是_。(分数:2.50)A.17B.18C.19D.2030.#define 能做简单的替代,用宏来替代计算多项式 5*x*x+5*x+5 的值的函数 f,正确的宏定义语句为_。(分数:2.50)A.#define f(x) 5*x*x+5*x+5B.#define f5*x*x
16、+5*x+5C.#define f(a) (5*a*a+5*a+5)D.#define(5*x*x+5*x+5) f(x)31.函数调用 strcat(strcpy(str1, str2), str3)的功能是_。(分数:2.50)A.将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后B.将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后C.将字符串 str2 复制到字符串 str1 之后再将字符串 str3 连接到字符串 str1 之后D.将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中3
17、2.有以下程序: main() int a=0, b=0; a=10; /*给 a 赋值 b=20; 给 b 赋值 */ printf(“a+b=%d/n“, a+b); /输出计算机结果 程序运行后的输出结果是_。(分数:2.50)A.a+b=10B.a+b=30C.30D.出错33.若希望下列的程序运行后输出 25,程序空白处的正确选项是_。 main() int i, j=50, a=7, 4, 10, 5, 8; for_ j+=ai; printf(“%d“, j-40); (分数:2.50)A.i=1;i4;+iB.i=1;i3;+iC.i=4;i2;i-D.i=2;i4;+i34
18、.下列程序的输出结果是_。 #includestdio.h main() int a=0, i; for(i=1; i5; i+) switch(i) case 0: case 3: a+=1; case 1: case 2: a=2; default: a+=3; printf(“%d“, a); (分数:2.50)A.19B.18C.6D.835.有以下程序: #includestdio.h main() int a=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, *p=a+5; *q=NULL; *q=*(p+5); printf(“%d%d/n“, *q,
19、 *q); 程序运行后的输出结果是_。(分数:2.50)A.运行后报错B.6 6C.6 11D.5 1036.下列程序的输出结果是_。 main() int a=6, b=3, c; if(ab) c=a*b; printf(“%d%d, %d/n“, b, a, c); else c=b/a; printf(“%d, %d, %d/n“, b, a, c); (分数:2.50)A.3,6,18B.3,6,2C.6,3,18D.6,3,237.若有定义和语句: int*pp, *p, a=20, b=10; pp= p= p= printf(“%d, %d/n“, *p, *pp); 则输出结
20、果是_。(分数:2.50)A.20,10B.20,20C.10,20D.10,1038.下列程序的运行结果是_。 #includestdio.h void fun(int*s, int*p) static int t=3; *p=st; t-; void main() int a=2, 3, 4, 5, k; int x; for(k=0, k4, k+) fun(a, printf(“%d,“, x); (分数:2.50)A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,539.下面程序段的输出结果是_。 int i=32770; printf(“%d/n“, i);(分
21、数:2.50)A.32769B.32767C.-32766D.输出不确定数40.标准库函数 fgets(s, n, file)的功能是_。(分数:2.50)A.从文件 file 中读取长度为 n 的字符串存入字符数组 s 中B.从文件 file 中读取长度不超过 n-1 个字符的字符串放到字符数组 s 中C.从文件 file 中读到 n 个字符串存入字符数组 s 中D.从文件 file 中读取长度为 n-1 个字符的字符串存入字符数组 s 中二级 C 语言-281 (1)答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.数据库系统的核心是_。
22、(分数:2.50)A.数据模型B.数据库管理系统 C.数据库D.数据库管理员解析:解析 本题考查对数据库系统的理解。数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台 5 个部分构成。其中数据库管理系统是数据库系统的核心,它负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等工作。2.以下选项中正确的实型常量是_。(分数:2.50)A.0B.3.1415 C.0.329102D.871解析:解析 实型常量又称实数或浮点数。在 C 语言中可以用两种形式表示一个实型常量。一是小数形式。二是指数形式。因此正确答案为 B。3.为了提高软件
23、的独立性,模块之间最好是_。(分数:2.50)A.控制耦合B.公共耦合C.内容耦合D.数据耦合 解析:解析 在模块耦合性类型中,模块之间独立性最差的类型是内容耦合,在实际编程中一定要避免出现,为了提高模块的独立性,模块之间最好是数据耦合。模块耦合越弱,则说明模块的独立性越强。4.下列叙述中正确的是_。(分数:2.50)A.算法的执行效率与数据存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上 3 种描述都不对解析:解析 在程序设计中,算法执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需存储空
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2811 答案 解析 DOC
