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

上传人:hopesteam270 文档编号:1326079 上传时间:2019-10-17 格式:DOC 页数:37 大小:116KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-277及答案解析.doc_第1页
第1页 / 共37页
【计算机类职业资格】二级C语言笔试-277及答案解析.doc_第2页
第2页 / 共37页
【计算机类职业资格】二级C语言笔试-277及答案解析.doc_第3页
第3页 / 共37页
【计算机类职业资格】二级C语言笔试-277及答案解析.doc_第4页
第4页 / 共37页
【计算机类职业资格】二级C语言笔试-277及答案解析.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、二级 C语言笔试-277 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.a、b、c、d 变量均为 float类型且已正确赋值,下列选项中与数学式子“2ab/(5cd)”等价的 C语言表达式是( )。(分数:1.00)A.2/5*a/c*d/bB.a/(5*c*d)*(2*b)C.2*a*b/5*c*dD.2/5*a*d*(1/c*2.下列叙述中止确的是( )。(分数:1.00)A.数据的逻辑结构与存储结构必定一一对应B.由于汁算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此

2、,利用数组只能处理线性结构D.以上三种说法都不对3.有以下程序:main()unsigned char a,b;a=4 | 3;b=4 printf(“%d %d/n“,a,b);执行后输出结果是( )。(分数:1.00)A.7 0B.0 7C.1 1D.43 04.有以下程序: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);程序运行后的输出结果是

