山东大学c语言期末试题及答案,山东大学2010管C语言试题A及参考答案.doc

山东大学2010管C语言试题A及参考答案

管理学院管理科学与工程专业200程序设计试题(A)

(说明:所有答案均写在答题纸上,考完试卷交回)

===================================================

选择题(每小题2分,共20分)

以下每题有四个答案,分别标有(A)、(B)、(C)、(D),其中只有一个是正确答案。选择正确答案并将其标号写在答题纸上。

1.当把以下四个表达式当作语句的控制表达式时,有一个选项与其它三个选项不同,该选项是( )。

(A) !k%2= =1 (B) k%2= =1 (C) k%2!=0 (D) k%22.int i;对语句:for(i=0; i=1; i++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( )。

(A) (B) 循环一次 (C) 循环两次 (D) 无限循环3.有以下程序段:void main( ){ int i=1, sum=0, n; scanf(%d", &n);

do{ i+=2; sum+=i; }while(i!=n); printf("%d", sum); }

若使程序的输出值为8,则应该从键盘输入的n的值是( )。

(A) 1 (B) 3 (C) 5 (D) 74.double x[10], *p=x;,以下能给数组元素x[6]读入数据的正确语句是( )。

scanf("%f", &x[6]); (B) scanf("%lf", *(x+6));

(C) scanf("%lf", p+6); (D) scanf("%lf", p[6]);5.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

void fun(int x[ ], int n) { int i=0; while(i

在下划线处应填入的是( )。

(A) x+i (B) &x[i+1] (C) x+(i++) (D) &x[++i]6.int fun(int k){ if(k<=1) return 1; else return fun(k?3)+1; }

若执行调用语句:n=fun(10);则函数fun总共被调用的次数是( )。

(A) (B) 4 (C) 6 (D) 107.执行程序:void sum(int a[ ]){a[0]=a[?1]+a[];}

void main( ){int a[ ]={1,2,3,4,5}; sum(&a[2]); printf("%d\n", a[2]); }

输出结果为( )。

(A) 5 (B) 6 (C) 7 (D) 88.有定义int a[3][4];则对数组第i行第j列的正确引用为( )。

(A) *(*(a+i)+j) (B) (a+i)[j] (C) *(a+i+j) (D) *(a+i)+j9.( )。

C(B) C语言函数可以嵌套调用,例如:fun(fun(x))

(C) C语言函数不可以单独编译

(D) C语言中除了main函数,其他函数不可作为单独文件形式存在10.有程序片段:char *s="1234567"; s+=3; printf("%s",s);其运行结果为( )。

不确定 (B) 3的地址 (C) 34567 (D) 4567写出下列程序的运行结果(每小题2分,共20分)

1.

#include

void main( )

{ int s;

scanf("%d", &s);

while(s>0)

{ switch(s)

{ case1:printf("%d", s+5);

case2: printf("%d", s+4); break;

case3: printf("%d", s+3);

default: printf("%d", s+1);break;

}

scanf("%d", &s);

}

}

运行时,若输入1 2 3 4 5 0,输出结果

2.

#include

void main( )

{ char s[ ]="012xy\08s34f4w2"; int i, n=0;

for(i=0; s[i]!=0; i++) if(s[i]>='0'&&s[i]<='9') n++;

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

}

3.

#include

void fun(char *c)

{ while(*c){ if(*c>='a'&&*c<='z')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值