您好,欢迎来到聚文网。 登录 免费注册
C/C++程序设计/张志强

C/C++程序设计/张志强

  • 字数: 712000.0
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: 张志强、周克兰、郑红兴
  • 出版日期: 2019-04-01
  • 商品条码: 9787302524359
  • 版次: 1
  • 开本: 其他
  • 页数: 451
  • 出版年份: 2019
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
《C/C++程序设计》内容由浅入深,面向实际应用,例题经典、丰富,将指针的应用融合到全书的各章节之中。本书的结构新颖、紧凑、通俗易懂,是从零起步学习C及C++语言的合适教材。本书既可以作为普通本科院校、普通高等专科学校的计算机教材,也可以作为计算机培训和计算机等级考试辅导的教学用书
内容简介
《C/C++程序设计》全面、系统地介绍C及C++程序设计语言的基本概念、语法和编程方法。全书共分为14章,每个章节都从实际应用出发,蕴含了作者丰富的教学经验和编程心得。第1章通过一个简单C语言程序的编写、编译和运行介绍了程序设计的基本概念;第2章从计算机内数据存储的角度介绍了C程序中包括指针在内的数据类型的概念及使用方法;第3章介绍了包括指针运算在内的C语言提供的各种运算功能;第4章讲述了结构化程序设计的方法;第5章结合循环与指针,讲述了使用数组处理大量数据的方法;第6章讲述了包括结构体在内的各种自定义数据类型的使用方法;第7章讲述了使用函数进行模块化程序设计的方法,并重点讲述了指针在函数参数中的作用;第8章讲述了使用指针操作动态内存的方法及链表基本应用方法;第9章讲述了在C语言中处理文件的基本方法;第10章介绍了C的预处理命令及简单应用;第11章讲述了C++语言相对于C语言的部分扩展功能;第12章讲述了使用C++语言进行面向对象程序设计的基本方法;第13章讲述了在使用MFC应用程序框架编写Windows应用程序的基本方法;第14章参考全国计算机等级考试二级考试大纲,介绍了在软件开发过程中常用的编程技术。
目录
第1章 C语言导论 1 1.1 C语言概述 1 1.1.1 C语言的功能 1 1.1.2 C语言的起源 2 1.1.3 C语言的学习阶段与学习方法 3 1.2 第一个C语言程序 4 1.2.1 程序代码 4 1.2.2 空白和注释 5 1.2.3 预处理指令 5 1.2.4 main函数 6 1.2.5 程序输出 6 1.3 C语言程序的运行 7 1.3.1 程序的编译 7 1.3.2 程序的运行和调试 8 1.4 习题 9 1.5 阅读材料——UNIX和C的故事* 10 第2章 数据 14 2.1 基本数据类型 14 2.1.1 整型数据 14 2.1.2 浮点型数据 17 2.1.3 指针型数据 17 2.2 常量 18 2.2.1 字面常量 18 2.2.2 符号常量 22 2.3 变量 24 2.3.1 标识符 24 2.3.2 变量的定义 25 2.3.3 变量的初始化 26 2.3.4 变量的使用 27 2.4 输出与输入 28 2.4.1 基本输出 28 2.4.2 基本输入 32 2.5 习题 34 2.6 阅读材料——二进制与计算机* 36 2.6.1 二进制起源 36 2.6.2 计算机与二进制 36 2.6.3 进制转换 37 2.6.4 计算机中的补码 38 第3章 运算与表达式 40 3.1 算术运算 40 3.1.1 基本算术运算符 40 3.1.2 优先级与结合性 42 3.1.3 数据类型转换 43 3.1.4 自增、自减运算 45 3.2 关系运算 46 3.3 逻辑运算 46 3.4 位运算 48 3.4.1 按位逻辑运算 48 3.4.2 移位运算* 50 3.4.3 程序例子 52 3.5 指针运算 52 3.5.1 取地址运算 52 3.5.2 操作指针变量 55 3.5.3 移动指针 57 3.5.4 比较指针 58 3.6 其他运算 58 3.6.1 sizeof运算 58 3.6.2 逗号运算 60 3.6.3 条件运算 60 3.7 赋值运算 61 3.7.1 赋值运算符和赋值表达式 61 3.7.2 复合赋值运算 62 3.8 习题 63 第4章 程序控制结构 66 4.1 程序语句 66 4.2 顺序结构 67 4.3 选择结构 69 4.3.1 if语句 69 4.3.2 if嵌套 72 4.3.3 switch语句 78 4.4 循环结构 83 4.4.1 while循环 83 4.4.2 do-while循环 86 4.4.3 for循环 89 4.4.4 其他控制语句 90 4.4.5 循环控制嵌套 92 4.5 习题 96 第5章 数组 98 5.1 一维数组 98 5.1.1 一维数组的定义 98 5.1.2 一维数组元素的引用 100 5.1.3 一维数组的初始化 102 5.1.4 程序举例 104 5.2 多维数组 105 5.2.1 多维数组的定义 106 5.2.2 多维数组元素的引用 109 5.2.3 多维数组的初始化 112 5.2.4 程序举例 113 5.3 字符数组与字符串 115 5.3.1 字符数组与字符串的关系 115 5.3.2 字符串的输入输出 116 5.3.3 字符串处理函数 119 5.3.4 程序举例 122 5.4 指针数组* 126 5.4.1 指针数组的定义与应用 126 5.4.2 指向指针的指针 130 5.5 习题 132 5.6 阅读材料——字符集、字符编码、C语言宽字符间的关系* 132 第6章 其他数据类型 137 6.1 结构体类型的定义 137 6.2 结构体类型变量 138 6.2.1 结构体变量的定义 138 6.2.2 结构体变量的引用 140 6.2.3 结构体变量的初始化 144 6.3 结构体类型数组 145 6.3.1 结构体数组的定义 145 6.3.2 结构体数组的初始化 146 6.3.3 结构体数组的引用 147 6.4 位段类型* 149 6.4.1 位段成员的定义 150 6.4.2 位段成员的使用 151 6.5 共用体类型* 154 6.5.1 共用体类型的定义 154 6.5.2 共用体变量的定义 155 6.5.3 共用体变量的引用 157 6.5.4 共用体变量的初始化 160 6.5.5 共用体变量的应用 161 6.6 枚举类型 163 6.6.1 枚举类型的定义 163 6.6.2 枚举类型变量的定义与引用 164 6.7 typedef自定义类型 166 6.7.1 typedef定义类型 166 6.7.2 typedef应用举例* 167 6.8 习题 169 第7章 函数 171 7.1 函数的定义和调用 171 7.1.1 函数概述 171 7.1.2 函数的定义 172 7.1.3 函数的调用 172 7.2 函数的返回值、参数及函数声明 173 7.2.1 函数的返回值 173 7.2.2 函数的参数 177 7.2.3 函数的声明 180 7.3 函数的嵌套和递归调用 182 7.3.1 函数的嵌套调用 182 7.3.2 函数的递归调用 185 7.4 函数与指针 189 7.4.1 指针变量作为函数参数 189 7.4.2 数组与函数 192 7.4.3 返回指针值的函数 195 7.4.4 指向函数的指针* 196 7.5 作用域 199 7.5.1 局部作用域 199 7.5.2 全局作用域 202 7.5.3 多文件下的全局作用域 204 7.6 变量的存储类别 208 7.6.1 动态存储方式 208 7.6.2 静态存储方式 211 7.7 习题 212 第8章 内存的使用 214 8.1 动态使用内存 214 8.1.1 分配内存 214 8.1.2 释放内存 215 8.1.3 应用举例 215 8.2 链表 219 8.2.1 链表概述 219 8.2.2 创建链表 223 8.2.3 释放链表 233 8.2.4 链表操作* 236 8.3 习 题 239 第9章 文件 240 9.1 文件概述 240 9.1.1 数据文件 240 9.1.2 文件的读写 240 9.1.3 文件指针 241 9.1.4 文件操作的步骤 241 9.2 文件的打开与关闭 241 9.2.1 打开文件 241 9.2.2 关闭文件 243 9.3 文件的读写 243 9.3.1 字符读写文件 244 9.3.2 字符串读写 246 9.3.3 格式化读写文件 248 9.3.4 非格式化读写文件 250 9.4 文件的随机读写* 251 9.4.1 文件定位 251 9.4.2 应用举例 252 9.5 习题 254 第10章 编译预处理 255 10.1 宏定义 255   10.1.1 无参宏定义 255   10.1.2 带参宏定义 257 10.2 文件包含 260 10.3 条件编译* 261   10.3.1 条件编译的形式 261   10.3.2 条件编译与多文件组织 263 10.4 习题 264 第11章 C++对C的扩充 265 11.1 C++语言概述 265   11.1.1 C++的起源 265   11.1.2 C++的面向对象程序设计 265   11.1.3 C++的泛型程序设计 266   11.1.4 C++的过程化程序设计 267 11.2 C++的数据类型 268   11.2.1 常量 268   11.2.2 布尔 269   11.2.3 引用 270   11.2.4 C++的类型检查 271 11.3 C++的运算符 273   11.3.1 作用域运算符 273   11.3.2 new运算符 274   11.3.3 delete运算符 275 11.4 C++的名字空间 276 11.5 C++的输入、输出 278   11.5.1 基本输入、输出 278   11.5.2 文件输入、输出* 278 11.6 C++的函数与模板 280   11.6.1 内联函数 280   11.6.2 函数的重载 281   11.6.3 带默认参数的函数 282   11.6.4 函数模板* 283 11.7 C++的异常处理* 284   11.7.1 异常的概念 284   11.7.2 C++异常处理的方法 285   11.7.3 C++标准异常 286 11.8 习题 287 第12章 基于C++的面向对象编程 288 12.1 类和对象 288   12.1.1 概述 288   12.1.2 类的定义 289   12.1.3 类和对象的特性 291   12.1.4 构造函数 292   12.1.5 析构函数 295   12.1.6 静态成员* 296   12.1.7 类的友元* 297   12.1.8 const对象* 298   12.1.9 指向类成员的指针* 301   12.1.10 运算符重载* 302 12.2 类的继承与派生 304   12.2.1 继承与派生的概念 304   12.2.2 继承与派生的一般形式 305   12.2.3 派生类的构造函数与析构函数 307   12.2.4 继承与派生的访问权限* 308 12.3 类的多态性 310   12.3.1 多态性的概念 310   12.3.2 虚函数与动态多态 311   12.3.3 虚类(抽象类)* 314   12.3.4 虚基类* 315 12.4 类模板与泛型编程* 316   12.4.1 类模板 316   12.4.2 类模板的继承 318   12.4.3 泛型编程 318 12.5 习题 321 第13章 基于MFC的Windows编程 323 13.1 MFC基础 323   13.1.1 概述 323   13.1.2 创建MFC框架程序 325   13.1.3 Windows程序的资源 328   13.1.4 MFC对话框程序 333 13.2 MFC控件 335   13.2.1 按钮控件 336   13.2.2 静态控件 338   13.2.3 编辑控件 340 13.3 MFC绘图 342   13.3.1 基本概念 342   13.3.2 CDC类与绘图 343   13.3.3 GDI类与绘图属性 346   13.3.4 修改控件的字体* 351 13.4 常用对话框 353   13.4.1 消息对话框 353   13.4.2 文件对话框* 354 13.5 常用消息 356   13.5.1 鼠标消息 356   13.5.2 键盘消息* 358   13.5.3 定时器消息* 361   13.5.4 关闭窗口消息* 363 13.6 习题 364 第14章 编程技术基础* 367 14.1 基本数据结构与算法 367   14.1.1 基本概念 367   14.1.2 线性表及其顺序存储结构 372   14.1.3 栈和队列 375   14.1.4 链表 378   14.1.5 树与二叉树 382   14.1.6 常见查找算法 386   14.1.7 常见排序算法 387 14.2 程序设计基础 392   14.2.1 程序设计方法与风格 392   14.2.2 结构化程序设计 393   14.2.3 面向对象的程序设计方法 395 14.3 软件工程基础 398   14.3.1 软件工程基本概念 398   14.3.2 结构化分析方法 403   14.3.3 结构化设计方法 405   14.3.4 软件测试的方法 409   14.3.5 程序的调试 411 14.4 数据库设计基础 411   14.4.1 数据库的基本概念 411   14.4.2 数据模型 412   14.4.3 关系代数运算 419   14.4.4 数据库设计方法和步骤 424 14.5 习题 430 附录A 常用字符与ASCII码对照表 436 附录B 运算符和结合性 437 附录C 常用标准库函数 439 附录D 几个常用MFC类 446 附录E Windows虚键码表 450 参考文献 452
摘要
    运算与表达式     计算机的大量功能都是通过各种各样的运算来完成的,为了完成这些运算,C语言提供了丰富的运算符(operator),这些运算符通过对数据进行处理来完成各种运算功能。由运算符、操作对象构成的式子被称为表达式(expression)。表达式是有值的,这个值就是运算符对各种数据进行处理的结果。     不同的运算符对操作对象有不同的要求,有的运算符只能对一个操作对象进行操作,被称为单目运算符;有的运算符能对两个操作对象进行操作,被称为双目运算符;有的运算符能对3个操作对象进行操作,被称为三目运算符。本章将对C语言提供的各种运算符及其功能和使用方法进行讲述。 3.1 算 术 运 算     算术运算是C语言提供的最基本的运算符,它可以完成基本的算术运算功能,分为基本算术运算符和自增自减运算符。 3.1.1 基本算术运算符     C语言的基本算术运算符号主要有以下7种。     1.单目基本算术运算符     单目正值运算符“+”和单目负值运算符“?”只能对一个操作对象进行操作。操作功能是对操作对象进行取正或取负的运算,操作结果值作为表达式的值。操作对象可以为整型或浮点型,本运算符不改变操作对象的值。     表达式格式:      运算符 操作对象          【例3.1】 正值运算与负值运算符。      #1. #include #2. int main() #3. { #4. int a=50; /* 对整型变量a赋值为50 */ #5. printf("%d\t",+a); /* 对整型变量a做正值运算,并输出运算结果 */ #6. printf("%d\t",a); /* 输出整型变量a */ #7. printf("%d\t",-a); /* 对整型变量a做负值运算,并输出运算结果 */ #8. printf("%d\n",a); /* 输出整型变量a */ #9. return 0; #10.}          程序运行结果如下:      50 50 -50 50          2.双目基本算术运算符     C语言提供了+、?、*、/、%五种双目运算符,分别对应算术运算的加、减、乘、除、求余运算,操作结果值作为表达式的值。除了求余运算要求两个操作数必须是整数外,操作对象可以是整型或浮点型,本运算不改变操作对象的值。     表达式格式:      操作对象1 运算符 操作对象2          注意:     (1)如果两个操作对象是不同的类型,系统先把它们转成相同类型(这个转换并不会改变操作对象的值),然后再进行运算,运算结果值的类型也是转换后的类型。例如,两个操作对象一个是整型、一个是浮点型,则系统先把它们转成浮点型之后再进行运算,计算结果作为表达式的值。     (2)除法运算的两个操作对象如果是整型,则结果是去掉小数部分后的整型,如19/10的表达式值是1;如果操作对象是整型且符号不同,则不同编译器的方法可能不同,大部分是按照绝对值进行计算,结果去除小数部分后再加上负号。     (3)求余运算中,如果操作对象有负数,则先按照两操作对象的绝对值进行计算。表达式的值(即余数的值)按照操作对象1的符号确定,如?13%7、?13%?7两个表达式值都是?6,13%?7、13%7表达式值都是6。          【例3.2】 双目算术运算。      #1. #include #2. int main() #3. { #4. char c=8,d='R'; /* 'R'的ASCII码值为82*/ #5. int i=76,j; #6. float w=7.9,x; #7. j=i*i; /* j=76*76 */ #8. printf("%d\t",j); #9. j=i*c; /* j=76*8 */ #10. printf("%d\t",j); #11. j=i/c; /* j=76/8 */ #12. printf("%d\t",j); #13. j=i*d; /* j=76*82 */ #14. printf("%d\t",j); #15. j=i/w; /* j=76/7.9 */ #16. printf("%d\t",j); #17. j=i%10; /* j=76%10 */ #18. printf("%d\t",j); #19. x=i/w; /* x=76/7.9 */ #20. printf("%f\n",x); #21. return 0; #22.}          程序运行结果如下:      5776 608 9 6232 9 6 9.62025

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网