C程序设计实训教程

节选

[

第5章函数5.1知识点梳理〖*4/5〗1. 函数的定义函数定义形式: 函数类型函数名(类型 形参1,类型 形参2,…) { 声明语句 可执行语句 }其中: (1) 函数类型是指函数返回值的数据类型。当函数的返回值为int型时,函数类型可以省略; (2) 函数名为合法标识符,命名规则要符合标识符规则,通常使用有意义的符号来表示; (3) 函数分为有参函数和无参函数两种形式。对于有参函数,在函数定义时必须分别定义所有形参的类型,形参与形参之间用逗号分隔。对于无参函数,即没有形参,但函数名后的括号()不能省略; (4) 函数体用一对大括号{}括起,主要包含声明语句和可执行语句。声明语句是对函数中使用的变量和被调函数的原型进行声明的语句,属非执行语句。可执行语句是执行该函数所有操作的语句序列。 2. 返回语句return return语句一般形式: return(表达式);或return 表达式;功能: 在函数中,当程序执行到return语句时,即可返回到调用该函数的主调函数,同时将计算结果(函数返回值)带回给主调函数。 执行过程: 先计算return语句后表达式的值,再将计算结果带回给调用它的主调函数,同时将程序执行的控制权交还给主调函数。 〖1〗〖3〗C程序设计实训教程(第2版)第5章函数〖3〗〖3〗3. 函数的调用 函数调用的一般形式: 函数名(实参表列)实参的作用就是把主调函数中的值传递给被调函数。其中实参表中实参的个数与顺序必须与被调函数中形参的个数与顺序相同,实参的数据类型也应与形参的数据类型一致。 函数调用的执行过程: ① 对于有参函数,先计算实参表中参数的值,然后一一对应地赋给相应的形参;对于无参函数,则不执行此操作; ② 执行被调函数中的语句,直到遇到return语句时,计算并带回return语句中的表达式值(无返回值的函数不计算),返回主调函数。如果被调函数中无return语句,则遇到函数体的右大括号}返回主调函数; ③ 继续执行主调函数中函数调用的后续语句。 函数调用的方式有3种: 函数调用语句方式、函数表达式方式和函数参数方式。 4. 函数的参数传递 在C程序中,当形参为简单变量时,则采用值传递方式。所谓值传递方式是指当执行到被调函数时,系统才为其形参变量分配存储空间,并将实参的值赋给形参对应的存储单元。由于形参变量和实参分配了不同的存储单元,形参的任何变化不会影响实参的值。当函数调用结束后,系统将收回为形参变量分配的存储空间。在值传递方式下,实参可以是变量、常量、表达式,主调函数中的实参存储位置与被调函数中的形参存储位置是互相独立的,被调函数中对形参的操作不影响主调函数中实参值,因此只能实现数据的单向传递,即在调用时将实参值传给对应形参。 当形参是指针变量或数组时,采用地址传递方式。地址传递方式是指在一个函数调用另一个函数时,并不是将主调函数中实参的值直接传递给被调函数中的形参,而是将实参的地址传递给形参,从而实参的存储地址与形参的存储地址是相同的。在这种传递方式下,被调函数在执行过程中,当需要存取形参值时,实际上是通过形参找到实参所在的地址后,直接存取实参地址中的值。因此,如果在被调函数中改变了形参的值,实际上也就改变了主调函数中实参的值。在地址传递方式下,实参可以是变量地址、指针变量或数组名,形参可以是指针变量或数组。 5. 函数的原型声明 在C程序中,若被调函数的定义是在其主调函数的定义之后,需要通过函数原型对被调函数进行声明,否则程序会出错。函数原型声明主要有以下两个作用: (1) 表明函数返回值的类型,使编译系统能正确地编译和返回数据; (2) 指示形参的类型和个数,供编译系统进行检查。 函数原型声明可采用以下两种形式之一: 形式1: 函数类型函数名(形参1类型,形参2类型,…); 形式2: 函数类型函数名(类型形参名1,类型形参名2,…); 函数原型一般放在程序的开头部分(在所有函数定义之前)或主调函数的说明部分。其中,函数类型、函数名、参数类型、参数个数、参数顺序应与函数定义中的一致。若被调函数定义在主调函数之前,可不做声明。 6. 函数的嵌套调用 C程序允许在一个函数调用另一个函数,而另一个函数又可调用其他函数,这种调用方式称为函数的嵌套调用。其关系如图5��1所示。图5��1函数的嵌套调用 图5��1表示了main函数调用a函数,a函数又调用了b函数的嵌套调用关系。这种嵌套调用关系的执行过程: 从main函数开始执行,当执行到main函数中调用a函数的语句时,即转去执行a函数,在a函数中执行到调用b 函数语句时,又转去执行b函数,b函数执行完毕后返回a函数的调用处继续执行,a函数执行完毕后返回main函数的调用处继续执行。 ……

]

