2006年4月全国计算机等级考试二级C语言笔试试题及解析_第1页
2006年4月全国计算机等级考试二级C语言笔试试题及解析_第2页
2006年4月全国计算机等级考试二级C语言笔试试题及解析_第3页
2006年4月全国计算机等级考试二级C语言笔试试题及解析_第4页
2006年4月全国计算机等级考试二级C语言笔试试题及解析_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2006年4月全国计算机等级考试二级C语言笔试试卷一、选择题( (1)-(10)每题2分,(11)-(50)每题1分,共60分)下列各题四个选项中,只有一个选项是正确的,请选出正确答案(1)下列选项中不属于结构化程序设计方法的是0001A)自顶向下 B)逐步求精C)模块化 D)可复用(2)两个或两个以上模块之间关联的紧密程度称为1000A)耦合度 B)内聚度C)复杂度 D)数据传输特性(3)下列叙述中正确的是0001A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对(4)按照“后进先出”的原则组织数据的数据结构是0100A

2、)队列 B)栈C)双向链表 D)二叉树(5)下列叙述中正确的是1000A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构(6)对如下二叉树0001进行后序遍历的结果为A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为0010 A)32 B)31 C)64 D)63(8)“商品”与“顾客”两个实体集之间的联系一般是0001 A)一对一 B)一对多 C)多对一 D)多对多(9)在E-R图中,用来表示实体的图形是0100 A)矩形 B)椭圆形 C)菱形 D)三角形(10)

3、数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是0010 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系(11)以下不合法的用户标识符是0100 A)j2_Key B)Double C)4d D)_8_(12) 以下不合法的数值常量是0010 A)011 B)1e1 C)8.0E0.5 D)0xabcd(13) 以下不合法的字符常量是1000 A)018 B) C) D)xcc(14)表达式3.6-5/2+1.2+5%2的值是0001 A)4.3 B)4.8 C)3.3 D)3.8(15)以下能正确定义字符串的语句是0

4、001 A)char str=064; B) char str=x43; C) char str=; D) char str=;0;(16) 以下数组定义中错误的是0100 A)int x3=0; B) int x23=1,2,3,4,5,6; C) int x3= 1,2,3,4,5,6; D) int x23=1,2,3,4,5,6;(17) 若要求从键盘读入含有空格字符的字符串,应使用函数0100 A)getc() B)gets() C)getchar() D)scanf() (18)以下四个程序中,完全正确的是0100 A)#includestdio.h B)#includestdio

5、.h main(); main()/*programming*/ /*/programming/*/printf(programming!n); printf(programming!n); C) #includestdio.hD) includestdio.hmain() main() /*/*programming*/*/ /*programming*/ printf(programming!n); printf(programming!n);(19) 若有定义: flot x=1.5; int a=1,b=3,c=2; 则正确的switch语句是0010A)switch(x) B) sw

6、itch(int)x); case 1.0: printf(*n); case 1: printf(*n);case 2.0: printf(*n);case 2: printf(*n);C)switch(a+b) D) switch(a+b) case 1: printf(*n); case 1: printf(*n);case 2+1: printf(*n);case c: printf(*n);(20) 若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是1000A) main() B) float fun(int a,int b) x=f

7、un(2,10); main()float fun(int a,int b) x=fun(I,j); C) float fun(int, int); D) main()main() float fun(int i,int j);x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b) (21) 在以下给出的表达式中,与while(E)不等价的表达式是0010 A)(!E=0) B)(E0Enext=r-next;p-next=r,r-next=q;B)p-next=r;q-next=r-next;r-next=

8、q;C)q-next=r-next;r-next=q;p-next=r; D)r-next=q;p-next=r;q-next=r-next;(26)有以下程序段0010struct stint x; int *y;*pt;int a=1,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为11的是:A)*pt-y B)pt-x C)+pt-x D)(pt+)-x(27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:0100A)EOF B)非0值 C)0 D)NULL(28)设有以下语句0001int a=1,b

