C++语言程序设计介绍课程考核和复习内容(文本)_第1页
C++语言程序设计介绍课程考核和复习内容(文本)_第2页
C++语言程序设计介绍课程考核和复习内容(文本)_第3页
C++语言程序设计介绍课程考核和复习内容(文本)_第4页
C++语言程序设计介绍课程考核和复习内容(文本)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上(2010.12.09)C+语言程序设计介绍课程考核和复习内容(文本)余芳芳: char * Hi(const char *s)cout<<"Hi!"<<s;return s;这个函数的原形是什么?徐孝凯: char * Hi(const char *s);李刘杰:知识点重点考核的内容(知识点):1C+数据类型的分类。2各种整数类型的关键字表示,存储空间的大小和值域范围。3整型变量的定义和初始化,十进制整型常量的表示。4字符类型的关键字表示,存储空间的大小和值域范围;字符型常量的表示,回车、换行、单引号、双引号、反斜线、空字

2、符等特殊字符的表示。5字符型变量的定义和初始化,字符型与整型的关系。6枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的对应关系。7各种实数类型的关键字表示,存储空间的大小和有效位数。8单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。 9加、减、乘、除、取余、赋值、增1、减1、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。10关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计算,系统给定的逻辑(布尔)类型的定义,逻辑常量false和true与整型常量的对应关系,逻辑变量的定义和使用,求任意表达式对应逻辑值的方法

3、。11typedef语句格式及功能。一般考核的内容(知识点):1整型常量的八进制和十六进制表示。2符号常量和常值变量的定义和初始化,它们之间的区别。3位操作符、复合赋值操作符的含义与使用。4不同数据类型之间的强制转换。徐孝凯:这只是一部分!徐凯祥:do-while 的几个知识点1do-while的循环体至少执行一次 2在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 3do-while的循环体可以是复合语句徐孝凯:第2条不必须。程远明:NODE是指什么?徐孝凯:可以作为标识符。薛晨: C+数据类型是5种吗?徐孝凯:很多,看教材。张修谦:

4、对于C+语言里的进制转换 有好的学习技巧或学习心得吗?我是吉林四平10秋机械制造专业的新学员,想学好C+语言课程,可不知道对于进制转换那部分知识,除了死记硬背,有更好的学习办法和经验吗?徐孝凯:要学会用于转换的计算方法。党彩惠:在做习题时,有一个问题百思不得其解。希望老师能帮助我。就是表达式的值与变量i的值有什么不同,应该怎么算,比如:i=98/17 i=152,i-.徐孝凯:表达式的值只能随时使用,而变量的值以后还可以访问到。党彩惠:函数应该怎么去学,去理解。徐孝凯:请看教材和网上的IP课件!赵兴科:老师,请问其期末复习重点是什么!都快12月了。1月可能就要考试了!徐孝凯:复习重点在分支、循

5、环、函数、数组等内容!赵汉虎:C语言这门课有难度,如何能学好呀?徐孝凯:做到学习书本内容与上机操作练习相结合!陈宏: C+主要是看懂程序,不要死记硬背程序徐孝凯:是的,看懂程序也需要努力!陈宏:可有去年的期末考试试卷啊,我想做一下看看。徐孝凯:可以,内容范围可以参考。陶金鹏:C+怎么复习啊?有什么好的方法,或是复习资料的,共享一份,徐孝凯:1做形成性考核册;2做期抹复习指导练习;3做往届试卷。陶金鹏:大家对C+有什么好的学习方法啊?徐孝凯:学习内容和上机操作练习相结合!王济旺:函数的递归调用的概念和递归函数的具体执行过程?徐孝凯:请参看教材。王济旺:联合的存储结构及大小的计算?徐孝凯:请看书,

6、它等于所有成员中数据类型长度的最大值。王济旺:匿名联合的特点?徐孝凯:只有联合体的定义,没有联合名称。王济旺:对字节文件进行的输入和输出数据的方法?徐孝凯:请看教材的第8章内容!张修谦:准备这学期的考试,不只是要有足够的复习资料,还需要给些考试范围吧。请老师们 给些建议!谢谢!徐孝凯:要做好形成性考核册和期末复习练习题,以及近来的考试试卷!赵金珍:都快12月了。1月可能就要考试了徐孝凯:具体时间请看有关考试文件。王廷锋: C+语言程序设计试题及答案 C 语言程序设计试卷 ,C+语言程序设计试题及答案一、单项选择题(每题1分,共20分)1C语言规定:在一个源程序中,main函数的位置( C )。

