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

    【计算机类职业资格】国家计算机二级(C)73及答案解析.doc

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

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

    【计算机类职业资格】国家计算机二级(C)73及答案解析.doc

    1、国家计算机二级(C)73 及答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.以下能正确定义数组并正确赋初值的语句是(分数:60.00)A.int N=5,bNN;B.int a12=1,3;C.int c2 =1,2,3,4;D.int d32=1,2,3,4;2.若有定义:int w35;,则以下不能正确表示该数组元素的表达式是【 】。(分数:60.00)A.*(*W+3)B.*(*W+1)4C.*(*(*W+1)D.*(*00+1)3.有以下程序: int fa(int x) return

    2、x *x; int fb(int x) return x *x *x; int f(int( *f1)( ),int( *f2)( ),int x) return f2(x)-f1(x); main( ) int i; i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后的输出结果是( )。 (分数:60.00)A.-4B.1C.4D.84.有以下程序 main( ) int a=5,b=4,c=3,d=2; if(abc) printf(“%d/n“,d); else if(c-1=d)=1) printf(“%d/n“,d+1); else printf(“%d/n“,

    3、d+2); 执行后输出的结果是( )。 (分数:60.00)A.2B.3C.4D.编译时有错,无结果5.设有如下说明 typedef struct ST long a;int b;char c2;NEW; 则下面叙述中正确的是【 】。(分数:60.00)A.以上的说明形式非法B.ST是一个结构体类型C.NEW是一个结构体类型D.NEW是一个结构体变量6.有以下程序: #includestdlib.h main( ) char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf(“%s%s“,p,q); printf(“%s%s/n“

    4、,p,q); 若从键盘输入:abc def回车,则输出结果是( )。 (分数:60.00)A.def defB.abc defC.abc dD.d d7.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:60.00)A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.5432lEDCBA8.当把以下四个表达式用作 if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:60.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=19.在 Windows环境下,

    5、若要将当前活动窗口存入剪贴板,则可以按( )。(分数:60.00)A.Ctrl+PrintScreen键B.Alt+PrintScreen键C.Shift+PrintScreen键D.PrintScreen键10.以下不能正确表示代数式 2ad/cd的 C语言表达式是(分数:60.00)A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d11.有以下程序: main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是【 】。(分数:60.00)A.1235351

    6、4B.12353513C.12343514D.1234351312.有以下程序: main() int k=5,n=0; while(k0) switch(k) default:break; case 1:n+=k; case 2: case3:n+=k; k-; printf(“%d/n“,n); 程序运行后的输出结果是【 】。 (分数:60.00)A.0B.4C.6D.7A.*sB.sC.*s+D.(*s)+14.有以下程序 #include main() int i=5; do if(i%3=1) if(i%5=2) printf(“*%d“,i);break; i +; while(i

    7、!=0); printf(“/n“); 程序的运行结果是 (分数:60.00)A.*7B.*3*5C.*5D.*2*615.在 16位编译系统上,若有定义 int a=10,20,30,*P= for(i=0;i3;i+) s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是【 】。 (分数:60.00)A.26B.28C.29D.2418.有以下程序 #include main() FILE * fp;int i,a6=l,2,3,4,5,6; fp=fopen(“d3.dat“,“W+b“);fwrite(a,sizeof(int),6,fp); fseek(fp,

    8、sizeof(int)* 3,SEEK_SET);*该语句使读文件的位置指针从文件头向后移动 3个 int型数 据* fread(a,sizeof(int),3,fp);fclose(fp); for(i=0;iA.4,5,6,4,5,6,B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.6,5,4,3,2,1,19.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为【 】。(分数:60.00)A.log2nB.n/2C.nD.n+120.有以下程序: main( ) int a=666,b=888; printf(“%d/n“,a,b); 程序运行后的输出结果是( )

    9、。 (分数:60.00)A.错误信息B.666C.888D.66688821.以下能正确定义二维数组的是( )。(分数:60.00)A.int a 3;B.int a 3=22*3;C.int a 3=;D.int a23=1,2,3,4;22.有以下程序 main() int i,j; for(i=1;iA.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6 3*

    10、3=923.有以下程序: main( ) unsigned char a,b,c; a=0x3; b=a|0x8; c=b 1; printf(“%d%d/n“,b,c); 程序运行后的输出结果是( )。 (分数:60.00)A.-11 12B.-19C.12 24D.11 2224.设变量 X和 Y均已正确定义并赋值。以下 if语句中,在编译时将产生错误信息的是【 】。(分数:60.00)A.if(X+);B.if(Xy for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5d/n”,len); 经编译链接后生成的可执行文件是 ex.exe,若运行

    11、时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )。 (分数:60.00)A.14B.12C.8D.626.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:60.00)A.汇编程序B.编辑程序C.解释程序D.编译程序27.有以下程序 main( ) int i=1,j=1,k=2; if(j+|k+) 执行后输出的结果是( )。 (分数:60.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,328.有以下程序: main( ) char s “Yes/n/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(

    12、s); 程序运行后的输出结果是(选项 D中的第一行是空行)( )。 (分数:60.00)A.n/No Yes /NoB./No YesC.n/NO Yes /NoD./No Yes29.某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为【 】。(分数:60.00)A.n+lB.n-1C.2nD.n230.对如下二叉树,进行后序遍历的结果为【 】。 (分数:60.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA31.有以下程序: main() int a=1,b; for(b=1;b=10;b+) if(a=8)break; if(a%21)a+=5;contin

    13、ue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是【 】。(分数:60.00)A.3B.4C.5D.632.在 Windows环境下,资源管理器左窗口中的某文件夹左边标有“+“标记表示( )。(分数:60.00)A.该文件夹为空B.该文件夹中含有子文件夹C.该文件夹中只包含有可执行文件D.该文件夹中包含系统文件33.有以下程序 #include stdio.h #define F(X,Y) (X)*(Y) main( ) int a=3, b=4; printf(“%d/n“, F(a+, b+); 程序运行后的输出结果是( )。 (分数:60.00)A.12B.1

    14、5C.16D.2034.以下非法的赋值语句是( )。(分数:60.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;35.下列对于线性链表的描述中正确的是【 】。(分数:60.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的36.若有定义:float x=1.5;int a=1,b=3,C=2;则正确的 switch语句是【 】。(分数:60.00)A.switch(x) case 1.0:prin

    15、tf(“*n“); case 2.0:prinff(“*n“);B.switch(int)x); case 1:printf(“*n“); case 2:printf(“*n“);C.switch(a+b) case 1:printf(“*n“); case 2+1:prinff(“*n“);D.switch(a+b) case 1:printf(“*n“); case c:printf(“*n“);37.有以下程序 void fun2(char a,char b)printf(“cc“,a,b); char a=A,b=B; void fun1() a=C; b=D; main() fun1

    16、(); printf(“cc“,a,b); fur2(E,F); 程序的运行结果是【 】。 (分数:60.00)A.C D E FB.A B E FC.A B C DD.C D A B38.有以下程序 typedef struct int b,p;A; void f(A C)* 注意:c 是结构变量名 * int j; c. b +=1;c.p+=2; main() int i; A a=1,2; f(a); printf(“d,dn“,a.b,ap); 程序运行后的输出结果是【 】。 (分数:60.00)A.2,3B.2,4C.1,4D.1,239.以下程序段中,不能正确赋字符串(编译时系统

    17、会提示错误)的是( )(分数:60.00)A.char s10=”abcdefg”;B.char t =”abcdefg”,*s=t;C.char s10;s=”abcdefg”;D.char s10;strcpy(s,”abcdefg”);40.有以下程序: void fun(int *a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; i+; j-; fun(a,i,j); main( ) int x =2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(“%2d“,xi); printf(“/n“); 程序运行

    18、后的输出结果是( )。 (分数:60.00)A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 241.设有以下定义和语句 char str20=“Program“,*p; p=str; 则以下叙述中正确的是【 】。 (分数:60.00)A.*p与 str0的值相等B.str与 p的类型完全相同C.str数组长度和 p所指向的字符串长度相等D.数组 str中存放的内容和指针变量 p中存放的内容相同42.有以下程序 #include #define N 5 #define M N+1 #define f(x) (x*M) main() int i1,i2; i1=f(2); i

    19、2=f(1+1); printf(“ddn“,i1,i2); 程序的运行结果是【 】。 (分数:60.00)A.12 12B.11 7C.11 11D.12 743.有以下程序: #includestring.h main(int argc,char *argv ) int i,len=0; for(i=1;iargc;i+) len+=strlen(argvi); printf(“%d/n“,len); 程序编译连接后生成的可执行文件是 exlexe,若运行时输入带参数的命令行是: exl abcd efg 10回车 则运行的结果是( )。 (分数:60.00)A.22B.17C.12D.9

    20、44.下列叙述中正确的是( )。(分数:60.00)A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用 C语言编写的程序只能放在一个程序文件中45.下列叙述中正确的是【 】。(分数:60.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对46.下列关于单目运算符+、-的叙述中正确的是( )。(分数:60.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以

    21、是 char型变量和 int型变量,但不能是 float型变量C.它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量D.它们的运算对象可以是 char型变量、int 型变量和 float型变量47.C语言中用于结构化程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue48.有下列程序: #include stdio.h void fun(int * s,int n1,int n2) int i,j,t; i=n1;j=n2

    22、; while(ij)t=si;si=sj;sj=t;i+;j-; main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“,ak);printf(“/n“); 程序的运行结果是( )。 (分数:60.00)A.0987654321B.4321098765C.5678901234D.098765123449.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,

    23、j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:60.00)A.4B.3C.2D.150.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0的表达式是【 】。(分数:60.00)A.(!a=1 int sum=0; s0.next=s+1;s1.next=s+2;s2.next=s; p=s; q=p-next; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:40.00)填空项 1:_53.以下程

    24、序中函数 fun的功能是:构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数 disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数 disp。 #include typedef struct node*链表结点结构* char sub3; struct node * next; Node; Node fun(char S) *建立链表* void disp(Node *h) Node*P; P=h-next; while( 1) printf(“sn“,P-sub);P= 2; main3 Node *hd; hd=fun4;disp(hd)

    25、;prinff(“n“); (分数:40.00)填空项 1:_54.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:40.00)填空项 1:_55.以下程序运行后的输出结果是 1。 main( ) int x=15; while(x10 x填空项 1:_56.下列程序的定义语句中,x1的初值是 1,程序运行后输出的内容是 2。 #include stdio.h main3 int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i; for(i=0;i4;i+) pi= printf(“%d“,pi0); printf(“/n“); (

    26、分数:40.00)填空项 1:_57.下面程序的功能是建立一个有 3个结点的单循环链表,然后求各个结点数值域 data中数据的和,请填空。(分数:40.00)填空项 1:_58.执行以下程序后,输出#号的个数是 1。 #include stdio.h main( ) int i,j; for(i=1; i5; i+) for(j=2; j=i; j+) putchar(#); (分数:40.00)填空项 1:_59.假设在当前盘的当前目录下有两个文件 A.TXT和 B.TXT,现要将文件 B.TXT合并连接到文件 A.TXT的后面。若使用 TYPE命令,则完整的命令为 1。(分数:40.00)

    27、填空项 1:_60.在面向对象方法中,类的实例称为 1。(分数:40.00)填空项 1:_61.数据库设计包括概念设计、 1 和物理设计。(分数:40.00)填空项 1:_62.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“Programe“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:40.00)填空项 1:_国家计算机二级(C)73 答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1

    28、-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.以下能正确定义数组并正确赋初值的语句是(分数:60.00)A.int N=5,bNN;B.int a12=1,3;C.int c2 =1,2,3,4;D.int d32=1,2,3,4; 解析:2.若有定义:int w35;,则以下不能正确表示该数组元素的表达式是【 】。(分数:60.00)A.*(*W+3)B.*(*W+1)4C.*(*(*W+1) D.*(*00+1)解析:在 C语言中,二维数组的名字表示的是二维数组的地址,表达式*(w+1)表示的是二维数组的第一行的第二元素。在其前面再加上*(*(w+1)就是错

    29、误的表达式。3.有以下程序: int fa(int x) return x *x; int fb(int x) return x *x *x; int f(int( *f1)( ),int( *f2)( ),int x) return f2(x)-f1(x); main( ) int i; i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后的输出结果是( )。 (分数:60.00)A.-4B.1C.4 D.8解析:本题考点是函数之间的参数传递。4.有以下程序 main( ) int a=5,b=4,c=3,d=2; if(abc) printf(“%d/n“,d); el

    30、se if(c-1=d)=1) printf(“%d/n“,d+1); else printf(“%d/n“,d+2); 执行后输出的结果是( )。 (分数:60.00)A.2B.3 C.4D.编译时有错,无结果解析:5.设有如下说明 typedef struct ST long a;int b;char c2;NEW; 则下面叙述中正确的是【 】。(分数:60.00)A.以上的说明形式非法B.ST是一个结构体类型C.NEW是一个结构体类型 D.NEW是一个结构体变量解析:typedef 关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用 typedef进行定义的话,则 struc

    31、t ST为结构体类型,现在用 typedef定义后,相当于用 NEW代表了 struct ST这一结构体类型,故 NEW为结构体类型。 6.有以下程序: #includestdlib.h main( ) char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf(“%s%s“,p,q); printf(“%s%s/n“,p,q); 若从键盘输入:abc def回车,则输出结果是( )。 (分数:60.00)A.def def B.abc defC.abc dD.d d解析:7.一个栈的初始状态为空。现将元素 1、2、3、4、5、A

    32、、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:60.00)A.12345ABCDEB.EDCBA54321 C.ABCDEl2345D.5432lEDCBA解析:栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。8.当把以下四个表达式用作 if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:60.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=1 解析:本题选项 A、B、C 中表达式用作 if语句表达式时,其值一致,即判断 k的值是否为奇数,若为奇数,其表达式为真,否则为假;而选项 D的表

    33、达式“!k%2=1“相当于“!(k%2)=1,若 k的值为奇数,则此表达式的值为假。 9.在 Windows环境下,若要将当前活动窗口存入剪贴板,则可以按( )。(分数:60.00)A.Ctrl+PrintScreen键B.Alt+PrintScreen键 C.Shift+PrintScreen键D.PrintScreen键解析:在 Windows环境下,按 PrintScreen键可将整个屏幕存入剪贴板,当它与 Alt键结合使用时,可将 当前窗口存入剪贴板。 10.以下不能正确表示代数式 2ad/cd的 C语言表达式是(分数:60.00)A.2*a*b/c/dB.a*b/c/d*2C.a/c

    34、/d*b*2D.2*a*b/c*d 解析:C 语言中算术运算符的结合性均为自左向右。选项 D)中表达式计算结果是 2*a*b*d/c,和题目要求的代数式不一致,因此选项 D)不能正确表示题目所给的代数式内容。11.有以下程序: main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是【 】。(分数:60.00)A.12353514 B.12353513C.12343514D.12343513解析:执行“printf(“%d%d“,m+,+n);“后,输出的是 m和 n+l的值 1235,接着执

    35、行“printf(“%d%d/n“n+,+m);“输出 n和 m+1的值 3514。 12.有以下程序: main() int k=5,n=0; while(k0) switch(k) default:break; case 1:n+=k; case 2: case3:n+=k; k-; printf(“%d/n“,n); 程序运行后的输出结果是【 】。 (分数:60.00)A.0B.4C.6D.7 解析:在 switch语句中,表达式的值与某一个 case后面的常量表达式的值相等时,就执行此 case后面的语句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 defa

    36、ult后面的语句,各个case和 default的出现次序不影响执行结果。所以在本题中,当 k=5和 k=4的时候,case 都没有与其匹配的值,所以执行了 default语句;当 k=3时,执行“case3:n+=k;“得 n=3,然后执行 default;当 k=2时,执行“case2:case3:n+=k“得 n=5,然后执行 default;当 k=1 时,执行“case1:n+=k;case2:case3:n+=k;“使得 n加两次 k,得到 n=7。 A.*s B.sC.*s+D.(*s)+解析:14.有以下程序 #include main() int i=5; do if(i%3

    37、=1) if(i%5=2) printf(“*%d“,i);break; i +; while(i!=0); printf(“/n“); 程序的运行结果是 (分数:60.00)A.*7 B.*3*5C.*5D.*2*6解析:整个程序中只有对 i增加的语句没有对 i减少的语句,所以 2、3 都不可能出现,选项 B)和 D)错误。而 i=5时第一个 if语句的表达式为假,所以选项 C)也错误。15.在 16位编译系统上,若有定义 int a=10,20,30,*P= for(i=0;i3;i+) s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是【 】。 (分数:60.0

    38、0)A.26B.28C.29 D.24解析:解本题耍弄清楚这样几点:1、定义“int a=2;“中的全局变量 a,其作用范围是从定义此变量的位置开始到本源文件结束;2、“static int a=3;“中的静态局部变量 a的作用范围是其所在的函数 f,并对其只赋一次初值,以后每次调用函数时不再重新赋初值,而只是保留上次函数调用结束时的值;3、复合语句“static int a=4;t+=a+; “和“static int a=5;t+=a+;“中定义的两个变量 a属于复合语句中定义的变量,作用范围只在其本身所在的复合语句内。对于本程序来讲,第三行定义的静态局部变量并不会对四、五两行的复合语句产

    39、生作用,这是因为复合语句中也定义了与其同名的静态局部变量。 18.有以下程序 #include main() FILE * fp;int i,a6=l,2,3,4,5,6; fp=fopen(“d3.dat“,“W+b“);fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int)* 3,SEEK_SET);*该语句使读文件的位置指针从文件头向后移动 3个 int型数 据* fread(a,sizeof(int),3,fp);fclose(fp); for(i=0;iA.4,5,6,4,5,6, B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.

    40、6,5,4,3,2,1,解析:首先利用 fwrite函数将数组 a中的数据写到文件中,接着 fseek函数的功能是读文件的位置,指针从文件头向后移动 3个 int型数据,这时文件位置指针指向的是文件中的第 4个 int数据“4“。然后 fread函数将文件 fp中的后 3个数据 4,5,6读到数组 a中,这样就覆盖了数组中原来的前 3项数据。最后数组中的数据就成了4,5,6,4,5,6,故本题答案为 A)。19.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为【 】。(分数:60.00)A.log2nB.n/2C.n D.n+1解析:顺序查找过程中,如果被查找的元素是线性表中的

    41、最后一个元素,或者元素不在线性表中,贝需要与线性表中所有的元素进行比较。对长度为 n的线性表进行顺序查找,在最坏隋况下需要比较 n次。 20.有以下程序: main( ) int a=666,b=888; printf(“%d/n“,a,b); 程序运行后的输出结果是( )。 (分数:60.00)A.错误信息B.666 C.888D.666888解析:21.以下能正确定义二维数组的是( )。(分数:60.00)A.int a 3;B.int a 3=22*3; C.int a 3=;D.int a23=1,2,3,4;解析:22.有以下程序 main() int i,j; for(i=1;iA

    42、.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9 C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6 3*3=9解析:本题主要考查了 for循环的嵌套。外层 for循环的自变量 i从 1开始,每次循环后增 l,至到 i等于3结束。内层循环的自变量 j每次从 i开始,每次循环后增 1,至到 j等于 3结束。在每次外循环开始后,内层循环在一行上先打印“i*j=两个乘数的积“,然后换行,下次循环从下一行开始打印。23

    43、.有以下程序: main( ) unsigned char a,b,c; a=0x3; b=a|0x8; c=b 1; printf(“%d%d/n“,b,c); 程序运行后的输出结果是( )。 (分数:60.00)A.-11 12B.-19C.12 24D.11 22 解析:用数字 0和字母 x(或大写字母 X)开头的数表示十六进制数。24.设变量 X和 Y均已正确定义并赋值。以下 if语句中,在编译时将产生错误信息的是【 】。(分数:60.00)A.if(X+);B.if(Xy for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5d/n”,le

    44、n); 经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )。 (分数:60.00)A.14B.12C.8D.6 解析:26.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:60.00)A.汇编程序B.编辑程序C.解释程序D.编译程序 解析:27.有以下程序 main( ) int i=1,j=1,k=2; if(j+|k+) 执行后输出的结果是( )。 (分数:60.00)A.1,1,2B.2,2,1C.2,2,2 D.2,2,3解析:28.有以下程序: main( ) char s “Yes

    45、/n/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是(选项 D中的第一行是空行)( )。 (分数:60.00)A.n/No Yes /NoB./No Yes C.n/NO Yes /NoD./No Yes解析:29.某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为【 】。(分数:60.00)A.n+l B.n-1C.2nD.n2解析:对于任何一棵二叉树 T,如果其终端结点(叶子)数为 n1,度为 2的结点数为 n2,则 n1=n2+1。所以该二叉树的叶子结点数等于 n+1。30.对如下二叉树,进行后序遍历的结果为【 】。

    46、 (分数:60.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA 解析:后序遍历可以描述为:若二叉树为 空,则空操作;否则:后序遍历左子树;后序遍历右 子树;访问根结点。对于后序遍历,第一个访问的结点一定是最左下的结点,最后一个访问的结点一定是根结点,如果知道这个小技巧,可以迅速确定本题的答案为选项 D)。31.有以下程序: main() int a=1,b; for(b=1;b=10;b+) if(a=8)break; if(a%21)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是【 】。(分数:60.00)A.3B.4 C.5D.6解析:break 和 continue的区别是:continue 语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,不再判断执行的条件


    注意事项

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




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

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

    收起
    展开