C基础和数据类型

来源:互联网 发布:淘宝京东评价体系 编辑:程序博客网 时间:2024/06/05 23:46

2017-7-19 C基础和数据类型

复习完成时间2017-7-19 22点

复习知识点:

一、C基础内容

1、计算机语言分类:

①机器语言②汇编语言(可读性、移植性差)③高级语言(c,java等)④脚本语言(如Python)

2、C语言特点:

语言简洁,紧凑,灵活(32关键字,9控制语句);运算符丰富;结构化语言(函数);能够对硬件和内存进行操作;代码质量和效率高;移植性好;

3、C文件可以由预处理命令、全局变量声明、函数和注释组成。

4、一个C程序有且仅有一个main函数。

5、函数由函数的首部(函数第一行)和函数体组成。

6、函数体由声明部分和执行部分组成。

7、多行注释用/*开始,用*/结束,一行注释用//标出

函数前注释内容:函数名;函数功能;函数参数;函数的返回值。

8、VC使用:

文件新建Win32 Console Application空工程

文件新建C++ Source File,建立.c文件

ALT+F8 对齐快捷键

shift+tab 批量缩进

编译(ctrl+F7);组建(F7);运行(ctrl+F5);

调试:Go(F5);debug(F9);step out(F10);step into(F11);

查看变量,内存(memery)

9、程序=算法+数据结构+程序设计方法+语言工具和环境

二、数据类型

10、数据类型分为四大类:

(1)基本类型:整型,字符型,浮点型(单精度型,双精度型),枚举类型

(2)构造类型:数组类型,结构体类型,共用体类型

(3)指针类型

(4)空类型(不能定义变量)

11、符号常量:

#define NUM 100    //编译后,所有NUM用100替换

cons int NUM=100  //const常量具有不可变性,节省空间,避免不必要的内存分配

12、标识符:

(1)标识符由字母、数字和下划线组成;

(2)标识符的第一位必须是字母或者下划线,不能是数字;

(3)区分大小写

13、

char 8位 ASCII码:空格 32;A 65;a 97。

int 32位 值范围 -2^31~(-2^31-1)(根据系统位数决定位数)

float 32位 7位有效数字

double 64位

14、进制转换

十进制转其它进制:短除法,将余数逆序排列

其它进制转十进制:按权展开相加

二、八、十六进制转换以二进制为中间值转换,八进制3位,十六进制4位

十进制无前缀,八进制前缀为0,十六进制前缀为0x。

小数转换二进制:小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。0.8125的二进制是0.1101

15、原码、反码、补码

在计算机系统中,数值一律用补码来表示和存储。

char字符用ASCII存储

正数:原码=反码=补码

负数:原码符号位为1;反码:符号位不变,其它取反;补码:反码+1.

一个负整数(或原码)与其补数(或补码)相加,和为模。

16、%lg根据double型数据自动选择以实数或科学计数法输出(自动适应小数位)

%e 以科学计数法输出

17、float在内存中的存储方式(178.125为例)

第一步:将128.125表示成二进制数:(178.125)(十进制数)=(10110010.001)(二进制形式);

第二步:将二进制形式的浮点实数转化为规格化的形式:(小数点向左移动7个二进制位可以得到)

10110010.001=1.0110010001*2^7 因而产生了以下三项:

符号位:该数为正数,故第31位为0,占一个二进制位.

阶码:采用移位存储,指数为7,故其阶码为127+7=134=(10000110)(二进制),占从第30到第23共8个二进制位.

尾数为小数点后的部分, 即0110010001.因为尾数共23个二进制位,在后面补13个0,即01100100010000000000000

所以,178.125在内存中的实际表示方式为:

0 10000110 01100100010000000000000

 

取值范围看指数部分:

float是有符号型,其中,8位指数位,2^8=(-128—127),因此实际的范围是-2^128—2^127,约为-3.4E38—3.4E38

同理double范围约是-1.7E308—1.7E308,

精度是看尾数部分:

float尾数位23位,2^23=8.3E6,7位,所以不同的编译器规定不同,有些是7位,有些8位

double尾数52位,2^52=4.5E15,15位,所以double的有效位数是15位

18、数据在内存中存储方式:

大端模式:高存低,低存高;小端模式:低低,高高;(一般默认小端)

未理解的知识点:基本都理解了

作业完成情况:已提交

心得体会:因为之前有学过,所以刚开始比较轻松些,后面结构体以后部分没教过,进程这么快,估计要加把劲了。