欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc

    • 资源ID:1325565       资源大小:78.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc

    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错误;队列是先进先出的线

    23、性表,因此 B错误;循环队列是线性结构的线性表,因此 C错误,故本题答案为 D。9.若有下列说明语句 int(* p)(); 则标识符 p代表的是 _(分数:1.00)A.一个用于指向函数的指针变量,函数返回值的类型为 int型 B.一个带回值类型为整型的函数名C.一个用于指向整型数据的指针变量D.一个带回值类型为指针类型的函数名解析:10.若有函数: void fun(double a,int *n) . 以下叙述中正确的是_。(分数:1.00)A.调用 fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B.形参 a和 n都是指针变量 C.形参 a是一个数组名,n 是指针变量

    24、D.调用 fun函数时将把 double型参数组元素一一对应地传送给形参 a数组解析:解析 本题考查函数中数组和指针的传值,数组 a在参数传递时,是传递的数组 a的首地址,所以形参 a和 n都是指针变量。11.若有定义语句:int year=2009,*p=,以下不能使变量 year中的值增至 2010的语句是_。(分数:2.00)A.(*p)+;B.*p+; C.+(*p);D.*p+=1;解析:解析 由于自加运算符+的运算级别高于间接运算*的运算级别,所以 B选项的表达式*p+不能使变量 year中的值增至 2010,因此选择 B选项。12.若有代数式 (分数:2.00)A.sqrt(fa

    25、bs(pow(n,x)+exp(x) B.sqrt(fabs(pow(n,x)+pow(x,e)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)解析:解析 B 选项中,函数 pow(x,e)错误,应该直接使用 exp(x)函数。C 选项中,函数 abs(nx+ex)错误,应该使用 fabs()返回浮点数的绝对值。D 选项中,pow(x,n)参数腰序错误。13.下列叙述中错误的是_。(分数:2.50)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空

    26、间不一定是连续的解析:解析 数据的存储结构分顺序存储结构和链式存储结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素通过指针就联系在一起了,所以所占的存储空间不一定是连续的。14.下面选项中关于“文件指针”概念的叙述正确的是_。(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针是程序中用 FILE定义的指针变量 C.文件指针指向文件在计算机中的存储位置D.把文件指针传给 fscanf函数,就可以向文本文件中写入任意的字符解析:解析 文件指针的定义形式为 FILE*文件指针名,所以 B正确。15.以下关

    27、于 return语句的叙述中正确的是_。(分数:1.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句 C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能返回到调用处解析:解析 return 语句又称为返回语句。该语句的格式如下:“return;”和“return(表达式);”。其中,return 是关键字。该语句有两种格式:不带返回值格式和带返回值格式。该语句用在被调用函数中,在被调用函数中执行到该语句时,将结束对被调用函数的执行,并把控制权返回给调用函数,

    28、继续执行调用函数后边的语句。在带有返回值的情况下,将 return语句所带的表达式的值返回给调用函数,作为被调用函数的值。在被调用函数中,可以用 return语句,也可以不用 return语句。如果要求被调用函数有返回值,则一定要用 return语句,采用 return(表达式);格式。如果被调用函数不需要返回值,并且当被调用函数的所有语句执行完后进行返回,则被调用函数可以不用 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(

    29、a,c); printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.7B.10C.8D.9 解析:解析 调用 f(a,b)函数返回 3,调用 f(a,c)函数返回 6,所以外层调用 f(f(a,b),f(a,c),即调用 f(3,6)函数返回 9。17.C语言规定,在一个源程序中,main()函数的位置_。(分数:1.00)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意 D.必须在最后解析:解析 程序中可以把 main()函数放在任何位置,但程序是从 main()函数开始执行的。18.已知大写字母 A的 ASC码是 65,小写字母 a的 ASC码是 9

    30、7,以下不能将变量 C中的大写字母转换为对应小写字母的语句是_。(分数:2.00)A.c=(c-“A“)%26+“a“B.c=c+32C.c=c-“A“+“a“D.c=(“A“+c)%26-“a“ 解析:解析 由 97-65=32可知大写字母对应的小写字母之间相差 32,所以将大写字母加上 32就得到小写字母,所以选项 B和 C是正确的。选项 A 中(cA)%26 可以求出变量 c中的字母与字母 A相差几位那么小写字母 a的 ASC码向后移动相差的位数就是对应的小写字母,所以选项 A也是正确的。19.若有定义语句:“int x=12, y=8, z;”,在其后执行语句“z=0.9+x/y;”,

    31、则 z的值为_。(分数:1.00)A.1.9 B.1C.2D.2.4解析:解析 此题考查除法运算,根据先乘除后加减,有括号先算括号的原则,先计算 x/y,即12/8=1,所以 z=0.9+1=1.9。20.下列说法中,正确的是_。(分数:1.00)A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存储空间 解析:解析 指针是地址,存放指针的变量是指针变量,不同类型的指针变量存放不同类型数据的地址,指针变量作为可存储指针的变量,也要占用一定的存储空间。21.在数据库系统中,给出数据模型在计算机上物理结构表示的是_。(分数:1.00)A.概念数据模型B.逻辑

    32、数据模型C.物理数据模型 D.关系数据模型解析:解析 数据模型按照不同的应用层次分为以下 3种类型:概念数据模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画;逻辑数据模型,是面向数据库系统的模型,着重于在数据库系统一级的实现;物理数据模型,是面向计算机物理实现的模型,此模型给出了数据模型在计算机上物理结构的表示。C 选项正确。22.以下叙述错误的是_。(分数:2.00)A.C语言区分大小写B.C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C.整数和实数都能用 C语言准确无误地表示出来 D.在 C程序中,正整数可以用十进制、八进制和十六进制的形式来表示解

    33、析:23.有如下程序: #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.STREN D.STRENO解析:解析 printf 函数按照格式符说明输出对应的数据。%s 控制符用于输出字符串,输出时从给定地址开始依次输出字符,直到遇到/0结束。给字符变量赋值 0,相当于赋值/0。初始化时name=“STRING“,改动数组第 4个和第 6个元素之后字符串变为“ST

    34、REN“。调用 printf输出字符串为STREN,故 C选项正确。24.现有格式化输入语句,scanf(“x=%d,sumy=%d, linez=%dL“, x, y, z);,已知在输入数据后,x,y,z 的值分别是 23,56,78,则下列选项中正确地输入格式的是 注 “表示空格,Enter表示回车(分数:1.00)A.23, 56, 78EnterB.x=23, y=56, z=78EnterC.x=23C, sumy=56, z=78EnterD.x=23, sumy=56, linez=78Enter 解析:解析 若在 scanf的格式化控制串中插入了其他字符,则在输入时要求按一一

    35、对应的位置原样输入这些字符。格式化输入函数必须严格按照双引号里面的格式进行输入。在格式化输出函数中,格式控制串中除了合法的格式说明外,可以包含任意的合法字符。25.有两个关系 R、S 如下: (分数:1.00)A.选择B.投影 C.插入D.连接解析:解析 投影运算是指对于关系内的域指定可引入新的运算。本题中 S是在原有关系 R的内部进行的,是由 R中原有的那些域的列所组成的关系。所以选择 B选项。26.以下叙述中正确的是_。(分数:2.00)A.用 C语言编写的程序只能放在一个程序文件中B.C程序书写格式严格,要求一行内只能写一个语句C.C程序中的注释只能出现在程序的开始位置和语句的后面D.C

    36、程序书写格式自由,一个语句可以写在多行上 解析:解析 C 语言编写的程序可以放置于多个程序文件中,所以 A选项错误。C 程序中的一行可以有多条语句,所以 B选项错误。C 语言中的注释语句可以与原语句放在一行,也可以不放在一行,所以 C选项错误。27.在关系型的数据库管理系统中,3 种基本关系运算是_。(分数:2.00)A.选择、投影和连接 B.选择、删除和复制C.创建、修改和合并D.统计、连接和分类解析:解析 在关系型数据库管理系统中,基本的关系运算有选择、投影和联接 3种操作。选择,指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑选出来。对于投影,是指从所有字段中选取一部分字段及其

    37、值进行操作,它是一种纵向操作。投影操作可以改变关系的结构。而联接运算则通常是对两个关系进行投影操作来连接生成一个新的关系。当然,这个新的关系可以反映出原来两个关系之间的联系。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.4 C.6D.8解析:解析 本题考查函数的递归调用。fib(3)

    38、=fib(2)+fib(1),而 fib(2)的返回值为 2,fib(1)的返回值也为 2,故输出的 fib(3)的值为 4。30.以下_不属于对象的基本特征。(分数:2.50)A.继承性 B.封装性C.分类性D.多态性解析:解析 对象具有如下特征: 标识惟一性,指对象是可区分的; 分类性,指可以将具有相同属性和操作的对象抽象成类; 多态性,指同一个操作可以是不同对象的行为; 封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法;模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。31.下列运算符中优先级最低的算符是_

    39、。(分数:1.00)A.| B.!=C.=D.+解析:解析 C 语言中规定运算符的优先顺序:一元算术运算符二元算术运算符关系运算符逻辑运算符赋值运算符,A 项中为逻辑运算符,B 项和 C项都为关系运算符,D 项为一元运算符。因此最低的是 A项。32.下列程序的输出结果是 _ 。 #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

    40、(fp, “% d% d“, printf(“% d% d/n“, k, n); fclose(fp); (分数:1.00)A.12B.1230 C.123D.00解析:解析 fscanf 从磁盘上读取 ASCII字符,给 k和 n赋值。在进行 fp=fopen(“dl.dat“, “w“)操作时,向文件写字符,由 fprintf()将 1,2,3写入磁盘,再由磁盘符 123传给 k,且将 0传给 n。在文件写操作时,两个数之间应用空格隔开,而在本题中,没有用空格隔开,所以 123视为一个数。33.下面的程序用来输出两个字符串前 7个字符中对应相等的字符及其位置号,程序空白处应该填写的是_。

    41、#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+1 D.2n解析:解析 在 n个结点的单向链表(无表头结点)中,每个结点都有个指针单元(即指针域)

    42、,加上头指针,至少需要 n+1个指针单元。35.有以下程序段 int i,n; for(i=0;i8;i+) n=rand()%5; 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循环

    43、语句固定执行 8次解析:解析 n 为 0时执行 exit(0);函数结束,所以产生的随机数为 0时,函数结束。答案选择 A。36.以下程序的输出结果是_。 main() int a,i=4; a=i+; printf(“a=%d,i=%d/n“,a,i);(分数:2.00)A.a=4,i=4B.a=5,i=4C.a=4,i=5 D.a=5,i=5解析:37.若有代数式 (分数: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)解析:解

    44、析 B 选项中函数 pow(x,e)错误,应该直接使用 exp(x)函数。C 选项中函数 abs(nx+ex)错误,应该使用 fabs()返回浮点数的绝对值。D 选项中 pow(x,n)参数顺序错误。本题正确答案为 A。38.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数据D.C语言中的文件是流式文件,凶此只能顺序存取数据解析:解析 B 选项中打开一个已存在的文件并进行了写

    45、操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C 选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第 1个数据,可以用 fseek()函数进行重新定位即可。D 选项中,C 语言中的文件可以进行随机读写。故本题答案为 A。39.在执行完下列的 C语句段之后,则 B的值是 _ 。 char a=“A“; int b; B=(34 (分数:2.00)A.0B.1 C.TRUED.FALSE解析:解析 本题考查 C语言 3个知识点:将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的 ASCII码存储到内存单元中;大写字母的 ASCII码值小于其对应小写字母的 ASCII码值;只要逻辑与运算符&的两个运算对象都为非零,返回值就是 1。40.软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误 C.改善软件的性能D.挖掘软件的潜能解析:解析 软件调试的目的是发现错误的位置,并改正错误。


    注意事项

    本文(【计算机类职业资格】二级C语言分类模拟题536及答案解析.doc)为本站会员(dealItalian200)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开