内容介绍

本书是“十二五”普通高等教育本科***规划教材和哈尔滨工业大学国家精品课程教材。全书共10章,内容包括:程序设计ABC,数据类型、运算符与表达式,键盘输入与屏幕输出,程序的控制结构,函数,数组,指针,结构体与共用体,文件操作,C程序设计常见错误及解决方案等。本书注重教材的可读性和可用性,每章开头有内容关键词和难点提示;每章结尾安排本章小结,给出了该章常见编程错误提示;典型例题一题多解,由浅入深,强化知识点、算法、编程方法与技巧;还将程序测试、程序调试与排错、软件的健壮性和代码风格、结构化与模块化程序设计方法等软件工程知识融入其中;配套教材《C语言大学实用教程学习指导(第4版)》包括习题解答、上机实验指导、案例分析三部分,案例分析中给出了错误案例与趣味经典实例分析;为任课教师免费提供电子课件及全部例题和习题源代码。本书是一本充满趣味性和实用性的大学C语言教材,适合作为大学各专业公共课教材、ACM程序设计大赛培训教材和全国计算机等级考试参考书。

目录

目 录

第1章 程序设计ABC (1)

1.1 计算机与人 (1)

1.2 计算机与程序设计语言 (3)

1.3 程序设计语言的故事 (5)

1.4 C语言的故事 (7)

1.5 程序设计语言的工作原理 (11)

1.5.1 运行 (11)

1.5.2 内存 (12)

1.6 本章小结 (12)

习题1 (13)

第2章 数据类型、运算符与表达式 (14)

2.1 一个简单的C程序例子 (14)

2.2 C程序常见符号分类 (16)

2.3 数据类型 (17)

2.3.1 为什么引入数据类型 (17)

2.3.2 从基本数据类型到抽象数据类型 (18)

2.3.3 类型修饰符 (19)

2.3.4 标识符命名 (20)

2.4 常量 (21)

2.4.1 整型常量 (21)

2.4.2 实型常量 (21)

2.4.3 字符常量 (22)

2.4.4 字符串常量 (23)

2.4.5 宏常量 (23)

2.4.6 枚举常量 (24)

2.5 变量 (25)

2.5.1 变量的定义与初始化 (25)

2.5.2 const类型修饰符 (26)

2.5.3 使用变量时的注意事项 (26)

2.6 常用运算符及表达式 (33)

2.6.1 运算符的优先级与结合性 (33)

2.6.2 算术运算符 (33)

2.6.3 关系运算符 (35)

2.6.4 逻辑运算符 (36)

2.6.5 赋值运算符 (38)

2.6.6 增1和减1运算符 (39)

2.6.7 类型强制转换运算符 (40)

2.6.8 位运算符 (41)

2.6.9 逗号运算符 (43)

2.7 赋值和表达式中的类型转换 (43)

2.8 本章小结 (45)

习题2 (45)

第3章 键盘输入与屏幕输出 (47)

3.1 C语句分类 (47)

3.2 表达式语句 (47)

3.3 复合语句和空语句 (48)

3.4 基本的输入/输出操作 (49)

3.4.1 字符输入/输出 (49)

3.4.2 格式输入/输出 (51)

*3.4.3 使用函数Scane()时需要注意的问题 (57)

3.5 本章小结 (64)

习题3 (65)

第4章 程序的控制结构 (68)

4.1 算法及其描述方法 (68)

4.1.1 算法的概念 (68)

4.1.2 算法的描述方法 (69)

4.2 顺序结构 (71)

4.2.1 顺序结构的流程图表示 (71)

4.2.2 应用程序举例 (72)

4.3 选择结构 (75)

4.3.1 应用场合 (75)

4.3.2 选择结构的流程图表示 (75)

4.3.3 条件语句 (76)

4.3.4 开关语句 (84)

4.4 循环结构 (88)

4.4.1 应用场合 (88)

4.4.2 循环结构的流程图表示 (89)

4.4.3 循环语句 (89)

4.4.4 单重循环程序实例 (91)

4.4.5 嵌套循环及其程序实例 (104)

4.5 流程转移控制语句 (108)

4.5.1 goto语句 (108)

4.5.2 break与continue语句 (108)

4.5.3 程序实例 (110)

*4.6 程序调试与排错 (115)

4.6.1 程序中常见的出错原因 (115)

4.6.2 程序调试与排错的基本方法 (117)

4.6.3 使用getchar()需要注意的问题 (118)

*4.7 结构化程序设计方法简介 (124)

4.7.1 关于goto论战 (124)

4.7.2 结构化程序设计的核心思想 (125)

4.7.3 “自顶向下、逐步求精”的程序设计方法 (126)

4.8 本章小结 (129)

习题4 (130)

第5章 函数 (139)

5.1 程序设计的艺术 (139)

5.2 函数的定义与使用 (140)

5.2.1 函数的分类 (140)

5.2.2 函数的定义 (141)

5.2.3 函数的调用、参数传递和返回值 (142)

