计算机类二级C

2014年全国计算机等级《二级C语言程序设计》上机考试冲刺试题(5)

43 题含答案C
共 43 题返回本类
1单选题1 / 43
下面描述中,不属于软件危机表现的是(  )。
查看答案
A. 软件过程不规范
2单选题2 / 43
要求通过while循环不断读人字符,当读入字母N时结束循环,若变量已正确定义,下列正确的程序段是(  )。
查看答案
A. while((ch=getchar())!='N')printf(”%c”,ch);
4单选题4 / 43
下列叙述中错误的是(  )。
查看答案
B. 列表框有Selected属性,而组合框没有
5单选题5 / 43
下述程序的输出结果是(  )。
#include
void main()
{int b[6]={2,4,6,8,I0,12};
int*p=b,**q=&p;
printf(”%d,”,*(p++));
printf(”%d,”, **q);
查看答案
D. 2,4
6单选题6 / 43
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以(  )方式打开文件。
查看答案
B. ”wb+”
8单选题8 / 43
运行下列程序时,若输入的数据为“1,2,3”,则输出结果是(  )。
main()
{ float a,h,e,t;
seanf(”%f,%f,%f”,&a,&b,&c);
if(a<B)
{t=a;a=b;b=t;)
if(a<C)
{t=a;a=c;c=t;)
it(b<C)
{t=b.b=c;c=t;)
printf(”%f\n%f\n%f\n”,a,b,c);
)
查看答案
D. 3.00000
3 2.00000
2 1.00000
9单选题9 / 43
以下关于typedef的叙述错误的是(  )。
查看答案
A. 用typedef可以增加新类型
10单选题10 / 43
已知二又树后序遍历序列是dabec,中序遍历序列是debac,那么它的前序遍历序列是(  )。
查看答案
D. cedba
12单选题12 / 43
有以下程序
#include
void fun(char**D)
{++P;printf(”%s”,*p);)
main()
{ char*a[]={”Mornin9”,”Afternoon”,”Evening”,”Night”);
fun(a):
)
程序的运行结果是(  )。
查看答案
A. Afternoon
13单选题13 / 43
有以下程序:
#include
main()
{char X='A';
x=(x>='A' &&x<='Z')?(x十32):x;
printf(”%c\n”,x);
}
程序的输出结果是(  )。
查看答案
B. a
14单选题14 / 43
假设a和b为int型变量,则执行以下语句后b的值为(  )。
a==1;b=10:
do
{ b-=a;a++;)
while(b--<O):
查看答案
D. 8
15单选题15 / 43
面向对象的没计方法与传统的面向过程的方法有本质不同,它的基本原理是(, )。
查看答案
C. 使用现实世界的概念抽象地思考问题从而自然地解决问题
16单选题16 / 43
函数fseek()的正确调用形式是( )。
查看答案
B. fseek(文件类型指针,位移量,起始点);
17单选题17 / 43
以下叙述中正确的是( )。
查看答案
C. C语言程序总是从main()函数开始执行
19单选题19 / 43
假定x和Y为double型,则表达式x=2,y=x+3/2的值是(  )。
查看答案
D. 3.000000
20单选题20 / 43
有以下程序:
#inelude
int f(int b[],int n)
{ int i,r=1;
for(i=0;i<=n;i++)r=r*bEi3;
return r;
)
main()
{int x,a[]={2,3,4,5,6,7,8,9);
x=f(a,3);
printf(”%a\n”,x);
)
程序的输出结果是(  )。
查看答案
B. 120
21单选题21 / 43
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(  )。
查看答案
A. 数据库系统
22单选题22 / 43
下列关于信息系统的叙述中,错误的是(  )。
查看答案
A. 广播电视是一种双向的、点到多点的信息交互系统
23单选题23 / 43
以下叙述中错误的是(  )。
查看答案
C. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
24单选题24 / 43
在C语言程序中可用做用户标识符的是(  )。
查看答案
B. aa
123 _abc
BBN cas
25单选题25 / 43
下列程序的输出结果是(  )。
#include
main()
{ int i,s=0;
for(i=1:i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf(”%d\n”,s);
查看答案
D. 6
26单选题26 / 43
有以下程序:
main()
( int k=5;
while(--k)printf(”%d”,k-=3);
printf(”n”);
}
执行后的输出结果是(  )。
查看答案
A. 1
27单选题27 / 43
有以下程序
#include
void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{ int t,i,j;
for(i=0;i<N一1;J++)
for(j=i+1;j<N;J++)
if(a[i]
}
main()
{int c[10]={1,2,3,4,5.6,7,8,9,0),i;
fun(c+4.6):
for(i=0;i<10;i++)printf(”%d,”,c[i]);
printf(”n”):
}
}
程序运行的结果是(  )。
查看答案
D. 1,2,3,4,9,8,7,6,5,0,
28单选题28 / 43
以下程序段给数组所有元素输入数据:
#includemain()
{int a[10],i=0;
while(i<10)scanf(”%d”,);
}
应在下划线处填入的是(  )。
查看答案
A. a+(i++)
29单选题29 / 43
若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是(  )。
查看答案
B. all][3]
30单选题30 / 43
以下叙述中正确的是( )。
查看答案
B. 在c语言中,预处理命令行都以“#”开头
31单选题31 / 43
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是(  )。
查看答案
C. 一个内存块的首地址,代表读人数据存放的地址
33单选题33 / 43
下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i
return sum:
main()
{int a[]={1,2.3,4,5),b[]={6,7,8,9),s=0;
s==fun(a,5)+fun(h,4),printf(”%d\n”.s);
f
程序执行后的输出结果是(  )。
查看答案
C. 60
35单选题35 / 43
可在c程序中用作用户标汉符的一组标识符是(  )。
查看答案
B. as_b3
define _123
WORD If
36单选题36 / 43
有以下程序:
main()
{ int k=5,n一0;
do
{ switch(k)
{ case l:
case 3:11+=1;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break;
printf(”%d”,n);
}while(k>0&&n<5);
}
程序运行后的输出结果是(  )。
查看答案
B. 0235
37单选题37 / 43
若希望下列的程序运行后输出25,程序空白处的正确选项是(  )。
main()
{int i,j=50,a[]={7,4,10,5,8);
for(  )
j+=a[i];
print{(”%d”,j-40);
)
查看答案
D. i=2;i<4;++i
38单选题38 / 43
用链表表示线性表的优点是(  )。
查看答案
C. 便于插入和删除操作
39单选题39 / 43
以下关于long、int和short类型数据占用内存大小的叙述中正确的是(  )。
查看答案
D. 由C语言编译系统决定
40单选题40 / 43
下列叙述中正确的是(  )。
查看答案
C. 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
41主观题41 / 43
请补充main()函数。该函数的功能是:求1~200中(不包括200)所有素数的平均值。
程序运行后的结果为91.89。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在m。in()函数的横线上填入所编写的若:F表达式或语句。
试题程序:
#include
#include
void main()
{
int i,j,n=0,flag;
float aver=0:
system(”CLS”):
for(j=2;j<2200;j++)
{
flag=1;
for(i=2;i<J;I++)
if(【1】)
{
flag=0;
break;
)
if(【2】)
{
n++;
aver+=j;
)
)
printf(”\n\n average=%4.2f\n”,【3】);
)
查看答案
【1】j%i==0【2】FlAG==1 【3】AvEr/n
42主观题42 / 43
下列给定程序中,函数proc()的功能是:根据输入的3个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。
例如,输入3个边长为3。4,5.实际输入时,数与数之间以Enter键分隔而不足逗号。
请修改程序中的错误.使它能得出正确的结果。
注意:不要改动main()函数。不得增行或删行.也不得更改程序的结构。
试题程序:
#include
#include
int proc(int a.int b.int c)
{
if(a+b>c&&h+c>a&&a+c>b)
{
if(a==b&&b==c)
//****found****
return 1;
else if(a==b||b==e||a==c)
return 2:
f|****found****
else return 3:
}
else return 0:
}
void main()
(
int a,b,C,shape;
printf(”\nfnput a,b,e:”);
scanf(”%d%d%d”,&.a&.b,&c);
printl'(”na=%d,b-%d,e=%d\n”,a,b,c);
shape=proc(a,b,c);
printl.(”\n\nThe shape:%d\n”,shape);
}
查看答案
(1)错误:rEturnl;正确:rEturn3; (2)错误:rEturn3;正确:rEturnl;
43主观题43 / 43
假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。
例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则应当是a*bc*def*g****。
注意:部分源程序给出如下。
清勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include
#include
void proc(char * str)
{
void main()
char str[81];
printf(”Enter a string:n”);
gets(str);
proc(str);
printf(”The string after deleted:n”);
puts(str);)
查看答案
voiDproC(ChAr*str)
char*D=str:
while(*p=='*')p++;//通过P的移动来达到使P指向第一个不是*号的字符
for#;”P!='\0';P++,strff‘+#//把从第一个不是*号的字符放到a中
*str=*P:
*str=’\0';//最后用'\o'作为字符串结束标志
← 上一卷下一卷 →