7、 A必须在最开始 B必须在系统调用的库函数的后面 C可以任意 D必须在最后 2下面四个选项中,均是合法浮点数的选项是( B )。 A+1e+1 5e-9.4 03e2 B-.60 12e-4 -8e5 C123e 1.2e-.4 +2e-1 D-e3 .8e-4 5.e-0 3若a=-14,b=3,则条件表达式 a<b? a:b+1的值为(A )。 A-14 B-13 C3 D4 4已知:int n,i=1,j=2;执行语句n=i<j?i+:j+;则i和j的值是( c )A1,2 B1,3 C2,2 D2,3 5为了判断两个字符串s1和s2是否相等,应当使用( D )Aif (s1

8、=s2)Bif(s1=s2)Cif (strcmp(s1,s2)Dif (strcmp(s1,s2)=0)6以下正确的描述是( B )。 A函数的定义可以嵌套,但函数的调用不可以嵌套。 B函数的定义不可以嵌套,但函数的调用可以嵌套。 C函数的定义和函数的调用均不可以嵌套。 D函数的定义和函数的调用均可以嵌套。 7在C语言中,下面对函数不正确的描述是( D)。 A当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B允许函数递归调用。 C函数形参的作用范围只是局限于所定义的函数内。 D子函数必须位于主函数之前。 8如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A

9、)。 A该变量只在该复合语句中有效 B该变量在该函数中有效 C该变量在本程序范围内均有效 D该变量为非法变量 9以下正确的函数形式是( D )。 Adouble fun(int x,int y) z=x+y;return z; Bfun(int x,y) int z; return z; Cfun(x,y) int x,y; double z; z=x+y; return z; Ddouble fun( int x,int y)double z; z=x+y; return z; 10以下程序的输出结果是( B )。 #include<stdio.h> #define F(y)8.

10、19-y #define PRINT(a)printf("%d",(int)(a)void main(void) int x=2; PRINT(x*F(3); A10 B13 C11 D报错 11以下程序中编译和运行结果均正确的一个是( C )。 AAvoid main(void) union int n; float x; comm=1; printf("%d",comm.n); BBvoid main(void) union int n; float x; comm=12.5; printf("%f",comm.x); CCvoi

11、d main(void) union float x; int n; comm=12.5 printf("%f",comm.x); DDvoid main(void) union int n; float x; comm=5; printf("%d", comm.n); 12设有定义:int a=1,*p=&a; float b=2.0; char c='A' 以下不合法的运算是( A)。 Ap+; Ba-; Cb+; Dc-; 13以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( B )。 main()

12、 int *p,*q,a,b; p=&a; printf("input a:"); scanf("%d",*p); A*p表示的是指针变量p的地址 B*p表示的是变量a 的值,而不是变量a的地址 C*p表示的是指针变量p的值 D*p只能用来说明p是一个指针变量 14若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32);后num的值为( C )。 A4 B16 C32 D52 15已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( C

13、 ),(注: _ 表示空格)int al,a2,char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); A10A_20_B B10_A_20_B C10A20B D10A20_B 16若有说明:int a10; 则对a数组元素的正确引用是(C )。 Aa10 Ba3.5 Ca5-3 Da-1 17在C语言中, 一维数组的定义方式为类型说明符 数组名;( A)A整型常量表达式 B表达式 C整型常量 D整型表达式 18以下能对一维数组a进行正确初始化的语句是( C )。 Ain a10=(0,0.0,0,0)

14、; Bint a10=; Cint a0; Dint a10=10*1; 19以下程序段( C )。 x=-1; do x=x*x; while(! x); A是死循环 B循环执行二次 C循环执行一次 D有语法错误 20以下关于do-while循环的不正确描述是( B )。 Ado-while的循环体至少执行一次 Bdo-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 Ddo-while的循环体可以是复合语句 二、是非判断题(每题1分,共15分)1C语

