下列选项中属于c语言合法变量名的是,2012年二级C语言笔试考前冲刺试卷(1)...

单项选择题

1. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。

A)冒泡排序

B)选择排序

C)快速排序

D)归并排序

2. 下列叙述中正确的是( )。

A)算法的效率只与问题的规模有关,而与数据的存储结构无关

B)算法的时间复杂度是指执行算法所需要的计算工作量

C)数据的逻辑结构与存储结构是一一对应的

D)算法的时间复杂度与空间复杂度一定相关

3. 以下叙述中,不属于面向对象方法的优点的是( )

A)可重用性好

B)与人类习惯的思维方法一致

C)可维护性好

D)有助于实现自顶向下、逐步求精

4. 下列对于软件测试的描述中正确的是( )。

A)软件测试的目的是证明程序是否正确

B)软件测试的目的是使程序运行结果正确

C)软件测试的目的是尽可能多地发现程序中的错误

D)软件测试的目的是使程序符合结构化原则

5. 在软件设计中,不属于过程设计工具的是( )。

A)PDL(过程设计语言)

B)PAD图

C)N-S图

D)DFD图

6. 下列选项中不属于软件生命周期开发阶段任务的是( )。

A)软件测试

B)概要设计

C)软件维护

D)详细设计

7. 关系数据库管理系统所管理的关系是( )。

A)若干个二维表

B)一个DBF文件

C)一个DBC文件

D)若干个DBC文件

8. 使用视图之前,应首先( )。

A)新建一个数据库

B)新建一个数据库表

C)打开相关的数据库

D)打开相关的数据表

9. 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。

A)编码设计

B)测试阶段

C)运行阶段

D)物理设计

10. 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )。

A)并

B)交

C)投影

D)笛卡儿乘积

11. 算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的( )。

A)正当性

B)可行性

C)确定性

D)有穷性

12. 以下选项中可作为C语言合法常量的是( )。

A)-80.

B)-080

C)-8e1.0

D)-80.0e

13. 以下选项中不合法的标识符是( )。

A)print

B)FOR

C)&a

D)_00

14. 设变量已正确定义并赋值,以下表达式正确的是( )。

A)x=y*5=x+z

B)int(15.8%5)

C)x=y+z+5,x+y

D)x=25%5.0

15. 有以下程序:

#include main()

{char c1='1',c2='2';

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

}

当运行时输入:a<回车>后,以下叙述正确的是( )。

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

16. 下列定义变量的语句中错误的是( )。

A)int_int;

B)double int_;

C)char For;

D)float US$;

17. 已知字母A的ASCII码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( )。

A)kk>='A'&&kk<='Z'

B)!(kk)='A'||kk<='Z')

C)(kk+32) >='a'&&(kk+32) <='z'

D)isalpha(kk)&&(kk<91)

18. 有以下程序;

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);

}

}

程序运行后的输出结果是( )。

A)022111

B)021021

C)000122

D)012

19. 在嵌套使用if语句时,C语言规定else总是( )。

A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

20. 下面程序的运行结果是( )。

#includecs main()

{int i;

for(i=1;i<5;i++)

{if(i%3==0)

break;

printf(¨%d¨,i);}}

A)123

B)12

C)23

D)12345

21. 有以下程序;

main()

{int i,S=0;

for(i=1;i<10;i+=2)s+=i+1;

printf("%d\n",s);

}

程序执行后的输出结果是( )。

A)自然数1~9的累加和

B)自然数1-10的累加和

C)自然数1-9中奇数之和

D)自然数1-10中偶数之和

22. 设有以下定义:

int a=0;double b=1.25;char c='A';

#define d 2

则下面语句中错误的是( )。

A)a++;

B)b++;

C)c++;

D)d++;

23. 设有如下程序段:

char s[20]="Beijing",*p;

p=s;

执行P=S;语句后,以下叙述正确的是( )。

A)可以用*p表示s[0]

B)S数组中元素的个数和p所指字符串长度相等

C)s和p都是指针变量

D)数组s中的内容和指针变量p中的内容相同

24. 下面的函数调用语句中func函数的实参个数是( )。

func{f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)))};

A)3

B)4

C)5

D)8

25. 若要求定义具有10个inf型元素的一维数组a,则以下定义语句中错误的是( )。

A)#define N 10

int a[N];

B)#define n 5

int a [2*n];

C)int a [5+5];

D)int n=10,a[n];

26. 有以下程序:

#include void fun(int a,int b)

(int t;

f=a;a=b;b=t;

)

main()

{int c[10]={1,2,3,4,5,6,7,8,9,0},i;

for(i=0;i<10;i+=2)fun(c[i],c[i+1]);

for(i=0;i<10;i++)printf("%d,",c[i]);

printf("\n");

}

程序的运行结果是( )。

A)1,2,3,4,5,6,7,8,9,0,

B)2,1,4,3,6,5,8,7,0,9,

C)0,9,8,7,6,5,4,3,2,1,

D)0,1,2,3,4,5,6,7,8,9,

27. 若有定义语句:int k [2][3],*pk[3];,则以下语句中正确的是( )。

A)pk=k;

B)pk[01=&k[1][2];

C)pk=k[0];

D)pk[1]=k;

28. 已有定义:int i,a[10],*p;,则合法的赋值语句是( )。

A)p=100;

B)p=a[5]

C)p=a[2]+2

D)p=a+2;

29. 有以下程序:

main()

{int i,S=0,t[]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

printf(¨%d\n¨,s);

}

程序执行后的输出结果是( )。

A)45

B)20

C)25

D)36

30. 有以下程序:

main()

{ int i,t[][3]={9,8,7,5,5,4,3,2,1};

for(i=0;i<3;i++)printf("%d".t[2-i][i]);

}

