【计算机类职业资格】二级C语言分类模拟题549及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题549及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题549及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 549 及答案解析(总分:62.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.50)1.有以下程序: #includestdio.h #includestdlib.h main() int*a,*b,*c; a=b=c=(int*)malloc(sizeof(int); *a=1;*b=2,*c=3; a=b; printf(“%d,%d,%d/n“,*a,*b,*c); 程序运行后的输出结果是_。(分数:1.00)A.1,1,3B.2,2,3C.1,2,3D.3,3,32.C 语言程序中,运算对象必须是整型数的运算符是_。(分数:1.00)A.%
2、B./C.D.*3.开发软件时对提高开发人员工作效率至关重要的是 _(分数:1.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力4.有以下程序 #includestdio.h void fun(int a,int b) int t; t=a;a=b;b=t; main() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;i10;i+=2)fun(ci,ci+1); for(i=0;i10;i+)printf(“%d,“,cfi); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1,2,3
3、,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,5.若要求从键盘读入含有空格字符的字符串,应该使用函数_。(分数:1.00)A.getc ()B.gets()C.getchar()D.scanf()6.以下正确的函数定义是_。(分数:1.00)A.double f1(int x,int y)B.double f1(int x;int y)C.double f1(int x;float y)D.double f1(int x,y)7.设有宏定义: #define IsDIV(k,n)
4、(k%n=1)?1:0) 且变量 m 已正确定义并赋值,则宏调用: IsDIV(m,5) for(i=0; in; i+) max=MIN; if(maxxi)max=xi; return max; 造成错误的原因是_。(分数:1.00)A.定义语句“int i, max;”中 max 未赋初值B.赋值语句“max=MIN;”中,不应给 max 赋 MIN 值C.语句“if(maxxi)max=xi;”中判断条件设置错误D.赋值语句“max=MIN;”放错了位置9.有以下程序: #includestdio.h main() unsigned char a=2, b=4, c=5, d; d=a
5、 | b;d printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.3B.4C.5D.610.下列说法不正确的是_。(分数:2.50)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致11.有以下程序: #include stdio.h main( ) int a5=2,4,6,8,10, *p,* *k; P=a; k= printf(“%“,*(p+ +); printf(“%d/n“,* * k); 程序运行后的输出结果是_。
6、(分数:2.50)A.4 6B.4 4C.2 2D.2 412.若有以下程序: #include stdio.h char f(char x) return x*x+“a“; main( ) char a, b=0; for(a=0; a4; a+ =1) b=f(a); putchar(b); 则程序的输出结果是_。(分数:2.00)A.abcdB.ABEJC.abcjD.ABCD13.若变量 a、b、x、i 都已正确定义并赋值,则以下符合 C 语言语法的表达式是_。(分数:2.50)A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)14.下列
7、叙述中错误的是_。(分数:2.50)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句15.有以下程序段: char a3, b=“China“; a=b; printf(“% s“, a); 则_。(分数:1.00)A.运行后将输出 ChinaB.运行后将输出 ChC.运行后将输出 ChiD.编译出错16.有以下程序 #includestdio.h #define PT 3.5; #define S(x)PT*x*x; main() int a=1,b=2;printf(“%4.1f/n“,S(a+b)
8、; 程序运行后的输出结果是_。(分数:1.00)A.31.5B.程序有错无输出结果C.7.5D.14.017.下面语句的输出结果是_。 printf(“%d/n“,strlen(“/t“/065/xff/n“);(分数:1.00)A.14B.8C.5D.输出项不合怯,无正常输出18.以下关于 C 语言的叙述中正确的是_。(分数:2.50)A.预处理命令通常位于函数体外面,但也可以位于函数体中间B.C 语言中的变量定义须在其他语句之前C.在 C 语言程序的书写中,一个语句必须单占一行D.一个 C 语言源程序可以由一个或多个源文件组成,每个源文件可由自己的 main 函数19.以下选项中与 if(
9、a=1) a=b; else a+; 语句功能不同的 switch 语句是_。(分数:1.00)A.switch(a=1)case 0:a=b;break;case 1:a+;B.switch(a)case 1:a=b;break;default:a+;C.switch(a)defauh:a+;break;case 1:a=b;D.switch(a=1)case 1:a=b;break;case 0:a+;20.以下程序的输出结果是_。 main() int a=7, b=8, *p, *q, *r; p= q= r=p; p=q; q=r; printf(“%d, %d, %d, %d/n“
10、, *p, *q, a, b); (分数:2.50)A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,721.表达式 a+=a-=a=9 的值是_。(分数:1.00)A.9B.-9C.18D.022.有以下程序: #includestdio.h main() int m=1,n=2,*p= r=p; p=q; q=r; printf(“%d,%d,%d,%d/n“,m,n,*p,*q); 程序的运行结果是_。(分数:2.00)A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,123.已知字符“A“的 ASCII 代码值是 65,字符变量 c1 的值是“A
11、“,c2 的值是“D“,则执行语句printf(“%d,%d“,c1,c2-2);的输出结果是_。(分数:1.00)A.65,68B.A,68C.A,BD.65,6624.有以下程序 #include stdio.h void fun(char *t,char *s) while(*t!=0) t+; while(*t+=*s+)!=0); main() char ss10=“acc“,aa10=“bbxxyy“; fun(ss,aa); printf(“%s,%s/n“,ss,aa); 程序的运行结果是_。(分数:1.00)A.accbbxxyy,bbxxyyB.acc,bbxxyyC.ac
12、cxxyy,bbxxyyD.accxyy,bbxxyy25.在数据管理技术发展的三个阶段中,数据共享最好的是_。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同26.下列语句组中正确的是_。(分数:2.00)A.char*s;s=“Olympic“;B.char s7;s=“Olympic“;C.char*s;s=“Olympic“;D.char s7;s=“Olympic“;27.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“, 语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形
13、式中正确的是(注:代表空格字符)_。(分数:3.00)A.10X回车20Y回车B.10X20Y回车C.10X回车20Y回车D.10X20Y回车28.有如下程序: #includestdio.h main() FILE*fp1; fp1=fopen(“f1.txt“, “w“); fprintf(fp1, “abc“); fclose(fp1); 若文本文件 f1.txt 中原有内容为:good,则运行以上程序后文件 f1.txt 中的内容为_。(分数:2.50)A.goodabcB.abcdC.abcD.abcgood29.若变量已正确定义,在 if(W) printf(“%d/n“,k);
14、中,以下不可替代 W 的是_。(分数:2.00)A.a b+cB.ch=getchar()C.a= =b+cD.a+ +30.设有定义语句 int (*f)(int); 则以下叙述正确的是_。(分数:1.00)A.f 是指向函数的指针变量,该函数具有一个 int 类型的形参B.f 是基类型为 int 的指针变量C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是基类型为 int 类型的地址31.以下关于 long、int 和 short 类型数据占用内存大小的叙述中正确的是_。(分数:2.50)A.均占 4 个字节B.根据数据的大小来决定所占内存的字节数C.由用户自
15、己定义D.由 C 语言编译系统决定32.若有以下说明和定义: typedef int*INTEGER; INTEGER p, *q; 以下叙述正确的是_。(分数:1.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为 int 的指针变量D.程序中可用 INTEGER 代替 int 类型名33.标准函数 fgets(s,n,f)的功能是_。(分数:1.00)A.从 f 所指的文件中读取长度为 n 的字符串存入指针 s 所指的内存B.从 f 所指的文件中读取长度不超过 n-1 的字符串存入指针 s 所指的内存C.从 f 所指的文件中读取 n 个字符串存入指针
16、s 所指的内存D.从 f 所指的文件中读取长度为 n-1 的字符串存入指针 s 所指的内存34.有两个关系 R 与 S 如下,由关系 R 和 S 得到关系 T,则所使用的操作为_。 R A A1 B B1 a 0 f 3 a 0 n 2 b 1 f 3 b 1 n 2 a 1 f 4 S A A1 a 0 b 1 T B B1 f 3 n 2 (分数:1.00)A并B.自然连接C除D交35.在面向对象方法中,实现信息隐蔽是依靠_。(分数:1.00)A.对象的继承B.对象的多态C.对象的封装D.对象的分类36.C 语言可执行程序的开始执行点是_。(分数:2.50)A.包含文件中的第一个函数B.程
17、序中第一个函数C.程序中的 main()函数D.程序中第一条语句37.C 语言中,能识别处理的文件为( )。(分数:1.00)A.文本文件和数据块文件B.文本文件和二进制文件C.流文件和文本文件D.数据文件和二进制文件38.以下选项中可用做 C 程序合法实数的是_。(分数:1.00)A.3.0e0.2B1e0CE9D.9.12E39.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是_。(分数:1.00)A.多对多B.一对多C.多对一D.一对一40.有以下程序 #includestdio.h main() char ch=“uvwxyz“,
18、 *pc; pc=ch; printf(“%c/n“, *(pc+5); 程序运行后的输出结果是_。(分数:2.00)A.0BzC.元素 ch5的地址D.字符 y 的地址二级 C 语言分类模拟题 549 答案解析(总分:62.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.50)1.有以下程序: #includestdio.h #includestdlib.h main() int*a,*b,*c; a=b=c=(int*)malloc(sizeof(int); *a=1;*b=2,*c=3; a=b; printf(“%d,%d,%d/n“,*a,*b,*c); 程序运行后
19、的输出结果是_。(分数:1.00)A.1,1,3B.2,2,3C.1,2,3D.3,3,3 解析:解析 malloc()函数动态分配一个整型的内存空间,然后把函数返回的地址用(int *)强制类型转换为整型指针,再把它赋给 a、b、c,即让指针变量 a、b、c 都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3 的值保留在了该空间内。又因为 a、b、c 三个指针变量均指向该空间,所以打印该空间内的数值均为 3。所以选择 D 选项。2.C 语言程序中,运算对象必须是整型数的运算符是_。(分数:1.00)A.% B./C.D.*解析:解析 %为取余运算符,要求预算对象为整形数据。答案选择 A
20、。3.开发软件时对提高开发人员工作效率至关重要的是 _(分数:1.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境 C.程序人员的数量D.计算机的并行处理能力解析:4.有以下程序 #includestdio.h void fun(int a,int b) int t; t=a;a=b;b=t; main() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;i10;i+=2)fun(ci,ci+1); for(i=0;i10;i+)printf(“%d,“,cfi); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.1,2,3,4,
21、5,6,7,8,9,0, B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,解析:解析 函数调用中发生的数据传递是单向的,即只能把实参的值传递给形参,而不能把形参的值反向地传递给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组 c 中的元素的值并没有变化,故选择 A。5.若要求从键盘读入含有空格字符的字符串,应该使用函数_。(分数:1.00)A.getc ()B.gets() C.getchar()D.scanf()解析:解析 函数 getchar()的作用是从终端(或系统隐含指定的输
22、入设备)输入一个字符,且只能接受个字符(回车符也算是个字符),所以 getchar()不能用宋读入字符串。scanf()函数要求按定的格式来输入,若同时输入多个字符串,则以空格或回车分割,所以空格不能被识别为个字符,也就无法读入空格字符。函数 gets()的作用是从终端输入个字符串 (包括空格)至字符数组,直到遇到换行符为止,所以可以用来键盘读入空格字符。6.以下正确的函数定义是_。(分数:1.00)A.double f1(int x,int y) B.double f1(int x;int y)C.double f1(int x;float y)D.double f1(int x,y)解析:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 549 答案 解析 DOC