9、=2,c;c=a(b2);执行后,c的值为A)6 B)7 C)8 D)9(29)有以下程序0001#include main()char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&2,&3,&4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(&c&cn,c5,c6);程序运行后,若从键盘输入(从第1列开始)12345678则输出结果是A)1267 B)1256 C)1278 D)1245(30)有以下程序0100main()int y=10; while(y-); printf(

10、y=%dn,y);程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while构成无限循环(31)有以下程序0001main()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);程序输出A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错(32)有以下程序0100main()int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) conture; x+; x+; printf(x=%dn,x);程序执行

11、后的输出结果是A)x=4 B)x=8 C)x=6 D)x=12(33)有以下程序0100int fun1(double a)retrun a*=a;int fun2(double x,double y)double a=0,b=0; a=fun1(x); b=fun1(y); return(int)(a+b);main()double w; w=fun2(1.1,2.0);程序执行后变量w中的值是:A)5.21 B)5 C)5.0 D)0.0(34)有以下程序0100main()int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+) printf(%d,t2-ii

12、);程序执行后的输出结果是:A)7 5 3 B)3 5 7 C)3 6 9 D)7 5 1(35)有以下程序0100fun(char p10)int n=0,i; for(i=0;i7;i+) if(pi0=T)n+; return n;main()char str10=Mon,Tue,Wed,Thu,Fri,Sun; printf(%dn,fun(str);程序执行后的输结果是:A)1 B)2 C)3 D)0(36)有以下程序0010main()int i,s=0,t=1,2,3,4,5,6,7,8,9 for(i=0;i9;i+=2) s+=*(t+i); printf(%dn,s);程序

13、执行后的输出结果是:A)45 B)20 C)25 D)36(37)有以下程序1000void fun1(char *p)char *q; q=p; while(*q!=0) (*q)+; q+; main()char a=Program,*p; p=&a3; fun1(p); printf(%sn,a);程序执行后的输出结果是:A)Prohsbn B)Prphsbn C)Progsbn D)Program(38)有以下程序0010void swap(char *x,char *y)char t; t=*x; *x=*y; *y=t;main()char *s1=abc,*s2=123; swa

14、p(s1,s2); printf(%s,%sn,s1,s2);程序执行后的输出结果是:A)123,abc B)abc,123 C)1bc,a23 D)321,cba(39)有以下程序1000int fun(int n)if(n=1)return 1; else return(n+fun(n-1);main()int x; scanf(%d,&x); x=fun(x); printf(%dn,x);执行程序时,给变量x输入10,程序的输出结果是:A)55 B)54 C)65 D)45(40)有以下程序0010int fun(int x,int n)static int sun=0,i; for(

15、i=0;in;i+) sum+=xi; retrun sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4); printf(%dn,s);程序执行后的输出结果是:A)45 B)50 C)60 D)5541)有以下程序 1000main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%xn”,s.ch0,s.ch1); 在16位编译系统上,程序执行后的输出结果是 A)21,43 B)43,21 C)43,00 D)21,00 (42)有以下程序0010main()char

16、*p=3697,2584; int i,j; long num=0; for(i=0;i2;i+) j=0; while(pij!=0) if(pij-0(%2)num=10*num+pij-0; j+=2; printf(%dn,num);程序执行后的输出结果是:A)35 B)37 C)39 D)3975(43)执行以下程序后,test.txt文件的内容是(若文件能政党打开)1000include main()FILE *fp; char *s1=Fortran,*s2=Basic; if(fp=fopen(test.txt,wb)=NULL) printf(Cant open test.t

17、xt filen);exit(1); fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/ fseek(fP,OL,SEEK_SET);/*文件位置指针移到文件开头*/ rwrite(s2,5,1,fp); fclose(fp);A)Basican B)BasicFortran C)Basic D)FortranBasic(44)以下叙述中错误的是:0001A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

18、D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(45)以下叙述中错误的是:0100A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出C)算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果(46)以下叙述中错误的是:0001A)C程序必须由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回给对应的实参(47)设有以下定义和语句:1000 char str20=Program,*p p=str;则以下叙述中正确的是:A)*p与str0中的值相等B)

