山东大学《C语言程序设计》2019-2020期末试卷A.pdf
管理学院管理科学与工程专业2019-2020C语言程序设计试题(A)
一、选择题(每小题2分,共20分)
(A)(B)(C)(D)
以下每题有四个答案,分别标有、、、,其中只有一个是正确
答案。选择正确答案并将其标号写在答题纸上。
当把以下四个表达式当作while语句的循环控制表达式时,有一个选
1.
项与其它三个选项不同,该选项是()。
(A)!k%21(B)k%21(C)k%2!0(D)k%2
2.若inti;对语句:for(i0;i1;i++)printf(*****\n);下面关于语句执
行情况的叙述中正确的是()。
(A)循环零次(B)循环一次(C)循环两次(D)无限循环
3.有以下程序段:voidmain(){inti1,sum0,n;scanf(%d,n);
do{i+2;sum+i;}while(i!n);printf(%d,sum);}
若使程序的输出值为8,则应该从键盘输入的n的值是()。
(A)1(B)3(C)5(D)7
4.设有定义:doublex[10],*px;,以下能给数组元素x[6]读入数据
的正确语句是()。
(A)scanf(%f,x[6]);(B)scanf(%lf,*(x+6));
(C)scanf(%lf,p+6);(D)scanf(%lf,p[6]);
5.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
voidfun(intx[],intn){inti0;while(in)
scanf(%d,);}
在下划线处应填入的是()。
(A)x+i(B)x[i+1](C)x+(i++)(D)x[++i]
6.
设有函数定义:intfun(intk){if(k1)return1;elsereturn
−
fun(k3)+1;}
若执行调用语句:;则函数总共被调用的次数是()。
nfun(10)fun
(A)3(B)4(C)6(D)10
7.执行程序:voidsum(inta[]){a[0]a[−1]+a[2];}
voidmain(){inta[]{1,2,3,4,5};sum(a[2]);printf(%d\n,a[2]);}
输出结果为()。
(A)5(B)6(C)7(D)8
8.有定义inta[3][4];则对数组第i行第j列的正确引用为()。
(A)*(*(a+i)+j)(B)(a+i)[j](C)*(a+i+j)(D)*(a+i)+j
9.以下叙述正确的是()。
(A)C语言程序是由过程和函数组成的
(B)C语言函数可以嵌套调用,例如:fun(fun(x))
(C)C语言函数不可以单独编译
(D)C语言中除了main函数,其他函数不可作为单独文件形式存在
10.
有程序片段:char*s1234567;s+3;printf(%s,s);其运行结果为
()。
(A)不确定(B)3的地址(C)34567(D)4567
二、写出下列程序的运行结果(每小题2分,共20分)
1.
#include
voidmain()
{ints;
scanf(%d,s);
while(s0)
{switch(s)
{case1:printf(%d,s+5);
case2:printf(%d,s+4);break;
c