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

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

1、二级 C 语言笔试 16 及答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.在下列选项中,_不是一个算法一般应该具有的基本特征。(分数:1.00)A.确定性B.可行性C.无穷性D.拥有足够的情报2.下列程序的输出结果是_。 main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5; printf(“%d“,*-p); (分数:1.00)A.非法B.a4的地址C.5D.33.数据库的物理设计是为一个给定的逻辑结构选取一个适合应用环境的_的过程,包括确定数据库在物理设备上的存储结构和存取方法。(分数:1.00)A.

2、逻辑结构B.物理结构C.概念结构D.层次结构4.下列不合法的 main 函数命令行参数的表示形式是_。(分数:1.00)A.main(int a,char *c);B.main(ac,aint arc;char*av;C.main(c,int c;char*v;D.main(argc,argint argc;char argv;5.对于下面的程序 #includestdio.h #includestring.h char *scmp(char*s1,char*s2) if(strcmp(s1,s2)0)return(s1); else return(s2); main() int i:char

3、 string20,sb320; for(i=0;i3;i+)gets(stri); strcpy(string,scmp(str0,str1); strcpy(string,scmp(string,str21); printf(“%s/n“,string); 若运行时依次输入 abcd、abba和 abc 三个字符串,则输出结果为_。(分数:1.00)A.abcdB.abbaC.abcD.abca6.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表7.以下程序的输出结果是_。 main()

4、int i,k,a10,p3 k=5; for(i=0;i10;i+)ai=i for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=pi*2; printf(“%d/n“,k); (分数:1.00)A.20B.21C.22D.238.有以下程序: void sum(int *A) a0=a1; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=1;i0;i-)sum( (分数:1.00)A.11B.10C.9D.813.若有定义 int*p3;,则以下叙述中正确的是_。(分数:1.00)A.定义了一个基类型为 int

5、 的指针变量 p,该变量有三个指针B.定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int 的指针C.定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D.定义了一个可指向二维数组的指针变量 p,所指一维数组应具有三个 int 类型元素14.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是_。(分数:1.00)A.if(a main() int a=3,b=6,*x= (分数:1.00)A.6 3B.3 6C.编译出错D.0019.有以下程序段: int k=0; while(k=1)k+; while 循环执行的次数是_。(分数:1.00)A

6、.无限次B.有语法错,不能执行C.一次也不执行D.执行 1 次20.当执行下面的程序时,如果输入 ABC,则输出结果是_。 #include “stdio.h“ #include “string.h“ main() char ss10=“12345“; gets(ss);strcat(ss,“6789“); printf(“%s/n“,ss); (分数:1.00)A.ABC6789B.ABC67C.12345ABC6D.ABC45678921.main(int argc,char*argv) while(-argc0)printf(“%s“,argvargc); printf(“/n“); 假

7、定以上程序经编译和连接后生成可执行文件 PROGEXE,如果在此可执行文件所在目录的 DOS 提示符下键入 PROG ABCDEFGHIJKL,则输出结果为_。 (分数:1.00)A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH22.若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是_。(分数:1.00)A.a=c=zB.(c=a)|(c=z)C.(a= and(z=D.(c=a) (分数:1.00)A.15B.14C.不确定D.024.以下所列的各函数首部中,正确的是_。(分数:1.00)A.void play(var a:Integ

8、er,var b:IntegeB.void play(int a,C.void play(int a,intD.Sub play(a as integer,b as intege25.假设 a 和 b 为 int 型变量,则执行以下语句后,b 的值为_。 a=1;b=10; do b-=a;a+; while(b-0);(分数:1.00)A.9B.-2C.-1D.826.有以下程序: void swap1(int *a,int *b) int *c=a; s=b,b=c; void swap2(int *aint *b) int c=*a; *a=*b,*b=c; main() int a=1

9、0, b=15; swap 1( a=10,b=15; swap2( printf(“%d,%d“,a,b) ; 其输出结果为_。(分数:1.00)A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,1027.对长度为 N 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。(分数:1.00)A.N+1B.NC.(N+1)/2D.N/228.设 x、y、t 均为 int 型变量,则执行语句 x=y=3;t=+x|+y;后,y 的值为_。(分数:1.00)A.不定值B.4C.3D.129.下列叙述中正确的是_。(分数:1.00)A.C 语言编译

10、时不检查语法B.C 语言的子程序有过程和函数两种C.C 语言的函数可以嵌套定义D.C 语言中,根据函数能否被其他源文件调用,被区分为内部函数和外部函数30.以下程序的输出结果是_。 #define SQR(X) X*X main() int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(“%d/n“,a) ; (分数:1.00)A.16B.2C.9D.131.设有以下声明语句 struct ex int x;float y;char z;example; 则下面的叙述中不正确的是_。(分数:1.00)A.struct 是结构体类型的关键字B.exampl

11、e 是结构体类型名C.x,y,z 都是结构体成员名D.struct ex 是结构体类型32.希尔排序法属于_类型的排序法。(分数:1.00)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法33.当执行下面的程序时,其输出结果为_。 union st int a; char b; main() union st s; char *p=(char*) (分数:1.00)A.1B.2C.3D.不确定34.下面的程序输出结果是_。 #define r 16 #if r=16 void p(int a) printf(“%x“,a) ; #else void p(int a) printf

12、(“%d“,a) ; #endif main() p(32); (分数:1.00)A.32B.20C.编译时错误D.运行时错误35.有以下程序: main() int x8=8,7,6,5,0,0,*s; s=x+3; printf(“%d/n“,s2); 程序运行后的输出结果是_。(分数:1.00)A.随机值B.0C.5D.636.软件调试的目的是_。(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能37.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值为_。(分数:1.00)A.10101001B.10101000C.11111

13、101D.0101010138.以下程序的输出结果是_。 fun(int x,int y,int z) z=x*x+y*y; main() int a=31; fun(5,2,a); printf(“%d“,a); (分数:1.00)A.0B.29C.31D.无定值39.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是_。(分数:1.00)A.-3B.9C.-12D.640.当调用函数时,实参是一个数组名,则向函数传送的是_。(分数:1.00)A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值41.按条件 f 对关系 R 进行

14、选择,其关系代数表达式为_。 A) RR (分数:1.00)A.B.C.D.42.有以下程序段: int x=3; do printf(“%d“,x-=2); while(!(-x); 其输出结果是_。(分数:1.00)A.1B.3 0C.1 -2D.死循环43.下列程序段的输出结果是_。 void fun(int *x,int *y) printf(“%d%d“,*x,*y);*x=3;*y=4; main() int x=1,y=2; fun( printf(“%d%d“,x,y); (分数:1.00)A.2 1 4 3B.1 2 1 2C.1 2 3 4D.2 1 1 244.以下变量

15、x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式子 x/(y*2)的 C 语言表达式是_。(分数:1.00)A.x/y*2B.x*(1/(y*)C.x/y*1/zD.x/y/z45.下面程序运行后的输出结果是_。 fut(int,*s,int P23) *s=p11; main() int a23=1,3,5,7,9,11,*p; p=(int *)malloc(sizeof(int); fut( printf(“%d%d%3.1f%3.1f/n“,a,c,f,x); 程序运行后的输出结果是_。(分数:1.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 6

16、5 1.0 6.5D.2 65 1.5 6.547.对下面的程序进行编译与连接生成可执行文件 c.exe,并在 DOS 命令提示符下输入: cI said“I love China“! 程序代码如下: main(int argc,char*argv) printf(“%d“,argC) ; 其输出结果为_。(分数:1.00)A.4B.5C.6D.748.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:1.00)A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式49.以下程序试图把从终端输入的字符输出到名为 abctxt 的文件中,直到从终端读入字符串#

17、号时结束输入和输出操作,但程序有错 #includestdioh main() FILE*fout; char ch; fout=fopen(abctxt,w); ch=fgetc(stdin); while(ch!=#) fputc(ch,four); ch=fgetc(stdin); fclose(fout); 出错的原因是_。(分数:1.00)A.函数 fopen 调用形式错误B.输入文件没有关闭C.函数 fgetc 调用形式错误D.文件指针 stdin 没有定义50.以下程序的输出结果是_。 main() int x=05;char z=a; printf(“%d/n“,(x (分数:

18、1.00)A.0B.1C.2D.3二、B填空题/B(总题数:18,分数:36.00)51.栈的基本运算有三种:入栈、退栈和U 【1】 /U。(分数:2.00)填空项 1:_52.在面向对象方法中,信息隐蔽是通过对象的U 【2】 /U性来实现的。(分数:2.00)填空项 1:_53.数据流的类型有U 【3】 /U和事务型。(分数:2.00)填空项 1:_54.数据库系统中实现各种数据管理功能的核心软件称为U 【4】 /U。(分数:2.00)填空项 1:_55.关系模型的数据操纵即是建立在关系上的数据操纵,一般有U 【5】 /U、增加、删除和修改四种操作。(分数:2.00)填空项 1:_56.下列

19、程序的输出结果是U 【6】 /U。 main() int a=1,b=2; a=a+b;b=a-b;a=a-b; prrintf(“%d,%d/n“,a,b) ; (分数:2.00)填空项 1:_57.下列程序的输出结果是 1600,请填空: main() int a=9,b=2; float x=U 【7】 /U,y=11,z; z=a/2+b*x/y+1/2; printf(“%5.2f/n“,z); (分数:2.00)填空项 1:_58.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间,请填空。 st=(char*)U 【8】 /U;(分数:2.

20、00)填空项 1:_59.下列程序段的输出结果是U 【9】 /U。 main() char b=“Hello,you“; b5=0; printf(“%s/n“,B) ; (分数:2.00)填空项 1:_60.下列程序段的输出结果是U 【10】 /U。 int n=c; switch(n+) default:printf(“error“);break; case a: case A: case b: case B:printf(“good“);break; case c:caseC:printf(“pass“); case d:caseD:printf(“warn“); (分数:2.00)填空

21、项 1:_61.以下程序通过函数指针 p 调用函数 fun,请在填空栏内写出定义变量 p 的语句。 void fun(int*x,int*y) main() int a=10,b=20; U 【11】 /U: p=fun; p( (分数:2.00)填空项 1:_63.下列程序的输出结果是U 【13】 /U。 void fun(int *n) while(*n)-); printf(“%d“,+(*n); main() int a=100; fun( (分数:2.00)填空项 1:_65.以下程序运行后的输出结果是U 【15】 /U。 main() char a=“Language“,b=“Pr

22、ograme“; char,p1,*p2; int k; p1=a,p2=b; for(k=0;k=7;k+) if*(p1+k)=*(p2+k)printf(“%c“,*(p1+k); (分数:2.00)填空项 1:_66.下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为 bidat 的新文件中,请填空。 #include “stdioh“ FILE *fp; main() char ch; if(fp=fopen(U 【16】 /U)=NULL)exit(0); while(ch=getchar()!=)fputc(ch,fp); fclose(fp); (分数:2.00)填

23、空项 1:_67.以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。 main() int i,a20,sum,count; sum=count=U 【17】 /U; for(i=0;i20;i+)scanf(“%d“,U 【18】 /U); for(i=0;i20;i+) if(ai0) count+: sum+=U 【19】 /U; printf(“sum=%d,count=%d/n“,sum.count); (分数:2.00)填空项 1:_68.若变量 n 中的值为 24,则 prnt 函数共输出U 【20】 /U行。 void prnt(int n,int

24、aa) int i; for(i=1;i=n;i+) printf(“%6d“,aai); if!(i%5)printf(“/n“); printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言笔试 16 答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.在下列选项中,_不是一个算法一般应该具有的基本特征。(分数:1.00)A.确定性B.可行性C.无穷性 D.拥有足够的情报解析:评析 一个算法,一般应具有以下几个基本特征:可行性确定性有穷性拥有足够的情报。2.下列程序的输出结果是_。 main() char a10=9,8,

25、7,6,5,4,3,2,1,0,*p=a+5; printf(“%d“,*-p); (分数:1.00)A.非法B.a4的地址C.5 D.3解析:评析 本题中 char*p=a+5;即相当于 p= 解析:评析 main 函数的参数通常有两个,前者为整型,后者为字符型指针数组。参数的名字可以是任意合法的标识符。而且,形如*av 与*av等价,所以选项 A、B、C 均正确,选项 D 是错误的。5.对于下面的程序 #includestdio.h #includestring.h char *scmp(char*s1,char*s2) if(strcmp(s1,s2)0)return(s1); else

26、 return(s2); main() int i:char string20,sb320; for(i=0;i3;i+)gets(stri); strcpy(string,scmp(str0,str1); strcpy(string,scmp(string,str21); printf(“%s/n“,string); 若运行时依次输入 abcd、abba和 abc 三个字符串,则输出结果为_。(分数:1.00)A.abcdB.abba C.abcD.abca解析:评析 本题自定义函数 scrnp()的作用是比较字符串 s1 和 s2 的大小,如果 s1s2,函数返回 s1的值,否则返回 s2

27、 的值。若运行时依次输入 abcd、abba 和 abc 三个字符串,执打strcpy(string,scmp(str0,str1);后,string 的值为 abba,再执行 strcpy(string,scmp(string,str2);,由于 scmp(string,str2)返回 string 的值 abba,再拷贝到字符串数组 string 中,所以本题输出 abba。6.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表 D.队列是先进后出的线性表解析:评析 队列是指允许在一端进行插入、而在另一端进行删除的线

28、性表。它又称为“先进先出”或“后进后出”的线性表,体现了“先来先服务”的原则。7.以下程序的输出结果是_。 main() int i,k,a10,p3 k=5; for(i=0;i10;i+)ai=i for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=pi*2; printf(“%d/n“,k); (分数:1.00)A.20B.21 C.22D.23解析:评析 按照程序的流程走一遍,可以得到 p0=0,p1=2,p3=6:执行三次 k+=pi*2,相当于 k=5+0*2+2*2+6*2=21。8.有以下程序: void sum(int *A) a0=a1;

29、 main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=1;i0;i-)sum( (分数:1.00)A.11B.10 C.9D.8解析:评析 n+是在语句结束后再加 1,因此,if 语句中相当于判断的是 910,当然是执行 if 语句后面的 printf 语句,而这时,因为 if 语句被执行,n 的值也被加 1,所以在打印时,n 值为 10,而 n-是在 printf 语句执行完毕后再减 1 的。13.若有定义 int*p3;,则以下叙述中正确的是_。(分数:1.00)A.定义了一个基类型为 int 的指针变量 p,该变量有三个指针B.定义了一个指针数组

30、p,该数组含有三个元素,每个元素都是基类型为 int 的指针 C.定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D.定义了一个可指向二维数组的指针变量 p,所指一维数组应具有三个 int 类型元素解析:评析 由于运算符优先级比*高,int*p3;相当于 int*(p3);,表示数组 p 的三个元素都是指针变量,且每个元素都是基类型为 int 的指针。14.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是_。(分数:1.00)A.if(a else k=0;。15.假定建立了以下链表结构,指针 p、q 分别指向如图所示的结点,则以下可以将 q 所指结点从链表中删

31、除并释放该结点的语句组是_。 (分数:1.00)A.free(;p-next=q-next;B.(*.next=(*.next;free(; C.q=(*.next;(*.next=q;free(;D.q=q-next;p-next=q;p=p-next;free(;解析:评析 选项 A 的错误在于,先已经把 q 结点给释放,无法再进行余下语句了:选项 C 和 D 的错误在于因为有了 q=(*q).next 做了赋值,则 free(q)释放了原来 q 后面的一个结点。16.信息隐蔽的概念与下述_概念直接相关。(分数:1.00)A.软件结构定义B.模块独立性 C.模块类型划分D.模拟耦合度解析:

32、评析 信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量软件模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩长。17.以下程序的输出结果是_。 long fun(int n) long s; if(n=1|n=2)s=2; else s=n-fun(n-1); relum s; main() printf(“%ld/nt“,fun(3);(分数:1.00)A.1 B.2C.3D.4解

33、析:评析 这是一个递归函数。递归的结束条件是,n=1 或者 n=2。按照程用顷序,即可得出本题结果为 1。18.下列程序的运行结果是_。 void fun(int *a,int *b) int *k; k=a;a=b;b=k; main() int a=3,b=6,*x= (分数:1.00)A.6 3B.3 6 C.编译出错D.00解析:评析 本题中主函数里的 x、y,fun 函数里的 a、b、k,这些都是指针,fun 函数中只是将 a、b这两个指针交换了位置,而并没有改变主函数中变量 a、b 的值。19.有以下程序段: int k=0; while(k=1)k+; while 循环执行的次数

34、是_。(分数:1.00)A.无限次 B.有语法错,不能执行C.一次也不执行D.执行 1 次解析:评析 C 语言里关系表达式的等于应该是“”。一个等于号表示赋值,即这里面重复的把 1 赋给 k,自然表达式 k=1 的值总为 1,while 后面的表达式恒为真,当然会进入死循环。20.当执行下面的程序时,如果输入 ABC,则输出结果是_。 #include “stdio.h“ #include “string.h“ main() char ss10=“12345“; gets(ss);strcat(ss,“6789“); printf(“%s/n“,ss); (分数:1.00)A.ABC6789

35、B.ABC67C.12345ABC6D.ABC456789解析:评析 sdtrcat(str1,str2)合并字符串函数的作用是把 str2 所指字符串的内容连接到 str1 字符串的后面,自动删去 str1 原来串中的/0。为了进行这项操作,要求 str1 所指的字符串后面有足够的空间来容纳 str2 所指字符串中的内容。函数值为 str1 所指第一个字符的地址。21.main(int argc,char*argv) while(-argc0)printf(“%s“,argvargc); printf(“/n“); 假定以上程序经编译和连接后生成可执行文件 PROGEXE,如果在此可执行文件

36、所在目录的 DOS 提示符下键入 PROG ABCDEFGHIJKL,则输出结果为_。 (分数:1.00)A.ABCDEFGB.IJHLC.ABCDEFGHIJKL D.IJKLABCDEFGH解析:评析 本题主函数带有两个参数,一个 int 型变量 argc,另一个是 char 型的一维一级指针数组argv。当主函数被执行时,系统自动将根据命令行的情况,分别给主函数的两个参数赋值。Argc 中存放命令行中命令字和参数的总和的个数,argv 用来存放命令行中命令字和所有参数的字符串的,并规定avgv0存放命令字字符串,argv1用来存放第一个参数的字符串,argv2用来存放第 2 个参数的字符

37、串,依此类推。题中 argc 的值是 2,执行完-argc 后为 1,输出 argv1,此数组存在第一个参数的字符串 ABCDEFGHIJKL。22.若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是_。(分数:1.00)A.a=c=zB.(c=a)|(c=z)C.(a= and(z=D.(c=a) (分数:1.00)A.15B.14C.不确定 D.0解析:评析 变量 sum 在使用时未赋初值,所以无法确定 sum 最终的值。24.以下所列的各函数首部中,正确的是_。(分数:1.00)A.void play(var a:Integer,var b:IntegeB.void

38、play(int a,C.void play(int a,int D.Sub play(a as integer,b as intege解析:评析 除选项 C 项外,其他各项都没有按照 C 语言中的函数定义规则定义函数。25.假设 a 和 b 为 int 型变量,则执行以下语句后,b 的值为_。 a=1;b=10; do b-=a;a+; while(b-0);(分数:1.00)A.9B.-2C.-1D.8 解析:评析 本题程序第一轮循环后 b 的值为 9,在进行循环条件测试时,先取 b 的现值 9 与 0 比较,然后再将 b 减 1。由于 90 不成立,因此循环结束,这时 b 的值已变成 8

39、,本题正确答案为 D。26.有以下程序: void swap1(int *a,int *b) int *c=a; s=b,b=c; void swap2(int *aint *b) int c=*a; *a=*b,*b=c; main() int a=10, b=15; swap 1( a=10,b=15; swap2( printf(“%d,%d“,a,b) ; 其输出结果为_。(分数:1.00)A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,10 解析:评析 C 语言规定,实参变量对形参变量的数据传递是“值传递”,只由实参传给形参,而不能

40、由形参传回来给实参。在内函数调用结束后,形参单元被释放,实参单元仍保留并维持原值。本题中swap1()函数中,虽然改变了形参指针的值,但实参指针的值并没有改变,所以执行第一个 printf 后应输出 10,15,swap2()函数实现了交换两个变量 a 和 b 的值,因此执行第二个 printf 后输出交换后的值15,10,所以本题答案为 D。27.对长度为 N 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。(分数:1.00)A.N+1B.N C.(N+1)/2D.N/2解析:评析 在进行顺序查找过程中,如果被查的元素是线性表中的最后个,或者被查元素根本不在线性表中,则为了查找这个元

41、素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。28.设 x、y、t 均为 int 型变量,则执行语句 x=y=3;t=+x|+y;后,y 的值为_。(分数:1.00)A.不定值B.4C.3 D.1解析:评析 C 语言中在做逻辑或运算时,自左向右判断各个参加或运算的表达式,一旦运算到某式的值为非零时,表明整个表达式一定为真,余下的语句则不再进行运算。本题中,+x 的值为真,则+y 并没有进行运算,所以 y 值不变。29.下列叙述中正确的是_。(分数:1.00)A.C 语言编译时不检查语法B.C 语言的子程序有过程和函数两种C.C 语言的函数可以嵌套定义D.C 语言中,根据函数能否被其

42、他源文件调用,被区分为内部函数和外部函数 解析:评析 选项 A 的错误在于编译过程中是险查语法的,若发现源程序有语法错误,则系统会提示出错信息;选项 B 的错误在于 C 语言中,子程序的作用是由函数来完成的,无过程的概念;选项 C 的错误在于函数不可以嵌套定义,但可以嵌套调用。30.以下程序的输出结果是_。 #define SQR(X) X*X main() int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(“%d/n“,a) ; (分数:1.00)A.16B.2 C.9D.1解析:评析 C 语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从

43、左到右进行置换。在做这题时,也不妨运用置换法。得到 a/=k+m*k+m/k+m*k+m=16/7=2。注:a 为整型,所以在做除法时,自动取整。31.设有以下声明语句 struct ex int x;float y;char z;example; 则下面的叙述中不正确的是_。(分数:1.00)A.struct 是结构体类型的关键字B.example 是结构体类型名 C.x,y,z 都是结构体成员名D.struct ex 是结构体类型解析:评析 example 是结构体变量名。32.希尔排序法属于_类型的排序法。(分数:1.00)A.交换类排序法B.插入类排序法 C.选择类排序法D.建堆排序法

44、解析:评析 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。33.当执行下面的程序时,其输出结果为_。 union st int a; char b; main() union st s; char *p=(char*) (分数:1.00)A.1B.2C.3 D.不确定解析:评析 共用体类型结构的特点是使几个不同的变量共占同一段内存,但在每一瞬时只能存放其中一种,而不是同时存放几种,共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。因此本题起作用的是成员 b 的值,

45、所以程序打印输出 3。34.下面的程序输出结果是_。 #define r 16 #if r=16 void p(int a) printf(“%x“,a) ; #else void p(int a) printf(“%d“,a) ; #endif main() p(32); (分数:1.00)A.32B.20 C.编译时错误D.运行时错误解析:评析 “#define r 16”的作用是指定用标识符 r 来代替 16,因此程序编译时只编译#if 部分,故程序运行时,打印输出十六进制的 32,即 20。35.有以下程序: main() int x8=8,7,6,5,0,0,*s; s=x+3; printf(“%d/n“,s2); 程序运行后的输

展开阅读全文
相关资源
猜你喜欢
  • DIN 24041-2002 Perforated plates - Dimensions《多孔板材 尺寸》.pdf DIN 24041-2002 Perforated plates - Dimensions《多孔板材 尺寸》.pdf
  • DIN 2405-2003 Pipelines in refrigerating systems and cooling equipment - Marking《制冷系统和冷却设备中的管道 标志》.pdf DIN 2405-2003 Pipelines in refrigerating systems and cooling equipment - Marking《制冷系统和冷却设备中的管道 标志》.pdf
  • DIN 24063-1980 Operating elements (control devices) for pneumatic tools terms safety requirements《风动工具的(控制装置)操纵元件 术语和安全性要求》.pdf DIN 24063-1980 Operating elements (control devices) for pneumatic tools terms safety requirements《风动工具的(控制装置)操纵元件 术语和安全性要求》.pdf
  • DIN 24080-1979 Earth-moving Machinery Hydraulic Excavators Cable-operated Excavators Terms《运土机械 液压式缆索传动挖土机 挖土机 术语》.pdf DIN 24080-1979 Earth-moving Machinery Hydraulic Excavators Cable-operated Excavators Terms《运土机械 液压式缆索传动挖土机 挖土机 术语》.pdf
  • DIN 2410-3-1978 Pipes Survey of Standards for Pipes from Concrete Reinforced Concrete and Prestressed Concrete《管件 混凝土、钢筋混凝土和预应力混凝土管件的标准的综述》.pdf DIN 2410-3-1978 Pipes Survey of Standards for Pipes from Concrete Reinforced Concrete and Prestressed Concrete《管件 混凝土、钢筋混凝土和预应力混凝土管件的标准的综述》.pdf
  • DIN 24100-1-1978 Machines for the building and building material industries mechanical comminution concepts relating to materials processing《建筑和建筑材料工业用机械 机械粉碎 第1部分 与材料加工相关的概念》.pdf DIN 24100-1-1978 Machines for the building and building material industries mechanical comminution concepts relating to materials processing《建筑和建筑材料工业用机械 机械粉碎 第1部分 与材料加工相关的概念》.pdf
  • DIN 24100-2-1983 Machines for the building and building material industries mechanical comminution terms sizes《建筑和建筑材料工业用机械 机械粉碎 第2部分 术语、规格》.pdf DIN 24100-2-1983 Machines for the building and building material industries mechanical comminution terms sizes《建筑和建筑材料工业用机械 机械粉碎 第2部分 术语、规格》.pdf
  • DIN 24117-2007 Construction equipment and building material machinery - Distributing mast for concrete pumps - Principles of calculation and stability《建筑设备和建筑材料机械 混凝土泵用配送杆 计算原则和稳定性.pdf DIN 24117-2007 Construction equipment and building material machinery - Distributing mast for concrete pumps - Principles of calculation and stability《建筑设备和建筑材料机械 混凝土泵用配送杆 计算原则和稳定性.pdf
  • DIN 24118-2007 Construction equipment and building material machinery - Concrete delivery pipelines - Dimensions and calculations《建筑设备和建筑材料机械 混凝土传送管道 尺寸》.pdf DIN 24118-2007 Construction equipment and building material machinery - Concrete delivery pipelines - Dimensions and calculations《建筑设备和建筑材料机械 混凝土传送管道 尺寸》.pdf
  • 相关搜索
    资源标签

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

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