C语言程序设计期末复习题
一、选择题
1.能将高级语言编写的源程序转换成目标程序的是(      )
A. 程序        B.  解释程序    C. 编译程序    D.编辑程序
2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是(    )。
A. 10<a<15                  B. a==11||a==12||a==13||a==14
C. a>10&&a<15                D.!(a<=10)&&!(a>=15)
3.当调用函数时,实参是一个数组名,则向函数传送的是(    )。
A. 数组的长度                        B. 数组的首地址
C. 数组每一个元素的地址            D. 数组每个元素中的值
4.执行下面的程序段后,k的值是()
int k=1,n=325;       
do { k*=n%10;n/=10;}while(n);
A. 3        B. 30        C. 523            D. 325
5.若有以下数组说明,则i=6;a[a[i]]元素数值是( )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.3          B.8        C.6          D.5
6.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()
A. for(i=1,p=1;i<=5;i++) p*=i;
B. for(i=1;i<=5;i++){ p=1; p*=i;}
C. i=1;p=1;while(i<=5){p*=i; i++;}
D. i=1;p=1;do{p*=i; i++; }while(i<=5);
7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: (  )
A.  12    B.  3    C.  4  D.无确定值
8.设有如下程序段 ,则执行p=s;语句后,以下叙述正确的是(  )。
char s[20]= “Bejing”,*p;
p=s;
A.可以用*p表示s[0]
B.s数组中元素的个数和p所指字符串长度相等 
C.s和p都是指针变量 
D.数组s中的容和指针变量p中的容相等
9.以下正确的函数定义是(    )。
A.double sum(int x, int y)          B.double sum (int x,y)
  { z=x+y ; return z ; }              { int z ; return z ;}
C.sum (x,y)                            D.double sum (int x, int y)
{ int x, y ; double z ;              { double z ;
z=x+y ; return z ; }                z=x+y ;  return z ; }
10.已知学生信息描述为
struct student
{
int no;
char name[20];
char sex;
struct{int year; int month; int day; }birth;
};
struct student s;
设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是(  )。
A. year=1984;month=11;day=11;
B. ar=h=11;birth.day=11;
C. s.year=h=11;s.day=11;
D. ar=1984;h=11;s.birth.day=11;
11. 下列数据中,为字符串常量的是(        )。
A. A        B. How do you do.            C. "A"          D.$abc
12.以下运算符中,优先级最高的运算符是(            )。
A. ||            B.                C. !                     D.==
13.执行以下程序段后,输出结果和a的值是(          )。
int a=10;
printf("%d",++a);
A.10和10          B.10和11            C.11和10            D.11和11
14. 有定义语句:int x,y;若要通过scanf("%d%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是(            )。
A. 11 12<回车>                                  B. 11,<空格>12<回车> 
C. 11,12<回车>                                  D. 11,<回车> 12<回车>
15. 下列定义数组的语句中,正确的是(         )
A. int x[0..10];                                B. int x[ ]
C. #define  N  10                                D. int  N10
  int  x[N];                                          int  x[N]
16. 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是(          )。
A. int p=&x;            B.int *p=x;              C. *p=*x;    源程序是指什么程序D. int *p=&x;
17. 以下不是无限循环的语句为(            )。
Afor(y=0,x=1;x>++y;x=i++) i=x;
Bfor(;;x++=i);
Cwhile(1){x++;}
Dfor(i=10;;i--) sum+=i;
18. 有以下函数,函数的功能是(             )
int  fun(char  *x char  *y)
{  int  n0
  while ( (*x==*y) && *x!='\0' ) {x++;  y++;  n++;}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。