ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:115.50KB ,
资源ID:1326338      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326338.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言笔试22及答案解析.doc)为本站会员(livefirmly316)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C语言笔试22及答案解析.doc

1、二级 C 语言笔试 22 及答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.下列程序执行后的输出结果是 void func1(int i); void func2(int i); char st=“hello,friend!”; void func1(int i) printf(“%c“,sti); if(i3)i+=2;func2(i); void func2(int i) printf(“%c“,sti); if(i3)i+=2;func1(i); int i=0;func1(i);printf(“/n“);(分数:1.00)A.he

2、lloB.helC.hloD.hlm2.下列选项中,不属于模块间耦合的是(分数:1.00)A.数据耦合B.标记耦合C.异构耦合D.公共耦合3.下列程序的输出结果是 main() double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%d/n“,d*y);(分数:1.00)A.3B.3.2C.0D.3.074.以下程序的功能是进行位运算 main() unsigned char a,b; a=73;b=4i4;i+) sub(a,x);printf(“%d“,x); printf(“/n“); sub(s,y) int*s,y; static in

3、t t=3; y=st;t-; (分数:1.00)A.1 2 3 4B.4 3 2 1C.0000D.444411.下面能正确进行字符串赋值操作的是(分数:1.00)A.char s5=“ABCDE“;B.char s5=A,B,C,D,E;C.char*s;s=“ABCDE“;D.char*s;scanf(“%s“,;12.以下程序的输出结果是 #includestdio.h struct st int x;int *y;*p; int dt4=10,20,30,40; struct st aa4=50, for(i=0;i3;i) pi=i9;i+)gethchar(st;C.gets(s

4、t;D.for(i=0;i9;i+)scanf(“%s“, t=MAX(a+b,c+d); PRINT(t);(分数:1.00)A.Y=3B.存在语法错误C.Y=7D.Y=044.一个关系中属性个数为 1 时,称此关系为(分数:1.00)A.对应关系B.单一关系C.一元关系D.二元关系45.设有下面的程序段: char s=“china“; char*p;p=s; 则下列叙述正确的是(分数:1.00)A.s 和 p 完全相同B.数组 s 中的内容和指针变量 p 中的内容相同C.s 数组长度和 p 所指向的字符串长度相等D.*p 与 s0相等46.最简单的交换排序方法是(分数:1.00)A.快速

5、排序B.选择排序C.堆排序D.冒泡排序47.以下程序执行后 x 的值是 main() int x,y=252,i=386,*m= 则表达式 a*b+d-c 值的类型为U 【7】 /U。(分数:2.00)填空项 1:_58.下面程序的输出结果是U 【8】 /U。 unsigned fun6(unsigned num) unsigned k=1; do k*=hum%10; num/=10;while(num); return(k); main() unsigned n=26; printf(“%d/n“,fun6(n);(分数:2.00)填空项 1:_59.设 x 和 y 均为 int 型变量,

6、且 x=1,y=2,则表达式 double(1+x/y)的值为U 【9】 /U。(分数:2.00)填空项 1:_60.下面程序的运行结果是U 【10】 /U。 main() int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(“%d/n“,s); break; s+=i; (分数:2.00)填空项 1:_61.在内存中,存储字符x要占用 1 个字节,存储字符串“x“要占用U 【11】 /U个字节。(分数:2.00)填空项 1:_62.以下程序的运行结果是U 【12】 /U。 #includestdio.h main() int a=1,b=2,c;

7、 c=max(a,b); printf(“max is%d/n“,c); max(int x,int y) int z; z=(xy)? x:y; return(z);(分数:2.00)填空项 1:_63.下面的函数 fun 的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位放在一维数组中返回,二进制的最低位放在下标为 0 的元素中,其他依次类推,请填空。 fun(int x,int b) int k=0,r; do r=x%U 【13】 /U; bk+=r; x/=U 【14】 /U; while(x);(分数:2.00)填空项 1:_64.以下程序是用递归方法求数组中的最大值及其

8、下标值。请填空。 #define M 10 void findmax(int *a,int n,int i,int *pk) if(in) if(aia *pk)U 【15】 /U; findmax(a,n,i+1,i+)scanf(“%d“ ,a+i); findmax(a,M,0,i4;i+) sub(a,x);printf(“%d“,x); printf(“/n“); sub(s,y) int*s,y; static int t=3; y=st;t-; (分数:1.00)A.1 2 3 4B.4 3 2 1C.0000 D.4444解析:命题目的 考查通过指针来引用一维数组元素的方法。

9、解题要点 若指针 s 指向数组 a,则 st可以引用数组 a 中下标为 t 的元素。 考点链接 通过数组的首地址引用数组元素。11.下面能正确进行字符串赋值操作的是(分数:1.00)A.char s5=“ABCDE“;B.char s5=A,B,C,D,E;C.char*s;s=“ABCDE“; D.char*s;scanf(“%s“,;解析:命题目的 考查了一维字符数组的定义和初始化。 解题要点 选项 A)和 B)定义的数组空间太小,至少应该为 6 个字符的长度才可以。选项 D)中的指针 s 未赋初值,所以指向个不确定的地址,因而不能用 scanf 输入数据到这一指针所指向的地址中。 考点链

10、接 通过赋初值的方式给一维字符数组赋字符串。12.以下程序的输出结果是 #includestdio.h struct st int x;int *y;*p; int dt4=10,20,30,40; struct st aa4=50, for(i=0;i3;i) pi=i9;i+)gethchar(st;C.gets(st; D.for(i=0;i9;i+)scanf(“%s“, t=MAX(a+b,c+d); PRINT(t);(分数:1.00)A.Y=3B.存在语法错误C.Y=7 D.Y=0解析:命题目的 考查带参数的宏替换。 解题要点 宏替换不像函数调用要进行参数值的计算、传递等,而只是

11、简单按照原格式进行字符串的替换。 考点链接 宏定义的命令格式。44.一个关系中属性个数为 1 时,称此关系为(分数:1.00)A.对应关系B.单一关系C.一元关系 D.二元关系解析:命题目的 使学生加深对关系模型数据库基础知识的记忆。 解题要点 在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有 N 个属性的关系称为 N 元关系。 考点链接 各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。45.设有下面的程序段: char s=“china“; char*p;p=s; 则下列叙述正确的是(分数:1.00)A.s 和 p 完全相同B.数组 s

12、 中的内容和指针变量 p 中的内容相同C.s 数组长度和 p 所指向的字符串长度相等D.*p 与 s0相等 解析:命题目的 考查的是字符指针和字符数组的区别。 解题要点 选项 A)中,s 为数组名,是一个常量地址,而指针 p 为一个字符变量,不能说两者完全相同,所以选项 A)错误。选项 B)和 C)的说法都不严谨,只有选项 D)的说法正确。 考点链接 用于字符串处理的函数。46.最简单的交换排序方法是(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:命题目的 让考生加深对各种排序方法特点的了解。 解题要点 冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐

13、步将线性表变成有序。 错解分析 交换排序方法有冒泡排序和快速排序,显然选项 B)和选项 C)错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。 考点链接 插入排序、选择排序、归并排序、基数排序等排序方法的特点。47.以下程序执行后 x 的值是 main() int x,y=252,i=386,*m= 则表达式 a*b+d-c 值的类型为U 【7】 /U。(分数:2.00)填空项 1:_ (正确答案:double 或双精度型)解析:命题目的 考查表达式的运算规则。 解题要点 C 语言中,如果运算符两边的数据类型不同,将进行类型转换,根据转换规则

