IE盒子

搜索
查看: 81|回复: 1

C语言基础

[复制链接]

4

主题

11

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2022-12-26 20:38:26 | 显示全部楼层 |阅读模式
一.数据类型

1.数据分类

在LinuxC中数据类型分为两大类:常量数据和变量数据。
1.1常量数据

在程序运行过程中值不能被改变的数据称为常量数据,简称常量。
1.2变量数据

在程序运行过程中值可以被改变的数据称为变量数据,简称变量。
2.常量

常量是在程序中不能被改变的数据。
2.1整型常量
十进制形式: 100    120  250         //十进制:用0,1,2,3,4,5,6,7,8,9 这10个数字表示的数,逢十进一
八进制形式: 0120  0250             //八进制:用0,1,2,3,4,5,6,7这8个数字表示的数,逢八进一
十六进制形式:0x12  0x34  0xa1  0xb2      //十六进制:用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这16个数字表示的数,逢十六进一
数据在计算机中的存储进制 :二进制形式             //二进制:用0,1这2个数字表示的数,逢二进一
不同进制之间的转换:
1》十进制和二进制之间的转换
传统方式(原始方式)
十进制转二进制:除二取余   
二进制转十进制:  a0 * 2^0 + a1 *2^1 + a2 + 2^2 + .....   //a0,a1....表示从右到左二进制中每一位的数
2》八进制和二进制之间转换
三位二进制 对应  一位八进制,   转换时按3对1方式转换
例如:
   八进制数: 0125  ----  二进制:001 010 101  
1 ---- 001
2 ---- 010
5 ---- 101  
二进制数:101101001  ----- 八进制 :0551
从右到左三位分为一组:101   101  001 ----  5 5 1
3》十六进制和二进制转换
四位二进制 对应  一位十六进制,   转换时按4对1方式转换
例如:
十六进制数:0x15c7  -------二进制:0001 0101 1100 0111
1  ------ 0001
5  -------0101
c  -------1100
7  -------0111
二进制数:11011110001101  十六进制: 0x378d
从右到左四位分为一组:11    0111   1000   1101  = 3 7 8 d
2.2浮点型常量

1》浮点表示法
例如: 3.14  2.56  7.38
2》e计数表示法

例如: 3.4E2 (3.4x10^2)    3.4e2 (3.4x10^2)    3.4E-2 (3.4x10^-2)
2.3字符型常量

在c语言中,字符用单引号'  '括起来,表示一个字符
字符分两种
1》可见字符 -----能够打印到屏幕上的字符
例如: 'a'   'b'   'c'   'x'
2》不可见字符 -----不能够打印到屏幕上的字符,属于功能型字符
例如: '\a'    '\b'    '\n'   '\r'
因为计算机中只能存储0和1,对于字符不能直接存储,需要给每个字符编码,存储字符时,实际上存储的是对应的编码值。
对于不可见字符,除了可以用字符表示形式外,也可以用对用的编码表示
例如:007   7     07      BEL '\a' (bell)
2.4字符串常量

字符串常量指的是多个字符组成的系列,通常用双引号" "表示。
例如: "hello"    "world"   "大家好"   "隔壁老王"   "a"
c语言中,在存储字符串时,会在最后一个字符的后面自动添加一个'\0',最为字符串的结束标志。
所以,字符串"a",在存储的时候,除了 'a'的编码外,还会存'\0'的编码。
2.5符号常量

在c语言中,用#define定义的符号,用来表示一些常量,把这个符号称为符号常量。
例如:   #define   PI  3.1415       PI称为符号常量,在程序中代表着3.1415
3.变量

定义变量,必须要说明变量的数据类型,在c语言中,不同的数据类型用不同的关键字来表示。
如下:
char     ------- 字符型(1个字节)
short     ------- 短整型(2个字节)
int     -------    整型(4个字节)
long     ------- 长整型(8个字节)
long long      -------             长长整型(8个字节)
float     ------- (单精度)浮点型(4个字节)
double           -------           (双精度)浮点型(8个字节)
long double           -------      长(双精度)浮点型(16个字节)
bool / _Bool         --------     布尔型(1个字节)  ,  bool使用时,需加头文件 #include <stdbool.h>
4.数据类型转换

当不同类型的数据在一起参与运算时,需要先将这些数据转换为相同类型,然后进行运算。
在C语言中有两种类型转换方式:隐式转换和强制转换
隐式转换:由系统自动转换,默认将小类型转换为大类型
强制转换:强制转换:在数据前加(要转换的类型) ,例如: float a = 3.4;   (int)a     //将a中的数据从内存中取出,转为int
(仅一小部分,不全)
回复

使用道具 举报

0

主题

5

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-12-26 20:39:20 | 显示全部楼层
写的真好[酷]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表