1、…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 北京理工大学珠海学院 2009 ~ 2010学年第二学期《C语言程序设计(B)》期末试卷(A) 适用年级专业:2009级机械电子工程、车辆工程、机械与自动化 试卷说明:闭卷,考试时间120分钟 注意:请将答案填写在答题纸上 一、选择题(每题1分,共20分) 1. C语言程序的执行,总是起始于_____。 A.程序中的第一条可执行语句
2、 B.main函数 C.程序中的第一个函数 D.包含文件中的第一个函数 2. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A.‘{‘ 和’}’ B.‘[‘和’]’ C.“/*”和”*/” D.“*/”和”/*” 3. 以下不能定义为用户标识符是 。 A. Main B. _0 C. _int D.sizeof 4. 在C语言中,字符型数据在内存中以 形式存放。 A.原码 B.BCD码 C.反码
3、 D.ASCII码 5. 下列运算符中,要求运算对象必须是整数的是 。 A. / B.* C. % D.! 6. 多重if_else语句嵌套使用时,寻找与else配套的if方法是 。 A. 上面最近的的if B. 其上最近的没有其他else配对的if C. 下面最近的if D. 同行上的if 7. 下述表达式中, 可以正确表示x≤0或 x≥1的关系。 A.(x>=1) | | (x<=0) B.x>=1 | x<=0 C.x>=1 && x<=0 D.(x>=1) &&
4、 (x<=0) 8. 有以下程序 void main() { char a='a',b; printf("%c,",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是 A. b,b B. b,c C. a,b D. a,c 9. 逗号表达式(a=3*5,a*4),a+15的值是 。 A.15 B.60 C.30 D.不确定 10. 有如下程序 void main() { int i,s
5、um; for(i=1;i<=3;sum++) sum+=i; printf(“%d\n”,sum); } 该程序的执行结果是 。 A. 6 B.3 C.死循环 D. 0 11. 有如下程序段 int a=14,b=15,x; char c=’A’; x=(a&&b)&&(c<’B’); 执行该程序段后,x的值为( ) A. ture B. false C.0 D. 1 12. 关系表达式a≤x
6、 B.x>=a&&x=a||x=b) 13. C语言中规定函数的返回值的类型是由 。 A. return语句中的表达式类型所决定 B. 在定义该函数时所指定的函数类型所决定 C. 调用该函数时系统临时决定 D. 调用该函数时的主调用函数类型所决定 14. 以下程序的输出结果是 。 void main( ) { int x=11,y=11; printf("%d,%d\n",x--,--y); } A. 11,11 B. 10,10 C. 10,11 D.
7、11,10 15. 下列程序的输出结果是________。 void main() { int a=0,b=0,c=0; if(++a>0||++b>0) ++c; printf("a=%d,b=%d,c=%d",a,b,c); } A. a=0, b=0, c=0 B. a=l, b=l, c=1 C. a=l, b=0, c=1 D. a=0, b=1, c=1 16. 有以下函数定义: void fun(int n, double x) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句 是
8、 。 A. fun(int y,double m); B. k=fun(10,12.5); C. fun(x,n); D. void fun(n,x); 17. 已定义c为字符型变量,则下列语句中正确的是 。 A. c='97'; B. c="97"; C. c=97; D. c="a"; 18. 以下能正确定义一维数组的选项是 。 A. int num[]; B. #define N 1
9、00 int num[N]; C. int num[0..100]; D. int N=100; int num[N]; 19.以下正确的函数声明形式是 。 A. double fun(int x, int y) B. double fun(int x; int y) C. double fun(int x, int y); D. double fun(int x, y) 20. 以下有关switch语句的正确说法是________。 A.break语句是语句中必须的一部分
10、 B.在switch 语句中可以根据需要使用或不使用break语句 C.break语句在switch 语句中不可以使用 D.在switch 语句中的每一个case都要用break语句 二、填空题(每空1分,共10分) 1. 在C语言中,基本的数据类型主要有 整型、实型、字符型 三种。 2. C语言中用于格式化输出的函数是 。 3. 当一个函数返回值类型缺省的时候,则该函数返回值类型为 类型。 4. 定义一个整型一维数组array,数组长度为5,且初始化列表为{2,4,6},请写出初始化数组语句 int array[5]={2
11、4,6} 。
5. C语言中用0表示假,用 表示真。
6. 设有数组定义char array [ ]="China";则数组array所占的空间为 字节。
7. 下面程序的功能是:计算1到10(包括10)的奇数之和及偶数之和,请填空。
#include
12、"偶数之和=%d\n",a);
printf("奇数之和=%d\n", );
}
答案~~~~~
2. printf
3. void
4. int array[5]={2,4,6};
5. 非0
6. 6
7. b=i+1; c-11;
三、程序阅读题(每题4分,共20分)
1. 写出下面程序段的输出结果。
#include
13、 。
2.写出下面程序段的输出结果。
#include
14、de
15、int i;
for(i=1;i<=3;i++)
scanf("%f",&a[i]);
for(i=1;i<=3;i++)
a[0]+=a[i];
printf("%f",a[0]);
}
5.写出下面程序段的输出结果。
#include
16、 } 程序运行结果是 。 答案 1. x=6,y=1 2. 1344 3. *#*# 4. 10.0或者10.000000 5. 84 四、简答题(每题5分,共20分) 1. 在VC++ 6.0环境下编写并运行C语言程序要经历哪几个步骤 2.C语言的基本程序控制结构有哪几种? 3.简述"s"与 's'的区别。 4.C语言中函数调用时参数传递方式的有哪几种?分别简述他们的传递方式。 答案 1、编写程序,编译,连接,执行 2、顺序程序结构,选择(分支)程序结构,循环程序结构 3、‘s’是字符型数
17、据,在内存中只占一个字节 “s”是字符串,除了字符s占用一个字节外,还有一个结束符号’\0’,一共占用两个字节的内存空间。 4、值传递 和 地址传递 值传递:函数调用时,为形参分配内存单元,并将实参的值复制到形参中,调用结束,形参所占的内存单元被释放,实参的内存单元仍然保留并维持原值。 地址传递:将实参数据的存储地址作为参数传递给形参。形参与实参占用同样的内存单元,函数中对形参值的改变也会改变实参的值。 评分标准:按表述 五、编程题(第一题8分,第二题10分,第三题12分,共30分) 1.从键盘上输入50个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩。
18、
2.编写程序找出100到1000之间的所有“完数”。 所谓“完数”是指一个数恰好等于它的所有不同因子之和,因子为可以被这个数字整除的所有整数。例如:6=1+2+3
3.写一个程序计算三角形的面积。要求:用一个函数判断输入的3个数是否为三角形的边,是三角形的边返回1,否则返回0;再用一个函数输入三角形的3条边,计算三角形面积。主函数中要求输入三条边的值,调用函数输出三角形的面积。(海伦公式:已知三角形三条边为a,b,c,p=(a+b+c)/2,三角形的面积 ,实现根号运算调用函数sqrt,函数sqrt包含在math.h头文件中)。
答案
1.参考程序
#include
19、tdio.h>
void main()
{
float a[10],ave=0.0,sum=0.0;
int i;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
sum+=a[i];
}
ave=sum/10;
printf("ave=%f\n",ave);
for(i=0;i<10;i++)
{
if(a[i] 20、include 21、
3、参考程序:
#include 22、p-c));
return s;
}
void main()
{
float a,b,c,p,s;
p=0;
s=0;
printf("input the three edge:");
scanf("%f%f%f",&a,&b,&c);
if(fun1(a,b,c)==0)
printf("the three edges can not be a tri");
else
{
s=fun2(a,b,c,s,p);
printf("the area is%f\n",s);
}
}
评分标准:程序结构完整:2分
变量定义:1分
函数定义无误:3分
函数条件语句:3分
函数有返回值:1分
正确调用函数:2分
第 9 页 共 9 页