14、,短整型转为长整型;整型转换为实型。 考点链接 数据类型的强制转换。58.下面程序的输出结果是U 【8】 /U。 unsigned fun6(unsigned num) unsigned k=1; do k*=hum%10; num/=10;while(num); return(k); main() unsigned n=26; printf(“%d/n“,fun6(n);(分数:2.00)填空项 1:_ (正确答案:12)解析:命题目的 考查的是 dowhile 循环的使用。 解题要点 dowhile 循环的一个比较显著的特点是:先执行一次循环体然后再判断循环的条件是否满足,若满足则接着进入

15、下一次循环,否则就退出循环。 考点链接 3 种循环结构的比较。59.设 x 和 y 均为 int 型变量,且 x=1,y=2,则表达式 double(1+x/y)的值为U 【9】 /U。(分数:2.00)填空项 1:_ (正确答案:1.000000)解析:命题目的 考查表达式的运算规则。 解题要点 本题考查两个知识点一是 x/y 的值为整型即为0,二是数字 1 存放在 double 中是 double 类型。60.下面程序的运行结果是U 【10】 /U。 main() int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) printf(“%d/n“,s); bre

16、ak; s+=i; (分数:2.00)填空项 1:_ (正确答案:30)解析:命题目的 考查 for 循环的使用。 解题要点 题目中 for(;)表示:for 循环的初始化表达式,条件表达式和修正表达式都省略了,表示进行 for 循环和 for 循环的终止都没有限制。 考点链接 while 循环的执行原理。61.在内存中,存储字符x要占用 1 个字节,存储字符串“x“要占用U 【11】 /U个字节。(分数:2.00)填空项 1:_ (正确答案:2)解析:命题目的 考查字符和字符串在内存中的存储形式。 解题要点 计算机存储一个字符用 1 个字节,存储字符串时,每个字符用占用 1 个字节,另在字符

