1、计算机二级(C)4 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(iN) scanf(“%d“,_); 在下划线处应填入的是( )。 (分数:1.50)A.x+iB. printf(“%d/n”,strlen(p4); 执行后输出结果是( )。 (分数:1.50)A.2B.3C.4D.53.DOS 命令“COPY /?”的功能是( )。(分数
2、:1.50)A.将当前盘当前目录中的所有文件复制到当前盘的根目录下B.将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C.以提示方式复制文件D.显示 COPY 命令的帮助信息4.有以下程序 int fun(int n) if(n=1) return 1; else return(n+fun(n-1); main() int x; scanf(“%d“,x=fun(x);printf(“%d/n“,x); 执行程序时,给变量 x 输入 10,程序的输出结果是_。 (分数:1.50)A.55B.54C.65D.455.以下叙述中错误的是_。 (分数:1.50)A.用户所定义的标识符
3、允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识6.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1y+z/2 的值是( )。(分数:1.50)A.6B.0C.2D.17.有以下程序 main( ) union unsigned int n; unsigned char c; ul; ul.c=A; printf(“%c/n“,ul.n); 执行后输出结果是( )。 (分数:1.50)A.产生语法错B.随机值C.AD.658.有以下程序: #includestdlib.
4、h main( ) char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf(“%s%s“,p,q); printf(“%s%s/n“,p,q); 若从键盘输入:abc def回车,则输出结果是( )。 (分数:1.50)A.def defB.abc defC.abc dD.d d9.有以下程序: main( ) char str 10=“China“,“Beijing“,*p=str; printf(“%s/n“,p+10); 程序运行后的输出结果是( )。 (分数:1.50)A.ChinaB.BejingC.ngD.ing1
5、0.在 DOS 环境下,代表键盘和显示器的设备文件名为( )。(分数:1.50)A.PRNB.CONC.NULD.LPT11.从 Windows 环境进入 MSDOS 方式后,返回 Windows 环境的 DOS 命令为( )。(分数:1.50)A.EXITB.QUITC.RETD.MSDOS12.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。(分数:1.50)A.voidB.intC.floatD.double13.在多媒体计算机系统中,不能用以存储多媒体信息的是( )。(分数:1.50)A.光缆B.软盘C.硬盘D.光盘14.有以下函数: fun(char *a,cha
6、r *b) while(*a!=/0)b+; return(*a-*b); 该函数的功能是_。(分数:1.50)A.计算 a 和 b 所指字符串的长度之差B.将 b 所指字符串连接到 a 所指字符串中C.将 b 所指字符串连接到 a 所指字符串后面D.比较 a 和 b 所指字符串的大小15.以下关于函数的叙述中正确的是_。 (分数:1.50)A.每个函数都可以被其他函数调用(包括 main 函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数16.下列选项中,不能用作标识符的是( )。(分数:1.50)A._1234_B._1_2C.int_2_D.
7、2_int_17.用 8 位无符号二进制数能表示的最大十进制数为( )。(分数:1.50)A.127B.128C.255D.25618.当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义 不同,这个选项是_。 (分数:1.50)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=119.有以下程序: int a=3; main( ) int s=0; int a=5;s+=a+; s+=a+; printf(“%d/n“,s); 程序运行后的输出结果是( )。 (分数:1.50)A.8B.10C.7D.1120.以下叙述中正确的是(分数:1.50)A.全局变量
8、的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值21.有以下程序 fun(int a, int b) if(ab) return(a); else return(b); main( ) int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf(“%d/n“, r); 程序运行后的输出结果是( )。 (分数:1.50)A.3B.6C.8D.1222.以下不能定义为用户标识符的是_。 (分数:1.
9、50)A.MainB._0C._intD.sizeof23.设有以下定义和语句 char str20= “Program“,*p; p=str; 则以下叙述中正确的是_。 (分数:1.50)A.*p 与 str0中的值相等B.str 与 p 的类型完全相同C.str 数组长度和 p 所指向的字符串长度相等D.数组 str 中存放的内容和指针变量 p 中存放的内容相同24.以下数组定义中错误的是_。 (分数:1.50)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;25.有以下程序: #inc
10、lude struct STU char name10; int num; ; void f(char *name, int num) struct STU s2=“SunDan“,20044,“Penghua“,20045; num=s0.num; strcpy(name,s0.name); main() struct STU s2=“YangSan“,20041,“LiSiGao“,20042,*p; p= f(p-name,p-num); printf(“%s %d/n“,p-name,p-num); 程序运行后的输出结果是_。(分数:1.50)A.SunDan 20042B.SunDa
11、n 20044C.LiSiGuo 20042D.YangSan 2004126.有以下程序 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.50)A.another numberB.another number anotherC.another number numberD.number number27.下列选项中不属于结构化程序设计方
12、法的是_。 (分数:1.50)A.自顶向下B.逐步求精C.模块化D.可复用28.以下选项中可作为 C 语言合法常量的是_。 (分数:1.50)A.-80B.-80C.-8e1.0D.-80.0e29.按照“后进先出”原则组织数据的数据结构是_。 (分数:1.50)A.队列B.栈C.双向链表D.二叉树30.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:1.50)A.32B.31C.64D.6331.有以下程序: float f1(float n) return n*n; float f2(float n) return 2*n; main() float (*p1)(float),(
13、*p2)(float),(*t)(float),y1,y2; p1=f1; p2=f2; y1=p2(p1(2.0); t=p1; p1=p2; p2=t; y2=p2(p1(2.0); printf(“%3.0f,%3.0f/n“,y1,y2); 程序运行后的输出结果是_。(分数:1.50)A.8, 16B.8, 8C.16, 16D.4, 832.以下不能正确定义二维数组的选项是( )。(分数:1.50)A.int a22=1,2;B.int a 2=1,2,3,4;C.int a22=1,2,3;D.int a2 =1,2,3,4;33.在 Windows 环境下,能实现窗口移动的操作是
14、( )。(分数:1.50)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。34.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.ch0,s.ch1); 在 16 位编译系统上,程序执行后的输出结果是_。 (分数:1.50)A.21,43B.43,21C.43,00D.21,0035.有以下程序: main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%d/n“,m,n,p); 若想从键盘上输入
15、数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是_。(分数:1.50)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 78936.计算机网络的主要特点是( )。(分数:1.50)A.运算速度快B.运算精度高C.资源共享D.人机交互37.有以下程序: void f(int a ,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4)
16、; for(i=0;i5;i+) printf(“%d,”,aai); printf(“/n”); 执行后输出结果是( )。 (分数:1.50)A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,2,3,4,5,38.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;inext; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:40.00)填空项 1:_52.以
17、下程序运行后的输出结果是 1。 #include char *ss(char *s) char *p,t; p=s+1;t=*s; while(*p) *(p-1)=*p; p+; *(p-1)=t; return s; main2 char *p,str10=“abcdefgh“; p=ss(str); printf(“%s/n“,p); (分数:40.00)填空项 1:_53.在关系模型中,把数据看成是二维表,每一个二维表称为一个 1。(分数:40.00)填空项 1:_54.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。 # include stdlib.h mai
18、n ( ) double *p; p=(double *) malloc( 1); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n”,p0,p1,p2); (分数:40.00)填空项 1:_55.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; while(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:40.00)填空项 1:_56.假设在当前盘当前目录下有一个可执行程序 USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当
19、前目录的文件 OUT.DAT 中,则完整的 DOS 命令为 1。(分数:40.00)填空项 1:_57.下面程序的运行结果是: 1。 fun(int t,int n) int i,m; if(n=1) return t0; else if(n=2) m=fun(t,n-1); return m; main2 int a=11,4,6,3,8,2,3,5,9,2; printf(“%d/n“,fun(a,10); (分数:40.00)填空项 1:_58.函数 YangHui 的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1.
20、其构成规律是: (1.)第 0 列元素和主对角线元素均为 1 (2.)其余元素为其左上方和正上方元素之和 (3.)数据的个数每行递增 1 请将程序补充完整。 #define N 6 void yanghui(int xNN) int i,j; x00=1; for(i=1;iN;i+) xi0= 1=1; for(j=1;ji;j+) xij= 2; (分数:40.00)填空项 1:_59.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:40.00)填空项 1:_60.有以下语句段 int n1=10,n2=20; printf(“ 1”,n1.n2); 要求按以下格式输出 n
21、1 和 n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 (分数:40.00)填空项 1:_61.计算机软件分为系统软件与应用软件,UNIX 属于 1。(分数:40.00)填空项 1:_62.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main1 int t=0,s=0,i; for(i=1;ib) return(a); else return(b); main( ) int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf(“%d/n“, r); 程序运行后的输出结果是( )。 (分数:1.50)A
22、.3B.6C.8D.12 解析:22.以下不能定义为用户标识符的是_。 (分数:1.50)A.MainB._0C._intD.sizeof 解析: C 语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。 注意:大写字母和小写字母被认为是两个不同的字符。A 中 Main 与主函数名 main 不同。23.设有以下定义和语句 char str20= “Program“,*p; p=str; 则以下叙述中正确的是_。 (分数:1.50)A.*p 与 str0中的值相等 B.str 与 p 的类型完全相同C.str 数组长度和 p 所指向的字符串长度相等D.数组 s
23、tr 中存放的内容和指针变量 p 中存放的内容相同解析:选项 A 正确,原因是语句 p=str 表示指针变量 p 指向数组 str20的首地址也就是 str0。所以*p 与 str0中的值相等。24.以下数组定义中错误的是_。 (分数:1.50)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;解析:C 语言中,二维数组中元素的排列顺序是:先按行存放,再按列存放,并且要有足够的空间来保证定义的数组长度始终大于等于需要存放的元素的长度。选项 B 中行数定义为 2 行,但实际却需要存放 3 行
24、元素故不正确。25.有以下程序: #include struct STU char name10; int num; ; void f(char *name, int num) struct STU s2=“SunDan“,20044,“Penghua“,20045; num=s0.num; strcpy(name,s0.name); main() struct STU s2=“YangSan“,20041,“LiSiGao“,20042,*p; p= f(p-name,p-num); printf(“%s %d/n“,p-name,p-num); 程序运行后的输出结果是_。(分数:1.50)
25、A.SunDan 20042 B.SunDan 20044C.LiSiGuo 20042D.YangSan 20041解析:本题主函数中定义了结构体类型的指针变量 p,并使其指向了结构体类型的数组 s1,并通过调用函数 f 改变了指针变量 p 所指向的结构体中成员变量 name 的值,但并未改变其 num 的值。这是因为函数 f 中的形参 name 是一个字符型指针变量,它指向了主函数中指针变量 p 所指向的结构体的成员变量 name, 所以对函数 f 中的形参*name 的改变也就是对主函数中 p-name 的改变,而函数 f 中对形参 num 的改变并 不会影响主函数中 p-num 的值,
26、因为此时传递给 num 的是一个值,而不是地址。26.有以下程序 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.50)A.another number B.another number anotherC.another number numberD.number number解析:27.下列选项中不属于结构化程序设计方法的是_。 (分数
27、:1.50)A.自顶向下B.逐步求精C.模块化D.可复用 解析: 20 世纪 70 年代以来,提出了许多软件设计方法,主要有逐步求精:对复杂的问题,应设计一些 子目标作过渡,逐步细化;自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考 虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;模 块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标, 再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。28.以下选项中可作为 C 语言合法常量的是_。 (分数:1.50)A
28、.-80 B.-80C.-8e1.0D.-80.0e解析:C 语言的常量分为整型常量、实型常量和字符型常量。选项 A 属于实型常量中的十进制小数形式的 表示法,是合法的。29.按照“后进先出”原则组织数据的数据结构是_。 (分数:1.50)A.队列B.栈 C.双向链表D.二叉树解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈 只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插 入操作,在另一端进行删除操作,是一种“先进先出”的线性表。30.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:1.50)A
29、.32B.31C.64 D.63解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是 说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第 K 层上有 2 的(k-1)次方个结点,且深度为 m 的满二叉树有 2(m 次方)-1 个结点。树的最大层次称为树的深度。本题中深度为 7,故叶子结点数为 2 的(6 次方)=64。31.有以下程序: float f1(float n) return n*n; float f2(float n) return 2*n; main() float (*p1)(float),(*p2)(float),(*t)
30、(float),y1,y2; p1=f1; p2=f2; y1=p2(p1(2.0); t=p1; p1=p2; p2=t; y2=p2(p1(2.0); printf(“%3.0f,%3.0f/n“,y1,y2); 程序运行后的输出结果是_。(分数:1.50)A.8, 16 B.8, 8C.16, 16D.4, 8解析:题中“(*p1)(float)”定义了一个指向函数的指针变量 p1,此函数的返回值是 float 类型。在 main 函 数中,使得 p1 指向了函数 f1,p2 指向了函数 f2。语句“y1=p2(p1(2.0);”先调用了 p1 函数,将其返回值 4.000000 传递给
31、了 f2 的形参 n,并使其函数返回值 8.000000 赋值给 y1。然后在 main 函数中交换了 p1、p2 指针变量的指向,使 p1 指向了函数 f2,p2 指向了函数 f1,并先调用函数 f2,得到返回值 4.000000,使其 传递给 f1 函数的形参 n,并带回返回值 16.000000 赋值给 y2。在输出 y1、y2 时,各浮点数占 3 列,小数位 数为 0,即输出了 8, 16。32.以下不能正确定义二维数组的选项是( )。(分数:1.50)A.int a22=1,2;B.int a 2=1,2,3,4;C.int a22=1,2,3;D.int a2 =1,2,3,4;
32、解析:33.在 Windows 环境下,能实现窗口移动的操作是( )。(分数:1.50)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。 解析:34.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.ch0,s.ch1); 在 16 位编译系统上,程序执行后的输出结果是_。 (分数:1.50)A.21,43 B.43,21C.43,00D.21,00解析:此题考核的是共用体的特征。int 类型变量和字符数组 ch 共用两个字节的相同的存储单元,
33、通常 ch0位于低字节,ch1位于高字节,所以 s.ch0=21,s.ch1=43。35.有以下程序: main() int m,n,p; scanf(“m=%dn=%dp=%d“, printf(“%d%d%d/n“,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是_。(分数:1.50)A.m=123n=456p=789 B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789解析:根据本题的数据输入形式“scanf(“m=%dn=%dp=%d“,”说明在输入数据时,
34、必须输入“m=”、“n=”、“p=”字符,且中间不能含有空格。36.计算机网络的主要特点是( )。(分数:1.50)A.运算速度快B.运算精度高C.资源共享 D.人机交互解析:37.有以下程序: void f(int a ,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+) printf(“%d,”,aai); printf(“/n”); 执行后输出结果是( )。 (分数:1.50)A.5,4,3,2,1, B.5,2,3
35、,4,1,C.1,2,3,4,5,D.1,2,3,4,5,解析:38.下面程序的功能是输出以下形式的金字塔图案是: * * * * * * * * * * * * * * * * main( ) int i,j; for(i=1;inext; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:40.00)填空项 1:_ (正确答案:5)解析:程序通过语句“s0.next=s+1; s1.next=s+2; s2.next=s;”将结构体变量 s 中各结点链接成了一个 循环链表,即最后一个结点的指针域
36、指向了头结点(s2.next=s;),整个链表形成一个环,并通过语句“p=s; q=p-next; r=q-next;”将结构体指针变量 p、q、r 指向了各结点,故本题输出的 sum=3+2=5。52.以下程序运行后的输出结果是 1。 #include char *ss(char *s) char *p,t; p=s+1;t=*s; while(*p) *(p-1)=*p; p+; *(p-1)=t; return s; main2 char *p,str10=“abcdefgh“; p=ss(str); printf(“%s/n“,p); (分数:40.00)填空项 1:_ (正确答案:b
37、cdefgha)解析:函数 ss 的作用是将指针变量 s 指向的字符串的首字符移到最后一个位置,其他字符依次前移。其方 法是:首先将首字符进行了保存,保存在字符变量 t 中;其次,从指针变量 p 指向的字符(字符串 s 中的 第二个字符,即字符 b)开始,通过语句“*(p-1)=*p;”,依次前移,直到*p 指向的存储单元中的值为空为 止;最后通过语句“*(p-1)=t;”将保存在 t 中的字符放到移动后的字符串的末尾,所以本题输出的结果是 bcdefgha。53.在关系模型中,把数据看成是二维表,每一个二维表称为一个 1。(分数:40.00)填空项 1:_ (正确答案:关系)解析:在 Vis
38、ual FoxPro 中,一个“表”就是一个关系。一个关系的逻辑结构就是一张二维表。54.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。 # include stdlib.h main ( ) double *p; p=(double *) malloc( 1); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n”,p0,p1,p2); (分数:40.00)填空项 1:_ (正确答案:sizeof(double)*3)解析:55.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0;
39、 p=a; while(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:40.00)填空项 1:_ (正确答案:*2*4*6*8*)解析:56.假设在当前盘当前目录下有一个可执行程序 USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件 OUT.DAT 中,则完整的 DOS 命令为 1。(分数:40.00)填空项 1:_ (正确答案:USEROUT.DAT)解析:57.下面程序的运行结果是: 1。 fun(int t,int n) int i,m; if(n=1) return t0; else if(n=2) m=f
40、un(t,n-1); return m; main2 int a=11,4,6,3,8,2,3,5,9,2; printf(“%d/n“,fun(a,10); (分数:40.00)填空项 1:_ (正确答案:11)解析:此题主要考核的知识点是数组名作为函数参数及函数调用和参数的传递。调用实参可知 n=10,形参 数组 t 指向实参 a 的首地址 t0=11。执行 fun-|_|-函数的 if-else 语句,因为 n=10 所以执行 else 语句,在满足 if(n=2) 的条件下:m=fun(t0,9), m=fun(t0,8), m=fun(t0,7),m=fun(t0,2),.m=fun
41、(t0,1),当 n=1 时满足 if(n=1)的条件,所以执行此处的 return 语句,返回数组首地址指向的值 t0,所以答案为 11。58.函数 YangHui 的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1. 其构成规律是: (1.)第 0 列元素和主对角线元素均为 1 (2.)其余元素为其左上方和正上方元素之和 (3.)数据的个数每行递增 1 请将程序补充完整。 #define N 6 void yanghui(int xNN) int i,j; x00=1; for(i=1;iN;i+) xi0= 1=1; f
42、or(j=1;ji;j+) xij= 2; (分数:40.00)填空项 1:_ (正确答案:xii)解析:59.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:40.00)填空项 1:_ (正确答案:逻辑)解析:所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构;而数据的逻辑结构在计算机存 储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。在数据的存储结构中,不仅要存放各 数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。而所谓循环队列,就是将队列存储空 间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。所以循环队列不需要存放 元
43、素之间的前后件关系,故它属于逻辑结构。60.有以下语句段 int n1=10,n2=20; printf(“ 1”,n1.n2); 要求按以下格式输出 n1 和 n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 (分数:40.00)填空项 1:_ (正确答案:n1=%d/nn2=%d)解析:61.计算机软件分为系统软件与应用软件,UNIX 属于 1。(分数:40.00)填空项 1:_ (正确答案:系统软件)解析:62.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main1 int t=0,s=0,i; for(i=1;i=5;i+) t=i+=
44、 2; s=s+t; printf(“s=%d/n“,s); (分数:40.00)填空项 1:_ (正确答案:t*10)解析:本程序中变量 s 用于存放表达式“1+12+123+1234+12345”之和,变量 t 用于存放其表达式的各项, 由于 i=1 时,要使得 t=1;i=2 时,要使得 t=12;i=3 时,要使得 t=123;依此类推。故每一次循环的 t 的值 与此次的 i 及上次的 t 密切相关,即每一次的 t 值可用上次的 t 乘以 10 再加上此次的 i 的值就可以了,所以 本题答案为 t*10。63.在 Windows 环境下,为了将屏幕内容存入剪贴板,应按 1 键。(分数:40.00)填空项 1:_ (正确答案:print screen)解析:64.有以下程序 #include stdio.h main( ) char ch1,ch2; int n1,n2; c