C程序设计高级教程
2013-1
北京航空航天大学出版社
周立功
无
《高等院校电类专业新概念教材•卓越工程师教育丛书:C程序设计高级教程》除了介绍C语言的基础知识之外,还重点讲解软件开发过程中常用的数据结构和算法,以及代码重构、软件分层、模块的接口与实现等软件工程方法。《高等院校电类专业新概念教材•卓越工程师教育丛书:C程序设计高级教程》内容分为3个部分:第一部分为第1~4章,主要介绍C语言的基础知识;第二部分为第5~10章,深入讲解数组、结构体、指针和函数及其各种习惯用法;第三部分为第11章,介绍第1~10章各种知识的综合应用。可作为高等院校本科、高职高专电子信息工程、自动化、机电一体化及计算机专业的教材,也可作为电子及计算机爱好者的自学用书,还可以作为软件开发工程技术人员的参考书。
第1章程序设计基础 1.1提前引用的概念 1.2第一个C语言程序 1.2.1HelloWorld 1.2.2将C语言程序变成可执行程序 1.3基本数据类型 1.3.1数据类型 1.3.2整型数据 1.3.3浮点型数据 1.4常量与变量 1.4.1常量的类型 1.4.2保留字与标识符 1.4.3变量的三要素 1.4.4变量的类型转换 1.4.5只读变量与易变变量 1.4.6声明类型的别名(typedef) 1.5指针 1.5.1变量的地址与指针变量 1.5.2指针类变量类型转换 1.5.3指向指针变量的指针 1.6深入理解C语言的变量 1.6.1计算机的存储结构 1.6.2变量的存储 1.7运算符 1.7.1操作数 1.7.2分类 1.7.3运算符优先级与结合性 1.8表达式 1.8.1表达式的类型 1.8.2表达式的左值与右值 1.8.3表达式的副作用 1.8.4表达式分类 1.8.5表达式的类型转换 1.9算术运算符和算术表达式 1.9.1算术运算符 1.9.2位操作运算符与位操作算术表达式 1.10赋值运算符和赋值表达式 1.10.1赋值运算符 1.10.2赋值过程中的类型转换 1.11再论指针 1.11.1指针运算符与指针表达式 1.11.2只读指针与可变指针 1.11.3空指针与未初始化的指针 1.11.4void类型指针 1.12数据的输入与输出 1.12.1C语句的分类 1.12.2标准输入/输出模型 1.12.3格式化输出 1.12.4格式化输入 1.13字符的输入与输出 1.31.1输出一个字符 1.13.2输入一个字符 第2章简单函数 2.1函数的定义与声明 2.1.1函数的定义 2.1.2函数的声明 2.2函数的调用 2.2.1函数的调用形式 2.2.2传值调用时的数据传递 2.2.3传址调用时的数据传递 2.2.4数据传递的深度思考 2.3函数的返回值 2.3.1函数返回数值 2.3.2函数返回地址 2.4函数参数与内部实现规则 2.4.1参数类型的检查 2.4.2用const修饰函数的参数 2.4.3函数内部实现的规则 2.5栈与函数 2.5.1栈的概念 2.5.2栈的基本操作 2.5.3函数的调用与返回 2.6库函数与标准库函数 第3章选择结构程序设计 3.1关系运算符与关系表达式 3.2用if语句实现选择结构 3.2.1if语句 3.2.2if-else语句及其嵌套 3.3逻辑表达式与条件表达式 3.3.1逻辑运算符与逻辑表达式 3.3.2条件运算符与条件表达式 3.4多分支选择结构 3.4.1switch语句详解 3.4.2break语句 3.4.3switch语句嵌套 3.4.4使用建议 第4章循环结构程序设计 4.1while与do-while循环 4.1.1循环控制的需要 4.1.2用while语句实现循环 4.1.3用do-while实现循环 4.1.4while和do-while循环中的break与continue 4.2for循环 4.2.1用for语句实现循环 4.2.2for循环中的break与continue 4.2.3for与while的区别 4.3循环语句的嵌套 4.3.1与分支语句嵌套 4.3.2多重循环 第5章深入理解指针 5.1一维数组与指针 5.1.1数组类型的建立 5.1.2一维数组变量的定义与初始化 5.1.3数组变量元素的访问 5.1.4指针的算术运算 5.1.5用数组变量名作为函数参数 5.1.6指向数组变量的指针 5.2字符数组与指针 5.2.1字符串与字符数组 5.2.2指向字符串的指针及字符串的运算 5.2.3聚焦字符串——存值与存址 5.2.4字符串的输入与输出 5.2.5常用字符串处理函数 5.2.6任意精度算术 5.3结构体与指针 5.3.1结构体类型的建立 5.3.2结构体类型变量的定义 5.3.3结构体变量的初始化与引用 5.3.4指向结构体变量的指针 5.3.5构造类型成员与指针类型成员 5.4结构体数组与指针 5.4.1结构体数组的定义 5.4.2结构体数组变量的初始化与引用 5.4.3指向结构体数组元素的指针 5.5枚举与指针 5.5.1枚举与int 5.5.2枚举类型的定义 5.5.3枚举变量的定义 5.5.4枚举变量的使用与初始化 5.5.5指向枚举变量的指针 5.5.6枚举数组与指针 第6章变量与函数 6.1声明与定义 6.2作用域与可见性 6.2.1作用域 6.2.2可见性 6.3变量的作用域与可见性 6.3.1全局变量 6.3.2局部变量 6.3.3变量可见范围的覆盖 6.4变量的存储方式与生存期 6.4.1动态存储方式与静态存储方式 6.4.2存储方式与生存期的关系 6.5函数的作用域与可见性 6.5.1内部函数 6.5.2外部函数 第7章深入理解函数 7.1函数指针 7.1.1函数指针变量的定义与初始化 7.1.2通过函数指针调用函数 7.1.3用函数指针作为函数的返回值 7.2软件分层技术 7.2.1分层设计原则 7.2.2带有回调的双向数据传递 7.2.3注册回调机制 7.3函数的嵌套调用与递归调用 7.3.1函数的嵌套调用与堆栈 7.3.2函数的递归调用与堆栈 第8章深入理解数组与指针 第9章深入理解结构与指针 第10章流与文件 第11章创建可重用软件模块的技术 参考文献
版权页: 插图: 2.程序计数器(PC) 由于计算机能自动连续地完成程序,因此计算机需要“知道”程序实际执行的地址,于是在计算机内部设计了一个叫PC的计数器,用于存储程序当前执行的位置。由于程序保存在存储器中,而存储器是由多个存储单元所组成的,因此当前计算机的PC值就是存储单元的地址。但在现代的计算机中,PC一般具有独立的存储空间,未包含在存储器中。一般将这些不包含在存储器中,而又能保存数据的存储器叫做“寄存器”,因此PC就是一个寄存器,全称为程序计数器。 3.堆栈指针 由于“堆”比较复杂,因此计算机通过软件来实现,在C语言中,一般用它来实现动态内存分配。而栈(后入先出)则很简单,只需要一个指针即可操作,很容易用硬件来实现,所以绝大多数计算机硬件都直接支持这种数据结构。针对栈区,其使用的指针叫SP(全称堆栈指针)。SP一般未包含在的存储器中,它是一个寄存器。在C语言中,栈用于保存函数的返回地址与函数的局部变量。 1.6.2变量的存储 计算机中的任何信息都是数,当用不同方式来解释数时,数的意义不同。比如,在一般的32位计算机中,假设用指令来解释0xffffffff,则很可能未定义;当用无符号整数来解释时,则这个数就是4294967295;当用有符号整数来解释时,则是—1;当用浮点数来解释时,则可能又是非法数据了。其实,存储器仅仅是一个存储数据的“仓库”,它并不知道自己保存的数的意义。它甚至不关心货物(数据)的尺寸,程序必须将数据拆分为存储器指定的尺寸,因此本小节将根据变量的大小来说明C语言变量的存储。
《高等院校电类专业新概念教材•卓越工程师教育丛书:C程序设计高级教程》由三部分组成,即基础篇、提高篇和综合篇,其中基础篇与提高篇是必修的内容。虽然综合篇的内容有一定难度,但对于学生来说,应该记住:学从难处学,用从易处用。实际上,程序设计课程不是听会的,也不是看会的,而是练会的,是在充分上机动手编程的过程中逐步学会的,因此,只要将基础篇与提高篇中的示例全部经过上机调试,则学习综合篇也就很容易了。综合篇的特点是融合了前面所学的基础知识,重在提高学生的程序设计能力。建议综合篇的学习以上机练习为主、教师精讲为辅。
无
我们学校老师推荐的书,里面很大地从内存的角度来写的各种事情,比较深入的一本C语言书
相当满意,帮别人买的说不错
还行吧,应该是一本不错的书。
还没有开始阅读,所以书的内容质量不清楚。字迹很清楚,看起来很舒服。快递送货也很快。
与市面上书籍大同小异,ZLG是生意人,现在搞得像学校学霸,职员写的东东都变成你给他的了。