| 作者 |
| 沈涵飞 |
| 丛书名 |
| 出版社 |
| 机械工业出版社* |
| ISBN |
| 9787111602309 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书图文并茂,示例丰富,对C语言的基础知识进行了彻底剖析,内容涉及输入输出、流程控制、数组、函数、指针、文件操作等。对难以理解的概念,均精心绘制示意图,进行清晰、通俗地讲解。本书首次将在线评测系统引入C语言教学,建立了适合初学者的阶梯式题库(http://oj.csoeasy.com/),让学生在评测过程中取得成就感,培养程序设计的兴趣。本书配有丰富的数字资源,包括课程网站(http://www.csoeasy.com/)、PPT、网易云课堂的视频课程等。其中视频课程上线后,目前选课人数已超过2万人。本书可作为应用型、技能型人才培养的计算机专业及相关专业的教学用书,也可作为C语言程序设计初学者的入门教材、C语言程序设计人员的培训教材或参考用书。 |
| 目录 |
前言1 第1章 初识C语言2 1.1 计算机和程序设计语言2 1.1.1 计算机的发展和程序设计语言的产生2 1.1.2 机器语言、汇编语言和高级语言3 1.1.3 程序设计的开发效率和运行效率3 1.1.4 最常见的程序设计语言及其用途4 1.1.5 学习程序设计从C语言开始5 1.2 C语言的发展和特点6 1.2.1 C语言的发展6 1.2.2 C语言的特点7 1.3 C语言程序的初步探索8 1.3.1 第1个程序:Hello, World!8 1.3.2 C/C++集成开发环境C-Free的安装9 1.4 算术表达式的计算11 1.5 如何学好程序设计:模仿、理解和运用12 习题13 第2章 数据类型、运算和输入输出14 2.1 标识符和关键字14 2.2 常量和变量14 2.2.1 普通常量和符号常量14 2.2.2 变量的定义和初始化15 2.2.3 赋值类运算符15 2.3 常用的基本数据类型的及其特点16 2.3.1 常用的数据类型17 2.3.2 整数类型能精确表示限定范围内的所有整数18 2.3.3 浮点数类型只能近似的表示数据19 2.4 C程序基本结构:DICO 和 A+B问题19 2.5 程序设计在线评测系统20 2.6 基本算术运算(取整和取余)21 2.7 格式化输入:三位数反转22 2.8 浮点数:计算圆的周长和面积22 2.9 字符类型24 2.10 强大、经典的 scanf 和 printf25 2.11 在命令行编译和运行程序28 2.12 文件、I/O重定向和管道*29 2.12.1 一切都是文件29 2.12.2 管道机制30 习题31 第3章 分支结构32 3.1 if-else 语句的三种基本形式32 3.1.1 基本结构1:单分支结构32 3.1.2 基本结构2:双分支结构33 3.1.3 双分支结构和三元运算符34 3.1.4 基本结构3:多分支结构34 3.2 语法错误和逻辑错误36 3.3 运算符、表达式和优先级37 3.3.1 关系运算符与关系表达式37 3.3.2 逻辑运算符和逻辑表达式38 3.3.3 自增自减运算符40 3.4 逻辑运算符的短路特性40 3.5 多路分支语句switch-case-break42 3.5.1 switch-case-break的基本用法42 3.5.2 多个case语句相同情况的处理44 3.6 代码格式化:让代码清晰易读46 3.7 C语言的if~else匹配问题 *47 习题47 第4章 循环结构49 4.1 最简单的循环:简单重复49 4.1.1 代码的优化50 4.1.2 左闭右开50 4.2 循环表示序列:计算1~100的和51 4.2.1 累积运算:求1~100的和51 4.2.2 计算1~100的PHP、JAVA、Swift和Python版本53 4.2.3 罗塞塔石碑语言学习法54 4.3 从特定的数扩展到序列:水仙花数54 4.4 三种基本循环结构及运行流程56 4.5 流程图和while循环:3n+1 问题58 4.6 do-while循环:迭代法求平方根59 4.7 二重循环:九九乘法表60 4.8 多重循环:水仙花数61 4.9 改变循环执行流程:break 和 continue62 4.10 while典型结构:读取比较二合一 *63 习题65 第5章 算法和程序设计66 5.1 程序=算法+数据结构66 5.2 算法的五大特点67 5.3 算法的表示67 5.3.1 流程图68 5.3.2 N-S流程图68 5.4 程序设计方法69 5.4.1 程序设计的一般步骤69 5.4.2 结构化程序设计方法70 5.5 C++中的标准模板库(STL)*70 习题72 第6章 批量数据的处理——数组73 6.1 初识数组:从一组数中找出最大值73 6.2 数组进阶:选择排序法75 6.3 动态申请数组 *77 6.4 二维数组:计算方阵对角线元素之和78 6.5 模拟:奇数阶魔方(从伪代码到C语言)*80 6.6 数组应用举例:统计各类字符的个数82 习题83 第7章 函数84 7.1 函数的基本知识84 7.2 函数的调用过程86 7.3 编写自定义函数——分段函数87 7.4 函数的四种类型89 7.5 数组作为函数参数:寻找数组中的最大值89 7.6 递归函数:计算阶乘和斐波那契数列90 7.7 计算程序运行时间:递归和递推的效率比较*92 7.8 经典递归问题:汉诺塔*93 7.9 编译流程:预处理、编译、汇编、链接95 7.10 全局变量、静态变量:优化斐波那契数列的递归版本97 习题99 第8章 特殊的字符数组——字符串100 8.1 字符串的声明、输入和输出100 8.2 字符串的简单应用:判断回文101 8.3 字符数组的空间和字符串的长度103 8.4 常用字符串处理函数103 8.5 字符串不是一等公民105 8.6 使用memset函数初始化数组*108 习题109 第9章 指针——地址的别名110 9.1 初识指针110 9.2 数组和指针112 9.3 函数的传值调用和传地址调用115 9.3.1 传值调用115 9.3.2 传地址调用116 9.4 字符串指针和字符数组:只读和可写118 9.5 指针数组和命令行参数*119 9.6 指向函数的指针:快速排序函数的应用*121 习题122 第10章 结构体124 10.1 初识结构体:重写两点之间的距离124 10.2 结构体的初始化和三种访问方式126 10.3 数据类型的空间分配127 10.4 初识链表(自引用结构)128 习题130 第11章 文件处理132 11.1 文件与流132 11.1.1 文件基础知识132 11.1.2 文件和流132 11.1.3 文本文件和二进制文件133 11.1.4 文件缓冲系统134 11.2 文件的打开和关闭方法134 11.3 文件的读写136 11.3.1 字符的读写:显示文件的内容和复制文件136 11.3.2 数据块的读写:复制文件137 11.3.3 逐行处理:搜索模式串138 11.3.4 文件的格式化输入:处理CSV文件*140 11.4 文件的定位与随机读写141 习题143 附录A 常用字符与 |