内容发布更新时间 : 2025/1/8 2:58:39星期一 下面是文章的全部内容请认真阅读。
《C语言程序设计》期末复习题
一、选择题
1.能将高级语言编写的源程序转换成目标程序的是( ) A. 程序
B. 解释程序 C. 编译程序
D.编辑程序
2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是( )。 A. 1010&&a<15 D.!(a<=10)&&!(a>=15)
3.当调用函数时,实参是一个数组名,则向函数传送的是( )。 A. 数组的长度
B. 数组的首地址 D. 数组每个元素中的值
C. 数组每一个元素的地址
4.执行下面的程序段后,k的值是() int k=1,n=325; do { k*=n;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. birth.year=1984;birth.month=11;birth.day=11; C. s.year=1984;s.month=11;s.day=11;
D. s.birth.year=1984;s.birth.month=11;s.birth.day=11; 11. 下列数据中,为字符串常量的是( )。 A. ′A′
B. How do you do.
C. \
D.$abc
12.以下运算符中,优先级最高的运算符是( )。 A. ||
B. %
C. !
D.==
13.执行以下程序段后,输出结果和a的值是( )。
int a=10; printf(\A.10和10
B.10和11
C.11和10
D.11和11
14. 有定义语句:int x,y;若要通过scanf(\语句使变量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 N=10; 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. 以下不是无限循环的语句为( )。 A. for(y=0,x=1;x>++y;x=i++) i=x; B. for(;;x++=i); C. while(1){x++;} D. for(i=10;;i--) sum+=i;
18. 有以下函数,函数的功能是( )。 int fun(char *x, char *y) { int n=0;
while ( (*x==*y) && *x!='\\0' ) {x++; y++; n++;} return n ; }
A.将y所指字符串赋给x所指存储空间 B.查找x和y所指字符串中是否有'\\0'
C.统计x和y所指字符串中最前面连续相同的字符个数 D.统计x和y所指字符串中相同的字符个数
19. 语言中,定义结构体的保留字是( )。 A.union
B.struct
C.enum
D.typedef
20. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为( )。A.open
B.fopen
C.close
D.fclose
21. 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式( A.只能用逻辑表达式
B.只能用关系表达式
. . .
。 )。)