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

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

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

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

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

    1、计算机二级(C)58 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.有以下程序 struct Sint n;int a20; voidf(struct S* p) int,i,j,t; for(i=0;in 一1;i+) for(j=i+1;jn;j+) if(p-a ip-aj)t=p-ai;p-ai=p-aj;P-aj=t; maln() int i;struct S s=10,2,3,l,6,8,7,5,4,10,9; f( t=v;v=w;w=t; main( ) int x=1,y=3,

    2、z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z); 执行后输出结果是( )。 (分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,13.有以下程序: main( ) char s =“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是( )。 (分数:1.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D4.下列定义变量的语句中错误的是【 】。(分数:1.00)A.

    3、int_int;B.double int_;C.char For;D.float US$;5.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,86.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数值,以下选项中错误的程序是【 】。(分数:1

    4、.00)A.main() X=fun(2,10); float fun(int a,int b)B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)7.s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是 (分数:1.00)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1

    5、,s2)0)S;8.有以下程序: int a=3; main( ) int s=0; int a=5;s+=a+; s+=a+; printf(“%d/n“,s); 程序运行后的输出结果是( )。 (分数:1.00)A.8B.10C.7D.119.以下叙述中正确的是【 】。(分数:1.00)A.用 C 程序实现的算法必须要有输入和输出操作B.用 C 程序实现的算法可以没有输出但必须要输入C.用 C 程序实现的算法可以没有输入但必须要有输出D.用 C 程序实现的算法可以既没有输入也没有输出10.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2;

    6、 else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:1.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错11.有以下程序 main() int k=5; while(-k)printf(“d“,k-=3); printf(“n“); 执行后的输出结果是【 】。 (分数:1.00)A.1B.2C.4D.死循环12.有以下程序: #define N 20 fun(int a,int,n,int m) int,i,j; for(i=m;i=n;i-)ai+1=ai main() int i, aN=1,2,3,4,5,6,7

    7、,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(“%d“,ai); 程序运行后的输出结果是【 】。(分数:1.00)A.10234B.12344C.12334D.1223413.下列选项中不符合良好程序设计风格的是【 】。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚14.程序中对 fun 函数有如下说明: void *fun( ); 此说明的含义是( )。 (分数:1.00)A.fun 了数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类

    8、型D.指针 fun 指向一个函数,该函数无返回值15.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:1.00)A.有穷性B.简洁性C.可行性D.确定性16.以下 4 个程序中,完全正确的是【 】。(分数:1.00)A.#include main(); *programming* printf(“programming!n“);B.#include main() *programming* printf(“programming!n“);C.#include main() *programming* printf(“programming!n“);D.include main()

    9、 *programming* printf(“programming!n“);17.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s,程序在编译时出错。 main() /* Beginning */ int r;float s; scanf(“%d“,B.int a 3=22*3;C.int a 3=;D.int a23=1,2,3,4;19.以下叙述中正确的是( )。(分数:1.00)A.构成 C 语言程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义20.第 4850 题基于以下信息。

    10、以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct node *next; (48) CreatList(char *s) struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=/0) p=(struct node *)malloc(sizeof(struct node); p-data= (49) ; q

    11、-next=p; q= (50) ; s+; p-next=/0; return h; main( ) char str =“link list“; struct node *head; head=CreatList(str); . (分数:1.00)A.char *B.struct nodeC.struct node*D.char21.有一个名为 init.txt 的文件,内容如下: #define HDY(A,B) AB #define PRINT(Y)printf(“Y=d/n“,Y) 有以下程序 #include“init.txt“ main() int a=1,b=2,c=3,d=4

    12、,k; k=HDY(a+c,b+d); PRINT(k); 下面针对该程序的叙述正确的是【 】。 (分数:1.00)A.编译出错B.运行出错C.运行结果为 y=OD.运行结果为 Y=622.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:1.00)A.10101001B.10101000C.11111101D.0101010123.有以下程序 main( ) char k; int I; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“another/n”); case 1: printf(“

    13、number/n”); 程序运行时,从键盘输入:01,程序执行后的输出结果是( )。 (分数:1.00)A.another numberB.another number anotherC.another number numberD.number number24.对于一个正常运行的 C 程序,以下叙述中正确的是【 】。(分数:1.00)A.程序的执行总是从 main 函数开始,在 main 函数结束B.程序的执行总是从程序的第一个函数开始,在 main 函数结束C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数

    14、中结束25.有以下程序 main( ) char s =“/n123 / /“; printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )。 (分数:1.00)A.赋初值的字符串有错B.6,7C.5,6D.6,626.若有以下定义和语句 union data int i; char C; float f;X; int Y; 则以下语句正确的是【 】。 (分数:1.00)A.x=10.5;B.x.C=101:C.Y=x;D.printf(“dn“,x);27.以下叙述中正确的是(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(s

    15、tatic)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值28.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:1.00)A.c=97;B.c=“97“;C.c=97;D.c=“a“;29.所谓 “裸机”是指( )。(分数:1.00)A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机30.在 Windows 环境下,资源管理器左窗口中的某文件夹左边标有“+“标记表示( )。(分数:1.00)A.该文件夹为空B.该文件夹中含有子文件夹C.该文件夹中只包含有可执

    16、行文件D.该文件夹中包含系统文件31.有以下程序: struct STU char name10;v int num; int Score; ;main( ) struct STU s5= “YangSan”,20041,703,“LiSiGuo”,20042,580, “wangYin”,20043,680,“SunDan”,20044,550, “Penghua”,20045,537,*p5,*t; int i,j; for(i=0;i5;i+) pi= for(i=0;i4;i+) for(j=i+1;jpj-Score) t=pi;pi=pj;pj=t; printf(“5d %d/n

    17、”,s1.Score,p1-Score); 执行后输出结果是( )。 (分数:1.00)A.550 550B.680 680C.580 550D.580 68032.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen(p); 程序运行后的输出结果是【 】。 (分数:1.00)A.209B.99C.2011D.111133.下列选项中不属于软件生命周期开发阶段任务的是【 】。(分数:1.00)A.软件测试

    18、B.概要设计C.软件维护D.详细设计34.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:1.00)A.scanf (“%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k);D.scanf (“i=%d,j=%d,k=%d“,i,j,k);35.下列描述中正确的是【 】。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文

    19、档的集合36.有以下程序 main(int argc,char * argv) int n=0,i; flor(i=l;iA.12B.12345C.12345678D.13637.有以下程序: main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7)if(pi%2)j+=Pi; printf(“%d/n“,j); 程序运行后的输出结果,是【 】。(分数:1.00)A.42B.45C.56D.6038.以下定义语句中正确的是( )。(分数:1.00)A.char a=Ab=B;B.float a=b=10.0;C.int a=10,*b=

    20、D.float *a,b=39.设 a 和 b 均为 double 型变量,且 a=5.5,b=2.5,则表达式(int)a+b/b 的值是( )。(分数:1.00)A.6.500000B.6C.5.500000D.6.00000040.若整型变量 a、b、c、d 中的值依次为 1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是【 】。(分数:1.00)A.1B.2C.3D.441.有以下程序 main() char*P=“3697“,“2584“; int i,j;long num=0; for(i-0;iA.35B.37C.39D.397542.有以下程序: #include s

    21、tring.h main(int argc ,char *argv ) int i,len=0; for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5d/n”,len); 经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )。 (分数:1.00)A.14B.12C.8D.643.若有以下函数首部 int fun(double X10,int *n)则下面针对此函数的函数声明语句中正确的是【 】。(分数:1.00)A.int fun(double X,int *n)

    22、;B.int fun(double ,int);C.int fun(double * X,int n);D.int fun(double *int*);44.有以下程序: #define P3 void F(int x)return(P*x*x); main() printf(“%d/n“,F(3+5); 程序运行后的输出结果是【 】。(分数:1.00)A.192B.29C.25D.编译出错45.以下叙述中错误的是【 】。(分数:1.00)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传

    23、回给对应的实参46.有以下程序 main() char S=“abcde“; S+=2; printf(“dn“,s 0); 执行后的结果是【 】。 (分数:1.00)A.输出字符 a 的 ASCII 码B.输出字符 c 的 ASCII 码C.输出字符 cD.程序出错47.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )(分数:1.00)A.char s10=”abcdefg”;B.char t =”abcdefg”,*s=t;C.char s10;s=”abcdefg”;D.char s10;strcpy(s,”abcdefg”);48.以下能正确定义且赋初值的语句是【 】。

    24、(分数:1.00)A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;49.有以下程序: #includestdlib.h struct NODE int num;stmct NODE *next;main( ) struct NODE * p, * q,* r; p=(struct NODE * )malloc(sizeof(struct NODE) ); q=(struct NODE * )malloc(sizeof(struct NODE) ); r=(struct NODE * )malloc(sizeof(st

    25、ruct NODE) ); p-num=10; q-num=20; r-num=30; p-next=q; q-next=r; printf(“%d/n“,p-num+q-next-num); 程序运行后的输出结果是( )。 (分数:1.00)A.10B.20C.30D.4050.以下选项中非法的表达式是( )。(分数:1.00)A.00;58.以下选项中不能作为合法常量的是【 】。(分数:1.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e059.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下

    26、叙述中正确的是【 】。 (分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息60.以下能正确定义一维数组的选项是(分数:1.00)A.int num ;B.#define N 100 int numN;C.int num0100;D.int N=100; int numN;二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)61.软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 1 测试。(分数:2.00)填空项 1:_62.下面程序的运行结果是: 1 int f( int a , int n

    27、) if(n1) return a0+f( else return a0; main ( ) int aa3=1,2,3,s; s=f( ; printf(“%d/n”,s); (分数:2.00)填空项 1:_63.计算机的运算速度可以用 MIPS 来描述,1MIPS 是指每秒执行 1 条指令。(分数:2.00)填空项 1:_64.设有说明 struct DATEintyear;intmonth;intday;请写出一条定义语句,该语句定义 d 为上述结构体类型变量,并同时为其成员 year、month、day 依次赋初值 2006、10、1: 1。(分数:2.00)填空项 1:_65.以下函

    28、数 fun 的功能是返回 str 所指字符串中以形参 c 中字符开头的后续字符串的首地址,例如:str所指字符串为:Hello!,c 中的字符为 e,则函数返回字符串:eUo!的首地址。若 str 所指字符串为空串或不包含 c 中的字符,则函数返回 NULL。请填空。 char*fun(char*str,char c) int n=0;char* P=str; if(P!=NULL) while(Pn!=c printf(“ 1”,n1.n2); 要求按以下格式输出 n1 和 n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 (分数:2.00)填空项 1:_73.以下程序的输

    29、出结果是 1。 #include main2 prinff(“dn“,strlen(“IBMn0121“); (分数:2.00)填空项 1:_74.某微型机的运算速度为 2MIPS,则该微型机每秒执行 1 条指令。(分数:2.00)填空项 1:_75.若有以下程序 main( ) int a44=1,2,-3,-4,0,-12,-13,14 ,-21,23,0,-24,-31,32,-33,0; int i,j,s=0; for(i=0;i4;i+) for(j=0;j4;j+) if(aij0) continue; if(aij=0) break; s+=aij; printf(“%d/n“

    30、,s); 执行后输出结果是 1。 (分数:2.00)填空项 1:_76.以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135 则输出 531。请填空。 #include main1 int n,s; prinff(“Enter a number:“);scanf(“d“, t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z); 执行后输出结果是( )。 (分数:1.00)A.1,2,3B.3,1,2C.1,3,2

    31、 D.2,3,1解析:3.有以下程序: main( ) char s =“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是( )。 (分数:1.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D 解析:4.下列定义变量的语句中错误的是【 】。(分数:1.00)A.int_int;B.double int_;C.char For;D.float US$; 解析:C 语言规定,变量的标识符只能由字母、数字或下划线 3 种字符组成,且第一个字符必须为字母或下划线。在 C 语言中大写字母和小写字母被

    32、认为是两个不同的字符。据此规定 A)、B)、C)三个选项是正确的,而 D)选项因为包含有特殊字符$,因而其不是合法的变量名称。5.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7 C.8,7,7D.8,7,8解析:6.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数

    33、值,以下选项中错误的程序是【 】。(分数:1.00)A.main() X=fun(2,10); float fun(int a,int b) B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)解析:在调用子函数时,应对其进行说明。选项 A)中,调用时,没有对子函数进行说明。选项 B)、C)中被调用函数在主调函数之前定义,不用说明;选项 D)中在主调函数中对被调用函数的返回值类型进行了说明。 7.s12 和 s2 已正确定义并分别指向

    34、两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是 (分数:1.00)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1,s2)0)S; 解析:8.有以下程序: int a=3; main( ) int s=0; int a=5;s+=a+; s+=a+; printf(“%d/n“,s); 程序运行后的输出结果是( )。 (分数:1.00)A.8 B.10C.7D.11解析:本题考点是全局变量的作用范围。9.以下叙述中正确的是【 】。(分数:1.00)A.用 C 程

    35、序实现的算法必须要有输入和输出操作B.用 C 程序实现的算法可以没有输出但必须要输入C.用 C 程序实现的算法可以没有输入但必须要有输出 D.用 C 程序实现的算法可以既没有输入也没有输出解析:算法的特性中包括“有零个或多个输入“及“有一个或多个输出“这两个特性。一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的,所以一个算法必须至少有一个输出。 10.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:1.00)A.0,1,2,0

    36、B.0,0,0,3C.1,1,2,0D.编译有错 解析:else 子句不能作为语句单独使用,在题中 if 与 else 语句被“c=2;“语句分隔开了。11.有以下程序 main() int k=5; while(-k)printf(“d“,k-=3); printf(“n“); 执行后的输出结果是【 】。 (分数:1.00)A.1 B.2C.4D.死循环解析:k 的初始值为 5,当第一次进行 while 循环时,k 自减 l 变为 4,非 0,执行循环体里的 printf 语句,输出 1,此时 k 的值变为 1。程序执行第二次循环,k 自减 1 变为 0,为假,退出 while 循环语句。所

    37、以程序的最后结果为 1,即本题的正确答案为选项 A)。12.有以下程序: #define N 20 fun(int a,int,n,int m) int,i,j; for(i=m;i=n;i-)ai+1=ai main() int i, aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(“%d“,ai); 程序运行后的输出结果是【 】。(分数:1.00)A.10234B.12344C.12334 D.12234解析:本题函数 fun 的作用是将指定的数组元素(从下标 n 到下标 m)向后移一位。由函数调用“fun(a,2,9);

    38、“可知,函数 fun 用于将 a2到 a9的各元素依次向后移一位,移完后,a 数组中各元素的值分别为1,2,3,4,5,6,7,8,9,10,故输出的前 5 个数组元素为 12334。 13.下列选项中不符合良好程序设计风格的是【 】。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚 解析:程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。著名的“清晰第一,效率第二“的论点已成为当今主导的程序设计风格。要形成良好的程序设计风格,主要应注意和考虑下述一些因素:源程序文档化;数据说明的次序规范化;避免滥用 goto

    39、语句等,除此之外,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性。所以正确选项是 D)。14.程序中对 fun 函数有如下说明: void *fun( ); 此说明的含义是( )。 (分数:1.00)A.fun 了数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类型 D.指针 fun 指向一个函数,该函数无返回值解析:15.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:1.00)A.有穷性B.简洁性 C.可行性D.确定性解析:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。 16

    40、.以下 4 个程序中,完全正确的是【 】。(分数:1.00)A.#include main(); *programming* printf(“programming!n“);B.#include main() *programming* printf(“programming!n“); C.#include main() *programming* printf(“programming!n“);D.include main() *programming* printf(“programming!n“);解析:选项 A)main();的分号是错误的,不能有分号;选项 C)的注释语句多了两个*号

    41、;选项 D)include前面没有#。17.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s,程序在编译时出错。 main() /* Beginning */ int r;float s; scanf(“%d“,B.int a 3=22*3; C.int a 3=;D.int a23=1,2,3,4;解析:19.以下叙述中正确的是( )。(分数:1.00)A.构成 C 语言程序的基本单位是函数 B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义解析:20.第 4850 题基于以下信息。以下程序的功能是:建立一

    42、个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct node *next; (48) CreatList(char *s) struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=/0) p=(struct node *)malloc(sizeof(struct node); p-data= (49) ; q-next=p; q=

    43、(50) ; s+; p-next=/0; return h; main( ) char str =“link list“; struct node *head; head=CreatList(str); . (分数:1.00)A.char *B.struct nodeC.struct node* D.char解析:21.有一个名为 init.txt 的文件,内容如下: #define HDY(A,B) AB #define PRINT(Y)printf(“Y=d/n“,Y) 有以下程序 #include“init.txt“ main() int a=1,b=2,c=3,d=4,k; k=HD

    44、Y(a+c,b+d); PRINT(k); 下面针对该程序的叙述正确的是【 】。 (分数:1.00)A.编译出错B.运行出错C.运行结果为 y=OD.运行结果为 Y=6 解析:本题考查的是带参数的宏定义。不仅要进行简单的字符替换,还要进行参数替换。根据宏替换的规则,本题在进行替换宏 HDY 时,没有像所希望的那样将 HDY(a+c,b+d)替换成(a+c)(b+d),而是替换成了“a+eb+d“,因此结果 k 为 6。22.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:1.00)A.10101001B.10101000C.11111101D.010

    45、10101 解析:23.有以下程序 main( ) char k; int I; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“another/n”); case 1: printf(“number/n”); 程序运行时,从键盘输入:01,程序执行后的输出结果是( )。 (分数:1.00)A.another number B.another number anotherC.another number numberD.number number解析:24.对于一个正常运行的 C 程序,以下叙述中正确的是【 】。(分数:1.00)A.程

    46、序的执行总是从 main 函数开始,在 main 函数结束 B.程序的执行总是从程序的第一个函数开始,在 main 函数结束C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束解析:一个 C 程序总是从 main 函数开始执行,而不论其在程序中的位置。在 main 函数中可以调用程序中的其他函数,而其他函数却不可以调用 main 函数。程序最后再从 main 函数中结束。25.有以下程序 main( ) char s =“/n123 / /“; printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )


    注意事项

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




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

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

    收起
    展开