山东大学201管科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 n scanf "%d", ;
在下划线处应填入的是 。
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' *c *c? 'a'?'A' ; c++; void main char s[81]; gets s ; fun s ; puts s ; 当执行程序时从键盘上输入Hello Beijing
4.
#include
void func static int a 1; int b 2, c;
a++; b++; c a + b;
printf "%d\n", c