C语言程序设计试题第2套

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计试题(第2套)

一、单项选择题(45分,每题3分)

1.构成一个C程序的是_______。

A、一个主函数和若干个非主函数

B、若干个主函数和若干个非主函数

C、一个主函数和最多一个非主函数

D、若干个主函数和最多一个非主函数

2.以下选项中合法的字符常量是_______。

A、"B"

B、'B'

C、68

D、'\B'

3. 在C语言中,不合法的实数是_______。

A、1.23

B、e-5

C、 3.245E3

D、-.187

4. 已知a是int型变量,下面不正确的赋值语句是_______。

A、a = 65;

B、a =1.2;

C、a= "a";

D、a= 'A' +32;

5. 广义地说,为解决一个问题而采取的方法和步骤,称为_______。

A、迭代

B、增量

C、递归

D、算法

6. 以下叙述中正确的是_______。

A、C程序中注释部分可以出现在程序中任意合适的地方

B、花括号"{"和"}"只能作为函数体的定界符

C、构成C程序的基本单位是函数,所有函数名都可以由用户命名

D、分号是C语句之间的分隔符,不是语句的一部分

7.若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是_______。

w=1; x=2; y=3; z=4;

k=(w

k=(k

k=(k

A、1

B、2

C、3

D、4

8. 以下程序段,说法正确的是_______。

x=-1;

do

{

x=x*x;

}

while(! x);

A、是死循环

B、循环执行二次

C、循环执行一次

D、有语法错误

9.用语句float x[3][100];定义数组x后,则下标最大的一个数组元素是

A、 x[3][100]

B、 x[2][99]

C、 x[2][100]

D、 x[3][99] 10.若i、j已定义为int型,则以下程序段中,循环体的总的执行次数为_______。for(i=5;i>0;i--)

for(j=0;j<4;j++)

{ n=n+1;}

A、20

B、24

C、25

D、30

11. 以下程序编译、运行的结果是

A、 5,5

B、 5.0,5.0

C、 5.0 5.0

D、 5 5

#define MIN 2

#define MAX 7

main()

{ z=x+y; return z; }{ int z;

return z; }

C、fun1(x, y)

{ int x, y; double z;

z=x+y;

return z; }

D、double fun1(int x, int y)

{ double z;

z=x+y; return z; }

14.以下程序的输出结果是

A、20

B、30

C、21

D、31

main()

{ int a[5]={10,20,30,40,50} , *p ;

p=&a[1];

printf("%d", *p++);

}

15. 修改高级语言源程序的是_______。

A、调试程序

B、连接程序

C、编译程序

D、编辑程序二.程序填空题(20分,每空2分)

1.实现以下数学关系

-1 (x<0)

y= 0 (x=0)

1 (x>0)

的程序如下,请填空。

main()

{ float x; int y;

scanf("%f",&x);

if( ①) y=-1;

if(x==0) y=0;

if( ②) y=1;

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

}

2.以下函数用以求x的y次方,y为正整数。请填空。

double fun (double x , double y )

{int i ; double p=1;

for (i=1; i ③; i+ +)

p = ④;

return ( p );

}

3.求数组所有元素的积,请填空。

main()

{int s,i,a[4]={1,2,3,4};

s= ⑤;

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

s= ⑥;

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

4.以下函数用于找出一个2×4矩阵中的最大元素值,请填空。

max_value(int arr[ ][4])

{ int i, j, max;

max=arr[0][0];

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

for (j=0; j< ⑦; j++)

if (arr[i][j]>max)

max= ⑧;

return(max);

}

5.将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段,请填空。

含有switch语句的程序段:

int s, t, m;

t=(int)(s/10);

switch( t )

{case 10: m=5; break;

case 9: m=4; break;

case 8: m=3; break;

case 7: m=2; break;

case 6: m=1; break;

default: m=0;

}

含有非嵌套if语句的程序段:

int s, m;

if ((s<110)&&(s>=100)) m=5;

if ((s<100) && (s>=90)) m=4;

if ((s<90) && (s>=80)) m=3;

if ((s<80) && (s>=70)) ⑨;

if ((s<70) && (s>=60)) ⑩;

if ((s<60)||(s>=110)) m=0;

三.程序运行结果题(20分,每题4分)

阅读下列各程序,将程序编译、运行输出的结果写在题目右边。

1. 写出程序运行的结果:

main ( )

{

float a=2.5,b=3.5;

int x=3,y=2,p;

p=(x+y)%2+(int)a/(int)b;

printf("p=%d\n", p);

}

2. 写出程序运行的结果:

main ( )

{

int i,j;

i=2;

j=4;

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

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

}

3. 写出程序运行的结果:

main()

{ int num= 0;

while(num<=2)

{ num++;

print f(“%d\n”,num);

}

相关文档
最新文档