期末复习|《C语言程序设计》(三)
《C语言程序设计》(三)
开放教育 行政管理 专科
1
单项选择题
1. 语言程序中的基本功能模块为( )。
A. 表达式
B. 标识符
c. 语句
D. 函数
2. printf() 函数调用的格式字符串中,每个格式符的先导字符为( )。
A. #
B. %
C. $
D.@
3. 语言目标文件连接而成的可执行文件的扩展名为( ).
A. cpp
B. exe
C. obj
D. c
4. 运算符优先级最高的是( )。
A. &.&.
B. []
C. ++
D. I
5. 带有随机函数的表达式 rand0%20 的取值范围是( )。
A. 1~19
B. 1~20
C. 0~19
D. 0~20
6. 在循环语旬"for(i=O; i<n; i++) S;" 中,循环体 被执行的次数为( )。
A. 1
B. n-1
C. n
D. n+l
7. 假定有一个元素类型为 int 的数组 a[lO], 它所占用的存储空间的字节数为( )。
A. 40
B. 20
C. 10
D. 80
8. 假定二维数组的定义语句为"char a[M][N] ;", 则该数组所含元素的个数为( )。
A. (M-1) * (N—1)
B. M*N-1
C. M* N+l
D. M*N
9. 若需要求出一个字符串的长度,则选用的函数是( )。
A. strlen
B. strcmp
C. strcat
D. strcpy
10. 巳知 "inta[lO], x, *pa=a;", 若要把数组 a[3] 元素的值赋给 x, 则不正确的语句 为()。
A. x=pa[3];
B. x= * Ca+3);
C. x=a[3];
D. x= * pa+3;
11. 假定一个函数的原型语旬为 "int££(int* x);", 一个整型数组为 a[lO], 则下面函数 调用表达式不正确的是( )。
A. ff(a)
B. ff(a[O])
C. ff(a+3)
D. ff(&a[O])
12. 与结构成员访问表达式 p->name 等价的表达式为( )。
A. p. name
B. (* p). name
C. * p. name
D. * (p->name)
13. 标准输出设备显示器的文件流标识符是( )。
A. stdin
B. stdout
C. stderr
D. stdio
14. 向一个文本文件中写入一个字符的系统函数为( )。
A. fputcO
B. £gets()
C. fputsO
D. fgetc()
查看答案
▼
1. D 2. B 3. B 4. B 5. C 6. C 7. A 8.D 9. A 10. D 11. B 12. B 13.B 14. A
2
判断题
15. 语言程序中,有两种使用注释语句的方法。( )
16. 常数 3.26 是双精度浮点数。( )
17. 表达式 Cint)14.6%5 的值为 。( )
18. 关系表达式 (x! =O) 的等价表达式为 (x) 。( )
19. while 循环是先执行循环体,然后进行循环条件判断。( )
20. 在一维数组的定义语句中,数组名后带有一对中括号。( )
21. 字符串不允许为空,至少需要包含一个字符。( )
22. 有一条语句为"char s2[ 4] ="abed";", s2 数组长度的定义是合适的。( )
23. 已知 "int a[lO], * p=a; 气则进行 p++ 运算是允许的。( )
24. 函数定义格式中的参数表被称为实参表。( )
25. 语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。( )
26. 在结构类型的定义中,结构类型的作用域范围,与它的定义位置有关。( )
27. 在结构成员访间运算符中,点运算符和箭头运算符的左边均为结构指针变量。( )
28. 在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。( )
29. 对二进制文件进行读和写操作将使用不同的系统函数。( )
查看答案
▼
15.√ 16. X 17.√ 18.√ 19. X 20.√ 21. X 22. X 23√ 24. X 25. X 26.√ 27. X 28 .√ 29.√
3
填空题
30. 执行下面程序的输出结果为( )。
# include<stdio.h>
void main() {
int x=5,y=O;
switch(2 * x+3) {
case 4: y+=x; break;
case 7: y+=2 * x+l;
break; case 10: y + = 3 * x; break;
default: y+=x-1;
printf("y= %d\n" ,y);
}
31. 执行下面程序的输出结果为( )。
# include<stdio.h>
void main() {
int x=lZ,s=O;
do {s+=x; x-=3;} while(x>O);
printf("s= %d\n" ,s);
}
32. 执行下面程序的输出结果为( )。
# include<stdio.h>
# define N 8
void main () {
int a[N]={3,5,8,10,15,Z0,32,66};
inti, x;
for(i=O; i void main () {
x=a[i]; a[i]=a[N—1-i]; a[N-1-i]=x;
printf(" %d\n" ,a[l]+a[3]);
}
33. 执行下面程序的输出结果为( )。
# include<stdio.h>
void main () {
int a[8]={3,8,6,5,9,2,8,5};
int i,s=O;
for(i=O ;i5) s+=a[i];
printf("s= %d\n" ,s);
}
查看答案
▼
30. y=4 31. s=30 32.47 33. s=31
3
编程题
34. 补充完整下面的函数定义,计算出 1+1*3+2*3+•.. +n*3 的值并返回。
int FF(int n) { int i,s=l;
//在下面添上一行 for 循环语句,循环变量为 i, 累加变量为s
returns;
}
35. 根据函数原型"int FF(int a[], int n)", 编写函数定义,计算并返回数组 a[n] 中所有 元素之和。
查看答案
▼
34. for(i=l;i<=n;i++) s+=i*3;
35. int FF(int a[], int n)
{
int i,sum=O;
for(i=O; i<n; i++) sum+=a[i];
return sum;
}
发表评论 取消回复