浙江理工大学2009年春08级c期末试卷b卷(含答案)_第1页
浙江理工大学2009年春08级c期末试卷b卷(含答案)_第2页
浙江理工大学2009年春08级c期末试卷b卷(含答案)_第3页
浙江理工大学2009年春08级c期末试卷b卷(含答案)_第4页
浙江理工大学2009年春08级c期末试卷b卷(含答案)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2009年08级C程序设计期末考试卷(B)注意 所有答案写在单张的答题卷上。一、 判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。)(1)C语言程序的变量必须先定义再使用。(2)do-while语句构成的循环不能用其他语句构成的循环来代替。(3)C语言规定,函数的实参应与其对应的形参类型一致。(4)C语言认为名为Student和student的变量是不同变量。(5)当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。(6)C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。(7)在C语言中,八进制数是用英文字母o后加一个整数来表示,例如o123。(8)C语

2、言的所有循环语句都要求至少要执行一次循环体。(9)在C语言中,函数不能嵌套定义,但可以嵌套调用。(10)数组char x=12345;和char y=1,2,3,4,5;长度相同。二、 单选题(本题共20分,每小题2分)(11)_是合法的用户自定义标识符。A b-bB C _iswD float(12)_是不正确的字符常量。A n B 1C aD 101(13)若变量已正确定义,语句“if(ab) k=0; else k=1;”和_等价。A k=(ab)?1:0; B k=ab;C k=a=b;D a=b ? 0 : 1;(14)在C程序中,若对函数类型未加说明,则函数的隐含类型为_。A in

3、tB double C voidD char(15)如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是_。A#includeB#includeC#includeD#include(16)在C 语言程序中,在函数内部定义的变量称为_。 A 全局变量 B 外部变量 C 局部变量 D 内部变量(17)表达式 (4 2) - !-1 + 4 & 6 2 1的值是:A 0 B 1 C 7 D 12(18)C程序的基本结构有_。A 选择、重复和模块B 顺序、选择和循环C 顺序、选择和模块 D 逻辑、物理和程序(19)函数调用语句 func(a1,a2,a3),(a4,

4、a5); 的参数个数是 :A 2 B 5 C 1 D 调用方式不合法(20)对于如下说明,语法和语义都正确的赋值是_C_。int c, *s, a=1, 3, 5;A c=*s; B s0=a0; C s=&a1; D c=a;三、 程序填空题(本题共30分,每小题2分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个最佳的答案。1【程序说明】输入1 个正整数 n, 计算并输出 s 的前n项的和。S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + 【程序代码】#include void main( ) int k, flag, n; float s; flag

5、=1; s=0; scanf(%d, &n); for (k=1 ; k=n; k+) s=s+ (21) ; (22) ; printf(sum=%fn, s);【选项】(21)A 1/k B 1.0/kC 1/k*flag D 1.0/k*flag(22)A flag+ B flag = -flagC flag = -k D k= -flag 2【程序说明】输入以 -1结束的一批整数,输出其中的最大值。例如: 输入 -3 -8 -10 -1 后,输出:max=-3。【程序代码】#include void main( ) int max, x; scanf(%d, &x); if(x!=-1

6、) (23) ; while( (24) ) if(max-1 D x-1 (25)A scanf(%d, x)B scanf(%dn, &x)C printf(%d, &x)D scanf(%d, &x)3【程序说明】求出200以内的整数中,最大的可以被17整除的数是哪个数。【程序代码】#include _26_ int i; for(_27_;_28_;i-)if(_29_)break; printf(%dn,_30_); 【选项】(26)A main() B void main()C main(void) D int main()(27)A 200 B i=0C i=200 D int

7、i=200(28)A i200C i0(29)A i % 17 = 0 B i % 17 != 0C i / 17 = 0D i / 17 != 0(30)A i B i%17C i/17 D i 174【程序说明】下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3。【程序代码】#include stdio.hvoid main() int a, b; a = 3, b = 5; swap( 31 ) ; printf(After swap %d, %d, a, b);swap( 31 ) int t; 33 ; 34 ; 35

8、;【选项】(31)A &a , &bB a , bC &b, &aD b, a(32)A int x, int yB int &x, int &yC int *y, int *xD int *x, int *y(33)A x=*tB t=*xC t=xD x=t(34)A x=yB x=*yC *x=*yD *x=y(35)A y=tB *y=tC y=*tD *y=*t四、 程序阅读题(本题共20分,每小题5分)阅读下列程序并写出运行结果。1【程序】# include void main() int k = 10; do k = k - 1; while (k = =0);printf(k=

9、%d, k);程序的输出结果是_。2【程序】#include int z; void p(int *x, int y) +*x; y-; z=*x+y+z; printf(%d, %d, %dn, *x, y, z);void main() int x=1, y=5, z=9; p(&x, y); printf(%d, %d, %dn, x, y, z);程序的输出结果是_。3【程序】#include void main() int num=0; while(num=8) num+; printf(%d#,num+); printf(n);程序的输出结果是_。4【程序】# include vo

