C语言程序设计基础知识——谭浩强版

1.一个程序应包括:

  • 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。
  • 对操作的描述。即操作步骤,算法。
  • 程序=算法+数据结构

2.C源程序的结构特点

  • 可以由一个或多个源文件组成。
  • 每个源文件可由一个或多个函数组成。
  • 一个源程序不论由多少个文件组成,都有一个且只能有一个 main 函数,即主函数。
  • 源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
  • 每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
  • 标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

3.C源程序的基本格式

例:
main()
{
printf(“Hello world!\n”);
}

  • main是主函数的函数名,表示这是一个主函数。
  • 每一个C源程序都必须有,且只能有一个主函数(main函数)。
  • 函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。
  • printf函数是一个由系统定义的标准函数,可在程序中直接调用。

例:
#include<math.h>
#include<stdio.h>
main()
{
double x,s;
printf(“input number:\n”);
scanf("%lf",&x);
s=sin(x);
printf(“sine of %lf is %lf\n”,x,s);
}

  • include 称为文件包含命令
  • 扩展名为.h 的文件称为头文件
  • 定义两个实数变量,以被后面程序使用
  • 显示提示信息
  • 从键盘获得一个实数 x
  • 求 x 的正弦,并把它赋给变量 s
  • 显示程序运算结果
  • main 函数结束

4.结构化程序设计

  • 自顶向下
  • 逐步细化
  • 模块化设计
  • 结构化编码

5.C语言的数据类型

  • 基本数据类型:整型、字符型、实型(浮点型——单精度型、双精度型)、枚举类型。
  • 构造数据类型:数组类型、结构体类型、共用体类型。
  • 指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。
  • 空类型:在调用函数值时,通常应向调用者返回一个函数值。

6.整型常量

  • 整型常量就是整常数。通常有八进制、十六进制、十进制三种
  • 十进制整常数:十进制整常数没有前缀。其数码为 0~9。 如:233、-54。
  • 八进制整常数:八进制整常数必须以 0 开头,即以 0 作为八进制数的前缀。数码取值为 0~7。八进 制数通常是无符号数。如:015(十进制为 13)、0101(十进制为 65)、0177777(十进制为 65535)。
  • 十六进制整常数:十六进制整常数的前缀为 0X 或 0x。其数码取值为 09,AF 或 a~f。 如:0X2A(十进制为 42)、0XA0 (十进制为 160)、0XFFFF (十进制为 65535)。

7.整型变量

1)整型数据在内存中的存放形式

  • 正数的补码和原码相同
  • 负数的补码:将该数的绝对值的二进制形式按位取反再加 1


求-10 的补码:
10 的原码: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
取反: 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 再加 1
得-10 的补码: 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

2)整型变量的分类

