【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 536及答案解析(总分:59.00,做题时间:90 分钟)一、选择题(总题数:40,分数:59.00)1.以下语句中存在语法错误的是_。(分数:1.00)A.char ss620; ss1=“right?“;B.char ss()20=“right?“;C.chat *ss6; ss1=“right?“;D.char *ss()=“right?“;2.以下不是 C语言字符型或字符串常量的是_。(分数:1.00)A.“It“s“B.“0“C.“a=0“D.“/010“3.若有以下程序: #include stdio.h main( ) FILE *fp; int i, a
2、6=1,2,3,4,5,6,k; fp=fopen(“data.dat“,“w+“); for(i=0;i6;i+) fseek(fp,0L,0); fprintf(fp,“%d/n“,ai); rewind(fp); fscanf(fp,“%d“, fclose(fp); printf(“%d/n“,k); 则程序的输出结果是_。(分数:5.00)A.123456B.1C.6D.214.对下列二叉树进行中序遍历的结果是_。 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG5.下列与队列结构有关联的是_。(分数:1.00)A.函数的递归调用B.数组元素
3、的引用C.多重循环的执行D.先到先服务的作业调度6.有以下程序: struct s int x,y;) data2=10,100,20,200); main() struct s *p=data; printf(“%d/n“,+(p-x); 程序运行后的输出结果是( )。(分数:1.00)A.10B.11C.20D.217.有以下程序(strcat 函数用以连接两个字符串) #includestdio.h #includestring.h main() char a20=“ABCD/0EFG/0“,b=“IJK“; strcat(a,b); printf(“%s/n“,a); 程序运行后的输出
4、结果是_。(分数:1.00)A.ABCDIJKB.ABCDE/OFG/OIJKC.IJKD.EFGIJK8.下列叙述中正确的是_。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构的线性表D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构9.若有下列说明语句 int(* p)(); 则标识符 p代表的是 _(分数:1.00)A.一个用于指向函数的指针变量,函数返回值的类型为 int型B.一个带回值类型为整型的函数名C.一个用于指向整型数据的指针变量D.一个带回值类型为指针类型的函数名10.若有函数: void fun(double a
5、,int *n) . 以下叙述中正确的是_。(分数:1.00)A.调用 fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B.形参 a和 n都是指针变量C.形参 a是一个数组名,n 是指针变量D.调用 fun函数时将把 double型参数组元素一一对应地传送给形参 a数组11.若有定义语句:int year=2009,*p=,以下不能使变量 year中的值增至 2010的语句是_。(分数:2.00)A.(*p)+;B.*p+;C.+(*p);D.*p+=1;12.若有代数式 (分数:2.00)A.sqrt(fabs(pow(n,x)+exp(x)B.sqrt(fabs(pow(
6、n,x)+pow(x,e)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)13.下列叙述中错误的是_。(分数:2.50)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的14.下面选项中关于“文件指针”概念的叙述正确的是_。(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针是程序中用 FILE定义的指针变量C.文件指针指向文件在计算机中的存储位置D.把文件指针传给 fscanf函数,就可以向文本文件中写
7、入任意的字符15.以下关于 return语句的叙述中正确的是_。(分数:1.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能返回到调用处16.有以下程序: #includestdio.h int f(int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%d/n“,d); 程序运行后的输出结果是_。(
8、分数:1.00)A.7B.10C.8D.917.C语言规定,在一个源程序中,main()函数的位置_。(分数:1.00)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后18.已知大写字母 A的 ASC码是 65,小写字母 a的 ASC码是 97,以下不能将变量 C中的大写字母转换为对应小写字母的语句是_。(分数:2.00)A.c=(c-“A“)%26+“a“B.c=c+32C.c=c-“A“+“a“D.c=(“A“+c)%26-“a“19.若有定义语句:“int x=12, y=8, z;”,在其后执行语句“z=0.9+x/y;”,则 z的值为_。(分数:1.00)A
9、.1.9B.1C.2D.2.420.下列说法中,正确的是_。(分数:1.00)A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存储空间21.在数据库系统中,给出数据模型在计算机上物理结构表示的是_。(分数:1.00)A.概念数据模型B.逻辑数据模型C.物理数据模型D.关系数据模型22.以下叙述错误的是_。(分数:2.00)A.C语言区分大小写B.C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C.整数和实数都能用 C语言准确无误地表示出来D.在 C程序中,正整数可以用十进制、八进制和十六进制的形式来表示23.有如下程序:
10、#include stdio.h main() char name10=“S“,“T“,“R“,“I“,“N“,“G,; name3=“E“;name5 = 0; printf(“%s/n“,name); 程序运行后的输出结果是_。(分数:1.00)A.STRENGB.STRIEGC.STREND.STRENO24.现有格式化输入语句,scanf(“x=%d,sumy=%d, linez=%dL“, x, y, z);,已知在输入数据后,x,y,z 的值分别是 23,56,78,则下列选项中正确地输入格式的是 注 “表示空格,Enter表示回车(分数:1.00)A.23, 56, 78Ente
11、rB.x=23, y=56, z=78EnterC.x=23C, sumy=56, z=78EnterD.x=23, sumy=56, linez=78Enter25.有两个关系 R、S 如下: (分数:1.00)A.选择B.投影C.插入D.连接26.以下叙述中正确的是_。(分数:2.00)A.用 C语言编写的程序只能放在一个程序文件中B.C程序书写格式严格,要求一行内只能写一个语句C.C程序中的注释只能出现在程序的开始位置和语句的后面D.C程序书写格式自由,一个语句可以写在多行上27.在关系型的数据库管理系统中,3 种基本关系运算是_。(分数:2.00)A.选择、投影和连接B.选择、删除和复
12、制C.创建、修改和合并D.统计、连接和分类28.以下选项中非法的字符常量是_。(分数:2.00)A.“/“B.“/0201“C.“/xAA“D.“0“29.以下程序运行后的输出结果是 long fib(int n) if(n2)return(fib(n-1)+fib(n-2); else return(2); main _ printf(“%d/n“,fib(3);(分数:2.00)A.2B.4C.6D.830.以下_不属于对象的基本特征。(分数:2.50)A.继承性B.封装性C.分类性D.多态性31.下列运算符中优先级最低的算符是_。(分数:1.00)A.|B.!=C.=D.+32.下列程序
13、的输出结果是 _ 。 #include stdio.h main() FILE *fp; int i, k=0, n=0; fp=fopen( “d1.dat“, “w“); for(i=1; i4; i+) fprintf(fp, “% d“, i); fclose(fp); fp=fopen(“d1.dat“, “r“); fscanf(fp, “% d% d“, printf(“% d% d/n“, k, n); fclose(fp); (分数:1.00)A.12B.1230C.123D.0033.下面的程序用来输出两个字符串前 7个字符中对应相等的字符及其位置号,程序空白处应该填写的是
14、_。 #includestdio.h main() char s1=“chinese“,s2=“japnese“; int i; for(i=0;s1i!=“/0“i+) if(s1i=s2i (分数:2.00)A.putchar(s2i);putcha(i)B.puts(sli,i)C.printf(“%c%d/n“,s2i,i)D.printf(“%c“,s1i);printf(“%d/n“,i)34.对于 n个结点的单向链表(无表头结点),需要指针单元的个数至少为_。A.n-1BnC.n+1D.2n35.有以下程序段 int i,n; for(i=0;i8;i+) n=rand()%5;
15、 switch(n) case 1: case 3: printf(“%d/n“,n);break; case 2: case 4: printf(“%d/n“,n); continue; case 0: exit(0); printf(“%d/n“,n); 以下关于程序段执行情况的叙述,正确的是_。(分数:1.00)A.当产生的随机数 n为 0时结束程序运行B.当产生的随机数 n为 4时结束循环操作C.当产生的随机数 n为 1和 2时不做任何操作D.for循环语句固定执行 8次36.以下程序的输出结果是_。 main() int a,i=4; a=i+; printf(“a=%d,i=%d/
16、n“,a,i);(分数:2.00)A.a=4,i=4B.a=5,i=4C.a=4,i=5D.a=5,i=537.若有代数式 (分数:1.00)A.sqrt(fabs(pow(n,x)+pow(x,e)B.sqrt(fabs(pow(n,x)+exp(x)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)38.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才
17、能读到第 1个数据D.C语言中的文件是流式文件,凶此只能顺序存取数据39.在执行完下列的 C语句段之后,则 B的值是 _ 。 char a=“A“; int b; B=(34 (分数:2.00)A.0B.1C.TRUED.FALSE40.软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能二级 C语言分类模拟题 536答案解析(总分:59.00,做题时间:90 分钟)一、选择题(总题数:40,分数:59.00)1.以下语句中存在语法错误的是_。(分数:1.00)A.char ss620; ss1=“right?“; B.char ss()20=
18、“right?“;C.chat *ss6; ss1=“right?“;D.char *ss()=“right?“;解析:解析 数组定义后,不可以对数组整体赋值,s 是二维数组,因 ss1是一维字符数组,即字符串,字符串赋值可以使用 strepy(ss1,“right“);这样的形式,而选项 A中对二维数组中的第一维(相当于一个一维数组)赋值,这是不可以的;选项 B和 D是定义时对数组初始化,这是可以的;选项 C中,将字符串在内存中的首地址赋给指针数组的一个元素,这也是可以的。所以选择 A选项。2.以下不是 C语言字符型或字符串常量的是_。(分数:1.00)A.“It“s“B.“0“C.“a=0
19、“ D.“/010“解析:解析 C 项是一个赋值表达式。AB 两项是字符串常量,D 项是字符常量。3.若有以下程序: #include stdio.h main( ) FILE *fp; int i, a6=1,2,3,4,5,6,k; fp=fopen(“data.dat“,“w+“); for(i=0;i6;i+) fseek(fp,0L,0); fprintf(fp,“%d/n“,ai); rewind(fp); fscanf(fp,“%d“, fclose(fp); printf(“%d/n“,k); 则程序的输出结果是_。(分数:5.00)A.123456B.1C.6 D.21解析:
20、解析 本题考查文件操作函数 fseek()。fseek()函数用于二进制方式打开的文件,移动文件的读/写指针位置。题目中将文件内部的位置指针重新指向一个流(数据流/文件)的开头,所以最后只保留了6,答案为 C选项。4.对下列二叉树进行中序遍历的结果是_。 (分数:1.00)A.ACBDFEG B.ACBDFGEC.ABDCGEFD.FCADBEG解析:5.下列与队列结构有关联的是_。(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度 解析:解析 队列的修改是依先进先出的原则进行的,D 正确。6.有以下程序: struct s int x,y;) d
21、ata2=10,100,20,200); main() struct s *p=data; printf(“%d/n“,+(p-x); 程序运行后的输出结果是( )。(分数:1.00)A.10B.11 C.20D.21解析:解析 本题中定义了一个结构体数组 data2并初始化,主函数中定义了一个结构体类型指针变量并让它指向 data的首地址,由于 p指向第一个元素的地址,所以 p-x 相当于 data0.x即为 10,所以+(p-x)后的值为 11。故 4个选项中选项 B符合题意。7.有以下程序(strcat 函数用以连接两个字符串) #includestdio.h #includestrin
22、g.h main() char a20=“ABCD/0EFG/0“,b=“IJK“; strcat(a,b); printf(“%s/n“,a); 程序运行后的输出结果是_。(分数:1.00)A.ABCDIJK B.ABCDE/OFG/OIJKC.IJKD.EFGIJK解析:解析 strcat 函数从/0 开始往后链接,所以结果为 A。8.下列叙述中正确的是_。(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构的线性表D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 解析:解析 栈是先进后出的线性表,因此 A错误;队列是先进先出的线
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 536 答案 解析 DOC