19、str与p的类型完全相同C)str数组长度和p所指向的字符串长度相等D)数组str中存放的内容和指针变量p中存放的内容相同(48)以下叙述中错误的是:0001A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j+;是赋值语句D)C程序中,+、-、*、/、%是算术运算符,可用于整形和实型数的运算(49)以下叙述中正确的是:0100A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以“#”开头C)每个C程序必须在开头包含预处理命令行:# includeD)C语言的预处理不能实现宏定义和条件编译的功能(50)以下

20、叙述中错误的是:1000A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,钽不能为变量起别名二、填空题(每空2分,共40分)(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为 【1】45 。(2)在面向对象方法中 【2】类 描述的是具有相似属必与操作的一组对象。(3)在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】关系 。(4)程序测试分为静态分析和动态测试。其中 【4】表态分析 是指不执行程序文本进行检查,通过阅读和讨论,

21、分析和发现程序中的错误。(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【5】物理独立性 。(6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句 【6】printf(a=%d,b=%d,a,b); 。(7)以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。main()float a,b,c

22、; scanf(%f%f%f,&a,&b,&c); if( 【7】(a+bc)&(a+cb)&(b+ca) )printf(YESn); /*a、b、c能构成三角形*/ else printf(NO/n); /*a、b、c不能构成三角形*/ (8)以下程序的输出结果是 【8】30 。main() int a33=1,2,9,3,4,8,5,6,7,is,s=0; for(i=0;i0) str2*i=stri; str2*i-1=*; i- printf(%sn,str);main()char str40; scanf(%s,str); insert(str);(10)下面程序的运行结果 是:

23、 【10】11 fun(int t,int n)int I,m; if(n=1) return t0; elseif(n=2) m=fun(t,n-1); return m; main()int a=11,4,6,3,8,2,3,5,9,2; printf(“%dn”,fun(a,10); (11) 现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include #include “myfun.c”main() fun(); printf(“n”);myfun.c文件如下:void fun()char s80,c; int n=0; whil

24、e(c=getchar()!=n) sn+=c; n-; while(n=0) printf(“%c”,sn-1);当编译连接通过后,运行程序T18时,输入Thank!则输出结果是:【11】!knahT 。(12) 以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为:Hello!,c中的字符为e,则函数返回字符串:ello! 的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。char *fun(char *str,char c) int n=0; char *p=str; inf(p!=NULL) whi

25、le(pn!=c&pn!=0)n+; if(pn=0) retrun NULL; retrun(【12】p+n );(13) 以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main()int i,j; for(i=0; (【13】i10 );i+) j=i*10+6;if(【14】j%3!=0 )continue;printf(“%d”,j); (14) 以下isprime函数的功能是判断形形参a是否为素数,是素数,函数返回1,否则返回0。请填空。Int isprime(int a)int i; for(i=2;i=a/2;i+) if(a%i= =

26、0)(【15】return 0 ); (【16】return 1 );(15) 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO请填空完成该程序。main()int i,j,n; char ch=A; scanf(%d,&n); if(n11) for(i=1;i=n;i+) for(j=1;j=n-i+1;j+) printf(%2c,ch); (【17】ch=ch+1 ); (【18】printf(“n”) ); else printf(n is too alr

27、ae!n) printf(n);(16) 以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点数据域中放入了具有两个字符的字符串。函数据disp的功能 headabcdef 0是显示输出该单链表中所有结点中的字符串。请填空完成函数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(【19】p!=NULL ) printf(%s

28、n,p-sub); p=(【20】p-next ); main()Node *hd; hd=fun(); dispIhd); printf(n);参考答案选择1-5 DADBA 6-10 DCDBC 11-15 BCADD 16-20 BBBCA 21-25 CABDD26-30 CBDDB 31-35 DBBBB 36-40 CACAC 41-45 ACADB 46-50 DADBA填空1.45 2.类 3.关系 4.表态分析 5.物理独立性 6.printf(a=%d,b=%d,a,b);7.a+bc&a+cb&b+ca& 8.30 9.a*b*c*d* 10.11 11.!knahT12

29、.p+n 13.inext2006年4月笔试试卷一、选择题(1)D)解析:结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用goto语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。面向对象的程序设计具有可复用性的优点。(2)A)解析:模块的独立程度可以由两个定性标准度量:内聚性和耦合性。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。一般来说,要求模块之间的耦合尽可能地弱,而要求模块的内聚程度尽可能的高。(3)D)解析:因

