欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 程序设计基础(C99微课版工业和信息化部十四五规划教材)
      • 作者:穆扬|责编:邱瑞瑾
      • 出版社:电子工业
      • ISBN:9787121484414
      • 出版日期:2026/01/01
      • 页数:425
    • 售价:26.4
  • 内容大纲

        本书以问题为驱动、实践为主导、“脑手并用”为核心理念、“学做合一”为基本方式,向学习者展示并讲解程序设计从问题到程序、从思路到代码、从编辑到测试的完整过程。
        本书在展示并讲解的过程中,通过对特定问题的分析,有的放矢地引入恰如其分的C语言的基本概念和编程知识,对其进行通俗易懂、详尽透彻但不失准确的阐释,诠释这些知识究竟应该如何应用于编程。本书循序渐进地讲解C99的相关内容。
        本书提供的相关配套视频,以“电子黑板”为手段,对C语言的基本概念和编程知识进行生动的讲解。其不仅是对本书文本所做的重要补充,更是对编程完整动态过程的实际示范,为学习者提供了通过模仿进行学习的生动范例。
        精心创作、改编、收集的与学习内容密切关联的练习,是本书为学习者提供的进行程序设计学习与实践的素材,并且为这种学习实践提供了实际操作平台——Online Judge(在线评测系统)。
        本书自始至终强调良好的编程习惯和风格,以结构化程序设计原则为指导,结合软件工程、软件测试的基本理念,注重培养学习者通过编程解决问题的专业能力,以提升学习者严谨认真、周到周密、细心耐心的职业素养。
        本书适合作为高等院校程序设计入门语言的教材,以及相关专业人员的技术参考书,也适合作为中学生及以上水平的其他各类读者自学编程的参考书。
  • 作者介绍

  • 目录

    第0章  从0开始
      0.0  什么是编程
        0.0.0  计算机的工作原理
        0.0.1  内存中的程序来自何处
        0.0.2  可执行文件的制作
      0.1  怎样用C语言编程
        0.1.0  学习C语言编程的条件
        0.1.1  编写最简单的C程序
      0.2  输出字符序列
        0.2.0  输出简单字符序列
        0.2.1  输出特殊字符
        0.2.2  C语言的“单词”
    第1章  整数类型及表达式
      1.0  输出整数
        1.0.0  输出整数问题
        1.0.1  十进制常量
        1.0.2  用printf()函数输出整数常量
        1.0.3  整数常量的其他写法
      1.1  整数的五则运算
        1.1.0  整数的加减运算
        1.1.1  整数的乘法运算
        1.1.2  标识符
        1.1.3  整数的除法运算
        1.1.4  数据类型的概念
      1.2  让程序拥有记忆
        1.2.0  填数问题
        1.2.1  用变量思考
      1.3  程序在运行时输入数据
        1.3.0  通过调用scanf()函数输入数据
        1.3.1  scanf()函数的应用
        1.3.2  scanf()函数的误用
      1.4  其他整数类型
        1.4.0  int类型回顾
        1.4.1  unsigned类型
        1.4.2  其他几对整数类型
        1.4.3  字符类型
        1.4.4  有关字符类型的问题
      1.5  运算符和表达式
        1.5.0  运算符
        1.5.1  表达式
        1.5.2  运算符的优先级和结合性
    第2章  顺序与选择
      2.0  几个问题
        2.0.0  分橘子问题
        2.0.1  找对手问题
        2.0.2  大数相加问题
        2.0.3  程序概述
      2.1  语句概述
        2.1.0  什么是语句
        2.1.1  什么不是语句

        2.1.2  关于语句的误区
      2.2  if语句
        2.2.0  判断整数是否是奇数
        2.2.1  判断整数是奇数还是偶数
        2.2.2  讨论
      2.3  判断常用的几种运算
        2.3.0  判断是否是3的倍数
        2.3.1  判断各位数字是否全相同
        2.3.2  条件运算符
        2.3.3  关系运算符
        2.3.4  冒泡法排序
      2.4  switch语句
        2.4.0  求第几天
        2.4.1  求星期几
        2.4.2  对switch语句的进一步说明和讨论
    第3章  循环与近似计算
      3.0  while语句
        3.0.0  海盗问题
        3.0.1  统计字符个数
        3.0.2  四进制数转十进制数
        3.0.3  序点的概念
      3.1  do-while语句
        3.1.0  统计字符个数
        3.1.1  求逆序数和位数
      3.2  for语句
        3.2.0  由数字求整数
        3.2.1  Fibonacci数列问题
        3.2.2  第二种for语句
      3.3  不规则的循环
        3.3.0  判断素数
        3.3.1  字符转换输出
      3.4  穷举法
        3.4.0  做对了多少道题
        3.4.1  换零钱
        3.4.2  谁是凶手
      3.5  goto语句
      3.6  浮点类型及应用
        3.6.0  浮点数的基本概念
        3.6.1  C语言中的实浮点类型
        3.6.2  求调和级数的近似值
        3.6.3  求平方根
        3.6.4  求sin函数值
    第4章  函数与指针
      4.0  函数调用、函数声明与函数定义
        4.0.0  函数调用(Function call)
        4.0.1  函数声明(Function declaration)
        4.0.2  函数定义(Function definition)
      4.1  函数与结构化程序设计
        4.1.0  结构化程序设计原则
        4.1.1  完数问题

        10.4.0  外部变量
        10.4.1  static函数
    第11章  标准库简介
      11.0  使用标准库的一些常识
        11.0.0  标准头与标准头文件
        11.0.1  使用库的禁忌
        11.0.2  并存的宏与函数
        11.0.3  函数定义域问题
      11.1  对语言的补充
        11.1.0  stddef
        11.1.1  iso646
        11.1.2  limits.h和float
        11.1.3  stdarg
        11.1.4  stdbool.h(C99)
        11.1.5  stdint.h(C99)
      11.2  stdio
        11.2.0  数据类型
        11.2.1  宏
        11.2.2  函数
      11.3  stdlib
        11.3.0  数值转换函数
        11.3.1  伪随机数序列生成函数
        11.3.2  内存管理函数
        11.3.3  环境通信函数
        11.3.4  查找与排序函数
        11.3.5  整数算术函数
        11.3.6  多字节、宽字节字符和字符串转换函数
      11.4  string
      11.5  数值计算
        11.5.0  math.h(C89)
        11.5.1  math.h(C99)
        11.5.2  complex.h(C99)
        11.5.3  tgmath.h(C99)
        11.5.4  fenv.h(C99)
    附录A  C语言的关键字
    附录B  C语言的数据类型
    附录C  ASCII码表
    附录D  C语言的运算符
    附录E  Dev-C++使用简介
    参考文献

      4.2  作用域和生存期
        4.2.0  作用域
        4.2.1  函数名的作用域
        4.2.2  两种不易被察觉的错误写法
        4.2.3  局部变量的作用域
        4.2.4  生存期的概念
      4.3  递归
        4.3.0  什么是递归
        4.3.1  求阶乘
        4.3.2  求最大公约数
        4.3.3  Hanoi塔问题
        4.3.4  关于Hanoi塔的新问题
      4.4  指向数据对象的指针概述
        4.4.0  约分问题
        4.4.1  指向数据对象的指针
        4.4.2  在递归计数问题中的应用
    第5章  数组与指针
      5.0  两个简单的问题
        5.0.0  摘苹果问题
        5.0.1  分糖果问题
      5.1  学会数数
        5.1.0  翻卡片问题
        5.1.1  筛法求素数表
      5.2  向函数传递数组
        5.2.0  筛法求素数表
        5.2.1  排序问题
      5.3  数组名的性质和指针的运算
        5.3.0  数组名的类型
        5.3.1  指向数据对象指针的运算
      5.4  指向虚无的指针及函数形式的宏定义
        5.4.0  分组问题
        5.4.1  改进的写法
        5.4.2  函数形式的宏定义
    第6章  字符串及数组构成的数组
      6.0  字符串、字符数组及指向字符的指针
        6.0.0  字符串及裸串
        6.0.1  字符串的输入与存储
      6.1  字符串的常见操作及应用
        6.1.0  求字符串长度
        6.1.1  比较两个字符串的大小
        6.1.2  scanf()函数中的转换
        6.1.3  字符处理库函数
      6.2  常用的字符串函数
        6.2.0  字符串处理库函数
        6.2.1  sscanf()与sprintf()函数
        6.2.2  restrict关键字(C99)及memcpy()函数集
        6.2.3  字符串转换库函数
      6.3  由数组构成的数组
        6.3.0  幻方问题
        6.3.1  由数组构成的数组的数据类型

        6.3.2  向函数传递由数组构成的数组
      6.4  main()函数的参数
        6.4.0  指向指针的指针
        6.4.1  main()函数的另一种写法
        6.4.2  求和问题
    第7章  结构体、共用体及枚举类型
      7.0  结构体类型
        7.0.0  输出分数最高的学生信息
        7.0.1  改进
        7.0.2  进一步改进
        7.0.3  成绩统计
      7.1  共用体类型
        7.1.0  概述
        7.1.1  对double类型的解析
      7.2  位运算
        7.2.0  求反码
        7.2.1  输出整数的二进制形式
        7.2.2  按位异或运算——“^”
        7.2.3  按位或运算——“|”
        7.2.4  查找凶手
        7.2.5  输出二进制形式的数值
        7.2.6  位段
      7.3  枚举类型
        7.3.0  概述
        7.3.1  球的颜色问题
      7.4  _Bool类型
        7.4.0  _Bool类型概述
        7.4.1  stdbool.h文件
    第8章  数据类型的深入讨论
      8.0  指向函数的指针
        8.0.0  局部排序
        8.0.1  qsort()库函数的应用
        8.0.2  bsearch()库函数的应用
      8.1  复杂数据类型的构造方法和解读
        8.1.0  复杂数据类型的构造方法
        8.1.1  复杂数据类型的解读
        8.1.2  typedef
      8.2  更自由地使用内存
        8.2.0  计算100!
        8.2.1  动态分配内存函数
        8.2.2  改进的写法
        8.2.3  用链表解决问题
    第9章  输入与输出
      9.0  面向文件的输入与输出
        9.0.0  把程序输出写入文件
        9.0.1  C程序怎样读文件
        9.0.2  格式化输入/输出的格式
        9.0.3  fprintf()与printf()函数的等效性
      9.1  文件、流、FILE及FILE *
        9.1.0  文件

        9.1.1  流
        9.1.2  FILE
        9.1.3  FILE *
        9.1.4  文本流和二进制流
        9.1.5  自动打开的流
        9.1.6  EOF
        9.1.7  其他几个用于文本文件的输入/输出函数
      9.2  二进制文件的读/写
        9.2.0  二进制流
        9.2.1  用fwrite()函数写二进制文件
        9.2.2  用fread()函数读二进制文件
        9.2.3  feof()与ferror()函数
      9.3  定位问题
        9.3.0  ftell()函数
        9.3.1  fseek()函数
        9.3.2  rewind()函数
        9.3.3  fgetpos()与fsetpos()函数
    第10章  程序组织与编译预处理
      10.0  编译预处理简介
        10.0.0  预处理的一般特点
        10.0.1  预处理的几个阶段
      10.1  文件包含
        10.1.0  #include预处理命令
        10.1.1  用途
      10.2  宏定义与宏替换
        10.2.0  类似对象的宏
        10.2.1  类似函数的宏
        10.2.2  预处理单词
      10.3  预处理命令的其他话题
        10.3.0  再谈宏
        10.3.1  其他预处理命令
      10.4  使用外部变量
        10.4.0  外部变量
        10.4.1  static函数
    第11章  标准库简介
      11.0  使用标准库的一些常识
        11.0.0  标准头与标准头文件
        11.0.1  使用库的禁忌
        11.0.2  并存的宏与函数
        11.0.3  函数定义域问题
      11.1  对语言的补充
        11.1.0  stddef.h
        11.1.1  iso646.h
        11.1.2  limits.h和float.h
        11.1.3  stdarg.h
        11.1.4  stdbool.h(C99)
        11.1.5  stdint.h(C99)
      11.2  stdio.h
        11.2.0  数据类型
        11.2.1  宏

        11.2.2  函数
      11.3  stdlib.h
        11.3.0  数值转换函数
        11.3.1  伪随机数序列生成函数
        11.3.2  内存管理函数
        11.3.3  环境通信函数
        11.3.4  查找与排序函数
        11.3.5  整数算术函数
        11.3.6  多字节、宽字节字符和字符串转换函数
      11.4  string.h
      11.5  数值计算
        11.5.0  math.h(C89)
        11.5.1  math.h(C99)
        11.5.2  complex.h(C99)
        11.5.3  tgmath.h(C99)
        11.5.4  fenv.h(C99)
    附录A  C语言的关键字
    附录B  C语言的数据类型
    附录C  ASCII码表第0章  从0开始
      0.0  什么是编程
        0.0.0  计算机的工作原理
        0.0.1  内存中的程序来自何处
        0.0.2  可执行文件的制作
      0.1  怎样用C语言编程
        0.1.0  学习C语言编程的条件
        0.1.1  编写最简单的C程序
      0.2  输出字符序列
        0.2.0  输出简单字符序列
        0.2.1  输出特殊字符
        0.2.2  C语言的“单词”
    第1章  整数类型及表达式
      1.0  输出整数
        1.0.0  输出整数问题
        1.0.1  十进制常量
        1.0.2  用printf()函数输出整数常量
        1.0.3  整数常量的其他写法
      1.1  整数的五则运算
        1.1.0  整数的加减运算
        1.1.1  整数的乘法运算
        1.1.2  标识符
        1.1.3  整数的除法运算
        1.1.4  数据类型的概念
      1.2  让程序拥有记忆
        1.2.0  填数问题
        1.2.1  用变量思考
      1.3  程序在运行时输入数据
        1.3.0  通过调用scanf()函数输入数据
        1.3.1  scanf()函数的应用
        1.3.2  scanf()函数的误用
      1.4  其他整数类型

        1.4.0  int类型回顾
        1.4.1  unsigned类型
        1.4.2  其他几对整数类型
        1.4.3  字符类型
        1.4.4  有关字符类型的问题
      1.5  运算符和表达式
        1.5.0  运算符
        1.5.1  表达式
        1.5.2  运算符的优先级和结合性
    第2章  顺序与选择
      2.0  几个问题
        2.0.0  分橘子问题
        2.0.1  找对手问题
        2.0.2  大数相加问题
        2.0.3  程序概述
      2.1  语句概述
        2.1.0  什么是语句
        2.1.1  什么不是语句
        2.1.2  关于语句的误区
      2.2  if语句
        2.2.0  判断整数是否是奇数
        2.2.1  判断整数是奇数还是偶数
        2.2.2  讨论
      2.3  判断常用的几种运算
        2.3.0  判断是否是3的倍数
        2.3.1  判断各位数字是否全相同
        2.3.2  条件运算符
        2.3.3  关系运算符
        2.3.4  冒泡法排序
      2.4  switch语句
        2.4.0  求第几天
        2.4.1  求星期几
        2.4.2  对switch语句的进一步说明和讨论
    第3章  循环与近似计算
      3.0  while语句
        3.0.0  海盗问题
        3.0.1  统计字符个数
        3.0.2  四进制数转十进制数
        3.0.3  序点的概念
      3.1  do-while语句
        3.1.0  统计字符个数
        3.1.1  求逆序数和位数
      3.2  for语句
        3.2.0  由数字求整数
        3.2.1  Fibonacci数列问题
        3.2.2  第二种for语句
      3.3  不规则的循环
        3.3.0  判断素数
        3.3.1  字符转换输出
      3.4  穷举法

        3.4.0  做对了多少道题
        3.4.1  换零钱
        3.4.2  谁是凶手
      3.5  goto语句
      3.6  浮点类型及应用
        3.6.0  浮点数的基本概念
        3.6.1  C语言中的实浮点类型
        3.6.2  求调和级数的近似值
        3.6.3  求平方根
        3.6.4  求sin函数值
    第4章  函数与指针
      4.0  函数调用、函数声明与函数定义
        4.0.0  函数调用(Function call)
        4.0.1  函数声明(Function declaration)
        4.0.2  函数定义(Function definition)
      4.1  函数与结构化程序设计
        4.1.0  结构化程序设计原则
        4.1.1  完数问题
      4.2  作用域和生存期
        4.2.0  作用域
        4.2.1  函数名的作用域
        4.2.2  两种不易被察觉的错误写法
        4.2.3  局部变量的作用域
        4.2.4  生存期的概念
      4.3  递归
        4.3.0  什么是递归
        4.3.1  求阶乘
        4.3.2  求最大公约数
        4.3.3  Hanoi塔问题
        4.3.4  关于Hanoi塔的新问题
      4.4  指向数据对象的指针概述
        4.4.0  约分问题
        4.4.1  指向数据对象的指针
        4.4.2  在递归计数问题中的应用
    第5章  数组与指针
      5.0  两个简单的问题
        5.0.0  摘苹果问题
        5.0.1  分糖果问题
      5.1  学会数数
        5.1.0  翻卡片问题
        5.1.1  筛法求素数表
      5.2  向函数传递数组
        5.2.0  筛法求素数表
        5.2.1  排序问题
      5.3  数组名的性质和指针的运算
        5.3.0  数组名的类型
        5.3.1  指向数据对象指针的运算
      5.4  指向虚无的指针及函数形式的宏定义
        5.4.0  分组问题
        5.4.1  改进的写法

        5.4.2  函数形式的宏定义
    第6章  字符串及数组构成的数组
      6.0  字符串、字符数组及指向字符的指针
        6.0.0  字符串及裸串
        6.0.1  字符串的输入与存储
      6.1  字符串的常见操作及应用
        6.1.0  求字符串长度
        6.1.1  比较两个字符串的大小
        6.1.2  scanf()函数中的转换
        6.1.3  字符处理库函数
      6.2  常用的字符串函数
        6.2.0  字符串处理库函数
        6.2.1  sscanf()与sprintf()函数
        6.2.2  restrict关键字(C99)及memcpy()函数集
        6.2.3  字符串转换库函数
      6.3  由数组构成的数组
        6.3.0  幻方问题
        6.3.1  由数组构成的数组的数据类型
        6.3.2  向函数传递由数组构成的数组
      6.4  main()函数的参数
        6.4.0  指向指针的指针
        6.4.1  main()函数的另一种写法
        6.4.2  求和问题
    第7章  结构体、共用体及枚举类型
      7.0  结构体类型
        7.0.0  输出分数最高的学生信息
        7.0.1  改进
        7.0.2  进一步改进
        7.0.3  成绩统计
      7.1  共用体类型
        7.1.0  概述
        7.1.1  对double类型的解析
      7.2  位运算
        7.2.0  求反码
        7.2.1  输出整数的二进制形式
        7.2.2  按位异或运算——“^”
        7.2.3  按位或运算——“|”
        7.2.4  查找凶手
        7.2.5  输出二进制形式的数值
        7.2.6  位段
      7.3  枚举类型
        7.3.0  概述
        7.3.1  球的颜色问题
      7.4  _Bool类型
        7.4.0  _Bool类型概述
        7.4.1  stdbool.h文件
    第8章  数据类型的深入讨论
      8.0  指向函数的指针
        8.0.0  局部排序
        8.0.1  qsort()库函数的应用

        8.0.2  bsearch()库函数的应用
      8.1  复杂数据类型的构造方法和解读
        8.1.0  复杂数据类型的构造方法
        8.1.1  复杂数据类型的解读
        8.1.2  typedef
      8.2  更自由地使用内存
        8.2.0  计算100!
        8.2.1  动态分配内存函数
        8.2.2  改进的写法
        8.2.3  用链表解决问题
    第9章  输入与输出
      9.0  面向文件的输入与输出
        9.0.0  把程序输出写入文件
        9.0.1  C程序怎样读文件
        9.0.2  格式化输入/输出的格式
        9.0.3  fprintf()与printf()函数的等效性
      9.1  文件、流、FILE及FILE
        9.1.0  文件
        9.1.1  流
        9.1.2  FILE
        9.1.3  FILE
        9.1.4  文本流和二进制流
        9.1.5  自动打开的流
        9.1.6  EOF
        9.1.7  其他几个用于文本文件的输入/输出函数
      9.2  二进制文件的读/写
        9.2.0  二进制流
        9.2.1  用fwrite()函数写二进制文件
        9.2.2  用fread()函数读二进制文件
        9.2.3  feof()与ferror()函数
      9.3  定位问题
        9.3.0  ftell()函数
        9.3.1  fseek()函数
        9.3.2  rewind()函数
        9.3.3  fgetpos()与fsetpos()函数
    第10章  程序组织与编译预处理
      10.0  编译预处理简介
        10.0.0  预处理的一般特点
        10.0.1  预处理的几个阶段
      10.1  文件包含
        10.1.0  #include预处理命令
        10.1.1  用途
      10.2  宏定义与宏替换
        10.2.0  类似对象的宏
        10.2.1  类似函数的宏
        10.2.2  预处理单词
      10.3  预处理命令的其他话题
        10.3.0  再谈宏
        10.3.1  其他预处理命令
      10.4  使用外部变量