【计算机类职业资格】二级C语言笔试64及答案解析.doc
《【计算机类职业资格】二级C语言笔试64及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试64及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 64 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:60.00)1.阅读下列程序,当运行程序时,输入 asd af aa z67,则输出为( )。 #include sldio.h int fun (char *str) int i,j=0; for(i=0;stri! =/0;i+) if(stri! =“) strj+=stri; strj=/0; main() char str81; int n; printf(“Input a string:“); gets(str); fun(str); printf(“%s/n“,s
2、tr); (分数:1.00)A.asdafaaz67B.asd af aa z67C.asdD.z672.假定 int 类型变量占用两个字节,若有定义:int x10=0,2,4;则数组 x 在内存中所占字节数是( )。(分数:1.00)A.3B.6C.10D.203.有以下程序: #include stdio.h #include string.h main() char a=a,b,c,d,e,f,g,h,/0; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d/n“,i,j); 程序运行后的输出结果是( )。(分数:1.00)A.9,9B.
3、8,9C.1,8D.9,84.下列叙述中正确的是( )。(分数:1.00)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致5.下面的概念中,不属于面向对象方法的是( )。(分数:1.00)A.对象B.继承C.类D.过程调用6.有如下程序段: int *p,a=10,b=1; p= a= *p+b;执行该程序段后,a 的值为( )。(分数:1.00)A.12B.11C.10D.编译出错7.下列是合法的用户自定义标识符的是( )。(分数:1.00)A._w1B.3_x
4、yC.intD.LINE-38.在软件开发中,下面的任务不属于设计阶段的是( )。(分数:1.00)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模块9.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:1.00)A.内模式B.外模式C.概念模式D.逻辑模式10.请选出下面正确的程序段( )。(分数:1.00)A.int *s; scanf(“%d“,; B.int *s,k; *s=100; C.int *s,k; char *p, c; s= p= *p=a; D.int *s,k; char *p, c; s= p= s=p; *s=1;
5、 11.以下程序调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是( )。 #include stdio.h main() int *p,*q,a,b; p= printf(“input a:“); scanf(“%d“,*p); (分数:1.00)A.*p 表示的是指针变量 p 的地址B.*p 表示的是变量 a 的值,而不是变量 a 的地址C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量12.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是( )。(分数:1.00)A.*p+9B.*(
6、p+8)C.*p+=9D.p+813.表达式 ab|(cB.fwrite(fp,size,count,buffe;C.fwrite(fp,count,size,buffe;D.fwrite(buffer,size,count,f;15.若有如下语句: int x=3; do printf(“%d/n“,x-=2); wbile(! ( -x);则上面程序段( )。(分数:1.00)A.输出的是 1B.输出的是 1 和-2C.输出的是 3 和 0D.是死循环16.假设下面四个选项中所有的数都是 8 进制数或 16 进制数,均是不正确的选项是 ( )。(分数:1.00)A.016 0x8f 018
7、B.0abc 017 0xaC.010 -0x11 0x16D.0al2 7ff -12317.设 x,y 和 z 都是 int 型变量,且 x=3,y=4,z=5,则下面表达式中,值为 0 的表达式是 ( )。(分数:1.00)A.x double r2; float r3; union uuchar u15;long u22;ua; mya;(分数:1.00)A.30B.29C.24D.2220.以下数据结构中不属于线性数据结构的是( )。(分数:1.00)A.队列B.线性表C.二叉树D.栈21.有如下定义: struct person char name9;int age; struct
8、 person class10=“John“,17,“paul“,19,“Mary“,18,“Adam“,16; 根据上述定义,能输出字母 M 的语句是( )。(分数:1.00)A.printf(“%c/n“,class3.nam;B.printf(“%c/n“,class3.name1);C.printf(“%c/n“,class2.name1);D.printf(“%c/n“,class2.name0);22.以下选项中,与 k=n+完全等价的表达式是( )。(分数:1.00)A.k=n,n=n+1B.n=n+1,k=nC.k= +nD.k+=n+123.对表达式 for(表达式 1;表达
9、式 3)可理解为( )。(分数:1.00)A.for(表达式 1;0;表达式 3)B.for(表达式 1;1;表达式 3)C.for(表达式 1;表达式 1;表达式 3)D.for(表达式 1;表达式 3;表达式 3)24.在结构化方法中,用数据流图(DFD)作为描述工具的软件开发阶段是( )。(分数:1.00)A.可行性分析B.需求分析C.详细设计D.程序编码25.以下程序执行后 x 的值是( )。 #include stdio.h main() int x,y=252,i=386,*m= x=(z= =m); printf(“%d“,x); (分数:1.00)A.252B.1C.0D.运行
10、时出错,x 无定值26.若变量已正确说明为 int 类型,要通过语句 scanf(“%d %d %d“,给 a 赋值 3,b 赋值 5,c赋值 8,下面不正确的输入形式是( )。(分数:1.00)A.3回车 5回车 8回车B.3,5,8回车C.3回车 58回车D.35回车 8回车27.以下程序的运行结果是( )。 #include stdio.h #define MIN(x,y) (x)(y)? (x):(y) main() int i=10,j=15,k; k=10*MIN(i,j); printf(“%d/n“,k); (分数:1.00)A.10B.15C.100D.15028.没有程序段
11、: int k=10; while(k=0) k=k-1;则下面描述中正确的是( )。(分数:1.00)A.while 循环执行 10 次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次29.判断 char 型变量 cl 是否为大写字母的正确表达式是( )。(分数:1.00)A.=cl=ZB.(cl=) k=a; a=b; b=k; main() int a=3,b=6, *x= fun(x,y); printf(“%d%d“,a,b);(分数:1.00)A.6 3B.3 6C.编译出错D.0 031.有以下函数: fun(char *p) return p; 该函数的返回值
12、是( )。(分数:1.00)A.无确切值B.形参 p 中存放的地址值C.一个临时存储单元的地址D.形参 p 自身的地址值32.下面的描述中,符合结构化程序设计风格的是( )。(分数:1.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 goto 语句33.C 语言中,文件组成的基本单位为( )。(分数:1.00)A.记录B.数据行C.数据块D.字符序列34.设有以下说明语句: typedef struct int n; char ch8; PER;则下面叙述中正确的是( )。(分数:1.00)A.P
13、ER 是结构体变量名B.PER 是结构体类型名C.typedef struct 是结构体类型D.struct 是结构体类型名35.已知学生记录描述为: struct student int no; char name20,sex; struct int year,month,day; birth; ; struct student s; 设变量 s 中的“生日”是“1984 年 11 月 12 日”,对“birth”正确赋值的程序段是( )。(分数:1.00)A.year=1984;month=11;day=12;B.year=1984;month=11;day=12;C.birtyear=1
14、984;birtmonth=11;birtday=12;D.birtyear=1984;birtmonth=11;birtday=12;36.下面程序的功能是将从键盘输入的两个数由小到大排序输出,当输入一对相等数时结束循环。请选择填空。 #include stdio.h main() int a,b,t; scanf(“%d%d“, while(_) if(ab) t=a;a=b;b=t; printf(“%d,%d/n“,a,b); scanf(“%d%d“, (分数:1.00)A.! a=bB.a! =bC.a= =bD.a=b37.若有说明:int a4=0,0;则下面不正确的叙述是(
15、)。(分数:1.00)A.数组 a 的每个元素都可得到初值 0B.二维数组 a 的第一维大小为 1C.当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D.只有元素 a00和 a01可得到初值,其余元素均得不到确定的初值38.下列程序的输出结果是( )。 #include stdio.h struct abc int a, b, c, s; main() struct abc s2=1,2,3,4,5,6; int t; t=s0.a+s1.b; printf(“%d/n“,t); (分数:1.00)A.5B.6C.7D.839.有以下程序: #include stdio.
16、h void fun(int a,int b,int c) a=456,b=567,c=678; main() int x=10,y=20,z=30; fun(x,y,z); printf(“%d,%d,%d/n“,x,y,z); 此程序的输出结果是( )。(分数:1.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45640.有如下程序: #include stdio.h int func(int a,int b) return(a+b): main() int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(
17、“%d/n“,r); 该程序的输出结果是( )。(分数:1.00)A.12B.13C.14D.1541.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统C.软件工具D.数据库42.若有定义:char *st=“how are you“;下列程序段中正确的是( )。(分数:2.00)A.char a11, *p; strcpy(p=a+1,B.char a11; strcpy(+a, s;C.char a11; strcpy(a, s;D.char a, *p; strcpy(p=43.以下程序的输出结果是( )。 #include stdio.h main() int
18、 a,i;a=0; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(“%d/n“,a); (分数:2.00)A.31B.13C.10D.2044.在一棵二叉树上第 5 层的结点数最多是( )。(分数:2.00)A.8B.16C.32D.1545.以下程序的输出结果是( )。 #include stdio.h main() int a=21,b=11; printf(“%d/n“,-a+b,-b+a); (分数:2.00)A.30B.31C.32D.3346.下面叙述正
19、确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对47.下列用于 printf 函数的控制字符常量中,代表“竖向跳格”的转义字符常量是( )。(分数:2.00)A./bB./tC./vD./f48.设变量 n 为 float 类型,m 为 int 类型,则以下能实现将 n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。(分数:2.00)A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0C.
20、n=n*100+0.5/100.0D.n=(n/100+0.5)*100.049.对以下说明语句的正确理解是( )。 int a10=6,7,8,9,10;(分数:2.00)A.将 5 个初值依次赋给 a1至 a5B.将 5 个初值依次赋给 a0至 a4C.将 5 个初值依次赋给 a6至 a10D.因为数组长度与初值的个数不相同,所以此语句不正确50.以下对 C 语言函数的有关描述中,正确的是( )。(分数:2.00)A.在 C 语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B.C 函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返
21、回值类型不定二、B填空题/B(总题数:18,分数:40.00)51.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为U 【1】 /U。(分数:2.00)填空项 1:_52.用树型结构表示实体类型及实体间联系的数据模型称为U 【2】 /U。(分数:2.00)填空项 1:_53.类是一个支持集成的抽象数据类型,而对象是类的U 【3】 /U。(分数:2.00)填空项 1:_54.数据流图的类型有U 【4】 /U和事务型。(分数:2.00)填空项 1:_55.当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起
22、应用程序的变化,这是指数据的U 【5】 /U。(分数:2.00)填空项 1:_56.使用结构体处理数据的场合是U 【6】 /U。(分数:2.00)填空项 1:_57.有定义 char a,b;若想通过 case 1: case2: return 1; return (fib(g-1)+fib(g-2); main() long k; k=fib(5); printf(“k=%d/n“,k); (分数:2.00)填空项 1:_59.strcmp 函数的功能是U 【9】 /U。(分数:2.00)填空项 1:_60.以下程序段中,错误的行号是U 【10】 /U。 #include stdio.h m
23、ain() char str14;str=“I love China!“; printf(“%s“,str); (分数:2.00)填空项 1:_61.将以下程序段写成三目运算表达式:U 【11】 /U。 if(ab) max=a; else max=b;(分数:2.00)填空项 1:_62.设 x 和 y 均为 int 型变量,且 x=1,y=2,则表达式 double(1+x/y)的值为U 【12】 /U。(分数:2.00)填空项 1:_63.下面程序的功能是输出数组 s 中最大元素的下标,请填空。 #include stdio.h main() int k, p,s=1, -9,7,2,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 64 答案 解析 DOC