本书特色

[

学习C语言*重要的是学会应用C语言编写程序,掌握编程的基本技能。本书从编程实践出发,以培养和提高编程能力为目标,是一本集C语言实践训练和课程综合训练为一体的实践教材。
作为与《C语言程序设计(第3版)》(ISBN 978��7��302��50771��0)配套的实训教材,本书共分11章,其中前10章各章主要由知识点梳理、案例应用与拓展、编程技能和实践训练四部分构成。知识点梳理部分简明扼要地归纳总结本章的基本概念和重要知识点;案例应用与拓展部分将本章知识的应用巧妙融入一个典型案例中,并将前后知识串连起来;编程技能部分按照编程学习的进程,逐步介绍程序错误分析、调试与测试等一些编程技能;实践训练则通过涉及C语言全部知识点的26组实训,巩固对各章重要知识的掌握和应用。本书*后一章为课程综合实训,通过规模更大的综合训练任务,可以更加系统全面地理解和掌握C程序设计的理论和知识,提高编程技能,培养分析和解决实际问题的能力。
本书编程环境全部采用VC2010,并详细介绍了该环境下程序的运行和调试方法。书中所有例题和练习题均在VC2010环境下调试通过。另外,在附录介绍了VS2012和Dev�睠 5.11编程环境的使用。

]

内容简介

[

学习C语言z重要的是学会应用C语言编写程序,掌握编程的基本技能。本书从编程实践出发,以培养和提高编程能力为目标,是一本集C语言实践训练和课程综合训练为一体的实践教材。 作为与《C语言程序设计(第3版)》(ISBN 978��7��302��50771��0)配套的实训教材,本书共分11章,其中前10章各章主要由知识点梳理、案例应用与拓展、编程技能和实践训练四部分构成。知识点梳理部分简明扼要地归纳总结本章的基本概念和重要知识点;案例应用与拓展部分将本章知识的应用巧妙融入一个典型案例中,并将前后知识串连起来;编程技能部分按照编程学习的进程,逐步介绍程序错误分析、调试与测试等一些编程技能;实践训练则通过涉及C语言全部知识点的26组实训,巩固对各章重要知识的掌握和应用。本书*后一章为课程综合实训,通过规模更大的综合训练任务,可以更加系统全面地理解和掌握C程序设计的理论和知识,提高编程技能,培养分析和解决实际问题的能力。 本书编程环境全部采用VC2010,并详细介绍了该环境下程序的运行和调试方法。书中所有例题和练习题均在VC2010环境下调试通过。另外,在附录介绍了VS2012和Dev�睠++5.11编程环境的使用。

]

目录