15、言规定,标识符中的字母一般区分大、小写。T 2控制台标准输入设备一般是指键盘。T 3使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。T4循环体中continue语句的作用是结束整个循环的执行。F 5关系表达式的值是0或1。T 6若有说明:int a34=0,则只有元素a00可得到初值0。 T7字符串作为一维数组存放在内存中。T 8字符数组中的一个元素存放一个字符T。 9字符数组中的最后一个字符必须是'0'。F 10形参为指针变量时,实参必须是数组名。 F11用数组名作函数参数时传递的是数组的值。 F12全局变量可以被任何一个函数中的任何一个表达

16、式使用。T 13一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。 14表达式i+与+i在任何场合功能完全相同。 15在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。 三、多项选择题(每题1分,共5分)1若要求在if 后一对圆跨括号中表示a不等于0的关系,则不能正确表示这一关系 的表达式为( ABC )Aa<>0 B!a Ca=0 Da Ea!=0 2选出所有合法的常量( CEGIJ )。 A3e22.5 B-e-3 C-.1e-1 D'BASIC' E'045' F0fd G0xfdaL He8 I

17、9;' J""" 3以下关于函数原型说法错误的是: (ADFHI)(1)对变量的定义”和“声明”是一回事,对函数的“定义”和“声明”也是一回事。 (2)在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。 (3)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。 (4)调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。 (5)如果被调函数的定义出现在主调函数之前,可以不必加以声明。 (6)所有的函数之间可以互相调用。 (7)在C语言中,所有函数都是平行的,一个函数不能从属于另一个函数,即不能嵌套定义的。 (8)如果函数

18、没有返回值,在定义时可以省略函数类型。 (9)在C语言中,任何函数的定义都不允许为空。 (10)C语言规定,实参变量对形参变量的数据传递是“值传递”。 4请从下面关于指针的叙述中, 选出5个正确的叙述。(ABDEH)(1)指针即地址。 (2)指针须先赋值后使用。 (3)当指针p指向数组a的首址后,由于p和a都能引用数组元素,所以这里p和a是等价的。 (4)int *p表示定义了一个指向int类型数据的指针变量p。 (5)数组的指针是指数组的起始地址。 (6)若有定义int a4,*p=a,则p+后p指向数组a所占内存的第二个字节。 (7)使用指针变量作函数参数采取的是"值传递&quo

19、t;的方式。 (8)相同类型的指针可以进行减法运算。 (9)指针变量和许多变量一样可以进行四则运算。 (10)指针p指向数组元素a2,若要其指向a4,执行p=p*2即可。 5以下关于数组的叙述中,5个最确切的说法是: (BEGHI )(1)在声明一个数组变量时必须指定大小。 (2)必须用常量表达式来说明一个数组变量的大小。 (3)在对数组进行初始化时大括号中的数据个数必须和数组的大小相同。 (4)有变量定义int a3=0,1,2,b3;,可以用b=a,使数组b的每个元素和a的每个元素相等。 (5)在C语言中,可以将字符串作为字符数组来处理。 (6)定义了字符数组char c11;为了给它赋值

20、,可以用c="china"。 (7)如果有char s15="I am a0 student",则strlen(s)的值为6。 (8)C语言中,二维数组中元素排列的顺序是:按行存放。 (9)在C语言中,不能对局部的数组变量进行初始化。 (10)在声明时对数组进行进行初始化必须指定数组大小。 四、程序运行结果题(每题4分,共20分)1(4分)下面程序的运行结果是( )。 #include<stdio.h> void main(void) int i; char a="Time",b="Tom" for(i

21、=0;a!='0'&&b!='0'i+)if (a=b)if (a>='a' && a<= 'z')printf("%c",a-32); else printf("%c",a+32); else printf("*"); 2(4分)下面程序段的运行结果是( )。 i=1;s=3 do s+=i+; if (s%7=0)continue; else +i; whlie(s<15); printf("%d"

22、,i); 3(4分)若运行时输入:5999,则以下程序的运行结果(保留小数点后一位)是( )。 void main(void) int x; float y; scanf("%d",&x); if (x>=0 && x<=2999)y=18+0.12 * x; if (x>=3000 && x<=5999)y=36+0.6*x; if (x>=6000 && x<=10000)y=54+0.3*x; printf("%6.1f",y); 4(4分)以下程序的运行结