3、( )。(分数:1.00)A.-4B.1C.4D.85.设变量 a是 int型,f 是 float型,i 是 double型,则表达式 10+a+i*f的值的数据类型为( )。(分数:1.00)A.intB.floatC.doubleD.不确定6.有以下程序main()char a1=M,a2=m;printf(“%c/n“,(a1,a2);以下叙述中正确的是( )。(分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,程序出错D.程序运行时产生出错信息7.有以下程序:main()char a =a,b,c,d,e,f,g,h,/0; int i,j;i=siz

4、eof((分数:1.00)A.; j=strlen(a);8.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送( )。(分数:1.00)A.调用语句B.命令C.口令D.消息9.下面的程序输出结果是( )。#define U 5#define V U+1#define W V*V/2main()printf(“%d “,W);printf(“%d“,5*W);(分数:1.00)A.18 72B.10.5 52.5C.10.5 25.5D.10 3010.C语言中,能识别处理的文件为( )。(分数:1.00)A.文本文件和数据块文件B.文本文件和二进制文件C.流文件和文本文件D.数据

5、文件和二进制文件11.以下程序的功能是:按顺序读入 10名学生 4门课程的成绩,计算出每位学生的平均分并输出,程序如下。main()int n,k;float score;sum,ave;sum=0.0;for(n=1;n=10;n+)for(k=1;k=4;k+)scanf(“%f“, sum+=score;ave=sum/4.0;printf(NO%d: %f/n“,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。(分数:1.00)A.sum=0.0;B.sum+=score;C.ave=sun/4.0;D.printf(“NO%d:

6、%f/n“,n,ave);12.有以下程序:main()int i=1,j=1,k=2;if(j+|k+)执行后输出结果是( )。(分数:1.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,313.有以下程序:#includestdlib.hstruct NODEint num;struct NODE *next;main()struct NODE *p,*q,*r;int sum=0;p=(struct NODE *)malloc(sizeof(struct NODE);q=(Struct NODE *)malloc(sizeof(struct NODE);r=(Struct N

7、ODE *)malloc(sizeof(struct NODE);p-num=1; q-num=2; r-num=3;p-next=q; q-next=r; r-next=NULL;sum+=q-next-num;sum+=p-num;printf(“%d/n“,sum);执行后的输出结果是( )。(分数:1.00)A.3B.4C.5D.614.以下程序中函数 sort的功能是对 a所指数组中的数据进行由大到小的排序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;in;j+)if(aiaj) t=ai;ai=aj;aj=t;

8、main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+) printf(%d,“,aai);printf(“/n“);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10,D.1,2,10,9,8,7,6,5,4,3,15.已知大写字母 A的 ASCII码值是 65,小写字母 a的 ASCII码是 97,则用八进制表示的字符常量 /101是( )。(分数:1.00)A.字符 AB.字符 aC.字符 eD.

9、非法的常量16.若有如下程序:main()int x=9,y=4,n=0;switch(x%2)case 0:n+;break;case 1:n+;case 0:n+;break;printf(“%d/n“,n);则程序运行后的输出结果是( )。(分数:1.00)A.1B.2C.3D.编译错误17.有以下程序:#include string.hmain(int argc,char *argv)int i,len=0;for(i=1;iargc;i+) len+=strlen(argvi);printf(“%d/n“,len);程序编译连接后生成的可执行文件是 ex1.exe,若运行时输入带参数

10、的命令行是:ex1 abcd efg 10回车则运行的结果是( )。(分数:1.00)A.22B.17C.12D.918.有以下程序:struct sint x,y;) data2=10,100,20,200);main()struct s *p=data;printf(“%d/n“,+(p-x);程序运行后的输出结果是( )。(分数:1.00)A.10B.11C.20D.2119.有以下程序段:int n=0,p;doscanf(“%d“,n+;while(p!=12345 此处 do-while循环的结束条件是( )。(分数:1.00)A.p的值不等于 12345并且 n的值小于 3B.p

11、的值等于 12345并且 n的值大于等于 3C.p的值不等于 12345或者 n的值小于 3D.p的值等于 12345或者 n的值大于等于 320. (分数:1.00)A.B.C.D.21.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统管理阶段和数据库系统管理阶段。其中数据独立性最高的阶段是( )。(分数:1.00)A.数据库系统B.文件系统C.人工管理D.数据项管理22.以下程序中函数 reverse的功能是将 a所指数组中的内容进行逆置:void reverse(int a ,int n)int i,t;for(i=0;in/2l;i+)t=ai;ai=an-1-i;an-1-i

12、=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)A.22B.10C.34D.3023.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2TestC.3DmaxD.dat24.有以下程序:struct STUchar name10;int num;int score;;main()struct STU s5=“YangSan“,20041,703,“LiSiGuo“,2

13、0042,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;j5;j+)if(pi-Scorepj-Score)t=pi;pi=pj;pi=t; printf(“%d %d/n“,s1.Score,p1-Score);执行后输出结果是( )。(分数:1.00)A.550 550B.680 680C.580 550D.580 68025.下列程序段的输出结果是( )。void fun(int *x,int *

14、y)printf(“%d%d“,*x,*y);*x=3;*y=4; main()int x=2,y=1;fun(printf(“%d%d“,X,y);(分数:1.00)A.1243B.1212C.1234D.211226.下面程序段的执行结果是( )。main()int a55,i,j;for(i=1;i5;i+)for(j=1;j5;j+)aij=(ij)*(j/i);for(i=1;i5;i+)for(j=1;j5;j+)printf(“%2d“,aij);printf(“/n“);(分数:1.00)A.1111 111111111111B.0001001001001000C.100001

15、0000100001D.000000000000000027.以下选项中,与 k=n+完全等价的表达式是( )。(分数:1.00)A.k=n,n=n+1B.n=n+1,k=nC.k=+nD.k+=n+128.若有以下说明和定义:typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是( )。(分数:1.00)A.p是整型变量B.p是基类型为整型的指针变量C.q是基类型为整型的指针变量D.程序中可用 INTEGER代替 int类型名29.下述程序的输出结果是( )。#include stdio.hint f(n)int n;if(n=0 | | n=1)return

16、3;return n-f(n-2);void main()printf(“/n%d“,f(10);(分数:1.00)A.3B.8C.9D.1030.以下非法的赋值语句是( )。(分数:1.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;31.若有如下程序;main()int m=-i;printf(“%d,%u,%o,%X“,m,m,m,m);则程序运行后的输出结果是( )。(分数:1.00)A.-1,65535,177777,ffffB.-1,-1,177777,fffeC.-1,1,177777,ffffD.-1,65535,177776,fffe32.若有以下调

17、用语句,则不正确的 fun函数的首部是( )。main()int a50,n;fun(n,(分数:1.00)A.void fun(int m,int x)B.void fun(int s,int h41)C.voidfun(int p,int*s)D.void fun(int n,iht33.在软件生存周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:1.00)A.概要设计B.详细设计C.可行性分析D.需求分析34.下列叙述中错误的是( )。(分数:1.00)A.在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统B.在数据库设计的过程中,概念结构设计与具体的

18、数据库管理系统有关C.在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关D.在数据库设计的过程中,物理结构设计依赖于具体的计算机系统35.设栈 S初始状态为空。元素 a、b、c、d、e、f 依次通过栈 S,若出栈的顺序为 c、f、e、d、b、a,则栈 S的容量至少应该为( )。(分数:1.00)A.6B.5C.4D.336.有以下程序:#include string.hmain()char *p=“abcde/Ofghjik/0“;printf(“%d/n“,strlen(p);程序运行后的输出结果是( )。(分数:1.00)A.12B.15C.6D.537.若有如下程序:#incl

19、ude“stdio.h“void main()FILE *fp;fp=fopen(“test“,“wb“);fprintf(fp,“%d%.1f,%c%c“,5,238.41,B,h);fclose(fp);则程序运行后向文件输出的结果是( )。(分数:1.00)A.5238.41BhB.5238.4,BhC.5,238.4,B,hD.5238.41Bh38.C语言源程序的最小单位是( )。(分数:1.00)A.程序行B.语句C.函数D.字符39.下列叙述中正确的是( )。(分数:1.00)A.测试工作必须由程序编制者自己完成B.测试用例和调试用例必须一致C.一个程序经调试改正错误后,一般不必

20、再进行测试D.上述三种说法都不对40.有以下程序:void ss(char *s,char t)while(*s)if(*s=t) *s=t-a+A;s+;main()char str1100=“abcddfefdbd“,c=d;ss(str1,c); printf(“%s/n“,str1);程序运行后的输出结果是( )。(分数:1.00)A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd41.以下叙述中错误的是( )。(分数:2.00)A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以B.在程序结束时,应当用 fclose函数关闭已

21、打开的文件C.在利用 fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D.不可以用 FILE定义指向二进制文件的文件指针42.若有如下语句:struct achar x10int y;s,*t;t=则对结构体变量 s中的成员 y的正确引用是( )。(分数:2.00)A.y;B.t-y;C.y;D.*t-y;43.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1m=(k+=i*=k);printf(%d,%d/n“,m,i);执行后的输出结果是( )。(分数:2.00)A.8,6B.8,3C.6,4D.7,445.按条件 f对关系 R进行选择,其

22、关系代数表达式是( )。(分数:2.00)A.R| |RB.C.f(R)D.f(R)46.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )。(分数:2.00)A.概要设计B.需求分析C.详细设计D.编程调试47.下列数据结构中具有记忆功能的是( )。(分数:2.00)A.队列B.循环队列C.栈D.顺序表48.设 a和 b均为双精度型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是( )。(分数:2.00)A.6.500000B.6C.5.500000D.6.00000049.已知 i、j、k 为整型变量,若从键盘输入 1,2,3回车,使 i的值为 1、j 的值

23、为 2、k 的值为 3,以下选项中正确的输入语句是( )。(分数:2.00)A.scanf(“%2d%2d%2d“,B.scanf(“%d %d %d“,C.scanf(“%d,%d,%d“,D.scanf(“i=%d,j=%d,k=%d“,50.若 fp是指向某文件的指针,且已读到文件末尾,则函数 feof(fp)的返回值是( )。(分数:2.00)A.EOFB.-1C.1D.NULL二、填空题(总题数:17,分数:40.00)51.在一个容量为 25的循环队列中,若头指针 front=16,尾指针 rear=9,则该循环队列中共有 【1】 个元素。(分数:2.00)填空项 1:_52.在面

24、向对象方法中,属性与操作相似的一组对象称为 【2】 。(分数:2.00)填空项 1:_53.在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。详细设计阶段所采用的是 【3】 方法。(分数:2.00)填空项 1:_54.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【4】 。(分数:2.00)填空项 1:_55.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于 【5】 的联系。(分数:2.00)填空项 1:_56.设有定义:int n, *k=以下

25、语句将利用指针变量 k读写变量 n中的内容,请将语句补充完整。scanf(“%d“, 【6】 );printf(“%d/n“, 【7】 );(分数:4.00)填空项 1:_57.以下程序运行后的输出结果是 【8】 。main()int X=10,y=20,t=0;if(X=y)t=x;x=y;y=t;printf(“%d,%d /n“,x,y);(分数:2.00)填空项 1:_58.以下程序运行后的输出结果是 【9】 。main()int x=15;while(x10 if(x/3)x+;break;else continue;printf(“%d/n“,x);(分数:2.00)填空项 1:_

26、59.若有如下程序:main()int x=4;y=3,Z=2,t;t=xyz;printf(“%d/n“,t);则程序运行后的输出结果是 【10】 。(分数:2.00)填空项 1:_60.下列程序段的输出结果是 【11】 。main()char b=“Hello,you“;b5=0;printf(“%s/n“,b);(分数:2.00)填空项 1:_61.以下程序运行后的输出结果是 【12】 。main()char a=“123456789“,*p; int i=0;p=a;while(*p)if(i%2=0) *p=*;p+;i+;;puts(a);(分数:2.00)填空项 1:_62.fu

27、n函数的功能是:首先对 a所指的 N行 N列的矩阵,找出各行中的最大数,再求这 N个最大值中最小的那个数并作为函数值返回。请填空。#include stdio.h#define N 100int fun(int(*a)N)int row,col,max,min;for(row=0;rowN;row+)for(max=arow 0,col=1;colN;col+)if( 【13】 )max=arowcol;if(row=0)min=max;else if( 【14】 )min=max;return min;(分数:4.00)填空项 1:_63.函数 sstrcmp的功能是对两个字符串进行比较。当

28、 s所指字符串和 t所指字符串相等时,返回值为0;当 s所指字符串大于 t所指字符串时,返回值大于 0;当 s所指字符串小于 t所指字符串时,返回值小于 0(功能等同于库函数 strcmp)。请填空。#include stdio.hint sstrcmp(char *s,char *t)while(*st+;return 【16】 ;(分数:4.00)填空项 1:_64.下面程序的运行结果是 【17】 。#define N 10#define s(x) x*x#define f(x) (x*x)main()int i1,i2;i1=1000/s(N); i2=1000/f(N);printf(

29、“%d %d/n“,i1,i2);(分数:2.00)填空项 1:_65.下面程序的运行结果是 【18】 。void swap(int *a,int *b)int *t;t=a;a=b;b=t;main()int x=3,y=5,*p=swap(p,q);printf(“%d%d/n“,*p,*q);(分数:2.00)填空项 1:_66.以下程序运行后输入 3,abcde回车,则输出结果是 【19】 。#includestring.hmove (char *str,int n)char temp;int i;temp=strn-1;for(i=n-1;i0;i-) stri=stri-1;str

30、0=temp;main()char s50; int n,i,z;scanf(“%d,%s“,z=strlen(S);for(i=1;i=n;i+) move(s,z);printf(“%s/n“,s);(分数:2.00)填空项 1:_67.设有以下结构体类型:struct stchar name8;int num;float s4;student50;并且结构体数组 student中的元素都已有值,若要将这些元素写到硬盘文件 fp中,请将以下 fwrite语句补充完整:fwrite(student, 【20】 ,1,fp);(分数:2.00)填空项 1:_二级 C语言笔试-277 答案解析(

31、总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.a、b、c、d 变量均为 float类型且已正确赋值,下列选项中与数学式子“2ab/(5cd)”等价的 C语言表达式是( )。(分数:1.00)A.2/5*a/c*d/bB.a/(5*c*d)*(2*b) C.2*a*b/5*c*dD.2/5*a*d*(1/c*解析:解析 选项 A和选项 D中首先计算 2/5,因为两个计算分量都是整型,所以结果为 2,与实际运算不符;选项 B中因为乘除法满足交换律,所以 2*b放前面和放后面都是一样的,所以满足题目要求;选项C中的表达式等价于 2abcd/5,所以不满足题

32、目要求。故应该选择 B。2.下列叙述中止确的是( )。(分数:1.00)A.数据的逻辑结构与存储结构必定一一对应B.由于汁算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑结构与存储结构不一定是一一对应的,选项 A错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B错误。数组一般是顺序存

33、储结构,但利用数组也能处理非线性结构,选项 C错误。由此可知,只有选项 D的说法正确。3.有以下程序:main()unsigned char a,b;a=4 | 3;b=4 printf(“%d %d/n“,a,b);执行后输出结果是( )。(分数:1.00)A.7 0 B.0 7C.1 1D.43 0解析:解析 在位与运算符)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);程序运行后的输出结果是

34、( )。(分数:1.00)A.-4B.1C.4 D.8解析:解析函数 f()有 3个形式参数 f1、f2 和 x,其中 f1、f2 是指向函数的指针变量。在 main()函数中执行了函数调用“f(fa,fb,2)”,从而使 f()的形式参数 f1指向了 fa,形式参数 f2指向了 fb,把实参 2传给了形参变量 x。函数 f()中的 return语句相当于“fb(2)-fa(2)” (fb(2)的返叫值为2*2*2=8,fa(2)返回值为 2*2=4)即(8-4),值为 4。函数 f()执行后把返回值 4赋给了 i,输出 i的值是4。所以 4个选项中 C正确。5.设变量 a是 int型,f 是

35、 float型,i 是 double型,则表达式 10+a+i*f的值的数据类型为( )。(分数:1.00)A.intB.floatC.double D.不确定解析:解析 int 型、float 型、double 型的数据可以混合,要先转换成同一类型再运算。10+a运算后值的类型为 int型,i*f 运算后值的类型为 double型,最后表达式值的类型为 double型。6.有以下程序main()char a1=M,a2=m;printf(“%c/n“,(a1,a2);以下叙述中正确的是( )。(分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 m C.格式说明符不足,程序出错D.

36、程序运行时产生出错信息解析:解析 (a1,a2)是一个逗号表达式,它的值为 a2的值即 m,以字符格式输出表达式的值即输出小写字母 m。7.有以下程序:main()char a =a,b,c,d,e,f,g,h,/0; int i,j;i=sizeof((分数:1.00)A.; j=strlen(a);解析:解析 本题首先定义了字符数组 a,由于它的长度省略,所以其长度由初值个数确定,为 9。接着将 sizeof()函数返回的值赋给 i(sizeof()函数的作用是返回运算对象占用的字符数),所以 i值为 9。然后将 strlen()函数的返回值赋给 j(strlen()函数的作用是返回字符串

37、的长度,不包括字符串的结束标记/0),所以 j值为 8,故最后输出的 i,j 值为 9,8。4 个选项中 D正确。8.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送( )。(分数:1.00)A.调用语句B.命令C.口令D.消息 解析:解析 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送消息。9.下面的程序输出结果是( )。#define U 5#define V U+1#define W V*V/2main()printf(“%d “,W);printf(“%d“,5*W);(分数:1.00)A.18 72B.10.5 52.5C.10.5 25.5D.10 3

38、0 解析:解析 宏 W展开后为 V*V/2,继续展开为 U+1*U+1/2,再继续展开得 5+1*5+1/2=5+5+0=10。而 5*W展开后为 5*5+1*5+1/2= 25+5+0=30。故应该选择 D。10.C语言中,能识别处理的文件为( )。(分数:1.00)A.文本文件和数据块文件B.文本文件和二进制文件 C.流文件和文本文件D.数据文件和二进制文件解析:解析 C 语言中,能识别处理的文件为文本文件和二进制文件,故 B为所选。11.以下程序的功能是:按顺序读入 10名学生 4门课程的成绩,计算出每位学生的平均分并输出,程序如下。main()int n,k;float score;s

39、um,ave;sum=0.0;for(n=1;n=10;n+)for(k=1;k=4;k+)scanf(“%f“, sum+=score;ave=sum/4.0;printf(NO%d: %f/n“,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。(分数:1.00)A.sum=0.0; B.sum+=score;C.ave=sun/4.0;D.printf(“NO%d:%f/n“,n,ave);解析:解析 本题程序中使用了两层 for循环,外层循环的作用是控制人数,循环一次是求一个人的成绩和,然后除以 4得到平均成绩。每个人的成绩总和一开

40、始时都必须清 0,否则就会出现后面人的总成绩越来越大。“sum=O.O;”应在外层循环中。选项 A正确。12.有以下程序:main()int i=1,j=1,k=2;if(j+|k+)执行后输出结果是( )。(分数:1.00)A.1,1,2B.2,2,1C.2,2,2 D.2,2,3解析:解析 首先计算 if语句后面的表达式值,先计算运算符struct NODE *next;main()struct NODE *p,*q,*r;int sum=0;p=(struct NODE *)malloc(sizeof(struct NODE);q=(Struct NODE *)malloc(sizeof

41、(struct NODE);r=(Struct NODE *)malloc(sizeof(struct NODE);p-num=1; q-num=2; r-num=3;p-next=q; q-next=r; r-next=NULL;sum+=q-next-num;sum+=p-num;printf(“%d/n“,sum);执行后的输出结果是( )。(分数:1.00)A.3B.4 C.5D.6解析:解析 本题中定义了一个结点结构 stmct NODE,在主函数中定义了 3个结点指针 p、q 和 r,接着通过 malloc函数分配了 3个结点并让 p、q 和 r分别指向他们,再接着给 p、q 和

42、r所指向的结点的 num域赋值为 1、2、3,然后让结点 p指向 q,让 q指向 r, r 指向 NULL。显然 q-next-num 的值为指针r所指向结点的 hum域的值为 3,p-hum 的值为指针 p所指向结点的 num域的值为 1,故最后输出 s的值为 3+1=4。所以,4 个选项中选项 B符合题意。14.以下程序中函数 sort的功能是对 a所指数组中的数据进行由大到小的排序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;in;j+)if(aiaj) t=ai;ai=aj;aj=t;main()int aa10=

43、1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+) printf(%d,“,aai);printf(“/n“);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10, D.1,2,10,9,8,7,6,5,4,3,解析:解析 本题中首先定义一个长度为 10的整型数组,并初始化为“1,2,3,4,5,6,7,8,9,10”,然后调用排序函数 sort(),对 aa3开始的 5个元素进行从大到小的排序,aa0、aa1、aa2、aa8

44、、aa9并没有变化。sort()执行完毕后,接着执行后面的 for语句输出数组 aa中各个元素的值,所以输出为“1,2,3,8,7,6,5,4,9,10”。故 4个选项中 C正确。15.已知大写字母 A的 ASCII码值是 65,小写字母 a的 ASCII码是 97,则用八进制表示的字符常量 /101是( )。(分数:1.00)A.字符 A B.字符 aC.字符 eD.非法的常量解析:解析 本题的关键是八进制 101的十进制是多少。八进制的 101转换为十进制为 65,也就是字符A的 ASCII码。故应该选择 A。16.若有如下程序:main()int x=9,y=4,n=0;switch(x

45、%2)case 0:n+;break;case 1:n+;case 0:n+;break;printf(“%d/n“,n);则程序运行后的输出结果是( )。(分数:1.00)A.1B.2C.3D.编译错误 解析:解析 一个 switch语句中不能有两个相同的 case分支。本题的 switch语句中出现了两个case0,编译无法通过。所以应该选 D。17.有以下程序:#include string.hmain(int argc,char *argv)int i,len=0;for(i=1;iargc;i+) len+=strlen(argvi);printf(“%d/n“,len);程序编译连

46、接后生成的可执行文件是 ex1.exe,若运行时输入带参数的命令行是:ex1 abcd efg 10回车则运行的结果是( )。(分数:1.00)A.22B.17C.12D.9 解析:解析 本题执行时,因为命令行一共有 4个字符串,所以 argc的值为 4,在循环中依次求出argv1、argv2和 argv3指向的字符串(“abcd“、“efg“和“10“)的长度,并把它们加到变量 len中,得到 len的值 9。所以最后输出的 len值为 9,故 4个选项中 D正确。18.有以下程序:struct sint x,y;) data2=10,100,20,200);main()struct s *

47、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符合题意。19.有以下程序段:int n=0,p;doscanf(“%d“,n+;while(p!=12345 此处 do-while循环的结束条件是( )。(分数:1.00)A.p的值不等于 12345并且 n的值小于 3B.p的值等于 12345并且 n的值大于等于 3C.p的值不等于 12345或者 n的值小于 3D.p的值等于 12345或者 n的值大于等于 3 解析:解析 本题中,循环执行判断条件为 while后面括号里的表达式即 p!=12345for(i=0;in/2l;i+)t=

展开阅读全文
相关资源
猜你喜欢
  • ASA S12 2-2008 American National Standard Criteria for Evaluating Room Noise《室内噪声评估标准》.pdf ASA S12 2-2008 American National Standard Criteria for Evaluating Room Noise《室内噪声评估标准》.pdf
  • ASA S12 23-1989 American National Standard Method for the Designation of Sound Power Emitted by Machinery and Equipment《机械设备发射的声音指示方法ASA 83》.pdf ASA S12 23-1989 American National Standard Method for the Designation of Sound Power Emitted by Machinery and Equipment《机械设备发射的声音指示方法ASA 83》.pdf
  • ASA S12 3-1985 American National Standard Statistical Methods for Determining and Verifying Stated Noise Emission Values of Machinery and Equipment《确定核实机械设备噪声发射源统计学方法ASA 57》.pdf ASA S12 3-1985 American National Standard Statistical Methods for Determining and Verifying Stated Noise Emission Values of Machinery and Equipment《确定核实机械设备噪声发射源统计学方法ASA 57》.pdf
  • ASA S12 42-2010 American National Standard Methods for the Measurement of Insertion Loss of Hearing Protection Devices in Continuous or Impulsive Noise Using Microphone-in-Real-Ear.pdf ASA S12 42-2010 American National Standard Methods for the Measurement of Insertion Loss of Hearing Protection Devices in Continuous or Impulsive Noise Using Microphone-in-Real-Ear.pdf
  • ASA S12 43-1997 American National Standard Methods for Measurement of Sound Emitted by Machinery and Equipment at Workstations and Other Specified Positions《工作站和其它地方机械设备发射噪声测量方法》.pdf ASA S12 43-1997 American National Standard Methods for Measurement of Sound Emitted by Machinery and Equipment at Workstations and Other Specified Positions《工作站和其它地方机械设备发射噪声测量方法》.pdf
  • ASA S12 44-1997 American National Standard Methods for Calculation of Sound Emitted by Machinery and Equipment at Workstations and Other Specified Positions from Sound Power Level《.pdf ASA S12 44-1997 American National Standard Methods for Calculation of Sound Emitted by Machinery and Equipment at Workstations and Other Specified Positions from Sound Power Level《.pdf
  • ASA S12 5-2016 American National Standard Acoustics - Requirements for the performance and calibration of reference sound sources used for the determination of sound power levels (.pdf ASA S12 5-2016 American National Standard Acoustics - Requirements for the performance and calibration of reference sound sources used for the determination of sound power levels (.pdf
  • ASA S12 50-2002 American National Standard Acoustics C Determination of sound power levels of noise sources C Guidelines for the use of basic standards - Nationally Adopted Interna.pdf ASA S12 50-2002 American National Standard Acoustics C Determination of sound power levels of noise sources C Guidelines for the use of basic standards - Nationally Adopted Interna.pdf
  • ASA S12 51-2012 AMERICAN NATIONAL STANDARD Acoustics C Determination of sound power levels and sound energy levels of noise sources using sound pressure C Precision methods for rev.pdf ASA S12 51-2012 AMERICAN NATIONAL STANDARD Acoustics C Determination of sound power levels and sound energy levels of noise sources using sound pressure C Precision methods for rev.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

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