目 录 第1章C程序设计入门1 1.1知识点梳理1 1.2编程技能5 1.2.1VC2010的安装5 1.2.2VC2010环境程序开发步骤7 1.3实践训练11 实训1C程序的编程环境及使用方法11 实训2数据类型及数据转换18 实训3运算符和表达式21 练习125 第2章顺序结构程序设计28 2.1知识点梳理28 2.2编程技能32 2.2.1scanf函数使用32 2.2.2C语言错误分类33 2.3实践训练34 实训4顺序结构编程34 练习239 第3章选择结构程序设计40 3.1知识点梳理40 3.2案例应用与拓展——菜单的设计42 3.3编程技能45 3.3.1算法的设计45 3.3.2程序测试47 3.4实践训练51 实训5if语句的应用51 实训6多路选择及switch语句的应用55 练习359 第4章循环结构程序设计60 4.1知识点梳理60 4.2案例应用与拓展——循环使用菜单62 4.3编程技能65 4.3.1程序的查错和排错65 4.3.2程序的单步调试法66 4.4实践训练68 实训7循环语句及应用68 实训8循环嵌套及break和continue语句72 实训9循环结构的综合应用75 练习478 〖1〗〖3〗C程序设计实训教程(第2版)目录〖3〗〖3〗第5章函数81 5.1知识点梳理81 5.2案例应用与拓展——模块化编程84 5.3编程技能86 5.3.1模块化程序设计86 5.3.2VC2010环境中的函数调用栈分析89 5.4实践训练91 实训10函数的定义与调用91 实训11函数的嵌套调用和递归调用95 练习5100 第6章数组103 6.1知识点梳理103 6.2案例应用与拓展——应用数组处理数据106 6.3编程技能110 6.3.1输入输出的机理110 6.3.2数组的调试和结构化调试115 6.4实践训练121 实训12一维数组的应用121 实训13二维数组的应用124 实训14字符数组的应用128 实训15数组的综合应用132 练习6134 第7章指针138 7.1知识点梳理138 7.2案例应用与拓展——应用指针处理数据142 7.3编程技能145 7.3.1指针的算法设计与调试145 7.3.2指针常见错误152 7.4实践训练154 实训16指向变量的指针154 实训17指针与一维数组158 实训18指向字符串的指针164 实训19指针与多维数组169 实训20复杂指针176 练习7181 第8章结构体与共用体186 8.1知识点梳理186 8.2案例应用与拓展——应用结构体处理数据189 8.3编程技能193 8.4实践训练202 实训21结构体的定义与引用202 实训22结构体的综合应用207 练习8208 第9章动态数组与链表212 9.1知识点梳理212 9.2案例应用与拓展——应用链表处理数据213 9.3编程技能218 9.3.1动态内存分配218 9.3.2链表相关操作与调试222 9.4实践训练227 实训23动态数组及链表的创建227 实训24链表的主要操作232 练习9236 第10章文件238 10.1知识点梳理238 10.2案例应用与拓展——应用文件保存数据241 10.3编程技能246 10.3.1文件包含246 10.3.2VC2010环境下的多文件管理247 10.4实践训练249 实训25文件的基本操作249 实训26文件的综合应用254 练习10255 第11章课程综合实训256 11.1课程综合实训目的和准备256 11.1.1实训目的256 11.1.2实训准备256 11.2课程综合实训案例及开发过程257 11.2.1案例任务要求257 11.2.2任务分析258 11.2.3总体设计258 11.2.4详细设计259 11.2.5程序编码265 11.2.6调试程序275 11.2.7程序测试276 11.2.8撰写实训报告280 11.3课程综合实训任务281 任务1万年历281 任务2文件加密、解密281 任务3字符串处理282 任务4进制转换283 任务5速算24点283 任务6龟兔赛跑284 任务7电子英汉词典284 任务8校运会比赛计分系统285 附录AVS2012的安装与使用287 附录BDev�睠++ 5.11的安装与使用295 参考文献300

封面

C程序设计实训教程

书名:C程序设计实训教程

作者:向艳主编

页数:299页

定价:¥49.0

出版社:清华大学出版社

出版日期:2019-09-01

ISBN:9787302533757

PDF电子书大小:74MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注