1、计算机二级(C)64 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:1.00)A.4B.3C.2D.12.数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护
2、3.有以下程序: #define P3 void F(int x)return(P*x*x); main() printf(“%d/n“,F(3+5); 程序运行后的输出结果是【 】。(分数:1.00)A.192B.29C.25D.编译出错4.在软件设计中,不属于过程设计工具的是【 】。(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图5.当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:1.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=16.一个算法应该具有“确定性”等 5 个特
3、性,下面对另外 4 个特性的描述中错误的是( )。(分数:1.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性7.有以下程序: main( ) int f1 (int x, int y) return xy?x:y; int f2 (int x, int y) return xy?y:x; main( ) int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%d/n“,d,f,e); 执行后输出的结果是( )。 (分数:1.00)A.3,4,
4、5B.5,3,4C.5,4,3D.3,5,48.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是【 】。(分数:1.00)A.并B.交C.投影D.笛卡儿乘积9.下列选项中不属于结构化程序设计方法的是【 】。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用10.以下不能定义为用户标识符的是( )。(分数:1.00)A.scanfB.VoidC._3com_D.int11.数据库技术的根本目标是要解决数据的【 】。(分数:1.00)A.存储问题B.共享问题C.安全问题D.保护问题12.有以下程序,其中u 表示按无符号整数输出 main() unsigned int X=
5、OXIFFF;* X 的初值为十六进制数 * printf(“un“,X); 程序运行后的输出结果是【 】。 (分数:1.00)A.-1B.65535C.32767D.0XFFFF13.设有以下语句 typedef struct TT char c;int a 4;CIN; 则下面叙述中正确的是【 】。 (分数:1.00)A.可以用 TT 定义结构体变量B.IT 是 struct 类型的变量C.可以用 CIN 定义结构体变量D.CIN 是 struct IT 类型的变量14.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:1.00)A.汇编程序B.编辑程序C.解释程序D.编译程序
6、15.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是( )。 (分数:1.00)A.16B.12C.28D.2116.有以下程序: main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=aA.0,0B.0,1C.1,0D.1,117.有以下函数定义: void fun(int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是( )。 (分数:1.00)A.fun(i
7、nt y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);18.有以下程序 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( if(xy) t=x; x=y; y=t; main( ) int a=4,b=3,c=5; f(a,b);
8、 f(a,c); f(b,c); printf(“%d,%d,%d/n“,a,b,c); 执行后输出的结果是( )。 (分数:1.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,521.以下叙述中错误的是【 】。(分数:1.00)A.C 语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题D.结构化程序设计提倡模块化的设计方法22.有以下程序 main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i ,k,t; for(i=0;i=0)prinff(“C“,sn-); 当编
9、译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:2.00)填空项 1:_66.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float score 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:2.00)填空项 1:_67.若有以下程序 int f(int x,int y) return(y-x)*x; main( ) int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)
10、; printf(“%d/n“,d); 执行后输出结果是 1。 (分数:2.00)填空项 1:_68.以下程序的功能是;求出数组 X 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。 main1 int x10,a9,i; for(i=O;ic,a+cb,b+ca。请填空。 main1 float a,b,C; scanf(“fff“, 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“
11、,sum); (分数:2.00)填空项 1:_75.已有定义 double *p;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型的动态存储单元 1。(分数:2.00)填空项 1:_76.计算机软件分为系统软件与应用软件,UNIX 属于 1。(分数:2.00)填空项 1:_77.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; while(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:2.00)填空项 1:_78.以下程序的功能是:利用指针指向三个整型变量,并通过指
12、针运算找出三个数中的最大值,输出到屏幕上。请填空。 main1 int x,Y,z,max,* px,*PY,*pz,*pmax; scanf(“ddd“, b+;c+; return(a+b+c); main2 int i,a=5; for(i=0;i3;i+)printf(“%d%d“,i,fun(a); printf(“/n“); (分数:2.00)填空项 1:_80.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“Programe“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*
13、p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:2.00)填空项 1:_计算机二级(C)64 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:1.00)A.4B.3 C.2D.1解析:第一次调用
14、 f( )函数,返回值为 1,第二次调用 f( )函数,牵涉到函数的递归调用,返回值为 2。2.数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享本身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。因此,数据库设计的根本目标是要解决数据共享问题。 3.有以下程序: #define P3 void F(int x)return(P*x*x); main() pri
15、ntf(“%d/n“,F(3+5); 程序运行后的输出结果是【 】。(分数:1.00)A.192B.29C.25D.编译出错 解析:return 语句用于从被调函数带回一个函数值。void 关键字表示“无类型“,即不需要从被调函数中带回函数值,所以不需要 return 语句,故编译时出错。 4.在软件设计中,不属于过程设计工具的是【 】。(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图 解析:软件设计工具包括:程序流程图、N-S、PAD、H1PO,判定表,PDL(伪码)。而 DFD(数据流图)属于结构化分析工具。 5.当把以下四个表达式用作 if 语句的控
16、制表达式时,有一个选项与其他三个选项含义不同,这个选项是【 】。(分数:1.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=1 解析:本题选项 A、B、C 中表达式用作 if 语句表达式时,其值一致,即判断 k 的值是否为奇数,若为奇数,其表达式为真,否则为假;而选项 D 的表达式“!k%2=1“相当于“!(k%2)=1,若 k 的值为奇数,则此表达式的值为假。 6.一个算法应该具有“确定性”等 5 个特性,下面对另外 4 个特性的描述中错误的是( )。(分数:1.00)A.有零个或多个输入B.有零个或多个输出 C.有穷性D.可行性解析:7.有以下程序: main( ) int
17、 f1 (int x, int y) return xy?x:y; int f2 (int x, int y) return xy?y:x; main( ) int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%d/n“,d,f,e); 执行后输出的结果是( )。 (分数:1.00)A.3,4,5B.5,3,4C.5,4,3 D.3,5,4解析:8.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是【 】。(分数:1.00)A.并B.交 C.投影D
18、.笛卡儿乘积解析:在关系运算中,“交“的定义如下:设 R1 和 R2 为参加运算的两个关系,它们具有相同的度 n,且相对应的属性值取自同一个域,则 R1R2 为交运算,结果仍为度等于 n 的关系,其中的元组既属于 R1 又属于R2。根据定义可知,不改变关系表的属性个数但能减少元组个数的是交运算,故本题答案为 B)。9.下列选项中不属于结构化程序设计方法的是【 】。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用 解析:结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用 goto 语句。可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。
19、软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。面向对象的程序设计具有可复用性的优点。10.以下不能定义为用户标识符的是( )。(分数:1.00)A.scanfB.VoidC._3com_D.int 解析:11.数据库技术的根本目标是要解决数据的【 】。(分数:1.00)A.存储问题B.共享问题 C.安全问题D.保护问题解析:由于数据的集成性使得数据可被多个应用程序所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据库的应用范围,所以数据库技术的根本目标是解决数据的共享问题。12.有以下程序,其中u 表示按无符号整数输出 main() unsigned int X
20、=OXIFFF;* X 的初值为十六进制数 * printf(“un“,X); 程序运行后的输出结果是【 】。 (分数:1.00)A.-1B.65535 C.32767D.0XFFFF解析:“u“格式符用来以十进制形式输出无符号整型变量,其取值范围是 065535。,本题中无符号整型变量 x=OXFFFF(十六进制)表示的是无符号整型变量的最大值 65535。13.设有以下语句 typedef struct TT char c;int a 4;CIN; 则下面叙述中正确的是【 】。 (分数:1.00)A.可以用 TT 定义结构体变量B.IT 是 struct 类型的变量C.可以用 CIN 定义
21、结构体变量 D.CIN 是 struct IT 类型的变量解析:在 C 语言中,typedef 用于说明一种新的类型名,本题中的 CIN 被定义为一种新的类型名,我们可以用它来定义一个结构体变量。14.能将高级语言编写的源程序转换为目标程序的软件是( )。(分数:1.00)A.汇编程序B.编辑程序C.解释程序D.编译程序 解析:15.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是( )。 (分数:1.00)A.16 B.12C.28D.21解析:
22、16.有以下程序: main( ) int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=aA.0,0B.0,1C.1,0 D.1,1解析:17.有以下函数定义: void fun(int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是( )。 (分数:1.00)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n); D.void fun(n,x);解析:18.有以下程序 struct Sint n;int a20; voidf(struct S* p) int,i,j,t; fo
23、r(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( if(xy) t=x; x=y; y=t; main( ) int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%d/n“,a,b,c); 执行后输出的结果是( )。 (分数:1.00)A.3,4,5B.5,3,4C.5,4,3D.4,3,5 解析:21.以下叙述中错误的是【 】。(分数:1.0
24、0)A.C 语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题 D.结构化程序设计提倡模块化的设计方法解析:结构化程序设计是指在程序的构成上只使用顺序、选择(即分支)和循环 3 种结构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计提倡模块化的设计方法。22.有以下程序 main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i
25、,k,t; for(i=0;is2 时,返回值0。故本题经过排序后,得到第二个字符串是“abbd“,所以输出结果是 4。 31.有以下程序: main( ) int a33,*p,i; p= for(i=0;iA.3B.6 C.9D.2解析:32.在 Windows 环境下,若资源管理器左窗口中的某文件夹左边标有“”标记,则表示( )。(分数:1.00)A.该文件夹为空B.该文件夹中含有子文件夹 C.该文件夹中只包含有可执行文件D.该文件夹中包含系统文件解析:33.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是【 】。(分数:1.00)A.(!a=1 int I;
26、 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解析:35.在 Windows 环境下,若要将当前活动窗口存入剪贴板,则可以按( )。(分数:1.00)A.Ctrl+PrintScreen 键B.Alt+PrintScr
27、een 键 C.Shift+PrintScreen 键D.PrintScreen 键解析:在 Windows 环境下,按 PrintScreen 键可将整个屏幕存入剪贴板,当它与 Alt 键结合使用时,可将 当前窗口存入剪贴板。 36.Internet 的通信协议是( )。(分数:1.00)A.TCP/IP B.BBSC.WWWD.FTP解析:37.在 Windows 环境下,粘贴按钮是( )。(分数:1.00)A.B.C.D. 解析:选项 A)是打印,选项 B)是剪切,选项 C)是复制。38.有定义语句:int x, y;,若要通过 scanf(“%d,%d“,语句使变量 x 得到数值 11
28、,变量 y 得到数值 12,下面四组输入形式中,错误的是( )。(分数:1.00)A.11 12 B.11, 12C.11,12D.11,12解析:39.有以下程序 main() char S=“abcde“; S+=2; printf(“dn“,s 0); 执行后的结果是【 】。 (分数:1.00)A.输出字符 a 的 ASCII 码B.输出字符 c 的 ASCII 码C.输出字符 cD.程序出错 解析:本题的错误之处在于下标越界。因为 s 是一个只有一个数组元素(“abcde“)的字符串数组,因此不能将指针在当前位置的基础上再向后移动两位。40.以下叙述正确的是( )。(分数:1.00)A
29、.C 语言比其他语言高级B.C 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D.C 语言出现的最晚、具有其他语言的一切优点解析:41.设变量均已正确定义,若要通过 scanf(“dcdc“, 程序运行后的输出结果是( )。 (分数:1.00)A.0 B.1C.-1D.NULL 没定义,出错解析:43.下列关于栈的描述正确的是【 】。(分数:1.00)A.在栈中能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:栈实际
30、上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其插入和删除只在线性表的一端进行。 44.有以下结构体说明和变量定义,如图所示: (分数:1.00)A.P-next=q-next;B.p-next=(p-next-next;C.p-next=rD.p=q-next; 解析:要想将 q 所指结点从链表中删除,同时保持链表的连续,必需使 p 结点的 next 指向 r,在四个选项中,只有选项 D 不能做到。 45.“商品“与“顾客“两个实体集之间的联系一般是【 】。(分数:1.00)A.一对一B.一对多C.多对一D.多对多 解析:两个实体集之间的联系实际上是实体集间的函数关系,主要有
31、 3 种:一对一的联系,一对多的联系,多对多的联系。“商品“与“顾客“两个实体集之间的联系一般是多对多,因为,一种“商品“可以被多个“顾客“购买,而一个“顾客“也可以购买多个“商品“。46.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:1.00)A.继续在后台运行 B.继续在前台运行C.终止运行D.暂停运行解析:47.有以下程序: #define f(x)(x*x) main() int i1,i2; il=f(8)/f(4); i2=f(4+4)/f(2+2); printf(“%d,%d/n“,i1,i2); 程序运行后的输出结果是【 】。 (分数:1
32、.00)A.64,28B.4,4C.4,3 D.64,64解析:对带参数的宏的展开只是将语句中宏名后面括号内的实参字符串代替#define 命令行中的形参。本题中“il=f(8)/f(4)“用“#define f(x) (x*x)“代替得 il=(8*8)/(4*4),结果为 4: “i2=f(4+4)/f(2+2)“用“#define f(x) (x*x)“代替得 i2= (4+4*4+4)/(2+2*2+2),求得结果为 3。故本题输出的值为 4,3。 48.在 Windows 环境下,PrintScreen 键的作用是( )。(分数:1.00)A.打印当前窗口的内容B.打印屏幕内容C.复
33、制屏幕到剪贴板 D.复制当前窗口到剪贴板解析:49.有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n%2)static int a=4;t+=a+; else static int a=5; t+=a+; return t+a+; main() int s=a,i; for(i=0;i3;i+) s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是【 】。 (分数:1.00)A.26B.28C.29 D.24解析:解本题耍弄清楚这样几点:1、定义“int a=2;“中的全局变量 a,其作用范围是从定义此
34、变量的位置开始到本源文件结束;2、“static int a=3;“中的静态局部变量 a 的作用范围是其所在的函数 f,并对其只赋一次初值,以后每次调用函数时不再重新赋初值,而只是保留上次函数调用结束时的值;3、复合语句“static int a=4;t+=a+; “和“static int a=5;t+=a+;“中定义的两个变量 a 属于复合语句中定义的变量,作用范围只在其本身所在的复合语句内。对于本程序来讲,第三行定义的静态局部变量并不会对四、五两行的复合语句产生作用,这是因为复合语句中也定义了与其同名的静态局部变量。 50.表达式 3.6-52+1.2+52 的值是【 】。(分数:1.0
35、0)A.4.3B.4.8C.3.3D.3.8 解析:这道题要注意 25 的结果是 2,因为运算符两边的数值类型均为整型,故运算结果的数值类型也被认定为整型。51.能将高级语言编写的源程序转换成目标程序的是( )。(分数:1.00)A.编辑程序B.编译程序 C.解释程序D.链接程序解析:由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而把源程序 转换成机器能够识别的目标程序是由“编译程序”完成的。52.若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是( )。(分数:1.00)A.int *i=NULL; scanf(“%d“,i);B.fl
36、oat *f=NULL; *f=10.5;C.char t=m, *c= *c=D.long *L; L=/0; 解析:53.在 DOS 环境下,代表键盘和显示器的设备文件名为( )。(分数:1.00)A.PRNB.CON C.NULD.LPT解析:54.有以下程序 main() int a 32=0,(* ptr 2,i,j; for(i=0;i2;i+)ptr=a+i;scanf(“%d“,ptr);pb+; for(i=0;i3;i+) for(j=0;j2;j+)printf(“%2d“,aij); printf(“/n“); 若运行时输入:123回车,则输出结果是【 】。(分数:1.
37、00)A.产生错误信息B.10 C.12D.10解析:二维数组 a,通过 a32=0将数组中的各个元素初始化为 0,指针变量 ptr,指向包含 2 个元素的一维数组。a00=1,a10=2,故本题的输出选 B。 55.在多媒体计算机中,CD-ROM 属于( )。(分数:1.00)A.存储媒体 B.传输媒体C.表现媒体D.表示媒体解析:56.若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是( )。 (分数:1.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量 C.q 是基类型为 int 的指针变量D.程序中可用
38、INTEGER 代替 int 类型名解析:语句 typedef int * INTEGER;定义了一个新类型名 INTEGER,因此语句 INTEGERp,* q;就相当 于 int * p,* * q;。57.有以下程序: float fun(int x,int y) return(x+y); main( ) int a=2,b=5,c=8; printf(“%3.Of/n“,fun( (int)fun(a+c,b),a-c) ); 程序运行后的输出结果是( )。 (分数:1.00)A.编译出错B.9 C.21D.9解析:对于 float 或 double 类型的实型数据可以用“整数 1,整
39、数 2”的形式在指定宽度(整数 1)的同时 来指定小数位的位数(整数 2)。58.有以下程序: main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是【 】。(分数:1.00)A.12353514 B.12353513C.12343514D.12343513解析:执行“printf(“%d%d“,m+,+n);“后,输出的是 m 和 n+l 的值 1235,接着执行“printf(“%d%d/n“n+,+m);“输出 n 和 m+1 的值 3514。 59.以下关于逻辑运算符两侧运算对象的叙
40、述中正确的是【 】。(分数:1.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.可以是任意合法的表达式 解析:逻辑运算符两侧的运算对象可以是任意类型的数据。C 语言最终以非 0 或 O 来判定它 ffj 属于“真“(用 l 表示)或“假“(用 0 表示)。60.在 32 位计算机中,一个字长所占的字节数为( )。(分数:1.00)A.1B.2C.4 D.8解析:字长是指计算机能够同时处理的二进制数据的位数。二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)61.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat
41、,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_ (正确答案:“rb“)解析:“rb“表示只读方式打开一个二进制文件。赋给 p,这样循环,节点可以依次向后取值。62.以下程序运行后的输出结果是 1。 main(
42、 ) int x=15; while(x10 x填空项 1:_ (正确答案:17)解析:63.若有以下程序 main( ) char a; a=H-A+0; printf(“%c/n“,a); 执行后输出结果是 1。 (分数:2.00)填空项 1:_ (正确答案:7)解析:64.以下程序运行后的输出结果是 1。 main( ) int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; break; printf(“%d %d/n“,a,b); (分数:2.0
43、0)填空项 1:_ (正确答案:2 1)解析:65.现有两个 C 程序文件 T18.C 和 myfun.C 同在 TC 系统目录(文件夹)下,其中 T18.C 文件如下: #include #include“myfun.c“ main1 fun2;printf(“n“); myfun.C 文件如下: void fun3 char S80,C;int n=0; while(C=getchar4)!=n)Sn+=c; n-; while(n=0)prinff(“C“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:2.00)填空项 1:_ (正确
44、答案:!knahT)解析:此程序是一道次序颠倒题,即输入“Thank!“,则输出“!knahT“。66.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float score 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:2.00)填空项 1:_ (正确答案:80)解析:67.若有以下程序 int f(int x,int y) return(y-x)*x; main( ) int a=3,b=4,c=5,d; d=f(f(3,4
45、),f(3,5); printf(“%d/n“,d); 执行后输出结果是 1。 (分数:2.00)填空项 1:_ (正确答案:9)解析:68.以下程序的功能是;求出数组 X 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。 main1 int x10,a9,i; for(i=O;iOUT.DAT)解析:71.以下程序运行后的输出结果是 1。 main( ) int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+; while(j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_ (正确答案:92)解析:72.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现要将文件 B.TXT 合并连接到文件 A.TXT 的后面。若使用 TYPE 命令,则完整的命令为 1。(分数:2.00)填空项 1:_ (正确答案:TYPE B.TXT A.TXT)解析:73.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件