kl800.com省心范文网

C语言程序设计(B)期末考试A卷-试卷

…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写
此处不能书写 此处不能书写

北京理工大学珠海学院
2009 ~ 2010 学年第二学期《C 语言程序设计(B) 》期末试卷(A)
适用年级专业:2009 级机械电子工程、车辆工程、机械与自动化 试卷说明:闭卷,考试 时间 120 分钟 注意:请将答案填写在答题纸上

一、选择题(每题1分,共20分) 1. C 语言程序的执行,总是起始于_____。 A.程序中的第一条可执行语句 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.反码 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) && (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
第 1 页 共 9 页

9.

逗号表达式(a=3*5,a*4),a+15 的值是 。 A.15 B.60 C.30 D.不确定 10. 有如下程序 void main() { int i,sum; 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<b 的正确描述是 。 A. a<=x<b B.x>=a&&x<b C.x>=a||x<b D.!(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. 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
第 2页共 9页

…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写
此处不能书写 此处不能书写

16. 有以下函数定义: void fun(int n, double x) { …… } 若以下选项中的变量都已正确定义并赋值, 则对函数 fun 的正确调用语句 是 。 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 100 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 语句是语句中必须的一部分 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,4,6} 。 5. C 语言中用 0 表示假,用 表示真。 6. 设有数组定义 char array [ ]="China"; 则数组 array 所占的空间为 字节。 7. 下面程序的功能是:计算 1 到 10(包括 10)的奇数之和及偶数之和,请填空。 #include<stdio.h> void main( ) { int a, b, c, i; a=0; c=0; for(i=0;i<=10;i+=2) { a+=i; _____ b=i+1_ _; c+=b; }
第 3 页 共 9 页

printf("偶数之和=%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<stdio.h> void main() { int x=10,y; x/=2; y=x++%2; printf("x=%d,y=%d\n",x,y); } 程序运行结果是 2.写出下面程序段的输出结果。 #include<stdio.h> void main() { int i; for(i=0;i<=3;i++) { switch(i) { case 1:printf("%d",i+2);break; case 2:printf("%d",i*i);break; default:printf("%d",i+1); } } } 程序运行结果是
第 4页共 9页

);





…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写
此处不能书写 此处不能书写

3.写出下面程序段的输出结果。 #include<stdio.h> void main() { int k; for(k=1; k<5; k++) { if(k%2) printf("*"); else printf("#"); } } 程序运行结果是 *#*#

。 。

4.执行程序之后,输入 2.5↙3.5↙3.0,下面程序段的输出结果是 (↙表示回车) #include<stdio.h> void main() { float a[4]={1}; 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<stdio.h> int d=1; void fun(int p) { int d=5; d+=p++; printf("%d",d); } void main()
第 5 页 共 9 页

{ int a=3; fun(a); d+=a++; printf("%d\n",d); } 程序运行结果是 答案 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’是字符型数据,在内存中只占一个字节 “s”是字符串,除了字符 s 占用一个字节外,还有一个结束符号’\0’,一 共占用两个字节的内存空间。 4、值传递 和 地址传递 值传递:函数调用时,为形参分配内存单元,并将实参的值复制到形参中, 调用结束, 形参所占的内存单元被释放, 实参的内存单元仍然保留并维持原值。 地址传递:将实参数据的存储地址作为参数传递给形参。形参与实参占用同 样的内存单元,函数中对形参值的改变也会改变实参的值。 评分标准:按表述 五、编程题(第一题 8 分,第二题 10 分,第三题 12 分,共 30 分) 1.从键盘上输入 50 个学生的成绩,统计计算出平均成绩,并输出低于平均分 的学生成绩。 2.编写程序找出 100 到 1000 之间的所有“完数” 。 所谓“完数”是指一个数 恰好等于它的所有不同因子之和, 因子为可以被这个数字整除的所有整数。 例 如:6=1+2+3
第 6页共 9页

…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写
此处不能书写 此处不能书写

3.写一个程序计算三角形的面积。要求:用一个函数判断输入的 3 个数是否 为三角形的边,是三角形的边返回 1,否则返回 0;再用一个函数输入三角形 的 3 条边,计算三角形面积。主函数中要求输入三条边的值,调用函数输出三 角形的面积。(海伦公式:已知三角形三条边为 a,b,c,p=(a+b+c)/2,三角形 的面积  s = p(p- a)(p- b)(p- c) ,实现根号运算调用函数 sqrt,函数 sqrt 包含 在 math.h 头文件中)。

答案 1.参考程序 #include<stdio.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]<ave) printf("%f\n",a[i]); } }

评分标准:程序结构完整:2 分 变量定义正确:1 分 输入输出正确:2 分 循环结构:3 分
2、参考程序:
第 7 页 共 9 页

#include<stdio.h> void main ( ) { int i,j,sum; for(i=1;i<1000;i++) { sum=0; for (j=1;j<i;j++) { if(i%j==0) sum+=j; } if(sum==i) printf("%d\n",i); } }

评分标准:程序结构完整:3 分 变量定义正确:1 分 循环结构:3 分 条件语句:2 分 输出结果:1 分
3、参考程序: #include<stdio.h> #include<math.h> int fun1(float a,float b,float c) { if(a+b<=c) return 0; else if(a+c<=b) return 0; else if(b+c<=a) return 0; else return 1;
第 8页共 9页

…………………………………装………………………………订…………………………线……………………………………………………… 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写
此处不能书写 此处不能书写

} int fun2(float a,float b,float c, float s,float p) { p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(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 页


C语言程序设计(B)期末考试A卷-试卷.doc

C语言程序设计(B)期末考试A卷-试卷_工学_高等教育_教育专区。C语言试题和答

C语言程序设计(B)期末考试A卷-答案.doc

C语言程序设计(B)期末考试A卷-答案 - 此处不能书写 此处不能书写 ………装

c语言程序设计期末试题B(含答案).doc

c语言程序设计期末试题B(含答案) - (青海大学)c 语言程序设计期末模拟试卷 B 一 单项选择题(每小题 1 分,共 10 分) 1.以下 4 组用户定义标识符中,全部...

C语言程序设计期末考试试题(含答案).doc

C语言程序设计期末考试试题(含答案) - C 语言程序设计 期末考试试题及其答案

《C语言程序设计》期末考试试卷以及答案提示.doc

C语言程序设计期末考试试卷以及答案提示 - 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、以下不是 C 语言的特点的是 A、 B、 C、 D...

2013年《C语言程序设计基础》期末考试试卷‘B’及答案.doc

2013年《C语言程序设计基础》期末考试试卷B’及答案 - 程序设计基础 一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto ...

《C语言程序设计》期末考试试卷(A卷).pdf

C语言程序设计期末考试试卷(A卷) - 广州轻工职业学校(大源校区) 2015-2016学年第二学期《C语言程序设计期末 考试试卷(A卷) 注意事项 1、请首先按要求在...

《C语言程序设计》期末考试试卷(A卷120分钟).doc

C语言程序设计期末考试试卷(A卷120分钟) - 安徽大学20 -20 学年第 学期 《C 语言程序设计期末考试试卷(A 卷120分钟) 年级 题号 得分 一二 院系专业...

C语言程序设计期末考试试卷B.doc

C语言程序设计期末考试试卷B_理学_高等教育_教育专区。大学本科生C语言程序设计...一、选择题(每题 1.5 分,共计 45 分) 1、以下选项中合法的标识符是【 A...

《C语言程序设计》期末考试试卷(A卷).doc

C语言程序设计期末考试试卷(A卷) - 《C 语言程序设计期末考试试卷(A 卷) 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、以下不是 C...

C语言程序设计试卷(B卷)- 答案.doc

C语言程序设计试卷(B卷)- 答案 - 一、单项选择题 1、B 7、B 13、B

c语言程序设计期末试题B(含答案).doc

c语言程序设计期末试题B(含答案) - c 语言程序设计期末试题 B(含答案)

C语言程序设计期末考试试卷及答案1.doc

C语言程序设计期末考试试卷及答案1 - C 语言程序设计期末考试试卷及答案 一、单项选择题 1. A、 b-b 2. A、a*b/c; 3. A、'n' 4. A、1 5. ___...

《C语言程序设计》期末考试试卷(A卷).doc

C语言程序设计期末考试试卷(A卷) - 广州轻工职业学校(大源校区) 2015-2016 学年第二学期《C 语言程序设计期末考试试卷(A 卷) 注意事项 1、请首先按...

c语言程序设计期末试题B(含答案).doc

c语言程序设计期末试题B(含答案) - c 语言程序设计期末试题 B(含答案)

C语言程序设计》期末考试试卷(A卷.txt

C语言程序设计期末考试试卷(A卷 - 一、单项选择题(本大题共20题,每题2

C语言程序设计期末考试试题(含答案).doc

C语言程序设计期末考试试题(含答案) - C 语言程序设计 期末考试试题及其答案

《C语言程序设计》期末考试试卷(A卷).doc

C语言程序设计期末考试试卷(A卷) - 一、单项选择题(本大题共20题,每题

大学大一C语言程序设计期末考试试卷及答案剖析.doc

大学大一C语言程序设计期末考试试卷及答案剖析 - 四川师范大学计算机科学学院 2012~2013 学年度第二学期期末考试 ………(密)………...

C语言程序设计期末试卷A卷.doc

C语言程序设计期末试卷A卷_工学_高等教育_教育专区。C语言程序设计(第三版).