30、为测试的目的在于发现错误,从心理学角度讲,由程序的编写者自己进行测试是不合适的,为了达到最好的测试效果,应该由独立的第三方进行测试工作,所以选项A)错误;程序调试,修改一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B)错误;所谓软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,可见选项C)也是错误的。(4)B)解析:栈的特点是栈顶元素总是最后被插入的元素,也是最早被删除的元素;栈底元素总是最早被插入的元素,也是最晚才能被删除的元素。即栈的修改原则是“后进先出”(Last In First Out,简称LIFO) 或“先

31、进后出”(First In Last Out,简称FILO),因此,栈也称为“后进先出”表或“先进后出”表。(5)A)解析:所谓线性链表,就是指线性表的链式存储结构,简称链表。线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。栈、队列和双向链表是线性结构,二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。(6)D)解析:后序遍历可以描述为:若二叉树为空,则空操作;否则:后序遍历左子树;后序遍历右子树;访问根结点。对于后序遍历,第一个访问的结点一定是最左下的结点,最后一个访

32、问的结点一定是根结点,如果知道这个小技巧,可以迅速确定本题的答案为选项D)。(7)C)解析:满二叉树是指除最后一层外,每一层上的所有结点都有两个子结点的二叉树。满二叉树在其第i层上有2i-1个结点,即每一层上的结点数都是最大结点数。对于深度为7的满二叉树,叶子结点所在的是第7层,一共有27-164个叶子结点。(8)D)解析:两个实体集之间的联系实际上是实体集间的函数关系,主要有3种:一对一的联系,一对多的联系,多对多的联系。“商品”与“顾客”两个实体集之间的联系一般是多对多,因为,一种 “商品”可以被多个“顾客”购买,而一个“顾客”也可以购买多个“商品”。(9)A)解析:在ER图中,用矩形表示

33、实体集,用椭圆形表示属性,用菱形(内部写上联系名)表示联系。(10)C)解析:DB即数据库(Database),是统一管理的相关数据的集合;DBMS即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法;DBS即数据库系统(Database System)由如下5部分组成,数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、系统平台之一硬件平台(硬件)、系统平台之二软件平台(软件)。(11)C)解析:C语言规定,标志符由字母、数字或下划线组成,它的第一个字符必须是字母或下划线。(12)C

34、)解析:数值常量包括整型常量和字符常量。在用字母e(或E)表示指数形式的实型常量时,字母e(或E)之前必须有数字且字母e(或E)后面的指数必须为整数。(13)A)解析:字符常量是括在一对单引号内的字符。选项A)018是八进制字符串格式,所以里面的数不能大于8。选项B)、C)、D)都是转义字符。(14)D)解析:这道题要注意2/5的结果是2,因为运算符两边的数值类型均为整型,故运算结果的数值类型也被认定为整型。(15)D)解析:字符串常量是用一对双引号括起来的字符序列,用字符数组来存放,不用大括号。(16)B)解析:二维数组的初始化有以下几种形式:分行进行初始化。不分行的初始化。部分数组元素初始

35、化。省略第一维的定义,不省略第二维的定义。选项B)等号右边分了3行,大于等号左边数组的行数2。(17)B)解析:canf()语句用“空格”区别不同的字符串;getc()与getchar()语句不能用于字符串的读入。(18)B)解析:选项A)main();的分号是错误的,不能有分号;选项C)的注释语句多了两个*号;选项D)include前面没有#。(19)C)解析:C语言中,switch语句专用于实现多分支结构程序,其特点是各分支清晰而直观。switch后面括号中可以是任何表达式,取其整数部分与各常量表达式进行比较。常量表达式中不能出现变量,且类型必须是整型、字符型或枚举型,各常量表达式各不相同