10、id main( ) int k, n1, n310; char c; n1=0; for(k=0; k10; k+) n3k=0; while(c=getchar( )!=n) switch(c) case0:case 1: case 2:case 3: case 4:case5: case 6: case 7: case 8:case 9: n3c-0+; break; default: n1+; break; if(n1) printf(%d , n1); for(k=0; k10; k+) if(n3k) printf(%d , n3k);输入123+234=357Yes?后,下列程序

11、的输出结果是_。五、 程序设计题(本题共20分)1. 程序说明 (6分)从键盘读入长整形数number,请编写函数 sum(number),返回正整数number的各位数字之和(number是长整型)。例如:从键盘输入,则输出sum()=21 。2. 程序说明 (5分) 函数 ff(str,ch)的功能是统计并返回字符ch在字符串str中出现的次数。 例如:调用ff(every, e)后返回2,因为在字符串every中字符e出现了2次。3. 程序说明 (9分)从键盘输入一个字符ch,输出该字符在文本文件 input.txt 的每一行中出现的次数。 ( 必须调用第2题定义的函数 ff 统计ch的

12、出现次数 )。例如:如果文件input.txt中存放了下列数据:every121I am a student.运行程序,并输入e后,输出2012009年08级C程序设计期末考试B卷参考答案姓名_学号_班级_得分_注意 所有答案写在单张的答题卷上。六、 判断题(正确的答A,错误的答B,本题共10分,每小题1分)题号12345678910答案ABAABABBAB七、 单选题(本题共20分,每小题2分)题号11121314151617181920答案CCCABCABAC八、 程序填空题(本题共30分,每小题2分)题号21222324252627282930答案DBABDBCDAA题号31323334

13、35答案ADBCB九、 程序阅读题(本题共20分,每小题5分)程序1程序2k=9如果没写”k=”,扣2分 2, 4, 62, 5, 9每行2.5分,格式错扣1分。程序3程序41#3#5#7#9# 错1个数字扣1分6 1 2 3 1 1 1 错1个数字扣1分十、 程序设计题(本题共20分)评分标准:include语句:0.5分主函数定义:0.5分变量定义:0.5分函数定义:1分算法实现:1.5分scanf语句:0.5分printf语句:0.5分函数调用:1分(1)6分1. #include int sum (long number) int s=0,m; while (number!=0) m=

14、number%10; s+=m; number=number/10; return s;void main()long number=0;scanf(“%ld”,&number);printf(“sum(%ld)=%dn”,number,sum(number);评分标准:变量定义:0.5分函数定义:1分算法实现:2.5分函数返回:1分(2)5分int ff(char *str, char ch) int count=0; while(*str) if(*str=ch) count+; str+; return count; (3)9分#include #include void main()

15、char ch,c,s80; int k; FILE *fp;评分标准:include语句:0.5分主函数定义:0.5分变量定义:0.5分打开文件:1分关闭文件:1分循环+beaak:1分读入文件内容:1分算法实现:2.5分函数调用:1分 if(fp=fopen(input.txt,r)=NULL) printf(errorn); exit(0); ch=getchar(); k=0; while(1) c=fgetc(fp); if(c=n|c=EOF) sk=0; k=0; printf(%dn,ff(s,ch); if(c=EOF) break; else sk+=c; fclose(f

16、p);或 k=0; while(!feof(fp) c=fgetc(fp); if(c!=n) sk+=c; else sk=0; k=0; printf(%dn,f(s,ch); if(c!=n) sk=0; printf(%dn, ff(s,ch); 2009年08级C程序设计期末考试B卷参考答案姓名_学号_班级_得分_注意 所有答案写在单张的答题卷上。十一、 判断题(正确的答A,错误的答B,本题共10分,每小题1分)题号12345678910答案ABAABABBAB十二、 单选题(本题共20分,每小题2分)题号11121314151617181920答案CCCABCABAC十三、 程序填

17、空题(本题共30分,每小题2分)题号21222324252627282930答案DBABDBCDAA题号3132333435答案ADBCB十四、 程序阅读题(本题共20分,每小题5分)程序1程序2k=9如果没写”k=”,扣2分 2, 4, 62, 5, 9每行2.5分,格式错扣1分。程序3程序41#3#5#7#9# 错1个数字扣1分6 1 2 3 1 1 1 错1个数字扣1分十五、 程序设计题(本题共20分)评分标准:include语句:0.5分主函数定义:0.5分变量定义:0.5分函数定义:1分算法实现:1.5分scanf语句:0.5分printf语句:0.5分函数调用:1分(1)6分2.

18、#include int sum (long number) int s=0,m; while (number!=0) m=number%10; s+=m; number=number/10; return s;void main()long number=0;scanf(“%ld”,&number);printf(“sum(%ld)=%dn”,number,sum(number);评分标准:变量定义:0.5分函数定义:1分算法实现:2.5分函数返回:1分(2)5分int ff(char *str, char ch) int count=0; while(*str) if(*str=ch) count+; str+; return count; (3)9分#include #include void main() char ch,c,s80; int k; FILE *fp;评分标准:include语句:0.5分主函数定义:0.5分变量定义:0.5分打开文件:1分关闭文件:1分循环+beaak:1分读入文件内容:1分算法实现:2.5分函数调用:1分 if(fp=fopen(in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论