本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(1)
1、【 单选题
有以下程序
#include
main()
{ int a=1,b=2,c=3,x;
x=(a^b)&C;printf("%d",x);
}
程序的运行结果是( )。 [1分]
0
1
2
3
答案:
2、【 单选题
以下程序的输出结果是( )。
main()
{ int i;
for(i=0;i<3;i++)
switch(i){case 0:printf("%d",i);
case 2:printf("%d",i);
default:printf("%d",i);
}
} [1分]
000102
000020
000122
000111
答案:
3、【 单选题
有以下程序:
main()
{ int k=5;
while(--k)printf("%d",k-=3);
printf("\n");
}
执行后的输出结果是( )。 [1分]
1
2
4
死循环
答案:
4、【 单选题
若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( )。 [1分]
a[o][4]
a[1][3]
a[o][3]
a[1][4]
答案:
5、【 单选题
有下列程序:
int fun(int n)
{ if(n==1)}return 1;
else
return(n+fun(n-1));
}
main()
{ int x;
scanf("%d",&x);x=fun(x);printf("%d\n",x);
)
执行程序时,给变量x输入10,程序的输出结果是( )。 [1分]
55
54
65
45
答案:
6、【 单选题
下列程序输出结果是( )。
#include
main()
{ char a[]={'a','b','C','d','e','f','\0').
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d",i,j);
} [1分]
7,7
7,6
6,6
6,7
答案:
7、【 单选题
在面向对象方法中,( )描述的是具有相似属性与操作的一组对象。 [1分]
属性
事件
方法
答案:
8、【 单选题
下列特征中不是面向对象方法的主要特征的是( )。 [1分]
多态性
继承
封装性
模块化
答案:
9、【 单选题
有下列程序:
fun(int x,int y)
{ static int m=0,i=2;
i+=++rn;m=i x y;return m;
}
main()
{ int j=l,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j.m);printf(”%d\n”,k);
}
执行后的输出结果是( )。 [1分]
5.5
5,11
11,11
11,5
答案:
10、【 单选题
算法的时间复杂度是指( )。 [1分]
执行算法程序所需要的时间
算法程序的长度
算法执行过程所需要的基本运算次数
算法程序中的指令条数
答案:
11、【 单选题
已知数据表A中每个元素距其最终位置不远,为了节省时间,应采用的算法是( )。 [1分]
堆排序
直接插入排序
快速排序
直接选择排序
答案:
12、【 单选题
有以下程序:
main()
{ int a=0,b=l0,c=0,d=0;
if(a=1)b=1;c=2;
else d=3;
printf("%d,%d,%d,%d\n",a,b,C,d);
}
程序输出( )。 [1分]
0,1,2,0
0,0,0,3
1,1,2,0
编译有错
答案:
13、【 单选题
下述程序执行的输出结果是( )。
#include
main()
{ char a[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]='&';
printf("%s\n",a):
} [1分]
are&you
you
are
答案:
14、【 单选题
函数fseek()的正确调用形式是( )。 [1分]
fseek(位移量,起始点,文件类型指针);
fseek(文件类型指针,位移量,起始点);
fseek(文件类型指针,起始点,位移量);
fseek(起始点,位移量,文件类型指针);
答案:
15、【 单选题
若变量e为char类型,能正确判断出C为小写字母的表达式是( )。 [1分]
'a'<=c<='2'
(c>='a')||(c<='2')
('a'<=c)and('z'>c)
(c>='a')&&(c<='2')
答案:
16、【 单选题
若有定义“int b[8],*p=b;”,则p+6表示( )。 [1分]
数组元素b[6]的值
数组元素b[6]的地址
数组元素b[7]的地址
数组元素b[o]的值加上6
答案:
17、【 单选题
有以下程序:
#include
main()
{ int i=0,a=0;
while(i<20)
{  for(;;)
{if((i%10)==0)break:
else
i--;
}
i+=11:
a+=i:
}
printf("%d\n",a);
}
程序的输出结果是(    )。 [1分]
62
63
33
32
答案:
18、【 单选题
有下列程序:
main()
{ int x=5;
do
{printf("%d",X-=4);)
while(!(--x));
}
程序的输出结果是( )。 [1分]
1
2 0
1 -4
死循环
答案:
19、【 单选题
执行语句“for(i=1;i++<4;);”后,变量i的值是(    )。 [1分]
3
4
5
不定
答案:
20、【 单选题
以下程序运行后,输出结果是(    )。
#include
#define PT 5.5
#define S(x)PT*x*X
main()
{ int a=1,b=2:
printf("%4.1f\n",s(a+b));
} [1分]
49.5
9.5
22.0
45.0
答案:
21、【 单选题
下列叙述中正确的是(    )。 [1分]
用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系
用E—R图只能表示实体集之间一对一的联系
用E—R图只能表示实体集之间一对多的联系
用E—R图表示的概念数据模型只能转换为关系数据模型
答案:
22、【 单选题
下面程序的功能是输出以下形式的金字塔图案:main()
{ int i,j; *
for(i=l;i<-4;i++) ***
{ for(j=1;j<=4-i;j++) printf("");
*****
for(j=1;j<=____;j++)printf("
*"); *******
printf("\n");
}
}
在下划线处应填入的是( )。 [1分]
i
2*i一1
n=2*i+1
i+2
答案:
23、【 单选题
以下程序的输出结果是( )。
main()
{ int a=1,b;
for(b=1,b<=10;b++)
{ if(a>=8)break;
if(a%2==1){a+=5;continue;}
a=3;}
printf("%d\n",b); [1分]
3
4
5
6
答案:
24、【 单选题
如果进栈序列为el、e2、e3、e4,则可能的出栈序列是(    )。 [1分]
e3、el、e4、e2
e2、e4、e3、el
e3、e4、e2
任意顺序
答案:
25、【 单选题
以下程序的输出结果是( )。
main( )
{ int Rum=0;
while(num<=2)
{ num++;
printf(”%d\n”,num);
}
} [1分]
1
1
1
2
3
4
1
2 2
3
答案:
26、【 单选题
表达式“~0x11”的值是( )。 [1分]
0xFFEE
0x71
0x0071
0xFFF1
答案:
27、【 单选题
有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
}
x++:
}
printf("x=%d\n",x);
}
程序执行后的输出结果是( )。 [1分]
x=4
x=8
x=6
x=12
答案:
28、【 单选题
有下列程序:
main()
{ int k=5:
while(--k)printf("%d",k=1);
printf("\n");
}
执行后的输出结果是( )。 [1分]
1
2
4
死循环
答案:
29、【 单选题
有以下程序
#include
main()
{FILE*fp;int a[0]一{1,2,3,0,0},i;
fp=fopen("d2.dat,"wb");
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a.sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printft("%d",a[i]);
}
程序的运行结果是( )。 [1分]
1,2,3,0,0,o,0,0,0,0,
1,2,3,1,2,3,0,0,0,0,
123,0,0,0,0,123,0,0,0,0,
1,2,3,0,0,1,2,3,0,0,
答案:
30、【 单选题
下列程序执行后的输出结果是( )。
main()
{ int a[3][3],*p,i};
p=&a[0][0];
for(i=p;i<9;i++)p[i]=i+1;
printf("%d\n",a[1][2]);
} [1分]
3
6
9
随机数
答案:
31、【 单选题
若有定义:“int a[2][3];”,则对a数组的第i行第j 列元素的正确引用为( )。 [1分]
*(*(a+i)+j)
(a+i)[j]
*(a+i+j)
*(a+i)+j
答案:
32、【 单选题
下列程序执行后的输出结果是( )。
main()
{int x='f';printf("%c\n",'A'+(x-'a'+1));} [1分]
G
H
I
J
答案:
33、【 单选题
有以下程序:
#include<
struct stu
{ int num;
char name[10]:
int age;}
void fun(struct stu*p)
{printf("%s\n",(*p).name);}
the main()
{
struct stu students[3]={{9801,"Zhang".20},
{9802,"Wang",19},{9803,"Zhao",1 8}}
fun(students+2);
}
输出的结果是( )。 [1分]
Zhang
Zhao
Wang
18
答案:
34、【 简答题
str是一个由数字和‘,:母字符组成的字符串,由变量num传人字符串长度。请补充函数proc(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如,str="abc3de987f9621",结果为:3987621。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define M 80
int bb[M];
int proc(char str[],int bb[],int num)
{
int i,n=0;
for(i=0;i<NUM;I++)
{
if(【1】)
{
bb[n]=【2】:
n++:
}
}
return 【3】 ;
}
void main()
{
char str[M];
int mum=0,n,i;
printf("Enter a strin9:\n");
gets(str);
while(str[num])
num++:
n=proc(str,bb,num);
printf("\nbb=");
for(i=0;i<N;I++)
printf("%d",bb[i]);
} [18分]
解析:
【1】str[i]>='0'&&str#i#<='9 '
【2】str[i]-'0'
【3】n
35、【 简答题
下列给定的程序中,函数proc()的功能是:判断字符ch 是,与str所指字符串中的某个字符相同;若相同,则什么也不做,若不同,则将其插在串的最后。请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
#include
//****found****
void proc(char str,char ch)
{
while(*str &&*str!=ch)str++;
//****found****
if(*str==ch)
{ str[0]=ch;
//****found****
str[1]='0':
}
}
void main()
{
char str[81],ch;
system("CLS");
printf("\nPlease enter a string:");
gets(str);
printf("\n Please enter the character to
search:");
ch=getchar();
proc(str,ch);
printf("\nThe result is%s\n",str);
} [24分]
解析:
1.错误:void proc(char str,char ch)
正确:void  proc(char*str,char ch)
2.错误:if(*str==ch)
正确:if(*str=='\0 ')
3.错误:str[1]='0';
正确:str[1]='\0';
36、【 简答题
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放人结构体数组stu中,请编写函数proc(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是70和79,则应当把分数低于70和高于79的学生数据输出,不包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
#include
#define M 16
typedef struct
{
char num[10];
int s:
}
STREC;
int proc(STREC*a,STREC*b,int 1,int h)
{
}
void main()
{
STREC stu[M]={{"GA005",55),{"GA003",96},
{"GA002",80),{"GA004",68),
{"GA001",88},{"GA007",74},
{"GA008",85),{"GA006",89},
{"GA015",90),{"GA013”,53),
{"GA012",66},{"GA014”,82),
{"GA011",73},{"GA017",69),
{"GA018",64),{"GA016",86}};
STREC h[M];
int i,n,low,heigh,t;
printf("Enter 2 integer number low&
heigh:");
scanf("%d%d",&low,&heigh);
if(heigh
{
t=heigh:
heigh=low;
low=t;
}
n=proc(stu,h,low,heigh);
printf("The student’S data out
%d--%d:\n",low,heigh);
for(i=0;i<N;I++)
printf("%S%4d\n",h[i].num,h[i].s);
//输出指定分数范围内的学生记录
printf("\n");
} [18分]
解析:
int proc(STREC*a,STREC*b,int l,int h)
{
int i,j=0;
for(i=0;i<M;i++)
if((a[i].s>=0&&a
[i].s<1)||(a[i].s>h&&a [i].s<=l00)) //通过if语句,来判断指定范围
之外的数 b[j++]=a[i];//放到b数组中
return j; //最后把其个数返回到主函数中
}
1
1页,共36个题库
1页,共36个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2023 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169