中国海洋大学 学年学期C程序设计》 课程试题(A卷) 共 8 页 第 1 页
考试说明:本课程为闭卷考试,可携带书写与修正文具,满分:100 分。
考试结束后请将答题卡与试卷分开上交。
一、单选题(每题2分,共20分)
1、以下选项中合法的用户标识符是 。
A)double B)_2Test C)3G D)c++
2、数字字符''的ASCII的值为48,下面程序运行后输出结果是 。
main()
{char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a); }
A)3,2 B)50,2 C)2,2 D)2,3、当调用函数时,实参是一个数组名,则向函数传递的是 。
A)数组的长度 B)数组的首地址
C)数组每一个元素的地址 D)数组每个元素中的值
4、下面程序的输出是 。
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));
}
A)3B)4C)1D)2
5、有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是 。 A)*p+9 B)*(p+8) C)*P+=9 D)P+8
6、有定义语句:int b; char c[10]; 则正确的输入语句是 。
A)scanf("%d%s",&b,c); B)scanf("%d%s",&b,c);
C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);
7设有以下定义:int a[3][3]={1,2,3,4,5,6,7,8,9}; int (*ptr)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式: 。
A)*((*ptr+1)[2])B)*(*p+5))C)(*ptr+1)+2D)*(*(+1)+2)授课教师命题教师或命题负责人签字
年 月 日院系负责人签字
年 月 日
8、某C程序由主函数main( )和一个自定义函数max( )组成,则该程序。
A)总是从max( )函数开始执行B)写在前面的函数先开始执行
C)写在后面的函数先开始执行D)总是从main( )函数开始执行9、若有以下说明和语句:
struct teacher
{int no;
char *name;
}xiang, *p=&xiang;
则以下引用方式不正确的是 。A)xiang.noB)(*p).no C)p->noD)xiang->no
10、已有定义:char a[]="xyz",b[]={'x','y','z'};以下叙述中正确的是 。 A)数组a和b的长度相同 B)a数组长度小于b数组长度
C)a数组长度大于b数组长度D)上述说法都不对
二、填空题(每空2分,共20分)
1、设有定义int(*ptr)[];其中的标识符ptr是 【1】 。
2、若定义a[ ][3]={0,1,2,3,4,5,6,7}; 则a数组中行的大小是 【2】 。3、执行以下下程序段后,b中的值是 【3】 。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];
4、若有定义int a[10],*p=a;,则p+6表示 【4】 。
5、下面函数的功能是对两个字符串进行比较,返回两个串中第一个不相同字符的ASCII值之差。请将程序补充完整。
int cmp(char *a,char *b)
{ while(*a==*b && *a!= '\0' 【5】 ) { a++;b++;}
return 【6】 ; }
6、 find函数的功能是查找一维数组中的最大值并返回最大值的。请补充程序。
【7】 find(int b[],int n)
{ int i,m=0;
for(i=0;i
if(b[i]>b[m]) { m=i;}
return 【8】 ;
}学年学期7、