5.2.4 函数原型 (143)

5.2.5 主函数main()的特殊性 (144)

5.3 变量的作用域和存储类型 (145)

5.3.1 变量的作用域 (145)

5.3.2 全局变量 (147)

5.3.3 变量的存储类型 (148)

5.4 函数封装 (150)

5.5 预处理指令 (151)

5.5.1 #include (151)

5.5.2 #define和#undef (152)

5.5.3 条件编译 (153)

5.6 使用assert()查错 (154)

5.7 模块和链接 (155)

*5.8 模块化程序设计方法简介 (158)

5.8.1 模块划分的原则 (158)

5.8.2 应用实例——“猜数”游戏 (159)

*5.9 递归 (161)

5.9.1 递归问题的提出 (161)

5.9.2 递归函数 (162)

5.10 本章小结 (166)

习题5 (166)

第6章 数组 (171)

6.1 数组类型的应用场合 (171)

6.2 数组的定义、引用和初始化 (171)

6.2.1 数组的定义 (171)

6.2.2 数组的引用 (173)

6.2.3 数组的初始化 (174)

6.2.4 程序实例 (175)

6.3 向函数传递一维数组 (181)

6.4 向函数传递二维数组 (192)

6.5 字符数组 (196)

6.5.1 字符数组与字符串的关系 (196)

6.5.2 字符数组的输入/输出 (198)

6.5.3 字符串处理函数 (199)

6.5.4 应用实例 (200)

6.6 本章小结 (202)

习题6 (203)

第7章 指针 (209)

7.1 指针概述 (209)

7.1.1 指针的概念 (209)

7.1.2 为什么引入指针的概念 (211)

7.1.3 指针变量作函数参数 (213)

7.1.4 字符指针作为函数参数 (222)

7.2 指针和数组间的关系 (226)

7.2.1 一维数组的地址和指针 (227)

7.2.2 二维数组的地址和指针 (234)

7.3 指针数组 (239)

*7.4 函数指针 (243)

*7.5 带参数的main()函数 (249)

*7.6 动态数组的实现 (250)

7.6.1 C程序的内存映像 (250)

7.6.2 动态内存分配函数 (251)

7.6.3 一维动态数组的实现 (253)

7.6.4 二维动态数组的实现 (254)

*7.7 使用const修饰指针变量 (256)

*7.8 代码风格 (257)

7.8.1 程序版式 (257)

7.8.2 命名规则 (260)

7.8.3 函数设计 (260)

7.8.4 防御性程序设计 (261)

7.9 本章小结 (262)

习题7 (263)

第8章 结构体与共用体 (269)

8.1 结构体的应用场合 (269)

8.2 结构体类型与结构体变量 (271)

8.2.1 结构体类型的声明 (271)

8.2.2 用typedef定义结构体类型 (271)

8.2.3 结构体变量的定义 (272)

8.2.4 指向结构体变量的指针 (274)

8.2.5 结构体变量的引用和初始化 (275)

8.3 结构体数组 (277)

8.3.1 结构体数组的定义 (277)

8.3.2 结构体数组程序实例 (278)

8.3.3 指向结构体数组的指针 (281)

8.4 向函数传递结构体 (282)

*8.5 动态数据结构 (284)

8.5.1 问题的提出 (284)

8.5.2 链表的定义 (285)

8.5.3 链表的特点及操作原理 (286)

8.5.4 链表的建立 (287)

8.5.5 链表的删除操作 (289)

8.5.6 链表的插入操作 (290)

8.6 共用体 (293)

8.7 本章小结 (295)

习题8 (295)

第9章 文件操作 (299)

9.1 计算机中的流 (299)

9.2 文件 (300)

9.2.1 存储设备的使用 (300)

9.2.2 目录 (300)

9.2.3 文件格式 (301)

9.3 基本文件操作 (302)

9.3.1 基本文件操作函数 (302)

9.3.2 错误处理 (305)

9.3.3 程序示例 (306)

9.3.4 基本文件操作的意义 (311)

9.4 高级文件操作 (312)

9.4.1 文件的打开与关闭 (312)

9.4.2 文件的读/写 (312)

9.4.3 程序实例 (314)

9.4.4 标准输入与标准输出 (315)

9.5 本章小结 (316)

习题9 (317)

第10章 C程序设计常见错误及解决方案 (318)

附录A 常用基本概念、名词、语句、运算符、数据类型和算法索引表 (331)

附录B C关键字 (337)

附录C Visual C 下各数据类型所占字节数和取值范围 (338)

附录D C运算符的优先级与结合性 (339)

附录E ASCII码的字符编码 (340)

附录F ASCII码和ASCII扩展码字符表 (341)

附录G 常用的ANSI C标准库函数 (342)

参考文献 (348)

