《C语言程序设计》(3学分)试卷A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明: 请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。试
卷中C 语言程序的开发环境是VC 6。
一、选择题(共20小题,每小题2分,共40分)
1. 以下正确的C 语言自定义标识符是______。
A) _1a B) 2a_ C) do
D) a.12 2. 温度华氏和摄氏的关系是: C=9
5(F-32)。已知:float C,F ;由华氏求摄氏的正确计算的表达式是____。
A) C=5/9(F-32) B) C=5*(F-32)/9
C) C=5/9*(F-32) D) 三个表达式都正确
3. 设float x ,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A) scanf("%5.2f",&x) B) scanf("%d",&x);
C) scanf("%f",&x); D) scanf("%f",x);
4. 一个C 程序的执行是从( )
A) main()函数开始,直到main()函数结束
B) 第一个函数开始,直到最后一个函数结束
C) 第一个语句开始,直到最后一个语句结束
D) main()函数开始,直到最后一个函数结束
5. 判断char 型变量c1是否为数字的正确表达式为 ________。
A) 0<=c1<=9 B) c1>=0 &&c1<=9
C) …0‟<=c1<=‟9‟ D) c1>='0'&&c1<='9'
6. switch(表达式)语句中的“表达式”,允许的类型是_________。
A) float, int B) float, int, char
C) int, char D) char, double
7. 设int i,j, x=0;
for(i=5;i;i--)
for(j=0;j<4;j++)
x++;
则循环体结束后,x 的值为________。
A) 5 B) 20
C) 25 D) 死循环
8. 设x 和y 均为int 型变量,则执行下面的循环后,y 值为_________。
for(y=1,x=1;y<=50;y++)
{
if(x>=10)break;
if (x%2==1)
{
x+=5;
continue;
}
x-=3;
}
A) 5 B) 6
C) 50 D) 51
9. 设有数组定义:int a[5];则下列给数组元素赋值错误的是________.
A) a[3]=93;
B) scanf("%c",a[3]);
C) a[3]=a[0]+a[1];
D) a[3]='a'+3;
10. 若用数组名作为函数调用时的实参,则实际上传递给形参的是________ 。
A) 数组首地址B) 数组的第一个元素值
C) 数组中全部元素的值D) 数组元素的个数
11. int a[2][3]={{1},{2,3}};,则a[1][1]的值是_________。
A) 0 B) 1
C) 2 D) 3
12. 若定义数组并初始化int b[10]={ 1,2,3,4},以下说法错误的是________
A)b[8]的值为0
B)b[1]的值为1
C)b[3]的值为整数
D)b[10]不是b数组中的元素
13. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_________。A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
14. 在C语言中,下列错误的说法是_______。
A) 函数可以递归调用
B) 不允许在函数定义中再定义函数
C) 递归程序不可能用非递归算法实现
D) 对于continue语句,可以通过改变程序的结构而不使用它
15. 在一个源文件中定义的全局变量的作用域为( )。
A)本文件的全部范围。B)本程序的全部范围。
C)本函数的全部范围。D)从定义该变量的位置开始至本文件结束
16. 有以下程序
void main()
{
int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf("%d",t[2-i][i]);
}
程序执行后的输出结果是______。
A)753 B)357
C)369 D)751
17.若有说明float *p,m=3.14;则能正确表示p指向m的赋值语句是________。
A) p=m; B) p=&m; C) *p=m; D) *p=&m;
18. 若有下列定义:int a[5],*p=a; 则能正确表示a数组某个元素地址的是______。
A) &a B) p+2
C) a++ D) &a[5]
19. 若有以下说明,则*(a+a[3])的值为__________。
int a[10]={ 9,1,8,2,7,3,6,4,5,0};
A)1 B) 2 C) 8 D) 11
20. C语言中,函数返回值的类型是由______决定的。
A) 调用函数时动态决定的B) return语句中的表达式类型
C) 调用该函数的主调函数类型D) 定义函数时,所指定的函数类型
二、填空题(共7小题10空,每空2分,共20分)
1.已知int x=5,y=1,z=2;执行语句x%=y+z;后,x的值是___(1)___。
2.设int a[3][4]={{1,2,3,4},{5,6,7},{8,9}};则表达式a[1][2]+a[2][3]的值是____(2)____。
3. 学生成绩的字每等级和分数范围如下:
字母等级分数范圈
A 90~100
B 80~89
C 70~79
D 60~69
E 0~59
其它字母输入错误
下列程序输入字母等级之后,输出相应的分数范围。
#include
void main()
{