【计算机类职业资格】二级C语言笔试-126及答案解析.doc
《【计算机类职业资格】二级C语言笔试-126及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-126及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-126 及答案解析(总分:108.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.不能把字符串“HELLO!“赋绐数组 b 的语句是_。(分数:2.00)A.char b10=H,E,L,L,O,!;B.char b10=h,e.,l,l,o!;C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;2.设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:2.00)A.ac=ab1;(分数:2.00)A.00001011B.000011
2、11C.00011110D.000111004.若有以下定义和语句:int a=1,2,3,4,5,6,7,8,9,10),*p=a;则值为 3 的表达式是_。(分数:2.00)A.P+=2,*(p+)B.p+=2,*+pC.p+=3,*p+D.p+=2,+*p5.下面程序main()int x=100,a=10,b=20,okl=5,ok2=0;if(aB) if(b!=15)if(!ik1) x=1; else if(ok2)x=10;x=-1;printf(“%d/n“,x);的输出是_。(分数:2.00)A.-1B.0C.1D.不确定的值6.下列可用于 C 语言用户标识符的组是_。(分
3、数:2.00)A.void define WORDB.a3_b3 _123 CarC.For-abc IFCaseD.2a DO sizeof7.关系表中的每一横行称为个_。(分数:2.00)A.元组B.字段C.属性D.码8.设整型数 i=5,则 printf(“%d“i+i);的输出为_。(分数:2.00)A.10B.11C.12D.语法错误9.以下程序#includestdio.h#includestring.hmain()char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出
4、是_。(分数:2.00)A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC10.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。(分数:2.00)A.地址传递B.单向值传递C.由实参传递给形参,再由形参传递给实参D.传递方式由用户指定11.以下叙述中正确的是_。(分数:2.00)A.C 语言比其他语言高级B.C 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C 语言出现的最晚,具有其他语言的切优点12.以下程序运行后,输出结果是_。main()char*d=“ab“, “cde“;pr
5、intf(“%x“,d1);(分数:2.00)A.cdeB.字符 C 的 ASCII 码值C.字符 c 的地址D.出错13.下述关于数据库系统的叙述中正确的是_。(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了切冗余C.数据库系统中数据的致性是指数据类型的致D.数据库系统比文件系统能管理更多的数据14.以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includestdio.hmain()int a10=0;while(i10)scan(“%d“_);:(分数:2.00)A.a+(i+)B.main()int a,b,c;sub(10,5,sub(7,a,sub(a
6、,b,printf(“%d,%d,%d/n“,a,b,c);A) 5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-718.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析19.有以下程序:#includestdio.hmain() char c6;int i=0;for(j6;ci=getchar(),i+);for(i=0,i6;i+)putchar(ci);printf(“/n“);如果从键盘上输入:ab回车c回车def回车则输出结果为_。(分数:2.00)A.abcd
7、efB.abcdC.abcdD.abcdef20.字符(char)型数据在微机内存中的存储形式是_。(分数:2.00)A.反码B.补码C.EBCDIC 码D.ASC码21.下面程序的输出是_。main()int k=11;printf(“k=%d,k=%o,k=%x/n“,kkk);(分数:2.00)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=B22.算法的时间复杂度是指_。(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数23.以下程
8、序的输出结果是_。#includestdio.h#define FUDGE(y) 2.84+y#define PR((分数:2.00)A.main()int x=5,y=3,z=7,r;r=fun(y,x+y),z);r=fun(x,y);printf(“%d/n“,r);上面程序的输出结果_。(分数:2.00)A.23B.15C.19D.1825.设有如下程序#includestdio.hmain()int*k,*j,i=100j=s0=a0,s1=a1pp=sp=(int*)malloc(sizeof(int);*pp=s11;p=*pp;printf(“%d/n“,*p);(分数:2.0
9、0)A.1B.7C.9D.1128.请读程序:#includestdio.hmain()int a;float b,c;scanf(“%2d%3f%4f“,printf(“/na=%d,b=%f,c=%f/n“,a,b,c)若运行时从键盘上输入 987643210 (分数:2.00)A.B.C.D.29.下面程序的输出是_。main()char*s=“12134211“;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk)defaultv4+;case1:v1+;case3:v3+;case2:v2+;printf(“v1=%d,v2=%d,v3
10、=%d,v4=%d/n“,v1,v2,v3,v4);(分数:2.00)A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1D.v1=8,v2=8,v3=8,v4=830.数据流图用于抽象描述一下软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_。(分数:2.00)A.控制流B.加工C.数据存储D.源和潭31.下面程序的输出是_。main()int x=3,y=6,a=0;while(x+!=(y-=1)a+=1if(yx)break;printf(“x=%d,y=%d,=%d/
11、n“,x,y,(分数:2.00)A.;A) x=4,y=4,a=1B) x=532.下面关于完全二叉树的叙述中,错误的是_。(分数:2.00)A.除了最后层外,每层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树般不是满二叉树D.具有结点的完全二叉树的深度为log 2n+133.若有下面的说明和定义,则 sizeof(struct a(分数:2.00)A.的值是_。的输出是_。(分数:2.00)A.100B.160C.120D.6436.下面程序输出的结果是_。main()inti=5,j=9,x;x=(ij?i:(j=7);printf(“/n%d,%d“,i,j)(分数:
12、2.00)A.5,7B.5,5C.语法错误D.7,537.设有以下语句,其中不是对 a 数组元素的正确引用的是:_(其中 0i0) inta10=O,12,3,4,5,6,7,8,9,*p=a;(分数:2.00)A.ap-aB.*(p=_malloc(sizeof(int);则应填入_。(分数:2.00)A.intB.int*C.(*int)D.(int*)二、填空题(总题数:12,分数:28.00)41.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、 【1】 遍历和后序遍历。(分数:2.00)填空项 1:_42.结构化程序设计方法的主要原则可以概括为自顶向下、
13、逐步求精、 【2】 和限制使用 goto 语句。(分数:2.00)填空项 1:_43.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和 【3】 的设计来实现。(分数:2.00)填空项 1:_44.数据库系统的三级模式分别为 【4】 模式、内部级模式与外部级模式。(分数:2.00)填空项 1:_45.数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项、数据结构、数据流; 【5】 和处理过程。(分数:2.00)填空项 1:_46.下面程序的输出是 【6】 。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(
14、1;i4;i+)k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_47.若 a=10,b=20,则表达式!(ab) 的值是 【7】 (分数:2.00)填空项 1:_48.有以下程序int fa(int x)return x*x;int fb(int x)retum x*x*x;int f(int(*fl)int(*12)(),intx)return f2(x)-f1(x);main()int i;i=f(fa,fb,2);printf(“%d/n“,i);程序运行后,输出结果是 【8】 (分数:2.00)填空项 1:_49.下面程序的输出是 【9】 main
15、()enum ememl=3,em2=1,em3;char*aa=“AA,“BB“,“CC“,“DD“printf(“%s%s%/n“,aaem1,aaem2,aaem3);(分数:2.00)填空项 1:_50.下列程序的输出结果是 【10】 int t(intx,inty,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int, a=4,b=3,c=5,d=6;t(a,b,c,d);printf(“%d %d/n“,c,d);(分数:2.00)填空项 1:_51.有以下定义和语句,则 sizeof(a) 的值是 【11】 ,而 sizeof(a,share
16、)的值是 【12】 struct dateint day;int mouth;int year;unionint share1;float share2;share;a;(分数:2.00)填空项 1:_52.下述函数用于统计行字符中的单词个数,单词之间用空格分隔。word_num(str)char str;int,num=O,word=O;for(i=0;stri!= 【13】 ;i+)if( 【14】 “)wprd=0else if(wordO)word=1:【15】 ;return(num);(分数:6.00)填空项 1:_二级 C 语言笔试-126 答案解析(总分:108.00,做题时间
17、:90 分钟)一、选择题(总题数:40,分数:80.00)1.不能把字符串“HELLO!“赋绐数组 b 的语句是_。(分数:2.00)A.char b10=H,E,L,L,O,!;B.char b10=h,e.,l,l,o!; C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;解析:评析 在 C 语言中,写字母和小写字母被认为是两个不同的字符,因此,“hello!”和“Hello!”是两个不同的字符串。2.设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的表达式是_。(分数:2.00)A.ac=
18、ab1;(分数:2.00)A.00001011B.00001111 C.00011110D.00011100解析:评析 C 语言提供六种位运算符,按优先级由高到低的顺序分别为:取反()、左移()和右移()、按位与 (则值为 3 的表达式是_。(分数:2.00)A.P+=2,*(p+) B.p+=2,*+pC.p+=3,*p+D.p+=2,+*p解析:评析 引用个数组元素,可以用: (1)下标法,如 ai形式; (2)指针法,如*(a+i)或*(p+i)。数组的下标从 0 开始,值为 3 的数组元素是 a2。B、C 的内容为 a3,D 将2前自加,结果为 4。5.下面程序main()int x=
19、100,a=10,b=20,okl=5,ok2=0;if(aB) if(b!=15)if(!ik1) x=1; else if(ok2)x=10;x=-1;printf(“%d/n“,x);的输出是_。(分数:2.00)A.-1 B.0C.1D.不确定的值解析:评析 第判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断如此循环,在打印输出语句的前行,程序绐变量 x 赋了值,为-1,所以,无论前期如何变化,最后的 x 值依然为-16.下列可用于 C 语言用户标识符的组是_。(分数:2.00)A.void define WORDB.a3_b3 _123 Car C.For-abc IF
20、CaseD.2a DO sizeof解析:评析 C 语言规定标识符只能由字母,数字和下划线 3 种字符组成,且第个字符必须为字母或下划线,所以排除 C 和 D。 C 语言还规定标识符不能为 C 语言的关键字,从而选项 A(void 是关键字)也是错误的。7.关系表中的每一横行称为个_。(分数:2.00)A.元组 B.字段C.属性D.码解析:评析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。8.设整型数 i=5,则 printf(“%d“i+i);的输出为_。(分数:2.00)A.10B.11C.12D.语法
21、错误 解析:评析 C 语言中有基本的算术运算符(+、-、*、/)还包括自增自减运算符(+、-),在 C 语言解析表达式时,它总是进行贪婪咀嚼,这佯,该表达式就被解析为 i+ + +i,显然该表达式不合 C 语言语法。9.以下程序#includestdio.h#includestring.hmain()char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出是_。(分数:2.00)A.xyzabcABCB.zabcABCC.yzabcABCD.xyabcABC 解析:评析 strcat
22、(p1,P2)将字符串 abcABC 放到了*pl 所指向的存储单元中;strcpy 在本题将 abcABC复制到 str+2 所指向的存储单元中,即覆盖原 str 数组中的字符 z 及其后的所有字符,故 str 的值为“xyabcABC”。10.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。(分数:2.00)A.地址传递B.单向值传递 C.由实参传递给形参,再由形参传递给实参D.传递方式由用户指定解析:评析 C 语言规定,实参变量对形参变量的数据传递是“单向值传递”,只由实参传给形参。在内存中,实参单元与形参单元是不同的单元。调用结束后,实参单元仍保留并维持原值。11
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 126 答案 解析 DOC
