文档库 最新最全的文档下载
当前位置:文档库 › 函数程序设计(一)

函数程序设计(一)

函数程序设计(一)
函数程序设计(一)

实验三函数程序设计(一)

【实验目的】

1.了解结构化程序设计基本思想。

2.掌握多个函数的组织方法。

【实验内容】

3-1编程

编写一个函数,利用参数传入一个3位数n,找出101~n间所有满足下列两个条件的数:它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。请同时编写主函数。

3-2编程

输入n(n<10)个整数,统计其中素数的个数。要求程序由两个文件组成,一个文件中编写main 函数,另一个文件中编写素数判断的函数。使用文件包含的方式实现。

3-3改错

用二分法求方程2x3-4x2+3x-6=0的一个根,要求误差不超过0.001。

输入输出示例:

输入求根区间m n: -20 20

R oot=0.487

源程序(有错误的程序)error03_3.cpp

#include

#include

void main( )

{ double m, n;

printf("输入求根区间m n:");

scanf("%lf%lf",&m,&n);

printf("root = %6.3f\n", f(m,n));

}

double f1(double x)

{

return(2.8 * x * x * x - 3.2 * x * x + 5 * x - 2);

}

double f( double m, double n)

{ int r;

r = (m + n) / 2;

while(fabs(n-m) < 0.001){

if(f1(r) * f1(n) < 0)

m = r;

else

n = r;

r = (m + n) / 2;

}

return r;

}

以下为循环和数组的题目

3-4编程【自测练习题30026】

输入一个正整数repeat (0

输入1 个正整数n(n<=10),计算s 的前n项的和(保留 3 位小数)。

s = 1/(2*3)-2/(3*4)+3/(4*5)-4/(5*6)+....

例:括号内是说明

输入:

2 (repeat=2)

3 (n=3)

6 (n=6)

输出:

0.150

0.029

3-5编程【自测练习题50007】

输入一个正整数repeat (0

读入1 个正整数n(n<=10),再读入n个整数并放入一个数组r 中, 统计并输出比相邻元素大的数组元素的个数。

例:括号内是说明

输入:

2 (repeat=2)

5 9 3 5 1 2 (n=5)

4 1 2 3

5 (n=4)

输出:

count=3 (满足条件的数组元素有9,5,2)

count=1 (满足条件的数组元素只有5)

3-6编程【自测练习题50008】

输入一个正整数repeat (0

读入1 个正整数n(n<=100),再读入n 个整数, 如果其中的前m个数按从小到大的顺序排列,找出m,然后输出这m 个数。

例:括号内是说明

输入:

2 (repeat=2)

6 1 2 9 9 1 20 (n=6)

2 10 99 (n=2)

输出:

1,2,9,9,

10,99,

【实验报告要求】

将编程题(3-1至3-2,3-4至3-6)的程序流程图、源程序、运行结果和改错题(3-3)改正后的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,写在实验报告上。

C语言程序设计 第六章 函数 试题及答案

C语言程序设计第六章函数试题及答案 1 选择题 *6.1建立函数的目的之一,以下正确的说法是。 A)提高程序的执行效率B)提高程序的可读性 C)减少程序的篇幅D)减少程序文件所占内存 参考答案:B *6.2 以下正确的说法是。 A)用户若需要调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失去原有意义 C)用户系统根本不允许用户重新定义标准库函数 D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件。 参考答案:B 6.3 以下正确的函数定义形式是。 A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)doubel fun(int x;int y); 参考答案:A *6.4 以下正确的函数形式是。 A)double fun(int x,int y){z=x+y;return z;} B)double fun(int x,y){int z;return z;} C)fun(x,y){int x,y;double z; z=x+y; return z;} D)double fun(int x,int y){double z;z=x+y;return z;} 参考答案:D *6.5以下正确的说法是。 A)实参和与其对应的形参占用独立的存储单元 B)实参和与其对应的形参共占用一个存储单元 C)只有当实参和与其对应的形参同名时才共占用一个存储单元 D)形参是虚拟的,不占用存储单元 参考答案:A 参考分析:本题并不严谨,因为实参可以是表达式,当实参为表达式时,实参并不单独占用独立的存储单元。 6.6 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数。 A)没有返回值B)返回若干个系统默认值 C)返回一个用户所希望的函数值D)返回一个不确定的值 参考答案:D 参考分析:函数有没有返回值是由函数类型所决定的,当没有retrun语句,系统不能返回一个确定的值而已。 6.7 以下不正确的说法是,C语言规定。 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以是任意类型 D)实参应与其对应的形参类型一致

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