23、果是( )。 void main(void) int a=1,k; for(k=0;k<3;k+)printf("%4d",f1(a) int f1(int x) static int z=3,y=0; y+; z+; return(x+y+z); 5(4分)以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。 #include<stdio,h> #include<math.h> float fun1(float,float); void main(void) float x,y,z,sum

24、; scanf("%f%f%",&x,&y,&z); sum=fun1( )+ fun1 ( ); printf("sum=%fn",sum); float fun1(float a,float b) float num; num=a/b; return num; 五、程序填空题(每题2分,共20分)1.下面程序的功能是用公式:×/6=1/(1×1)+1/(2×2)+1/(3×3)+.求的近似值, 直到最后一项的值小于10e-6为止。 #include <stdio.h> #in

25、clude <math.h> void main(void) long i=1; pi=0; while (i*i<=10e+6) pi= ; i+; pi=sqrt(6.0*pi); printf("pi=%10.6fn",pi); 2下面程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出行列号之和是3的数组元素。 void main(void) char str143='A','b','C','d','E','f','G',&

26、#39;h','I','j','K','i' ; int x,y,z; for(x=0;x<4;x+)for(y=0; ;y+) z=x+y; if ( )printf("%cn",str1xy); 3以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。 递归公式如下: age(1)=10 age(n)=age(n-1)+2 (n>1)#include<stdio.h> int age(int n) int c

27、; if (n=1)c=10; else c= ; return c; 4以下程序的功能是判断输入的年份是否是闰年。 void main(void) int year,yes; scanf("%d",&year); if (year%400=0)yes=1; else if ( )yes=1; else ; if(yes)printf("%d is ",year); else printf("%d is not ",year); printf("a leap year.n"); 5以下程序实现: 输入三个整

28、数,按从大到小的顺序进行输出。 void main(void) int x,y,z,c; scanf("%d %d %d",&x,&y,&z); if ( ) c=y;y=z;z=c; if ( ) c=x;x=z;z=c; if ( ) c=x;x=y;y=c; printf("%d,%d,%d",x,y,z); 六、填空题(每题1分,共20分)1在C语言中,一个float型数据在内存中所占的字节数为( )个字节;一个double型数据在内存中所占的字节数为( )个字节。 2若有定义:char c='010' 则

29、变量C中包含的字符个数为( )。 3C源程序的基本单位是( )。 4在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为( ); 一个int型数据在内存中所占的字节数为( )。 5已有定义: int m; float n,k; char chl,ch2; 为使m=3, n=6.5, k=12.6, ch1='a', ch2='A', 输入数据的格式为: 3 6.5 12.6aA 则对应的scanf语句是( );。 6执行下面的程序片段后,x的值是( )。 i=10; i+; x=+i; 7设a、b、c均是int 型变量,则执行以下for循环

30、后,c的值为( )。 for(a=1,b=5;a<=b;a+)c=a+b; 8以下do-while语句中循环体的执行次数是( )。 a=10; b=0; do b+=2; a-=2+b; while (a>=0); 9设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是( )。 for (x=0,y=0;y!=123&&x<3;x+)scanf ("%d",&y); 10若有以下定义和语句: int *p3,a9,i; for(i=0;i<3;i+)p=&a3*i; 则*p0引用的是数组元素(

31、 ); *(p1+1)引用的是数组元素( )。 11设a=3,b=4,c=5,则表达式a|b+c&&b=c的值是( )。 12进行逻辑与运算的运算符是( )。 13若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是( )。 14下面程序片段中循环体的执行次数是( )次。 for(i=1,s=0;i<11;i+=2)s+=i; 15若有以下定义和语句: int a4=0,1,2,3,*p; p=&a2; 则*-p的值是( )。 16执行以下程序段后, s的值是( )int a=5,3,7,2,1,5,3,10,s=0,k; f

32、or(k=0;k<8;k+=2)s+=*(a+k); 17执行以下程序段后,m的值是( )int a=7,4,6,3,10,m,k,*ptr; m=10; ptr=&a0; for(k=0;k<5;k+=2)m=(*(ptr+k)<m)?*(ptr+k):m; 答案: 一、单项选择题(20分)1.5.CBACD 6.10.BDADB 11.15.CABCC 16.20.CACCB 二、是非判断题(15分)× ×× × 三、多项选择题(5分)1.ABC 2.CEGIJ 3.ADFHI 4.ABDEH 5.BEGHI 四、程序运行结

33、果题(20分)1t*M 28 33635.4 46 8 10 5z+y,z-yx+y,x-y 五、程序填空题(20分)1double pi+1.0/(i*i)2y<3 z=2 3age(n-1)+2 4year%4=0&&yeaar%100!=0 yes=0 5z>y z>x y>x 一、单选题(每小题2分,共12分)1设x和y均为b。1量,则x&&y为真的条件是( )。 A它们均为真 B其中一个为真 C它们均为假 D其中一个为假2设x和y均为bool量,则xy为假的条件是( )。 A它们均为真 B其中一个为真 C它们均为假 D。其中一个

34、为假3声明或定义一个内联函数时,必须在函数开始使用保留宇( )。 A static Bconst C inline D。extern4在下面的函数声明中,存在着语法错误的是( )。 ABC(int a, int); B BC(int,int); C DC(int,int=5); D BC(int x; inl y);5假定AB为一个类,则执行“ABa(4),b5,*p2:”语句时,自动调用该类构造函数的次数为( )。 A6 B7 C 9 D 116假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“deletepx;”语句时,自动调用该类析构函数的次数为( )。A1 B

35、nC nl Dn+l二、填空题(每小题2分,共24分)7已知A一Z的ASCII码为6590,当执行"charch=14*5+2;cout<<ch<<endl;”语句序列后,得到的输出结果为。8float和double类型的长度分别为和。9表达式xx+l表示成增量表达式为。10关系表达式x+y>5的相反表达式为11假定一个二维数组的定义为“int a36;”,则该数组所含元素的个数为,所占存储空间的字节数为12执行“typedef int ABC20;”语句把ABC定义为具有20个整型元素的 .13假定p所指对象的值为36,p+l所指对象的值为49,则*+

36、p的值为14假定a是一个二维数组,则 aii的指针访问方式为 。15假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为。16对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。17当一个类对象离开它的作用域时,系统将自动调用该类的。18假定AB为一个类,则执行"ABa8;”语句时,系统自动调用该类构造函数的次数为。三、给出下列程序运行后的输出结果(每小题6分,共30分)19#include<iostream.h> void SB(char ch) switch(ch) case "A": case &quo

37、t;a": cout<<"well !" break; case "B": case "b" cout<<"good !" break; case "C": case "c": cout<<"pass ! " break default: cout<<"bad! " break; ) cout<<endl; void main() char a6 ="Abc

38、af" for(int i=0; ai; i+)SB(ai); 20#include<iostreamh> void main() int a10= 36,25,48,14,55,40,72,40,86,27; int b1, b2; b1 = b2 = aO; for(int i= 1;i<lO;i+) if(ai>b1) if(bi>b2)b2=bl; b1 = ai cout<<b1<<" "<<b2<<endl; 21#include<iomaniph> void m

39、ain() int a8= 3,5,7,9,11,13,15,17; int * p=a; for(int i=0;i<8;i+) p+=l0; cout<<setw(5)<< * p+; if(i+1 %3= =0 cout<<endl; 22# inelude<iomanip, h> void LF(int& x, int y) x=x+y; y= x+y; cout<<"x="<<x<<", y="<<y<<endl; void

40、 main() int x=5, y=8, cout<<"x="<<x<<"", y="<<y<<endl; LF(x, y); cout<<"x="<<x<<", Y="<<Y<<endl; 23.# include<iomanip, h> void main() int x=25,y= 120; cout<<"dec:"<<de

41、c<<setw(l0)<<x<<setw(l0)<<y<<endl; cout<<"oct: "<<oct<<setw(l0)<<x<<setw(l0)<<y<<endl; cout<<"hex:"<<hex<<setw(10)<<x<<setw(10)<<y<<dec<<endl 四、写出下列每个函数的功能(每小题6

42、分,共24分)24double FI(double n) /In 为大雨等于1的整数 double x,y=0; do ein>>x; n-; y+=x; while(n>O); return y; 25int LK(int a, int n) float s-0; iht i, for(i=0 ;i<n; i+) s+= ai; s/=n; int m=0; or(i=O ;i<n;i+) if(alii<s)m+ return m; 26# inelude<iostream, h> template<class Type> Typ

43、e WD(Type a, int n) Type m= a0 ; for(int i=l;i<n;i+) if(ai>m)re=ai; return m 27# include<iomanip, h> include< fstream, h> void JD(char* fname)可把以fname所指字符串作为文件标识符的文件称为fname文件,假定该文件保存着一批整数。ifstream fin(fname, ios: :in |ios: :nocreate | ios: :binary)int x, s=O, n=O;while(fin, read(ch

44、ar * )&x, size of(x) s+=x; n+cout<<n<< " " <<s<<" " << float(s)/n<<endl;finclose( );28已知6a30,15b36,编一程序求出满足不定方程2a十5b=126的全部整数组解。如(13,20)就是其中的一组解。试卷代号:2058中央广播电视大学20032004学年度第二学期“开放专科”期末考试计算机专业 C+语言程序设计 试题答案及评分标准(供参考)2004年?月一、单选题(每小题2分,共12分)

45、; 评分标准:选对者得2分,否则不得分。 1A 2C 3C 4D 5A 6B二、填空题(每小题2分,共24分) 评分标准:每题与参考答案相同者得2分,否则不得分。 7H 8 4 8 9+x 10x+y<5 1118 72 12数组类型 13 49 14 *,(ai+”或*(*(a+i)十j) 15 *(x。a) 16初始化表 函数体 17析构函数 18 8三、给出下列程序运行后的输出结果(每小题6分,共30分) 评分标准:每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。 19well! good! pass! well! bad!20 86 7221 13 15 17 19

46、 2l 23 25 2722x5,y8 2分 x=13,y21 2分 x=13,y8 2分23dec: 25 120 2分 Oct: 31 170 2分 hex: 19 78 2分四、写出下列每个函数的功能(每小题6分,共24分) 评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。 24求出从键盘上输入的n个实数之和。 25求出数组a的n个元素中小于平均值的元素个数并返回。 26模板函数,从数组a的n个元素中求出最大值并返回。 27从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。五、(10分) 28整个程序正确得10分,否则按下面参考程序中语句后的注释给分。

47、#include<iostreamh> void main( ) inta,bi 定义变量正确得2分 for(a=6;a<30;a+) 外循环次数正确得2分 for(b15;b<36;b+) 内循环次数正确得2分 if(2xa+5,b=126)coul<<(<<a<<,<<b<<)<<endl; 条件正确得2分,输出语句正确得2分徐孝凯:要认真做!形成性考核作业册答案供参考C+语言程序设计课程作业练习解答第一次作业一、填空题1; 2. cout cin 3. void 4. 143+18=161 5

48、. ningchen 186. main 7. cpp obj exe 8. 空格 回车 9. 031 0x1910. n endl 11. d 12. H 13. 77 14. R 15. xc=216. 4 17. 1 2 4 18. 4 8 19. int double 20. const21. 初始化 22. 2 13 23. 12 21 24. (x*x+y*y)/(2-x*y)25. (x*y*y)/(3*a)+4*b-1 26. 6.25 4 27. a+=b 28. +a29. y=y+1 30. (!x) 31. (x) 32. x+y<=z 33. x<=5 |

49、 x>=1034. a<=b && b!=5 35. false 或0 true 或1 36. 10 37. 2038. DataType 39. 它们均为真 40. 它们均为假二、写出下列程序运行后的输出结果1good!pass!bad!well!28 240 3.23s=554i,s=19,63525 206y=441三、写出下列每个函数的功能1. 比较两个整数a和b的大小,若a>b则返回1,若a=b则返回0,若a<b则返回-1。2. 求出a,b,c三个数中的最大值并返回。3. 求出从键盘上输入的n个整数之和并返回。4. 计算1+x/2+x2/3+.

50、+xn/(n+1)的值并返回。5. 判断x是否为一个质数,若是则返回1,否则返回0。6. 求出从键盘上输入的一批常数的平均值,以-100作为结束输入的标志。第二次作业练习一、填空题 1. 5 20 2. 24 96 3. 64 64 4. 数组类型 5. 全局 0 6. 调用 7. 引用 值 8. 局部二、给出下列程序运行后的输出结果 1. 4 2 4 2. worker apple 3. 73 66 4. 7 3 55 3 2 2 2 6. 2 1 6 1 7. 2 0 24 8. 10 20 40 75 40 20三、写出下列每个函数的功能 1统计出数组a中大于等于值为k的元素个数并返回。 2采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。 3模板函数,比较两个变量a和b的大小,若a>b则返回1,若a=b则返回0,若a<b则

温馨提示

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

评论

0/150

提交评论