17、串的有效字符之后存储 1 个字符串的结束标记符。所以存储字符串“X”要占用 2 个字节,存储字符x只要 1 个字节。 考点链接 sizeof()函数和strlen()函数的作用。62.以下程序的运行结果是U 【12】 /U。 #includestdio.h main() int a=1,b=2,c; c=max(a,b); printf(“max is%d/n“,c); max(int x,int y) int z; z=(xy)? x:y; return(z);(分数:2.00)填空项 1:_ (正确答案:max is 2)解析:命题目的 考查函数之间的数据传递。 解题要点 函数通过参数来传

18、递数据是单向的,只能由实参传给形参而不能由形参传给实参,但是可以通过函数的返回值将函数中的数据带回。 考点链接 函数的两种调用方式及函数调用的语法要求。63.下面的函数 fun 的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位放在一维数组中返回,二进制的最低位放在下标为 0 的元素中,其他依次类推,请填空。 fun(int x,int b) int k=0,r; do r=x%U 【13】 /U; bk+=r; x/=U 【14】 /U; while(x);(分数:2.00)填空项 1:_ (正确答案:132 142)解析:命题目的 考查 dowhile 循环的作用。 解题要点 深

19、刻理解+进制转化为二进制的方法,即取余法;数组名作为实参,在函数内部可以直接修改调用函数中定义的数组的值。 考点链接 掌握两个数据进行交换的算法原理。64.以下程序是用递归方法求数组中的最大值及其下标值。请填空。 #define M 10 void findmax(int *a,int n,int i,int *pk) if(in) if(aia *pk)U 【15】 /U; findmax(a,n,i+1,i+)scanf(“%d“ ,a+i); findmax(a,M,0,&n); printf(“ The maxinum is:%d/n“ ,an); printf(“ Its index

20、 is;%d/n“ ,n);(分数:2.00)填空项 1:_ (正确答案:*pk=ai)解析:命题目的 调用函数和初调用函数之间的数据传递。 解题要点 通过参数传递,findmax 函数接收到 4 个参数,分别是数组 a(需要对其中的数据按照题目的要求进行计算)、10(数组 a 中的元素个数)、0(数组 a 的起始位置)、指针变量 n(对数组 a 中的元素进行遍历)。我们了解了这些参数的作用后,再对递归调用的函数进行分析,就不难得出结论了。 考点链接 通过对本例中递归函数的分析掌握递归算法的执行原理。65.以下程序的输出结果是U 【16】 /U。 main() char*p=“BOOL“,“O

21、PK“,“H“,“SP“; int i; for(i=3;i0;i-,i-)printf(“%c“,*pi); printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:SO)解析:命题目的 考查用指针引用字符串数组中元素的方法。 解题要点 题中需要注意两个问题:一是 for 循环的修正表达式共执行两次“i-”操作;二是*pi是对某个字符的引用。66.以下程序的输出结果是U 【17】 /U。 #includestdio.h main() int s=1,2,3,4,i; int x=0; for(i=0;i4;i+) x=sb(s,x); printf(“%d“ ,x); pri

22、ntf(“/n“); sb(s1,y) int *s1,y; static int i1=3; y=s1i1; i1-; return(y);(分数:2.00)填空项 1:_ (正确答案:174321)解析:命题目的 考查静态存储类的局部变量的使用。 解题要点 静态存储类的局部变量其生存期为整个程序的运行期间,作用域却只是定义它的函数或局部范围。 考点链接 局部变量和全局变量的作用域。67.以下程序用来输出结构体变量 ex 所占存储单元的字节数,请填空。 struct st char name20;double score; main() struct st ex; printf(“ex si

23、ze:%d/n“,sizeof(U 【18】 /U);(分数:2.00)填空项 1:_ (正确答案:struct st 或 ex)解析:命题目的 考查了结构体变量的存储分配结构。 解题要点 结构体类型数据,其数据成员各自占据不同的存储空间,整个结构体变量所占存储单元的字节数为每一个数据成员所占的存储空间的和。 考点链接 共用体变量所占存储单元字节数的计算。68.以下程序段的功能是统计链表中结点的个数,其中 first 为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。 struct link char data; struct link*next; struct link*p,*first; int c=0; p=first; while(U 【19】 /U) c+; p=U 【20】 /U;(分数:2.00)填空项 1:_ (正确答案:19p!=NULL 20p-next)解析:命题目的 考查链表的操作。 解题要点 结构体变量构成链表需要每个节点中都有一个指向下一个结点的指针,就像本题中的 next 指针一样。 考点链接 掌握可以对链表进行的操作。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1