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

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

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

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

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

    1、二级 C语言笔试-153 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.已知 int a;float b;所用的 scanf调用语句格式为:scanf(“a/%d,b=%f“,&a,&b);为了将数据 3和 25.08分别赋给 x和 y,正确的输入应当是(分数:1.00)A.3,25.08EnterB.a=3,b=25.08EnterC.a/3.b=25.08EnterD.a/3Enterb=25.08Enter2.有如下定义#define D2int x=5;float y=3.83;char C=D;则下面选项中错误的是(分数:1.00

    2、)A.x+;B.y+;C.c+;D.D+;3.以下不正确的定义语句是(分数:1.00)A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9;C.char cl=1,2,3,4,5;D.char c2=/x10,/xa,/x8;4.若有以下说明和定义union dtint a;char b;double c;data;以下叙述中错误的是(分数:1.00)A.data的每个成员起始地址都相同B.变量 data所占内存字节数与成员 c所占字节数相等C.程序段:data.a=5;printf(“%f/n“,data.c);输出结果为 5.00000

    3、0D.data可以作为函数的实参5.下列叙述中,不属于软件需求规格说明书的作用的是(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析6.SQL语言又称为(分数:1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言7.下面程序段的运行结果是char*s=“abcde“;s+=2;printf(“%d“,s);(分数:1.00)A.cdeB.字符cC.字符c的地址D.无确定的输出结果8.在设计程序时,应采纳的原则之一是(分数:1.00)A.不限制 go

    4、to语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解9.在 C语言中,运算对象必须是整型数的运算符是(分数:1.00)A.%B./C.%和/D.*10.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai; ai=an-1-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_11.在 C程序中,判逻辑值时,用“非 0

    5、”表示逻辑值“真”,又用“0”表示逻辑值“假”。在求逻辑值时,逻辑真和逻辑假可分别表示为(分数:1.00)A.1 0B.0 1C.非 0非 0D.1 112.设函数 fun的定义形式为void fun(char ch,float x)则以下对函数 fun的调用语句中,正确的是(分数:1.00)A.fun(“abc“,3.0);B.t=fun(D,16.5);C.fun(65,2.8);D.fun(32,32);13.设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(“%d“,s);则(分数:1.00)A.运行程序段后输出 0B.运行程序段后输出 1C.程序

    6、段中的控制表达式是非法的D.程序段执行无限次14.下列选项中不是结构化程序基本结构的是(分数:1.00)A.顺序结构B.跳转分支结构C.选择结构D.循环结构15.下列程序执行后的输出结果是main()int a33, *p,i;p=&a00;for(i=1;i9;i+)pi=i+1;printf(“%d/n“,a12);(分数:1.00)A.3B.6C.9D.随机数16.C语言结构体类型变量在程序运行期间(分数:1.00)A.TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B.所有的成员一直驻留在内存中C.只有最开始的成员驻留在内存中D.部分成员驻留在内存中17.阅读下面程序段,则执行后输

    7、出的结果是#include“stdio.h“main()char fun(char,int);char a=A;int b=13;a=fun(a,b);putchar((分数:1.00)A.;char fun(char a,intB.&n18.设有以下语句:char X=3,y=6,z;z=xy2;则 2的二进制值是(分数:1.00)A.00010100B.O0011011C.00011100D.0001100019.以下程序的运行结果是#define MIN(x,y)(x)(y)?(x):(y)main()int i=10,j=15,kk=10*MIN(i,j);printf(“%d/n“,

    8、k);(分数:1.00)A.10B.15C.100D.15020.将 E-R图转换到关系模式时,实体与联系都可以表示成(分数:1.00)A.属性B.关系C.键D.域21.设有以下说明语句typedef structint n;char ch8;PER;则下面叙述中正确的是(分数:1.00)A.PER是结构体变量名B.PER是结构体类型名C.typedef struct是结构体类型D.struct是结构体类型名22.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是(分数:1.00)A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意顺序23.程序设计语

    9、言的基本成分是数据成分、运算成分、控制成分和(分数:1.00)A.对象成分B.变量成分C.语句成分D.传输成分24.函数 fun的返回值是fun(char*a,char*b)int num=0,n=0;while(*(a+num)!=/0)num+;while(bn) *(a+num)=bn;num+;n+;return num;(分数:1.00)A.字符串 a的长度B.字符串 b的长度C.字符串 a和 b的长度之差D.字符串 a和 b的长度之和25.阅读下列程序,当运行函数时,输入 asd af aa z67,则输出为#includestdio.h#includectype.h#includ

    10、estring.hint fun(char*str)int i,j=0;for(i=0;stri!=/0;i+)if(stri!=)strj+=stri;strj=/0;main()char str81;int n;clrscr();printf(“Input a string:“);gets(str);puts(str);fun(str);printf(“%s/n“,str);(分数:1.00)A.asdafaaz67B.asdafaaz67C.asdD.z6726.以下不正确的叙述是(分数:1.00)A.在 C程序中,逗号运算符的优先级最低B.在 C程序中,APH 和 aph是两个不同的变

    11、量C.若 a和 b类型相同,在计算了赋值表达式 a=b后 b中的值将放入 a中,而 b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值27.有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9的表达式是(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+828.已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH和 DBGEACHF,则该二叉树的后序遍历为(分数:1.00)A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG29.阅读下列程序,则执行后的结果为#in

    12、clude“stdio.h“main()int c4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf(“%x,%x/n“,c22,*(*(c+1)+1);(分数:1.00)A.3e,6B.62,5C.56,5D.3E,630.树是结点的集合,它的根结点数目是(分数:1.00)A.有且只有 1B.1或多于 1C.0或 1D.至少 231.已有变量定义和函数调用语句:int a=25;print_value(&(分数:1.00)A.;下面函数的正确输出结果是32.请选出以下语句的输出结果Printf(“%d/n“,strlen(“/t/“/065/x

    13、ff/n“);(分数:1.00)A.5B.14C.8D.输出项不合法,无正常输出33.单个用户使用的数据视图的描述称为(分数:1.00)A.外模式B.概念模式C.内模式D.存储模式34.若说明 int*p,n;则通过语句 scanf能够正确读入数据的程序段是(分数:1.00)A.p=&n;scanf(“%d“,&p);B.p=&n;scanf(“%d“,*p);C.scanf(“%d“,n);D.p=&n;scanf(“%d“,p);35.以下选项中,不能作为合法常量的是(分数:1.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e036.假定以下程序经编译和

    14、连接后生成可执行文件 PROGEXE,如果在此可执行文件所在目录的 DOS提示符下键入:PROG ABCDEFGH IJKL回车,则输出结果为main(int argc,char*argv0)while(-argc0)printf(“% s“,argvargc);printf(“/n“);(分数:1.00)A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH37.已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是(分数:1.00)A.数组 a和 b的长度相同B.a数组长度小于 b数组长度C.a数组长度大于 b数组长度D.上述说法都不对38

    15、.利用 fseek函数可以实现的操作是(分数:1.00)A.改变文件的位置指针B.文件的顺序读写C.文件的随机读写D.以上答案均正确39.若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是(分数:1.00)A.(exp=0)B.(exp!=0)C.(exp=1)D.(exp!=1)40.下面判断正确的是(分数:1.00)A.char*a=“china“;等价于 char*a;*a=“china“;B.char str5=“china“;等价于 char str=“china“;C.char*s=“china“;等价于 char*s;s=“china“;D.ch

    16、ar c4=“abc“,d4=“abc“;等价于 char c4=d4=“abc“;41.若已定义:int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,则对 a数组元素不正确的引用是(分数:1.00)A.ap-aB.*(&ai)C.piD.a1042.下列不属于软件工程的 3个要素的是(分数:1.00)A.工具B.过程C.方法D.环境43.下列说法中错误的是(分数:1.00)A.只能在循环体内使用 break语句B.在循环体内使用 break语句可以使流程跳出本层循环体,从而提前结束本层循环C.在 while和 do.while循环中,continue 语句并没有使

    17、整个循环终止D.continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断44.有如下定义语句:int aa3=12,23,34,4,5,6,78,89,45;,则 45在数组 aa中的行列坐标各为(分数:1.00)A.3,2B.3,1C.2,2D.2,145.下面函数的功能是将指针 t2所指向的线性链表,链接到 t1所指向的链表的末端。假定 t1所指向的链表非空struct nodefloat x;struct node*next;connect(struct node*t1,struct node*t2)if(t1-next=NULL)t1-next

    18、=t2;else connect(_,t2);要实现此功能则应该填入的选项是(分数:1.00)A.t1.nextB.+t1.nextC.t1-nextD.+t1-next46.在 C语言中,int,char 和 short三种类型数据在内存中所占用的字节数(分数:1.00)A.由用户自己定义B.均为 2个字节C.是任意的D.由所用机器的机器字长决定47.若有说明:int a3=1,2,3,4,5,6,7;则 a数组第一维的大小是(分数:1.00)A.2B.3C.4D.无确定值48.已知函数的调用形式:fread(buf,size,count,fp),参数 buf的含义是(分数:1.00)A.一

    19、个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项49.下面程序段中,输出*的个数是char*s=“/ta/018bc“;for(;*s!=/0;s+)printf(“*“);(分数:1.00)A.9B.5C.6D.750.请选出可用作 C语言用户标识符的是(分数:1.00)A.void,define,WORDB.a3_b3,_123,IFC.FOR,-abc,CaseD.2a,Do,Sizeof二、填空题(总题数:18,分数:40.00)51.数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。(分数:

    20、2.00)填空项 1:_52.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_53.耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。(分数:2.00)填空项 1:_54.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 【4】 的联系。(分数:2.00)填空项 1:_55.数据库设计分为以下 6个设计阶段:需求分析阶段、 【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_56.如下程序片段:in a,b,c;printf

    21、(“input a,b,c:“);scanf(“a=%d,b=%d,c=%d“,&a,&b,&c);欲使输出结果为 1、2、3(分别对应于 a、b、c),输入数据的正确形式为 【6】 。(分数:2.00)填空项 1:_57.以下程序的运行结果是 【7】 。#define MAX(a,b)(ab?a:b)+1main()int i=6,j=8,k;printf(“%d/n“,MAX(i,j);(分数:2.00)填空项 1:_58.以下程序输出的结果是 【8】 。main()int a=5,b=4,c=3,d;d=(abc);printf(“%d/n“,d);(分数:2.00)填空项 1:_59.

    22、以下程序段的输出结果是 【9】 。main()int a=2,b=3,c=4;a*=16+(b+)-(+c);printf(“%d“,a);(分数:2.00)填空项 1:_60.阅读下面语句,则执行后的输出结果为 【10】 。#include“stdio.h“main()char a,b;for(a=0,b=9;ab;a+,b-)printf(“%c%c“,a,b);printf(“/n“);(分数:2.00)填空项 1:_61.如下语句 printf(“%c/n“,B+40);在执行后的输出结果是 【11】 。(分数:2.00)填空项 1:_62.以下程序的功能是:删去一维数组中所有相同的数

    23、,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是: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。请填空。#includestdio.h#define N 80in fun(int a,int n)int i,j=1;for(i=1;in;i+)if(aj-1 【12】 ai)aj+=ai;【13】 ;main()int aN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,i,n=19;printf(“

    24、The original data:/n“);for(i=0;in;i+)printf(“%3d“,ai);n=fun(a,n);printf(“/nThe data after deleted :/n“);for(i=0;in;i+)printf(“%3d“,ai);printf(“/n/n“);(分数:4.00)填空项 1:_63.以下程序的输出结果是 【14】 。fun(int x,int y,int z)z =x*x+y*y;main()int a=31;fun(6,3,a)printf(“%d,a)(分数:2.00)填空项 1:_64.strcat函数的作用是 【15】 。(分数:2

    25、.00)填空项 1:_65.有下列程序,功能是把输入的+进制长整型数以+六进制的形式输出,完成程序#include“stdio.h“main()char b17=“0123456789ABCDEF“;int c50,d,i=0,base=16;long n;scanf(“%1d“,&n);doci=n%base;i+;n= 【16】 ;while(n!=0);for(-i;i=0;-i)d= 【17】 ;printf(“%c“,bd);printf(“H/n“);(分数:4.00)填空项 1:_66.以下程序的输出结果是 【18】 。void fun()static int a=0;a+=2;

    26、printf(“%d“,a);main()int cc;for(cc=1;cc4;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_67.以下程序的功能是:处理由学号和成绩组成的学生记录,N 名学生的数据已在主函数中放入结构体数组 s 中,它的功能是:把分数最高的学生数据放在 h所指的数组中,注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。#includestdio.h#define N 16typedef structchar num10;int s;STREC;int fun(STREC *a,STREC *b)int i,j=0,max=a

    27、0s;for(i=0;iN;i+)if(maxais)max=ais;for(i=0;iN;i+)if( 【19】 )bj+=ai;return j;main()STREC sN= “GA005“,85,“GA003“,76,“GA002“,69,“GA004“,85,“GA001“,91,“GA007“,72,“GA008“,64,“GA006“,87,“GA015“,85,“GA013“,91,“GA012“,64,“GA014“,91,“GA011“,66,“GA017“,64,“GA018“,64,“GA016“,72;STREC hN;int i,n;FILE*out;n=fun(s

    28、,h);printf(“The%d highest score;/n“,n);for(i=0;in;i+)printf(“%s%4d/n“,hinum,his);printf(“/n“);out=fopen(“out15.dat“,“w“);fprintf(out,“%d/n“,n);for(i=0;in;i+);fprintf(out,“%4d/n“,his);fclose(out);(分数:2.00)填空项 1:_68.函数 my_cmp()的功能是比较字符串 s和 t的大小,当 s等于 t时返回 0,否则返回 s和 t的第一个不同字符的 ASCII码差值,即 st 时返回正值,当 st

    29、时返回负值。请填空。my_cmp(char*s,char*t)while(*s=*t)if(*s=/0)return0;+s;+t;return 【20】 ;(分数:2.00)填空项 1:_二级 C语言笔试-153 答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.已知 int a;float b;所用的 scanf调用语句格式为:scanf(“a/%d,b=%f“,&a,&b);为了将数据 3和 25.08分别赋给 x和 y,正确的输入应当是(分数:1.00)A.3,25.08EnterB.a=3,b=25.08EnterC.a/3.b=25.

    30、08Enter D.a/3Enterb=25.08Enter解析:解析 若在 scanf的格式控制串中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符。由于 scanf的格式控制串中插入了“a/”、逗号和“b=”等字符,所以输入时候应该一一对应地在对应位置上输入这些字符。2.有如下定义#define D2int x=5;float y=3.83;char C=D;则下面选项中错误的是(分数:1.00)A.x+;B.y+;C.c+;D.D+; 解析:解析 C 语言中+运算符的对象可以是整型、实型和字符型,但不可是常量,本题中 D为常量。3.以下不正确的定义语句是(分数:1.00)A

    31、.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9; C.char cl=1,2,3,4,5;D.char c2=/x10,/xa,/x8;解析:解析 在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于 0,选项 B)中定义有 5个元素,但赋初值时有 6个元素,所以是错误的。4.若有以下说明和定义union dtint a;char b;double c;data;以下叙述中错误的是(分数:1.00)A.data的每个成员起始地址都相同B.变量 data所占内存字节数与成员 c所占字节数相等C.程序段:data.a=5;pr

    32、intf(“%f/n“,data.c);输出结果为 5.000000D.data可以作为函数的实参 解析:解析 选项 A),共用体的每个成员的起始地址都相同;选项 B),共用体变量所占的内存长度等于最长的成员的长度;选项 C)因为每个成员的起始地址相同,所以整型数 5以浮点型输出时为 5.000000;选项 D)C语言规定,不能把共用体变量作为函数的参数。5.下列叙述中,不属于软件需求规格说明书的作用的是(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:解析 软件需求规

    33、格说明书(SRS,Soft ware Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。6.SQL语言又称为(分数:1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言 D.结构化操纵语言解析:解析 结构化查询语言(Structured Query Language,简称 SQL)是集数据查询、数据定义、数据操纵和数据控制功能于一体的数据库语言。7.下面程序段的运行结果是char*s=“a

    34、bcde“;s+=2;printf(“%d“,s);(分数:1.00)A.cdeB.字符cC.字符c的地址 D.无确定的输出结果解析:解析 对于字符串指针,其保留的是整个串的首地址,即为第一个字符的起始地址,当该指针做算术运算时,就是该指针根据其类型向后移动相应的存储空间。8.在设计程序时,应采纳的原则之一是(分数:1.00)A.不限制 goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解 解析:解析 滥用 goto语句将使程序流程无规律,可读性差,因此 A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,

    35、C)也不选。9.在 C语言中,运算对象必须是整型数的运算符是(分数:1.00)A.% B./C.%和/D.*解析:解析 在 C语言中,“%”运算符两侧的运算数必须是整型。10.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai; ai=an-1-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_解析:解析 在 main函数中,调用 rev

    36、ere函数将 b数组中的前 8个成员进行互置,执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,1,9,1011.在 C程序中,判逻辑值时,用“非 0”表示逻辑值“真”,又用“0”表示逻辑值“假”。在求逻辑值时,逻辑真和逻辑假可分别表示为(分数:1.00)A.1 0 B.0 1C.非 0非 0D.1 1解析:解析 在 C程序中,判断逻辑值时,用非 0 表示真,用 0表示假。逻辑表达式计算时,逻辑表达式值为真是用 1表示的,若逻辑表达式的值为假,则用 0 表示。12.设函数 fun的定义形式为void fun(char ch,float x)则以下对函数 fun的调用语句中,正确的是(分

    37、数:1.00)A.fun(“abc“,3.0);B.t=fun(D,16.5);C.fun(65,2.8);D.fun(32,32); 解析:解析 char 为字符类型而不是字符串类型,所以,选项 A)和 C)错误。函数 fun没有返回值,所以选项 B)也错误。13.设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(“%d“,s);则(分数:1.00)A.运行程序段后输出 0B.运行程序段后输出 1 C.程序段中的控制表达式是非法的D.程序段执行无限次解析:解析 本题中,“!”表示逻辑非运算符,“!=”表示不等于运算符,逻辑非运算符比不等于运算符的优先级高

    38、。14.下列选项中不是结构化程序基本结构的是(分数:1.00)A.顺序结构B.跳转分支结构 C.选择结构D.循环结构解析:解析 结构化程序由顺序结构、选择结构和循环结构组成。15.下列程序执行后的输出结果是main()int a33, *p,i;p=&a00;for(i=1;i9;i+)pi=i+1;printf(“%d/n“,a12);(分数:1.00)A.3B.6 C.9D.随机数解析:解析 本题中,a12是二维数组中的第 6个元素,对应 for循环中 i的值为 5,p5=5+1。16.C语言结构体类型变量在程序运行期间(分数:1.00)A.TC环境在内存中仅仅开辟一个存放结构体变量地址的

    39、单元B.所有的成员一直驻留在内存中 C.只有最开始的成员驻留在内存中D.部分成员驻留在内存中解析:解析 结构体类型的变量在程序运行期间要做为一个整体占用连续的内存单元。17.阅读下面程序段,则执行后输出的结果是#include“stdio.h“main()char fun(char,int);char a=A;int b=13;a=fun(a,b);putchar((分数:1.00)A.;char fun(char a,intB.&n解析:解析 函数说明语句中的类型名必须与函数返回值的类型一致。本题实现的是在字符,A,的 ASCII码值上加上一个常数,使之变成另一个 ASCII码值,从而输出字

    40、符。18.设有以下语句:char X=3,y=6,z;z=xy2;则 2的二进制值是(分数:1.00)A.00010100B.O0011011 C.00011100D.00011000解析:解析 本题考查两个位运算符。按位异或运算符“”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为 1。左移运算符“”是双目运算符。其功能把“”左边的运算数的各二进位全部左移若干位,由“”右边的数指定移动的位数,高位丢弃,低位补 0。并且“”运算符的优先级高干“”。19.以下程序的运行结果是#define MIN(x,y)(x)(y)?(x):(y)main()int i

    41、=10,j=15,kk=10*MIN(i,j);printf(“%d/n“,k);(分数:1.00)A.10B.15 C.100D.150解析:解析 该题考查函数的宏定义及三目运算符。其中表达式 10,MIN(i,j)利用宏展开后为:10 *j?i:j,即 10015? 10:15,其值为 15,然后赋值给 k。20.将 E-R图转换到关系模式时,实体与联系都可以表示成(分数:1.00)A.属性B.关系 C.键D.域解析:解析 关系数据库逻辑设计的主要工作是将 E-R图转换成指定 RDBMS中的关系模式。首先,从 E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属

    42、性也可以转换成关系的属性。实体集也可以转换成关系。21.设有以下说明语句typedef structint n;char ch8;PER;则下面叙述中正确的是(分数:1.00)A.PER是结构体变量名B.PER是结构体类型名 C.typedef struct是结构体类型D.struct是结构体类型名解析:解析 本题中,typedef 声明新的类型名 PER 来代替已有的类型名,PER 代表上面指定的一个结构体类型,此时,也可以用 PER来定义变量。22.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是(分数:1.00)A.e3,e1,e4,e2B.e2,e4,e3,e1 C.e3,e

    43、4,e1,e2D.任意顺序解析:解析 由栈“后进先出”的特点可知:A)中 e1不可能比 e2先出,C)中 e3不可能比 e4先出,且 e1不可能比 e2先出,D)中栈是先进后出的,所以不可能是任意顺序。B)中出栈过程如图所示:*23.程序设计语言的基本成分是数据成分、运算成分、控制成分和(分数:1.00)A.对象成分B.变量成分C.语句成分D.传输成分 解析:解析 程序设计语言是用于书写计算机程序的语言,其基本成分有以下 4种,数据成分:用来描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,如输入输出语言。24.函数 fun的返

    44、回值是fun(char*a,char*b)int num=0,n=0;while(*(a+num)!=/0)num+;while(bn) *(a+num)=bn;num+;n+;return num;(分数:1.00)A.字符串 a的长度B.字符串 b的长度C.字符串 a和 b的长度之差D.字符串 a和 b的长度之和 解析:解析 本题首先通过第一个 while循环计算字符串 a的长度,再通过第二个循环,将字符串 a和b相连,最后返回连接后的总长度。25.阅读下列程序,当运行函数时,输入 asd af aa z67,则输出为#includestdio.h#includectype.h#inclu

    45、destring.hint fun(char*str)int i,j=0;for(i=0;stri!=/0;i+)if(stri!=)strj+=stri;strj=/0;main()char str81;int n;clrscr();printf(“Input a string:“);gets(str);puts(str);fun(str);printf(“%s/n“,str);(分数:1.00)A.asdafaaz67 B.asdafaaz67C.asdD.z67解析:解析 本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于 C语言中没有直接删除字符的操作,所以我们对于删

    46、除字符的操作都是采用“留下”字符的算法,以前的题目亦是如此。用 stri从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在 if()的单引号之间有一个空格),则将其保存 strj中。注意 j的下标变化、初值及最后加串结束符/0。26.以下不正确的叙述是(分数:1.00)A.在 C程序中,逗号运算符的优先级最低B.在 C程序中,APH 和 aph是两个不同的变量C.若 a和 b类型相同,在计算了赋值表达式 a=b后 b中的值将放入 a中,而 b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 解析:解析 在 C语言所有的运算符中,逗号运算符的优先级最低。C 语中区分大小,所以 APH和 aph是两个不同的变量。赋值表达式 a=b表示将 b的值付给 a,而 b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项 D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数和整型数值等。27.有如下说明


    注意事项

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




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

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

    收起
    展开