2012年C语言程序设计期末试题(3学分)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年C语言程序设计期末试题
说明:请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分,试卷中C语言程序的开发环境是VC 6。
一、选择题(共20小题,每小题2分,共40分)。
1.以下正确的C语言的自定义标识符是_______。
A) _1a B) 2a C) do D) a12
(F-32)。已知:float C,F; 由华氏求摄氏的正2.温度华氏和摄氏的关系是C=5
9
确计算的表达式是_______。
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) D)
6.
7.
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()
{
char score;
scanf(“%c”,&score);
switch( (3) )
{
case ‘A’:printf(“A:90~100\n”):break;
case ‘B’:printf(“B:80~89\n”):break;
case ‘C’:printf(“C:70~79\n”):break;
case ‘D’:printf(“D:60~69\n”):break;
case ‘E’:printf(“E:0~59\n”):break;
(4) :printf(“输入错误\n”) ;
}
}
4.设x为int型变量,请写出一个关系表达式 (5) ,用以判断x能同时
被3和5整除时,关系表达式的值为真。