1 C语言概述 2 1.1 C语言的发展过程 2 1.2 当代最优秀的程序设计语言 2 1.3 C语言本 2 1.4 C语言的特点 3 1.5 面向对象的程序设计语言 3 1.6 C和C++ 3 1.7 简单的C程序介绍 4 1.8 输入和输出函数 5 1.9 C源程序的结构特点 6 1.10 书写程序时应遵循的规则 6 1.11 C语言的字符集 6 1.12 C语言词汇 7 1.13 Turbo C 2.0集成开发环境的使用 8 1.13.1 Turbo C 2.0简介和启动 8 1.13.2 Turbo C 2.0集成开发环境 8 1.13.3 File菜单 9 1.13.4 Edit菜单 10 1.13.5 Run菜单 11 1.13.6 Compile菜单 12 1.13.7 Project菜单 13 1.13.8 Options菜单 14 1.13.9 Debug菜单 18 1.13.10 Break/watch菜单 19 1.13.11 Turbo C 2.0的配置文件 20 2 程序的灵魂—算法 1 2.1 算法的概念 1 2.2 简单算法举例 1 2.3 算法的特性 4 2.4 怎样表示一个算法 4 2.4.1 用自然语言表示算法 4 2.4.2 用流程图表示算法 4 2.4.3 三种基本结构和改进的流程图 8 2.4.4 用N-S流程图表示算法 9 2.4.5 用伪代码表示算法 10 2.4.6 用计算机语言表示算法 11 2.5 结构化程序设计方法 11 3 数据类型、运算符与表达式 1 3.1 C语言的数据类型 1 3.2 常量与变量 3 3.2.1 常量和符号常量 3 3.2.2 变量 3 3.3 整型数据 4 3.3.1 整型常量的表示方法 4 3.3.2 整型变量 5 3.4 实型数据 7 3.4.1 实型常量的表示方法 7 3.4.2 实型变量 8 3.4.3 实型常数的类型 9 3.5 字符型数据 9 3.5.1 字符常量 9 3.5.2 转义字符 9 3.5.3 字符变量 10 3.5.4 字符数据在内存中的存储形式及使用方法 10 3.5.5 字符串常量 11 3.5.6 符号常量 12 3.6 变量赋初值 12 3.7 各类数值型数据之间的混合运算 13 3.8 算术运算符和算术表达式 14 3.8.1 C运算符简介 14 3.8.2 算术运算符和算术表达式 15 3.9 赋值运算符和赋值表达式 17 3.10 逗号运算符和逗号表达式 18 3.11 小结 19 3.11.1 C的数据类型 19 3.11.2 基本类型的分类及特点 19 3.11.3 常量后缀 19 3.11.4 常量类型 19 3.11.5 数据类型转换 19 3.11.6 运算符优先级和结合性 20 3.11.7 表达式 20 4 最简单的C程序设计—顺序程序设计 1 4.1 C语句概述 1 4.2 赋值语句 3 4.3 数据输入输出的概念及在C语言中的实现 4 4.4 字符数据的输入输出 4 4.4.1 putchar 函数(字符输出函数) 4 4.4.2 getchar函数(键盘输入函数) 5 4.5 格式输入与输出 5 4.5.1 printf函数(格式输出函数) 5 4.5.2 scanf函数(格式输入函数) 8 4.6 顺序结构程序设计举例 12 5 分支结构程序 1 5.1 关系运算符和表达式 1 5.1.1 关系运算符及其优先次序 1 5.1.2 关系表达式 1 5.2 逻辑运算符和表达式 2 5.2.1 逻辑运算符极其优先次序 2 5.2.2 逻辑运算的值 3 5.2.3 逻辑表达式 3 5.3 if语句 4 5.3.1 if语句的三种形式 4 5.3.2 if语句的嵌套 7 5.3.3 条件运算符和条件表达式 9 5.4 switch语句 10 5.5 程序举例 11 6 循环控制 1 6.1 概述 1 6.2 goto语句以及用goto语句构成循环 1 6.3 while语句 2 6.4 do-while语句 4 6.5 for语句 6 6.6 循环的嵌套 9 6.7 几种循环的比较 9 6.8 break和continue语句 9 6.8.1 break语句 9 6.8.2 continue 语句 10 6.9 程序举例 11 7 数组 1 7.1 一维数组的定义和引用 1 7.1.1 一维数组的定义方式 1 7.1.2 一维数组元素的引用 2 7.1.3 一维数组的初始化 4 7.1.4 一维数组程序举例 4 7.2 二维数组的定义和引用 6 7.2.1 二维数组的定义 6 7.2.2 二维数组元素的引用 6 7.2.3 二维数组的初始化 7 7.2.4 二维数组程序举例 9 7.3 字符数组 9 7.3.1 字符数组的定义 9 7.3.2 字符数组的初始化 9 7.3.3 字符数组的引用 10 7.3.4 字符串和字符串结束标志 10 7.3.5 字符数组的输入输出 10 7.3.6 字符串处理函数 12 7.4 程序举例 14 7.5 本章小结 17 8 函 数 1 8.1 概述 1 8.2 函数定义的一般形式 3 8.3 函数的参数和函数的值 4 8.3.1 形式参数和实际参数 4 8.3.2 函数的返回值 5 8.4 函数的调用 6 8.4.1 函数调用的一般形式 6 8.4.2 函数调用的方式 6 8.4.3 被调用函数的声明和函数原型 7 8.5 函数的嵌套调用 8 8.6 函数的递归调用 10 8.7 数组作为函数参数 12 8.8 局部变量和全局变量 17 8.8.1 局部变量 17 8.8.2 全局变量 19 8.9 变量的存储类别 20 8.9.1 动态存储方式与静态动态存储方式 20 8.9.2 auto变量 21 8.9.3 用static声明局部变量 21 8.9.4 register变量 22 8.9.5 用extern声明外部变量 23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值