华南理工大学高级语言程序设计作业

华南理工大学高级语言程序设 计作业(总3页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

《高级语言程序设计(https://www.wendangku.net/doc/6113853265.html,)》作业 2014.3 教学中心:专业层次: 学号:姓名: 一.判断题(如正确打√,否则,打×。) 1.存储数据不属于数据处理功能。N 2. Write_1 和学校$ 是正确的变量名。Y 3.若一个整型变量说明了之后没有给它赋值,则它的值为0。Y 4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:Y If Asc(ch)>=97 And Asc(ch)<=122 Then WriteLine (“Yes”) Else WriteLine(“No”) End If 5.。输入结构变量的值就是输入该变量的各个元素的值Y 6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。N 7. 事件是由https://www.wendangku.net/doc/6113853265.html,系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。Y 8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。N 9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。Y 10. 在VB中不可以把类型说明符放在变量名的末尾来说明变量的类型。N 二.单项选择题 1.下列变量名中错误的是( “年龄” )。 2.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是(1< X <5 )。 3.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中 (c(11) )是错误的。 4.在过程的形式参数前面加上关键字( ByVal ),则该参数说明为引用参数。 D. 5. 设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确形式为( f a+b, b+c, c+a )。 6.若使命令按钮不可见,可以设置Visible属性的值为( False )。 7.要使单选按钮RadioButton处于选中或未选中状态,需由( Checked )属性来决定。 8.要删除列表框中的某一个项目,需要使用(ReMove )方法。 9.要设置计时器的时间间隔可以通过( InterVal )属性来实现。 10.下面( StreamWriter )类用来把数据写入文本文件中。 三.简答题 1. 在控制台应用程序中,如何输入输出一维数组的元素 1. 答:输入一维数组元素的值可以使用赋值语句,也可以使用Console类的输入方法Read和ReadLine从键盘输入数据。输出一维数组元素的值可以使用Console类的Write方法和WriteLine方法。 2.若有数组定义语句:Dim c%() = { 76, 80, 75},则数组c有多少个元素这些元素是什么它们的初值是多少 3.答:数组c共有3个元素c(0)、c(1)和c(2),它们的初值分别为1、2和3,即c(0)=76,c(1)=80和c(2)=75。 3. 文件操作可以分为哪些步骤

C语言程序设计实验报告(实验大纲+过程)之欧阳家百创编

《C程序设计》实验教学大纲 欧阳家百(2021.03.07) 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 五、实验项目与学时分配

注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每

实验05 函数程序设计

计算两个复数之积(调试示例error05_1)程序填空,不要改变与输入输出 有关的语句。 分别输入两个复数的实部与虚部,编程调用函数实现计算两个复数之积。 若两个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i,则: c1*c2 = (x1*x2-y1*y2) + (x1*y2+x2*y1)i 输入输出示例:括号内是说明 输入 1 2 (x1=1, y1=2) -2 3 (x2=-2, y2=3) 输出 product of complex is (-5.000000)+(1.000000)i #include /*---------*/ int main(void) { float imag1, imag2, real1, real2; scanf("%f%f", &real1, &imag1); scanf("%f%f", &real2, &imag2); complex_prod(real1, imag1, real2, imag2); printf("product of complex is (%f)+(%f)i\n", result_real, result_imag); return 0; } /*---------*/ 使用函数求1! + 2! + … + m!(改错题error05_2)程序填空,不要改 变与输入输出有关的语句。 求1! + 2! + … + 10!,要求定义并调用函数fact(n)计算 n!,函数形参 n 的类型是int,函数类型是double。 输入输出示例:括号内是说明 输出: 1!+2!+...+10! = 4037913.000000 #include

C语言实用函数式编程中惰性求值详解

C语言函数式编程中惰性求值详解 在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体会的明白为什么需要利用这个技术。首先需要说明的是C#语言小部分采用了非严格求值策略,大部分还是严格求值策略。首先我们先演示非严格求值策略的情况,我们先在控制台项目中写一个DoOneThing方法。 然后在Main方法中写入下面这串代码: 然后我们运行程序,会发现DoOneThing方法并没有执行。当然这看起来也很正常,因为这是或,并且第一个已经是true 了。整个表达式就是true了,自然第二个就无需求值了。但是这恰恰就是非严格求值的策略,如果是严格求值策略的话整个表达式都会计算。接着就是严格求值策略的情况了,这个相信很多人都会立马明白,首先我们需要再写一个DoSomeThing方法: 接着修改Main方法: 执行之后我们可以看到如下的结果: 但是我们可以清楚的看到a的值是false,根本不会使用b

值,但是传递参数的时候已经将DoOneThing方法执行并赋值给b,假设这个方法是一个非常耗时的操作。那么我们就会白白浪费掉这段时间,最后求得的值也没有使用的到。而这正是严格求值策略,而今天的主要目标就是改变这种情况,能够在我们确定需要某个值的时候才计算。下面我们就可以开始改造这个方法,让其能够支持惰性求值。首先我们修改DoSomeThing方法: 这里我们将参数类型都改成了函数,这样将要传递进来的参数都改变成函数。只有在我们需要的时候才执行求值,否则是不会运行的,对应的Main方法中我们需要按照如下方式修改: 这里我们并不需要把DoOneThing方法的返回类型改掉,如果这样的话。在现有项目上使用函数式编程就会显得太麻烦了。这里我们仅仅只需要利用匿名函数就可以办到了,下面我们可以看最后的执行效果: DoOneThing方法并没有执行,因为DoSomeThing中根本没有确定使用这个变量,这样我们就能够节省下这部分计算的时间,但是事实上我们还没有结束,实际的开发中我们可能需要多次使用这个值,比如下面我们修改DoSomeThing方法: 并且在Main方法中调用DoSomeThing方法时将第一个参数

matlab实验四函数编写与程序设计

实验四:函数编写与程序设计 一、实验目的1 . 掌握M文件的创建。 2.掌握函数的编写规则。 3.掌握函数的调用。 4 . 掌握基本的输入输出函数以及显示函数的用法。 5.会用Matlab程序设计实现一些工程算法问题。 二、实验内容 1 . 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。a=input('请输入一个数: ')

b=input('请输入一个数:'); fuhao=input('请输入一个运算符号(+-*/):','s'); switch fuhao case {'+'} he=a+b; disp(['和=',num2str(a),'+',num2str(b),'=',num2str(he)]); case {'-'} he=a-b; disp(['减=',num2str(a),'-',num2str(b),'=',num2str(he)]) case {'*'} he=a*b; disp(['乘=',num2str(a),'*',num2str(b),'=',num2str(he)]) case {'/'} he=a/b; disp(['除=',num2str(a),'/',num2str(b),'=',num2str(he)]) otherwise disp('请输入正确的符号'); end 2 . 求下列分段函数的值 2 2 2 6,0 56, 1, y χχχχ χχχχχ χχ ?+-<≠ ? =-+≤≠≠? ?-- ? 且-3 0<10,2且3 其他

2015年10月自考C++程序设计(04737)试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 C++程序设计试卷 (课程代码04737) 本试卷共10页,满分100分,考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o 4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共20小题,每小题1分。共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.在C++语言中用于注释的标识符是 A.& B.//C.* D./ 2.编写C++程序一般需经过的几个步骤依次是 A.编辑、调试、编译、连接B.编译、调试、编辑、连接 C.编译、编辑、连接、运行D.编辑、编译、连接、运行 3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用 A.内联函数B.重载函数C.内部函数D.函数模板 4.设x=8,执行语句Y=x++,则y等于 A.6 B.7 C.9 D.8 5.下列运算符中,优先级最高的是 A. * B.一> C.&& D.>= 6.关于new运算符的下列描述中,错误的是 A.它可以用来动态创建对象和对象数组 B.使用它创建的对象和对象数组可以使用运算符delete删除 C.使用它创建对象时要调用构造函数 D.使用它创建对象数组时必须指定初始值 7.存储下列数据,占用存储字节最多的是 A. 0 B.‘0’C.〝0〞D.0.0 8.关于类和对象不正确的说法是 A.类是一种类型,它封装了数据和操作B.对象是类的实例 C.一个类的对象只有一个D.一个对象必属于某个类 9.下列有关构造函数的描述中,正确的是 A.构造函数可以带有返回值B.构造函数的名字与类名完全相同 C.构造函数必须带有参数D.构造函数必须定义,不能缺省 10.假定a为一个整型数组名,则元素a[4]的字节地址为 A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是

C语言程序设计实验报告(函数)

C语言程序设计实验报告(实验名称:函数) 1实验目的 (1)掌握函数的定义方法、调用方法、参数说明以及返回值; (2)掌握实参与形参的对应关系,以及参数之间的“值传递”的方式; (3)掌握函数的嵌套调用及递归调用的用的设计方法; (4)在编程过程中加深理解函数调用的程序设计思想。 2实验内容 (1)编写一个函数primeNum(int x),功能是判别一个数是否为素数。 要求: ①在主函数中输入一个整数x(直接赋值或从键盘输入); ②函数类型为空值(void),调用primeNum( )函数后,在函数中输出x是 否为素数的信息,输出格式为“x is a prime number”或”x is not a prime number”; ③分别输入一下数据:0,1,2,5,9,13,59,121,并运行程序,检查 结果是否正确。 (2)编写函数 mulNum(int a,int b),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。 要求: ①在主函数中从键盘输入一对整型数据a和b; ②调用函数后,根据返回值对a和b的关系进行说明。例如,在主函数中输 入:10,5,则输出“10 is a multiple of 5”; ③分别输入下面几组数据进行函数的正确性测试:1与5,5与5,6与2,6 与4,20与4,37与9。

3算法描述流程图 (1)primeNum(int x)(判别一个数是否是素数)函数流程图 ①主函数流程图:

②判断素数函数流程图:

(2)mulNum(int a,int b)(确定a和b是否是整数倍的关系)函数流程图 ①主函数流程图:

大学生C语言程序设计(第四版 谭洪强)实验7 答案

实验七 参考答案(参考答案) (1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。 注意:n 的值要求不大于100。 算法分析: 使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。注意:i 的倒数要表示成:1.0/i; 参考子函数如下: double fun(int n) { double sum=0; int i; for(i=5;i<=n;i++) if(i%5==0||i%9==0) sum=sum+1.0/i; return sum; } (2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。 n s ?++++?++++++=321132112111 例如:若n 的值为11时,函数的值为1.83333 算法分析: 等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。 参考子函数如下: float fun(int n) { float sum=1; //sum 中已经累加了第一项的值 int i,m=1; //m 表示每项的分母; for(i=2;i<=n;i++) { m=m+i; sum=sum+1.0/m; } return sum; }

(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。 例如,当a=45,b=12,调用该函数后,c=5241。 算法分析: 对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。 参考子函数如下: long fun(int a, int b) { long c=0; c=a%10*1000+a/10*10+b/10+b%10*100; return c; } (4) (sy7-4.c)请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567, 则函数返回1234.570000;实型数为1234.564, 则函数返回1234.560000。 算法分析: 先把这个数乘以100,然后再加0.5(实现四舍五入),再把这个数存放到一个长整型变量中,目的是把小数点后的小数去除,最后把这个数转换成浮点型数除以100,即可得出所的结果。 参考自定义函数如下: float fun ( float h ) { long w ; w = h * 100 + 0.5 ; return (float) w / 100 ; } (5) (sy7-5.c)请编写一个函数unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若w 是n (n ≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。 例如:w 值为5923,则函数返回923;w 值为923 则函数返回23。 算法分析: 首先应求出w的位数,有一位,i就乘以10(如果有4位,i就等于10000);然后通过求模运算舍弃最高位; 参考子函数如下: unsigned fun ( unsigned w ) { int i=1;//i用来存放整数的位数

西安交通大学程序设计基础选择题

一、单选题(60分) 1、关于建立函数的目的,以下正确的说法是()。 A、提高程序的执行效率 B、提高程序的可读性 C、減少程序的篇幅 D、减少程序文件所占内存 正确答案:B 学生答案:Bv 2、下列程序段的输出结果为()。Int x=3.y=2.printf("%d".(x-=y.x*=y+8/5)); A、1 B、7 C、3 D、5 正确答案:C 学生答案:CV 3、fgets(str.n.fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A、字符串读入后不会自动加入".0' B、fp是file类型的指针 C、fgets函数将从文件中最多读入n-1个字符 D、fgets函数将从文件中最多读入n个字符 正确答案:C 学生答案:CV

4、若有说明.int lj=2,"p=&1',则能完成=赋值功能的语句是()。 A、i="p; B."p=*&); C、i=&j;; D、I=**p; 正确答案:B 学生答案:Bv 5、以下正确的说法是()。 A、用户若需调用标准库函数,调用前必须重新定义 B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C、系统根本不允许用户重新定义标准库函数 D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 正确答案:B 学生答案:Bv 6、C语言中,定义结构体的保留字是()。 A、union B、struct C、enum D、typedef 正确答案:B 学生答案:Bv

7、以下语句中,不能实现回车换行的是()。 A、printf("n"); B、putchar("n"); c、tprintf(stdout,"in"); D、fwrite("n",1.1.stdout); 正确答案:B 学生答案:Bv 8、若有inta[10]=10.1.2,3.4,5,6,7.8.9)."p=a.则输出结果不为5的语句为()。 A、printf("%d","(a+5)); B、printf("%d",p[5]); C、printf("%d"."(p+5)): D、printf("%d"."p[5]); 正确答案:D 学生答案:DV 9、下列程序的输出结果为()。main((int m=7.n=4jfloata=38.4,b=6.4.x.x=m/2+n*a/b+1/2.printf%n".x);j A、27 B、27.5 C、28 D、28.5 正确答案:A 学生答案:AV

计算机程序设计语言的历史与未来

计算机程序设计语言的历 史与未来

目录 引言 (1) 一.计算机程序设计语言 (2) 1.计算机程序设计语言的演变 (2) (1)计算机程序设计语言的历史 (2) (2).对计算机程序设计语言学习方法之我见 (5)

引言 摘要:“要盖高楼,打基础花的时间就要长,所以我们更重视基础。按照这样的思路培养出来的学生具有更强的创新潜力和更为广泛的适应性。”清华大学理学院副院长白峰杉说。“随着整个社会经济的发展,本科教育在整个教育体系中的定位发生了变化,本科阶段主要是打基础。同时,社会的发展对复合型文科人才的需求在增长,因此我们的本科培养模式必须随之作出调整和改变。”人文学院副院长张勇如是说。 清华在本世纪之初提出了全面落实通识教育基础上的宽口径专业教育,实施按大类招生和大类培养,自2001级起全部实施新培养方案与指导性教学计划,调整了各类课程的学分比例,搭建人文素养与科学精神并重的基础教育平台,强化人文教育与科学教育的融合,进一步拓宽专业基础,加强学科交叉,强调实践与研究融入教学过程。新的本科人才培养方案将本科教育总学分由200左右调整至170左右。新培养方案强调必修学分而不是必修课程,学生可在教学计划之外、培养方案框架之内选课,在导师的指导下,为自己量身定做“个人学习计划”。 可供学生选择的校级精品课达到105门,涉及公共基础课、学科基础课和专业基础课,以及文化素质课、实践类课程等,覆盖本科培养方案的多个方面。在以精品带动课程建设的过程中,清华还十分注重特色课程的培育与建设,实行以研究型教学方式为重点,以小班授课、师生互动为特点的课程改革。继2003年在全国率先开设新生研讨课之后,今年3月,清华又在全国首开面向全校本科生的实验室科研探究课。目前学校累计开设研讨类课程约350门次,约5000名本科生选修。 从目前来看,新的培养方案初见成效。学生的学习自主性相对增加,大部分学生选修的学分超过了规定的170学分,在200学分以上。该校副教务长康飞宇表示,通过这些课程,使本科生尽早形成开阔的科学视野和跨学科、跨院系、跨专业的大气的思维方式,为学生进入宽口径的专业培养打下通识基础。 计算机导论作为一门基础课程自然不容小觑,而学习计算机导论最终的目的还是为了计算机编程,而计算机编程的核心就是计算机编程语言。因此我们要从根源了解计算机程序设计语言,从而使它发展。 关键词:计算机程序设计语言、历史、发展。

函数程序设计 -C语言程序实验报告

安徽工程大学 高级语言程序设计实验报告 班级姓名同组者/ 成绩 日期2019\11\21 指导教师 实验名称函数程序设计 一、实验目的 1.掌握定义函数的方法。 2.掌握函数实参与形参的对应关系,体会“值传递”的方式。 3.掌握函数的嵌套调用和递归调用的方法。 4.掌握全局变量和局部变量、动态变量和静态变量的概念与使用方法。 5.理解数组作为函数参数的传递方式。 6.理解宏的概念,掌握宏的定义。 7.了解文件包含的概念,掌握其用法。 二、实验内容 1.完成程序,求解n! 具体要求:输入并完善源程序;对源程序进行编译、连接和运行;写出程序运行结果。 2.计算s=1的k次方+2的k次方+3的k次方+……+N的k次方。 具体要求:输入并完善源程序;对源程序进行编译、连接和运行;写出程序运行结果。 3.写出下面3个程序的输出结果,说明每个程序中的各个x有何不同。 4.阅读程序,理解程序的功能,写出预期结果并上机验证。 5.编程并上机调试运行。 (1)编写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。(2)输入一个整数,将它逆序输出。要求定义并调用函数rverse(number),它的功能是返回number的逆序数。如reverse(12345)的返回值是54321。 (3)用递归法求n阶勒让德多项式的值,递归公式为 P(x)=1,n=0;P(x)=x,n=1;P(x)= [(2n-1)*x-Pn-1(x)-(n-1)Pn-2(x)]/n, n>1 (4)编写一函数,由实参传递一个字符串,统计此字符串中字母、数字、空格和其他

字符的个数,在主函数中输入字符串并输出上述结果。 (5)带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出交换后的两个值。 (6)编写函数,实现两个字符串的连接,在主函数中输入两个字符串并输出连接后的结果(不要使用库函数中的strcat函数)。 (7)请编写函数fun,它的功能是:求出1~1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,通过n返回这些数的个数,在主函数中输出这些整数,并给出统计的总数。 (8)设有未完成的函数: char GetChar(char c) { char s[]="9038571426"; …… } 字符串s中无序地存储了10个数字字符,没有重复。函数的功能是: 如果字符c不是数字字符,函数原样返回该字符;否则,在s中查找字符C,并返回其在s 中的前一个字符。如果该字符位于s的最前面(字符'9') ,则返回最后一个字符6'。 如GetChar(4)得到字符'I', GetChar(T)得到字符T。请完成该函数并在主函数中调用。*思考题 1.请分析不返回值的函数定义与有返回值的函数定义有什么不同,思考这两类函数在实际编程中的作用。 2.请观察本次实验中使用的函数都有几个返回值,当个函数需要有多个返回值时,应该如何处理? 3.数组作为函数参数有哪几种方式?这些方式中有没有能解决之前“函数多值返回问题”的方法? 4.请分析下面程序的作用。 /*format.h*/ #define DIGIT(d) printf("整数输出:%d\n",d) #define FLOAT(f) printf("实数输出:%10.2f\n",f) #define STRING(s) printf("字符串输出:?号s\n",s) /*user's program*/

C语言程序设计—函数—实验报告.docx

实验报告 专业软件工程班级X班学号XXXXXXXXXXX—姓名 _________________________________ 实验日期:201X年X月X日报告退发(订正、重做)_______________________ 课程 ________ C程序设计实验_________ 实验名称____________ 函___________ 数 ___________ —、实验目的 ①熟练掌握C程序中函数的定义; ②掌握函数的调用,函数参数的传递; ③熟练掌握函数的嵌套调用和递归调用; 二、实验环境(描述实验的软件、硬件环境) ①软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器; ②换件环境:PC机一台 三、实验内容、步骤和结果分析 题目一 :编写一个用来判断质数(素数)的函数。 要求: (1)在main函数中调用该函数对输入的数值进行判断,并输出判断结果; (2)当输入数值<7时,停止输入和判断。 # include #include /*=======判断质数(素数)的函数=======*/ int judgePrime(int n) { for(int i=2;i<=sqrt(n);i卄)〃一个数n如果是合数,那么它的所有的因子不超过n的开方 { if(n%i==0) return 0; else continue; } return 1; } /*====判断质数(素数)的函数=======*/ int main() { printH/'Xn提示:输入一个数字来判断是否是质数(素数),当输入数值v=l时,停止输入和判断。\n\ii"); for(int num=24emp;num>l;) {

程序设计的几个基本概念

1、什么是可视化程序设计? 可视化(Visual)程序设计是一种全新的程序设计方法,它主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木式地构造应用程序的各种界面。 2、可视化程序设计有哪些优点? 可视化程序设计最大的优点是设计人员可以不用编写或只需编写很少的程序代码,就能完成应用程序的设计,这样就能极大地提高设计人员的工作效率。 3、能够进行可视化程序设计的语言有哪些? 能进行可视化程序设计的语言很多,比较常用的有微软的Visual Basic、Visual C++、Visu al C#、中文Visual Foxpro、Borland公司的Delphi等。 4、可视化程序设计中有哪些基本概念? 主要的几个基本概念有表单、组件、属性、事件、方法等。 5、什么是表单(Form)? 表单是指进行程序设计时的窗口,我们主要是通过在表单中放置各种部件(如命令按钮、复选框、单选框、滚动条等)来布置应用程序的运行界面。 6、什么是组件? 所谓组件,就是组成程序运行界面的各种部件,如:命令按钮、复选框、单选框、滚动条等。 7、什么是属性? 属性就是组件的性质。它说明组件在程序运行的过程中是如何显示的、组件的大小是多少、显示在何处、是否可见、是否有效…… 8、属性可以分成哪几类? 属性可分成三类,设计属性:是在进行设计时就可发挥作用的属性;运行属性:这是在程序运行过程中才发挥作用的属性;只读属性:是一种只能查看而不能改变的属性。 9、什么是事件? 事件就是对一个组件的操作。如用鼠标点击一个命令按钮,在这里,点击鼠标就称为一个事件(C lick事件)。 10、什么是方法? 方法就是某个事件发生后要执行的具体操作,类似以前的程序。例如当我们用鼠标单击“退出”命令按钮时,程序就会通过执行一条命令而结束运行,命令的执行过程就叫方法。 C++面向对象程序设计基本原理 使用面向对象程序设计的思想和方法进行系统设计和编程,从根本上解决了从现实世界的问题空间到计算机解空间的直接映射,使所设计的系统能更加准确地模拟现实世界;同时面向对象的系统从程序的结构、运行机制上保证了程序的安全性,灵活性;大大提高了程序代码段的复用性,易维护性和易扩展性。因此,面向对象程序设计已经取代了面向过程程序设计成为当前程序设计(特别是复杂大系统的设计、编程)的主流方法,是软件开发人员的必备素质。面向对象程序设计课程主要阐述面向对象技术程序设计的基本原理和基本技术,使学生深刻理解面向对象技术所带来的观念改革,掌握一种面向对象程序设计语言和面向对象设计的思维方式、规则与基本方法,了解面向对象程序设计技术的发展趋势。 第一~五章面向对象程序设计的理论 基础知识:

高级语言程序设计(下)实验编程题

函数编程题 (1)编写一个程序实现如下功能:编写两个函数,其功能分别为: ①求N个整数的最大值和次大值。 ②求两个整数的最大公约数和最小公倍数。主函数调用这两个函数(程序以文件名sy6_7.c存盘)。 #include #define N 10 void max(int b[],int n) //求最大数和次大数 {int i,max,max2; max=max2=b[0]; for(i=1;i

程序设计考试题目

函数定义练习(按题目编写函数,注意参数的个数和类型,返回植类型) 1 编写函数求3!+6!+9!+12!+15!+18!+21!。 2 编写函数求两个整数的最大公约数(辗转相除法/穷举法) 3 编写函数输出给定整数的所有因子之积(包括自身)。 4 编写函数求x到y之间的奇数和(包括x和y)。 5 编写函数函数fun判断一个三位数是否"水仙花数"。 6 编写函数fun求任一整数m的n次方。 7 编写函数求1到100之间的偶数之积。 8 编写函数打印所示图形。 * *** ***** ******* ***** *** * 示例代码: Fun(int i) { for(m=-i;m<=i;m++) { for(n=0;n

C++语言程序设计练习题

C++面向对象程序设计练习题 一、选择题 1、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是____。 A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 2、在C++中,数据封装要解决的问题是_____。 A、数据的规范化 B、防止不同模块之间数据的非法访问 C、避免数据丢失 D、便于数据转换 3、下面对析构函数的正确描述是_______。 A、析构函数没有参数 B、析构函数必须由用户定义 C、系统不能提供默认的析构函数 D、析构函数可以设置默认参数 4、关于成员函数特征的下列描述中,_________是错误的。 A、成员函数可以是静态的 B、成员函数可以重载 C、成员函数一定是内联函数 D、成员函数可以设置缺省参数值 5、关于继承的描述中,________是正确的。 A、析构函数不能被继承 B、派生类是基类的子集 C、子类型关系是可逆的 D、派生类是基类的子类型 6、下面函数原型声明中,_______声明了fun为虚函数 A、void fun( )=0; B、virtual void fun( ); C、virtual void fun( )=0; D、virtual void fun( ){}; 7、下列静态数据成员的特性中,_________是错误的。 A、静态数据成员不是所有对象所共用的 B、说明静态数据成员时前边要加修饰符static C、静态数据成员要在类体外进行初始化 D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符 8、声明一个类的对象时,系统自动调用_________函数,撤消对象时,系统自动调用_________函数。 ①普通函数;②纯虚函数;③析构函数;④成员函数;⑤构造函数⑥New函数 A、③① B、④② C、⑥③ D、⑤③ 9、关于delete运算符的下列描述中,_________是错误的。

实验三 函数程序设计

实验三函数程序设计 实验目的 (1)理解函数的概念,区分系统函数和用户自定义函数的使用方法,包括:1)函数定义 2)函数声明 3)函数调用 (2)掌握整型数据在函数间传递的方法。 实验内容 任务一:改错 1.打开程序文件error1-6.cpp。 void main() { printstar; sayHello(void); printstar; } printStar(void) {printf(“*******”); } void sayHello(void) {printf(“hello world!”); } 2.程序的功能是输出三行文本,请根据VC++6的compile和link错误信息改正错误,并给出运行结果。输出格式如下所示: ******* hello world! ******* 任务二:改错 1.打开程序文件error05-1.cpp。 #include int main(void)

{ int n; double f; printf(“Input n:”); scanf(“%d”,&n); f=fact(m); //设置调试断点 printf(“%d!=%f\n”,n,f); return 0; //设置调试断点 } double fact(m) {int i; double product; for(i=1;i<=m;i++) product= product*i; return 0; //设置调试断点 } 2. 程序的功能是调用fact(n) 函数,计算n!。 1)请根据VC++6的compile和link错误信息改正语法错误 (提示:截一个错误信息,对应一个正确语句) 2)请按注释要求设置3个调试断点,纠正程序逻辑错误,使其能正确输出n!。 3)设计2个测试用例测试程序,并给出运行结果。 任务三画简图ex01_04.cpp 打开sample01_03.cpp,增加画小房子和小男孩的函数定义,并在main函数中调用输出。/*画小女孩sample01_03.cpp*/ #include /* Function prototypes */ void draw_circle(void); /* Draws a circle */ void draw_intersect(void); /* Draws intersecting lines */ void draw_base(void); /* Draws a base line */ void draw_triangle(void); /* Draws a triangle */ void draw_parallel(void); /* Draw a parallel*/ void draw_girl(void); /* Draw a girl*/ int main(void)

相关文档