语言是面向过程的,体现为其通过函数及其调用关系来描述程序逻辑
将大问题拆解为一套流程,执行这套流程中的各个步骤即可:
- 每一个步骤有明确的入口和出口
- 每一个步骤可以继续拆解为一套更细化的流程
- 最后得到描述问题解决方案的完整逻辑
函数
- C语言程序就是由若干函数及其调用关系组成的,因此函数是C语言程序的基本组成单位
- 主(main)函数是C语言程序入口,即首个被执行的函数
C语言的编译过程
浮点数的表达方式
float a = -2.5,b = 11.f, c = .5f;
重要的ASCII码
【ASCII对照表】
字面量小数默认是double类型
字面量指硬编码在代码中的数字值也是数据的一种存在形式。在小数字面量加上f 显示指明该值应是 float,
否则默认为 double
负数取余操作
c = a % b; 则当a为负数时,c一定也为负数,a为正数时,c也为正数,即a和c同符号。
负数取余流程:
- 将a和b都取绝对值,计算余数d
- 根据a的符号,给d添上相应的符号即为所要的c
运算时不改变变量的类型
隐式类型转换
输入和输出
占位符和变量数目不匹配不要紧,但是一定要有占位符。
上图第三项,因为没有提供地址会产生编译错误,第四项因为地址数量过少会产生运行时错误,即输入数据装不下。
输出格式化
格式控制符
指定输出格式
指定输出整数的进制
控制填充字符
输出%
设置期望输入格式
示例
宏定义
宏定义用法
宏定义编译的时机——预编译阶段(正式编译之前)
宏定义编译是简单机械的替换,需要注意会不会引起意想不到的结果
不变量const
给不变量赋值,将会报编译错误Error,想要改变不变量的值可以通过指针实现。