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