程序执行后的输出结果是( )。

A)7 5 3

B)3 5 7

C)3 6 9

D)7 5 1

31. 有以下程序:

main()

{char a[7]="a0\0a0\0";int i,j;

i=sizeof(a);j=strlen(a);

printf("%d%d\n",i,j);

}

程序运行后的输出结果是( )。

A)2 2

B)7 6

C)7 2

D)6 2

32. 有以下程序:

void f(int b[])

{int i;

for(i=2;i<6;i++)

b[i]*=2;

}

main[]

(int a[10]={1,2,3,4,5,6,7,8,9,10},i;

f(a);

for(i=0;i<10;i++)

printf("%d,",a[i]);

}

程序运行后的输出结果是( )。

A)1,2,3,4,5,6,7,8,9,10,

B)1,2,6,8,10,12,7,8,9,10,

C)1,2,3,4,10,12,14,16,9,10,

D)1,2,6,8,10,12,14,16,9,10,

33. 有以下程序:

#include int fun(int a.int b)

{if(b==0)return a;

else return(fun(--a,--b));

}

main()

{printf("%d\n",fun(4,2));}

程序的运行结果是( )。

A)1

B)2

C)3

D)4

34. 有以下程序:

int a=2;

int f(int*a)

{return(*a)++;}

main()

{int s=0;

{int a=5;

s+=f(&a);

}

s+=f(&a);

printf("%d\n",s);

}

执行后输出结果是( )。

A)10

B)9

C)7

D)8

35. 有以下程序:

#define f(x)x*x

main()

{int i;

i=f(4+4)/f(2+2);

printf("%d\n",i);

}

执行后输出结果是( )。

A)28

B)22

C)16

D)4

36. 有以下程序:

#include struct st

{int x,y;}data[2]={1,10,2,20};

main()

{struct st*p=data;

printf("%d,",p->y);printf("%d\n",(++p)- >x);

}

程序的运行结果是( )。

A)10,1

B)20,1

C)10,2

D)20,2

37. 有以下程序:

typedef struct{int b,p;}A;

void f(A C] /*C是结构变量名*/

{int j;

c.b+=1;c.p+=2;

}

main()

{int i;

A a={1,2};

f(a);

printf("%d,%d\n",a.b,a.p);

}

程序运行后的输出结果是( )。

A)2,3

B)2,4

C)1,4

D)1,2

38. 有以下程序:

#include #include typedef struct{char name[9];char sex;float score[2];}STU;

void f(STU a)

{STU b={"Zhao",'m',85.0,90.0};int i;

strcpy(a.name,b.name);

a.sex=b.sex;

for (i=0;i<2;i++)a.score[i]=b.score[i];

}

main()

{

STU c={"Qian",'f',95,92};

f(c);

printf(1.%s,%c,%d,%d¨,c.name,c.sex,c.score[0],cscore[1]);

}

程序运行后的输出结果是( )。

A)Qian,f,95,92

B)Qian,m,85,90

C)Zhao,f,95,92

D)Zhao,m,85,90

39. 表达式0x13&0x17的值是( )。

A)0x17

B)0x13

C)0xf8

D)0xec

40. 若fp是指向某文件的指针,且已读到文件末尾,则表达式feof(fp)的返回值是( )。

A)EOF

B)-1

C)非零值

D)NULL

填空题

1. 按“先进后出”原则组织数据的数据结构是______。

2. 数据结构分为线性结构和非线性结构,带链的队列属于______。

3. 一棵二叉树第六层(根结点为第一层)的结点数最多为______个。

4. 在两种基本测试方法中,______测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。

5. 在关系模型中,把数据看成是二维表,每一个二维表称为一个______。

6. 为表示关系x>y>z的c语言表达式是______。

7. 有以下程序:

main()

{ int a=3,b=4,C=5,d=2;

if(a>b)

if(b>c)

printf(¨%d¨,d++ +1);

else

printf(¨%d¨,++d+1);

printf(¨%d\n¨,d);

}

程序运行后的输出结果是______。

8. 以下程序运行后的输出结果是______。

main()

{

int a[4][4]={{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+=a[i][j];

j++;

}while(j<4);

}

printf(¨%d¨,s);}

9. 有以下程序:

main()

{ inf a[3][3],*p,i;

P=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

for(i=0;i<3;i++)printf("%d¨,a[1][i]);

}

程序运行后的输出结果是______。

10. 以下程序的输出结果是______。

#include main()

{int a[5]={2,4,6,8,10},*p;

p=a;p++;

printf("%d",*p);

}

11. 有如下程序:

main()

{int i,a[][3]={2,7,9,15,3,6,1,5,10},b[3]={0};

for(i-0;i<3;i++)

{for(j=0;j<3;j++)b[i]+=a[i][j];

printf("%d"),b[1];}

}

程序执行后的输出结果是______。

12. 有以下程序:

void change(int k[]){k[0]=k[5];}

main()

{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while(n<=4)(change(&x[n]);n++;}

for(n=0;n<5;n++)printf(¨%d¨,x[n]);

printf("\n");

程序运行后输出的结果是______。

13. 已知字母A的ASCII码为65。以下程序运行后的输出结果是______。

main()

{char a,b;

a='A'+'5'-'3';b=a+'6'-'2';

printf(¨%d%c\n¨,a.b);

}

14. 下面程序的输出结果是______。

#include main()

{char c[9]={'T','h','a''\0,",'y','0','u'};

printf("%s\n",c);}

15. 有以下程序:

#include main()

{ int a[]={1,2,3,4},y,*p=&a[3];

--P;y=*p;printf("y=%d\n",y);

}

程序的运行结果是______。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值