c语言实用教程第四版pdf,C语言大学实用教程(第4版)相关推荐

  1. c语言与程序设计曹计昌pdf,C语言与程序设计

    本书是华中科技大学"C语言程序设计"精品课的主教材.本书力图完整.全面.清楚地介绍C语言的基本语法和语义,同时通过对一些精心提炼的算法实例进行分析和编程设计,培养学生算法设计.程序 ...

  2. 哈工大c语言第四版pdf,C语言程序设计_哈工大(4):指针数组.pdf

    圳 职 业 技 术 学 院Shenzhen Polytechnic 七单元(4):指针数组 教学内容 指针数组及指针数组作main 函数的形式参数 教学目标 应知 指针数组的定义.引用,main 函数 ...

  3. ubuntu linux 教程 pdf,Ubuntu 12.04 菜鸟完全使用教程(四) PDF

    Linux公社已经在先前发布Suruibin 同学制作的 Ubuntu 12.04 菜鸟使用手册一到三系列教程,看来 Suruibin 同学是要将这套教程进行到底了!Ubuntu 12.04 菜鸟使用 ...

  4. 医学统计学计算机操作教程第3版pdf,医学统计学 八年制 第3版pdf,9787117205047

    内容简介 <医学统计学(第3版 供8年制及7年制"5+3"一体化临床医学等专业用)>所属的本套教材坚持精品战略,质量原则,从精英教育的特点.医学模式的转变.信息社会的发 ...

  5. c语言高级程序设计第五版PDF,C语言高级编程.pdf

    C语言高级编程 概述 由几个测试程序说开去 预编译与宏 高级预编译介绍 宏的高级用法 变量 变量分类详细解析 我的变量去哪儿了? 大小端对变量的影响 内存与指针 常见内存使用错误大观 指针,又是指针! ...

  6. c语言程序 输入一个四位数,用c语言编程:输入一个四位数,求出它的个位、十位、百位、千位...

    满意答案 QQ89748770 推荐于 2018.02.26 采纳率:45%    等级:13 已帮助:7318人 C代码:--------------------- int a; scanf(&qu ...

  7. c#入门经典第8版 pdf百度云_C#入门经典 第6版 高清 电子书 下载 pdf [(美)沃森等著][清华大学出版社] sample...

    Tech By APP开发 联系我们:  手机版 本站仅提供盘多多如风搜和盘搜搜以及小说网笔趣阁的资源搜索服务,不存放任何实质内容.如有侵权内容请联系百度云盘或新浪微盘,源资源删除后本站的链接将自动失 ...

  8. python基础教程(第3版) pdf,python手册中文版第四版

    求<Python学习手册>(第四版)中文版pdf,万分感谢! <[3]学习视频>百度网盘资源免费下载链接提取码:m6tm[3]学习视频|python视频教程|Python入门基 ...

  9. python基础教程第四版-python基础教程第4版pdf

    python基础教程第4版pdf内容摘要 第二.针对青少年人群的计算机python视频教程.青少年的特点就是有个性.复杂多变.没有耐心.如果他们浏览一个计算机的时候,打开的比较慢,或者是计算机的课程凌 ...

  10. java程序设计p75_java语言程序设计实用教程第四讲控制结构.ppt

    java语言程序设计实用教程第四讲控制结构.ppt 还剩 29页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ...

最新文章

  1. Android新手之旅(10) 嵌套布局
  2. Asp.NET获取文件及其路径
  3. python百钱买百鸡-百钱买百鸡的Python实现
  4. 上传文件页面回显_数据回显、删除以及excel导出
  5. FileUploadUtil
  6. 穷不过三代,囧不过三个公司——程序员如何通过努力让自己看上去很光鲜
  7. 28 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义行标识
  8. javascript 调用C++函数
  9. java发送post请求json格式_go语言web开发框架学习系列二:Get、Post、Put等请求及数据返回格式...
  10. Linux基本命令之seq
  11. 高效办公之远程电脑控制:再也不用带着厚重笔记本
  12. 群晖挂载阿里网盘通过 cloud sync 实现加密备份
  13. Android 4.1新特性
  14. [文献阅读]Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding
  15. 关于阿里云服务器安全组规则
  16. 噩梦射手 安装包资源包提供下载 Unity官方教程 Survival Shooter 资源已经失效了!? Unity3D休闲射击类游戏《Survival Shooter》完整源码
  17. TIDB集群搭建-流水线
  18. 我在华为的十年(转华为徐家骏)
  19. 关于IOS中uni.downloadFile下载的图片显示不出来的解决方法
  20. 默哀这一刻 我们的心紧紧相连

热门文章

  1. tcpip路由技术卷一_学网络拿高薪!「纯干货」IELAB路由技术问题总结1
  2. Java日常·面对对象
  3. GitHub 向别人的仓库贡献代码
  4. 八款你不得不知的开源前端JS框架
  5. NEU 1683: H-Index
  6. 性能测试常用的linux命令
  7. Foursquare 8.0 :聪明人给互联网公司上的流量转化课
  8. SSIS 抽取Excel每个sheet页的数据
  9. 关于interface
  10. vue怎么使用eval_javascript - 在方法内部的Vue2中使用eval()可以工作,但不能同时工作 - 堆栈内存溢出...