高等学校计算机专业面向项目实践规划教材C++程序设计案例实践教程/朱林
- ISBN:9787302512653
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:379
- 出版时间:2017-02-01
- 条形码:9787302512653 ; 978-7-302-51265-3
本书特色
1.本书内容广泛、案例丰富,其中的例题、习题及实践案例都来源于一线教学。2.内容由浅入深地向前推进。3.本书每个知识点精讲后都给出了相应的任务实践,给出技能训练要点和任务实现,这些代码不仅能够与理论知识点无缝对接,而且短小精炼,方便读者自行尝试完成。 下载课件、获取课件密码、各种资源包以及人工客服,请关注清华社官方微信服务号qhdxcbs_js,一站式帮您解决各种图书问题。
内容简介
本书写作的出发点是让C++能真正做好数据结构的基础,打算从应用开发和数据存储的角度来写,贯穿全书打算安排两条线,一是应用线:拿一个管理系统的开发贯穿全书,先从提示页面的显示再到增删改查各功能的实现,先在DOS窗口下显示功能及操作,很后再拿MFC美化界面。二是数据存储线:先讲变量如何在内存中存储,再讲数组在内存中的存储,在此处讲清楚物理相邻的存储结构(数组)有什么缺点,从而过度到与指针结合的逻辑相邻的存储结构---链表,讲解链表如何能解决操作数组时存在的缺点,然后在输入输出流中讲数据存放在文件中该如何操作,对比与数据存放在内存中(数组、链表)的不同,然后讲清楚文件存储是一种很初的数据仓库模型,从而引入简单的Access数据库的用法(在很后MFC美化界面时加入),为学生学习以后的数据库知识打下基础。
目录
节选
第3章 函 数 3.1 本章简介 函数是C++程序的构成基础。C++程序都是由一个个函数组成的,即便是*简单的程序,也有一个main()函数。一个C++程序无论多么复杂,规模有多么大,*终都落实到每个函数的设计和编写上。 在C++中,函数是构成程序的基本模块,每个函数具有相对独立的功能。C++的函数有三种:主函数(即main()函数)、C++提供的库函数和用户自己定义的函数。合理地编写用户自定义函数,可以简化程序模块的结构,便于阅读和调试,是结构化程序设计方法的主要内容之一。本章主要讲解函数的定义和使用、变量的作用域和存储类别、编译预处理指令等方面的内容。 3.2 本章知识目标 (1)掌握C++函数的定义方法和调用方法,了解函数中形参、实参、返回值的概念,熟悉函数调用时参数间数据传递的过程。 (2)掌握函数的嵌套调用,根据函数的嵌套调用掌握递归算法的本质与编程方法。 (3)了解重载函数、内联函数、带默认值的函数的作用与用法。 (4)了解变量的作用域和生存期的相关知识,熟悉局部变量、全局变量的概念和用法;了解变量的四种存储类别(自动、静态、寄存器、外部)。 (5)掌握数组作为函数参数的编程方法,进一步了解其参数传递的本质。 (6)了解编译预处理指令的种类和用法。 3.3 函数定义 3.3.1 函数定义格式 函数与变量一样,需要先定义,后使用。函数可以分为无参函数和有参函数两类。 1.无参函数 定义无参函数的一般格式为: ( ) { … } //函数体定义 其中type为函数返回值的类型,它可以是标准数据类型或导出的数据类型。函数名必须符合标识符构成的规则。通常,函数名应能反映函数的功能。函数体由一系列语句组成,它定义了函数要完成的具体操作。函数体为空时,称这种函数为空函数。当函数定义在前调用在后且函数返回值为整型时,可省略函数的返回值类型;当函数没有返回值时,必须指定其类型为void。当函数仅完成某种固定操作时,可将函数定义为无参函数。例如: void print_title( ) { cout 该函数实现输出一行信息:“C++程序示例”。 2.有参函数 定义有参函数的一般格式为: ( 《 arg2, ...》) { … } //函数体定义 其中,在函数名后的括号中给出的参数列表要依次列出参数的类型和参数的名字(形式参数变量名),每一个参数之间用逗号隔开。例如,求两个整数中的大数,可将函数定义为: int max(int x, int y) {return ( x > y ?x : y); } 3.3.2 函数的形参、实参和返回值 1.函数的形参和实参 在定义函数时,函数名后的圆括号中所列举的参数,称为形式参数(简称为形参)。一个函数所定义的全部形式参数称为形参表。C++对于有参函数的定义并没有限制形参的个数。例如,定义一个带有三个形参的函数f: float f(float x, float y, int m) { … } //函数体 其中,x、y、m即为形式参数。 在形参表中列举的每一个参数,都必须依次说明参数的类型和参数的名字,对于同类型的参数也要分别说明其类型。如上面定义的函数中的x和y均为实型,不能写成以下形式: float f(float x, y, int m) //错误 { … } 函数调用时在函数名后圆括号中依次列出的参数称为实际参数(简称为实参),列举的所有实参称为实参表。实参通常可以是一个值也可以是一个可以求出值的表达式,函数调用时将值传递给对应的形参。在实参表中,每一个实参的类型必须与对应形式参数的类型相匹配(或相兼容)。通常,要求实参在类型和个数上要与形参一一对应。有一种特殊情况可以使得实参个数不唯一,即具有默认值的函数。 2.函数的返回值 函数调用时,将实参值赋给形参后,立即执行函数体,一直执行到return语句或执行完函数体的*后一个语句时,结束函数执行。函数执行完后,函数可以不返回任何值,也可以返回一个值给调用者。函数是否需要返回值由函数自身的功能决定,比如一个用来求值的函数,如果编程者只想让值输出给用户看,则可以在被调函数中写一个输出语句将该值输出就行了,没必要将它返回给主调函数;而如果被调函数求出的值需要在主调函数中被用到,则一定要写一个返回值将其返回到主调函数中。 当函数要返回一个值时,在函数体中须使用return语句来返回函数计算出的值。可以在函数体内每一个结束函数执行的出口处设计一个return 语句(较为典型的比如分支语句),因此,一个函数体中可以有多个return 语句。return 语句的一般格式为: return ; 在函数调用期间,当执行到该语句时,首先求出表达式的值,并将该值的类型转换成函数定义时所规定的返回值类型后,返回到主调函数相应的地方继续执行。 3.4 函数调用 在C++的源程序中,除main函数外,任一函数均不能单独构成一个完整的程序,因为main函数是程序执行的入口点,所以自定义函数的执行都是通过main函数直接或间接的调用来实现的。调用一个函数,就是把程序控制转去执行该函数的函数体,执行完以后再返回回来。数据流程是: (1)在主程序中,先给实参赋值。 (2)通过函数调用,将数据从主调函数传递到被调函数。 (3)被调函数的形参带值后,即可进行相应的数据处理和运算。 (4)如果有返回值,通过return语句带回到主调函数。 无参函数的函数调用语句一般格式为:( );。 有参函数的函数调用语句一般格式为:();。 当函数有返回值时,函数调用可以作为一个函数调用语句来实现,也可以出现在表达式中,把执行函数体后返回的值参与表达式的运算。对于没有返回值的函数,函数调用只能通过函数调用语句来实现。 例3-1 输入两个实数,求出其中的大数。设计一个函数max求出两个实数中的大数。 #include float max(float x, float y) //A { return ( x > y ?x : y); } void main( ) { float a,b; cout cin >>a>>b; cout } 程序中的B行调用函数max,并将该函数的返回值输出。将以上程序输入计算机,并经编译、连接,生成可执行程序。执行该程序并输入以下两个数: 6.7 9.2 则程序的输出为: 两个数中的大数为:9.2 图3-1给出了函数的调用及执行过程。当 执行B行中的函数调用时,控制转去执行A处的函数体,即执行max函数定义中的语句,当执行完函数后(执行到return语句或已到达函数定义中的结束符"}"),返回到main函数,接着计算表达式的值或执行函数调用语句后面的语句。 3.5 具有缺省参数值的函数 在定义函数时,可给函数的参数指定缺省值。调用函数时若给出了相应实参的值,则函数使用实参值;若没有给出相应的实参,则使用缺省值。这种函数称为具有缺省参数值的函数。下面用例子来说明具有缺省参数值函数的定义及调用。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0