《C语言程序设计》期末复习题
一、选择题
1.能将高级语言编写的源程序转换成目标程序的是( )
A. 链接程序 B. 解释程序 C. 编译程序 D. 编辑程序
2. 设 a 为整型变量,则不能正确表达数学关系 10<a< 15 的 C语言表达式是( )。
A. 10
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 中的“