36、。(20)A)解析:在调用子函数时,应对其进行说明。选项A)中,调用时,没有对子函数进行说明。选项B)、C)中被调用函数在主调函数之前定义,不用说明;选项D)中在主调函数中对被调用函数的返回值类型进行了说明。(21)C)解析:E代表不是0的整数。在选项A)、B)、D)中的switch后面的表达式都是E不等于0为真。(22)A)解析:while语句的功能是:计算表达式的值,如为真,则执行循环体语句,执行完毕后,再计算表达式的值,若仍为真,则重复执行循环体语句。直到表达式的值为假时,结束循环。ch=getchar()应加一个括号,表示输入字符的函数。(23)B)解析:返回值为指针变量指向的数据,该

37、数据已被定义为整型。(24)D)解析:p=&a表示将变量a的地址送给指针p; scanf(“%lf”,p)表示用键盘输入的数给变量p地址中。(25)D)解析:r-next=q,这时r指向的节点为q; p-next=r, 这时p指向的节点为r; q-next=r-next,因为r节点已经指向q,所以执行这个语句后q又指向q,所以不对。(26)C)解析:-的运算优先级比+高,此时,pt-=10,执行自加运算后为11。(27)B)解析:函数feof的功能是:测试fp所指的文件的位置是否已达到文件尾,如果达到文件尾,则函数返回非0值,否则返回0,表示文件尚未结束。(28)D)解析:为按位异或运算符;为

38、左移运算符。b2二进制左移两位,后得8,与a进行或运算后,得9。(29)D)解析:putchar(c1)输出1,putchar(c2)输出2,printf(“%c%cn”,c5,c6)输出45。(30)B)解析:while(y-)执行后,y若大于1,则循环,等y=0时,循环结束,并执行自减运算,得-1。(31)D)解析:else子句不能作为语句单独使用,在题中if 与else 语句被 “c=2;”语句分隔开了。(32)B)解析:此程序考察了for循环和x+。对于大循环,有两个x+,其中循环3次,对于小循环,循环三次,但是运行了两次x+,所以最后结果是6+2=8。(33)C)解析:题中变量w的定

39、义为double型,函数fun2()的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。(34)B)解析:本题考查多维数组的初始化。使用一个大括号初始化多维数组时,初始化原则为先列后行,即初始化完第一行的所有列后再初始化下一行的元素。程序输出t20、t11、t02,它们的值分别为3、5、7。(35)B)解析:此程序是统计一周七天中英文名称首字母为“T”的个数。Pi0是字符串的首字符,一共有两个“T”,所以n=2。(36)C)解析:统计19九个数中的奇数和,此题考察指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i)代表数组的第i+1

40、个元素。程序运行的结果是1+2+3+4+5+6+7+8+9=25。(37)A)解析:(*q)+是q所指的字符加1,q+就是指针移到下一个字符。(38)C)解析:这是一个转换程序:低字节相互转换,高字节不变。“abc”的ab和“123”的12相互转化。(39)A)解析:本程序考察的是函数的递归调用,在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用,执行结果为1+2+3+4+5+6+7+8+9+10=55。(40)C)解析:内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。Fun(a,5)的值是15,再次调

41、用后sum=15,所以Fun(b,4)=45,s=45+15=60。(41)A)解析:因为联合的两个变量共用一段内存,ch0占用低字节,ch1占用高字节,所以在读它们的时候还是原来的数据,没发生改变。(42)C)解析:while(pij!=0)表示pij不等于0时,继续执行while中的语句。if语句表示(pij-0)除2的余数不为0时,执行后面的语句。最后执行的结果是39。(43)A)解析:第一次fwrite操作把Fortran写到文件fp中,第二次操作,把Basic写入文件fp中,此时把Fortr字符覆盖了,所以最后输出的是Basican。(44)D)解析:并不是源程序中的所有行都参加编译。在条件编译形式下,相关内容只在满足一定条件时才进行编译。选项D)中的非执行语句不在其范围内。(45)B)解析:算法应该具有下列五个特性:有穷性:一个算法必须在执行有穷步之后结束。确定性:算法中的每一步,必须有确切的含义,在他人理解时不会产生二义性。动态性:算法中描述的每一步操作都可以通过已有的基本操作执行有限次实现。输入:一个算法应该有零个或多个输入。输出:一个算法应该有一个或多个输出。这里所说的输出是指与输入有某种特定关系的量。(46)D)解析:形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论