PAGE
p课程名称: 面向过程程序设计(C语言)( A卷 闭卷)
适用专业年级:12级计算机/网络/软件/通信
考试时间:100分钟
题号
一
二
三
四
五
六
七
八
九
十
总分
统分人 签名
题分
10
20
24
14
32
100
得分
考生注意事项:1、本试卷共 5 页,试卷如有缺页或破损,请立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在密封线内和答卷正面,否则不记分)
一、单项选择题 (共10分,每题2分)
1、在程序中可以用来作为合法的标识符的是(C )。
A.struct B.23_b1 C.stu_1t D.#33
2、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( C)。
A. scanf("%2d%2d%2d",&i,&j,&k);
B. scanf(""%d %d %d",&i,&j,&k);
C. scanf("%d,%d,%d",&i,&j,&k);
D. scanf("i=%d,j=%d,k=%d",&i,&j,&k);
3、下列定义数组的语句中哪一个是正确的?( C ) ? A. int s1[5],s2[4,3];??? B. int n,a[n];??? C. char st[5]= "abc";??? D. int x(10),y(10);
4、假如有如下声明:int a[]={1,2,3,4,5},*p=a;则第i个数组元素的地址的正确表示为:(D )。
A. &(a+1) B. a++ C. &p D. &p[i]
5、执行语句for(x=0;x<100;x++); 最后x的值是 B)。
A. 99 B. 100 C. 101 D. 102
二、填空题(共20分,每题2分)
1、与表达式a*=b+8等价的表达式为___a=a*(b+8)__。
2、已知:int s[][3]={1,2,3,4,5,6}; 则元素s[1][1]的值为_5_。
3、符串“sjzue”占用内存___6__字节。
4、该表达式!5||(4>10)的结果是___0__。
5、执行下面程序段时输出的结果是__14__。
int i=5;switch( i ){
case 5: case 6: i+=2; case 7: i*=2; break; case 8: i/=2; break;
}printf("i=%d",i);
6、执行下面程序段时输出的结果是__8__(
#define MA(x) x*(x-1)
main()
{
int a=1,b=2;
printf("%d \n",MA(1+a+b));
}
7、执行下面程序段时输出的结果是__24___
#include
f(int *b, int n)
{
int i,r;
r=1;
for(i=0;i
return r;
}
湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称
湖南工业大学考试试卷纸
系(院) 计算机与通信学院 课程名称 面向过程序设计(C语言) 班级 姓名 学号
————————————————————————密封线——————————————————————
main()
{
int x, a[3]={2,3,4};
x=f(a,3);
printf("%d\n",x);
}
8、执行下面程序段时输出的结果是__2 2 5 5 8 8__
#include
main()
{
int i,a[3]={2,5,8};
int *num[]={&a[0],&a[1],&a[2]};
int **p=num;
for(i=0;i<=2;++)
{
printf("%d\n",**p++);
printf("%d\n",*num[i]);
}
}
9、以下程序:
#include
main()
{
int *p1,*p2,*p,a,b;
scanf("%d,%d",&a,&b);
p1=&a; p2=&b;
if(a
{ p=p1; p1=p2; p2=p;}
printf("%d,%d\n",*p1,*p2);
}
若此程序输入为5,9 则输出为___9,5__。
10、执行下面程序段时输出的结果是__abc