C语言复习日记(一)

2020年01月22日
——枫启
*本次学习之旅于谭浩强版C语言与本站诸多博文之上
—————————————————————————————————

什么是程序
1> 对数据的描述;
2> 对操作的描述;
# 数据结构 + 算法 = 程序

什么是算法
>为解决一个问题而采取的方法步骤。
算法分类:
1> 数值运算算法 →求数值解
2> 非数值运算算法 →用于事务管理领域
算法特性:
1> 有穷性;
2> 确定性;
3> 有零个或多个输入;
4> 有一个或多个输出;
5> 有效性;
表示算法的方法
自然语言、传统流程图、结构化流程图、伪代码、PAD图等。

数据类型

基本类型
1> 整形 4字节 取值范围-3276832768(-2^15(2^15-1))
短整形 2字节 取值范围-3276832768(-2^15(2^15-1))
长整形 8字节 取值范围 -21474836482147483647(-2^31(2^31-1))
2> 字符型 1字节
3> 浮点型
单精度型 4字节 有效数字7位 表示范围-3.4E+38~+3.4E+38
双精度型 8字节 有效数字16位 表示范围-1.7E+308~+1.7E+308
4> 枚举类型 枚举类型的尺寸是以能够容纳最大枚举子的值的整数的尺寸 枚举类型中的枚举子的值必须要能够用一个int类型表述 大小可以是char、short、int
构造类型
数组类型 eg:char buff[32]、int buff[5][32]
结构体类型 eg:typedef struct name{
}+别名;
共用体类型 eg:union name{
int i;
char ch;
float f;
}a,b,c;
指针类型 int * num、char * num
空类型 NULL

常量
> 值不能改变的量称为常量
1.整形常量 eg:12、0、-8;
2.实型常量 eg:4.6、-1.32;
3.字符常量 eg:‘a’、‘b’

转义字符 C语言复习日记(一)_第1张图片
常量一般从字面可以直接判别,这种常量称为字面常量或直接常量

变量
两个概念:
1> 变量名:以一个名字对应,代表一个地址;
2> 变量值:存入变量名中的值;

在C语言中,要求对所有用到的变量做强制定义,即“先定义,后使用”,目的是:
1.凡未被事先定义的,系统不把它认作变量名,这样就能保证程序中变量名使 用的正确;
2.每一个变量被指定为一个确定类型,在编译时就能为其分配相应的存储单元;
3.制定每一个变量属于一个类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法;

各类型数值型混合运算转化规则

1、混合运算的类型转换规则
当二元运算符两边的操作数类型不同,但类型相容时,系统将数据类型转化为一致后进行运算,具体规则如下:
(1)、字符可以作为整数参与数值运算,整数的值为其ASCII 值。
(2)、操作数为字符或者短整型时,系统自动将其转化为整型。
(3)、操作数为单精度类型时,系统自动将其转换成双精度型。
(4)、当两边操作数的类型不同时,将精度低(表示范围小)的操作数的数据类型转换为与另一个操作数类型相同时再进行运算。

2、赋值的类型转换规则
(1)、实型数赋值给整数变量时,仅取整数部分赋值,相当于取整,但是如果整数部分超过整形变量的取值范围时,发生溢出,结果错误。
(2)、整数赋值给实型变量事,将整数转化为实数再赋值。
(3)、字符型数据赋值给整形变量时,将字符转换为整形,分为两种情况。一种是:对于无符号的字符数据,低位字节不变,高位字节补0,另一种:对于有符号的字符数据,若符号位为0,则与无符号数据的转换规则相同,若符号位为1,则低位字节不变,高位字节全部置1。
(4)、无符号整形或长整形数赋值给整形变量时,若数据在整形的取值范围内,则无需转换,且结果正确;但若超出取值范围,则发生溢出,赋值结果错误。
————————————————版权声明:本文为CSDN博主「life_binary」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/life_binary/article/details/78591145

C语言复习日记(一)_第2张图片

你可能感兴趣的:(学习探讨)