计算机二级C6真题含答案与解析交互.docx
《计算机二级C6真题含答案与解析交互.docx》由会员分享,可在线阅读,更多相关《计算机二级C6真题含答案与解析交互.docx(33页珍藏版)》请在冰豆网上搜索。
计算机二级C6真题含答案与解析交互
计算机二级(C)6
(总分660,做题时间120分钟)
选择题(1-10题每题2分,11-50题每题1分,共60分)
1.
有以下程序
#include <stdio.h>
main( )
{ printf("%d\n",NULL);}
程序运行后的输出结果是()。
A 0
B 1
C -1
D NULL没定义,出错
分值:
1.5
答案:
A
2.
有以下程序:
intfa(intx)
{returnx*x;}
intfb(intx)
{returnx*x*x;}
intf(int(*f1)(),int(*f2)(),intx)
{returnf2(x)-f1(x);}
main( )
{inti;
i=f(fa,fb,2);printf("%d\n",i);
}
程序运行后的输出结果是()。
A -4
B 1
C 4
D 8
分值:
1.5
答案:
C
本题考点是函数之间的参数传递。
3.
下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
main( )
{ inti,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++)printf(“”);
for(j=1;j<=_______;j++)printf(“*”);
printf(“\n”);}}
在下划线处应填入的是()。
A i
B 2*i-1
C 2*i+1
D i+2
分值:
1.5
答案:
B
4.
若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是()。
A 0X0
B 0x0
C 0
D 0XABC
分值:
1.5
答案:
C
5.
以下叙述中正确的是()。
A C语言的源程序不必通过编译就可以直接运行
B C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C C源程序经编译形成的二进制代码可以直接运行
D C语言中的函数不可以单独进行编译
分值:
1.5
答案:
B
6.
A p->next
B p
C s
D s->next
分值:
1.5
答案:
B
7.
在Windows环境下,当一个应用程序窗口被最小化后,该应用程序()。
A 继续在后台运行
B 继续在前台运行
C 终止运行
D 暂停运行
分值:
1.5
答案:
A
8.
为了使模块尽可能独立,要求______。
A 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
分值:
1.5
答案:
B
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
软件设计,应尽量做到高内聚,低耦合,有利于提高模块的独立性。
9.
从Windows环境进入DOS方式后,返回Windows环境的命令为()。
A QUIT
B WIN
C EXIT
D ESC
分值:
1.5
答案:
C
10.
在Windows环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按()。
A Ctrl+Printscreen键
B Alt+Printscreen键
C Shift+Printscreen键
D Printscreen键
分值:
1.5
答案:
D
11.
下列对于线性链表的描述中正确的是______。
A 存储空间不一定是连续,且各元素的存储顺序是任意的
B 存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C 存储空间必须连续,且前件元素一定存储在后件元素的前面
D 存储空间必须连续,且各元素的存储顺序是任意的
分值:
1.5
答案:
A
在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
12.
有以下程序:
voidf(intv,intw)
{ intt;
t=v;v=w;w=t; }
main( )
{ intx=1,y=3,z=2;
if(x>y) f(x,y);
elseif(y>z) f(y,z);
else f(x,z);
printf(“%d,%d,%d\n”,x,y,z);}
执行后输出结果是()。
A 1,2,3
B 3,1,2
C 1,3,2
D 2,3,1
分值:
1.5
答案:
C
13.
有以下程序:
floatfun(intx,inty)
{return(x+y);}
main( )
{ inta=2,b=5,c=8;
printf("%3.Of\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是()。
A 编译出错
B 9
C 21
D 9
分值:
1.5
答案:
B
对于float或double类型的实型数据可以用“整数1,整数2”的形式在指定宽度(整数1)的同时来指定小数位的位数(整数2)。
14.
在Windows环境下,粘贴按钮是()。
A
B
C
D
分值:
1.5
答案:
D
选项A)是打印,选项B)是剪切,选项C)是复制。
15.
若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为()。
A 0
B 1
C -1
D 一个非0值
分值:
1.5
答案:
A
16.
有以下程序
intfun(intn)
{if(n==1)return1;
else
return(n+fun(n-1));
}
main()
{intx;
scanf("%d",&x);x=fun(x);printf("%d\n",x);
}
执行程序时,给变量x输入10,程序的输出结果是______。
A 55
B 54
C 65
D 45
分值:
1.5
答案:
A
此题考核的知识点是函数的递归调用,即在调用一个函数的过程中又出现直接或间接地调用该函数本身。
函数调用中因为实参x=10不符合条件语句n==1,所以执行else语句,调用fun函数。
fun函数共被调用8次,即fun(9)、fun(8)、fun(7)、fun(6)、fun(5)、fun(4)、fun(3)、fun
(2),n=10+9+8+7+6+5+4+3+2+1=55,所以x=55。
17.
有以下程序
main()
{inti,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)printf("%d",t[2-i][i]);
}
程序执行后的输出结果是______。
A 753
B 357
C 369
D 751
分值:
1.5
答案:
B
此题考核的是二维数组的应用,将初始值放在一对大括号内,按数组元素排列的顺序对各元素赋值,二维数组中行下标可以省略,但列下标必须要指定,由此题可以看出数组t是一个三行三列的二维数组,执行for循环语句t[2-i][i]分别为t[2][0],t[1][1],t[0][2],得出输出结果为357。
18.
有以下程序:
prt(int*m,intn)
{inti;
for(i=0;i}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是______。
A 1,2,3,4,5,
B 2,3,4,5,6,
C 3,4,5,6,7,
D 2,3,4,5,1,
分值:
1.5
答案:
B
用数组名作函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。
19.
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。
#include
main()
{FILE*fp;
char*s1="Fortran",*s2="Basic";
if((fp=fopen("test.txt","wb"))==NULL)
{printf("Can''topentest.txtfile\n");exit
(1);}
fwrite(s1,7,1,fp);/*把从地址s1开始的7个字符写到fp所指文件中*/
fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头*/
fwrite(s2,5,1,fp);
fclose(fp);
}
A Basican
B BasicFortran
C Basic
D FortranBasic
分值:
1.5
答案:
A
此题考核的是文件的读写,定义一个FILE类型结构体的指针fp,以“只写”方式打开一个test.txt文件,并向文件输入指针变量s1指向的7个字符,则文件内的内容为“Fortran”,执行fseek函数文件位置指针移到文件的开头,再次向文件输入指针变量s2指向的5个字符,虽然此时的文件前5个字符字符已被“Forta”所占用,但当向文件输入“Basic”这五个字符时,系统会覆盖原有的内容“Forta”,所以最后test.txt里的内容为:
Basican。
20.
有定义语句intb;charc[10];,则正确的输入语句是______。
A scanf("%d%s",&b,&c);
B scanf("%d%s",&b,c);
C scanf("%d%s",b,;
D scanf("%d%s",b,&c);
分值:
1.5
答案:
B
scanf函数中的“格式控制”后面应当是地址,而不是变量名。
对于变量,通过地址运算符“&”求出内存中的地址;对于数组c[10],数组名c即为数组在内存中的地址。
21.
A *s
B s
C *s++
D (*s)++
分值:
1.5
答案:
A
22.
有以下程序段:
main( )
{inta=5,*b,**c;
c=&b;b=&a;
……
}
程序在执行了c=&b;b=&a;语句后,表达式:
**c的值是()。