今天主要学习了c语言入门基础知识、数据类型以及常量与变量的定义、分类和运用。
一、c语言基础知识
1.c语言经编写好的二进制代码在外存存放,运行时在内存中运行,内存将指令和c数据加载到cpu中执行。
2.单位计算:bit 位 0 / 1 byte 字节 1byte == 8bits kb 1kb == 1024 bytes mb 1mb == 1024kb
gb 1gb == 1024mb tb 1tb == 1024gb
3.进制转换
二进制逢二进一,八进制逢八进一,十六进制逢十六进一
二进制、八进制、十六进制转换为十进制:对应位*对应位权值后求和
十进制转换为二进制、八进制、十六进制:短除法除以进制数余数逆序得到
二、数据类型
1.c语言每种数据都有类型,分为基本数据类型和构造数据类型。
2.基本数据类型
(1)整数类型分为有符号类型(signed)和无符号(unsigned)类型,还可分为:短整型、整形、长整型。
①unsigned short占2个字节,值域范围0-65535
②short(默认有符号)占2个字节,值域范围-32768 - 32767
③unsigned int占4个字节,值域范围0 - 42亿
④int(默认有符号)占4个字节,值域范围-21亿 - 21亿
⑤unsigned long占8个字节,值域范围0 - 900亿亿
⑥int(默认有符号)占4个字节,值域范围-21亿 - 21亿
注:无符号数在内存中存放数字对应的二进制形式,有符号数在内存中存放数字对应的二进制补码形式(原码->反码->补码 首位为字符号为,0为正,1为负)
(2)字符类型本质上是一种整数类型,用char表示,char类型标识单个字符,能够从键盘中输入的都是字符(小写英文字母、大写英文字母、符号、数字字符),可以用ASCII码表查看字符对应的数值(输入man ascii,前32位字符用于通信控制,无法显示)
①unsigned char占1个字节,值域范围0 - 255
②unsigned char占1个字节,值域范围-128 - 127
(3)浮点数类型(均为有符号)
float类型存储(32位) == 符号位(1位)+ 指数位(8位)+尾数位(23位)
double类型存储(64位) == 符号位(1位)+ 指数位(11位)+尾数位(52位)
float类型精度6-8位,double类型精度12-16位
①float(单精度浮点数)占4个字节,值域范围-3.402823*10^38到3.402823*10^38
②double(多精度浮点数)占8个字节,值域范围-1.797693*10^308到1.797693*10^38
(4)缺省类型:void修饰函数参数或者函数返回值表示类型缺省,void修饰指针,表示指针指向的类型是缺省的
(5)泊尔类型
C语言中使用bool类型需要加入头文件#include <stdbool.h>,C语言非0值即为逻辑真值,0值即为逻辑假值。(逻辑语句中非零值都为真值,输出1)
bool占1个字节,值域范围true(1)、 false(0)
三、变量和常量
1.常量:可以直接使用,运行时值不发生改变
(1)整型常量(默认signed int)
123;
-123;
0123;
0x123;
123L;(长整型)
123UL;(无字符长整型)
(2)浮点型常量(默认为double)
3.1415f;
3.14e15;
3.14e-15;
(3)字符常量
'a' 'b' 'A' 'B' '#' '!' '?'
' ' 空格字符 '\'' '字符 '\\' \字符 '\n' 换行符 '\t' 制表符 '\r' 回车符 '\v'纵向制表符
'\b'退格符 '\0'\0字符表示字符串的结尾 '0' 字符0 '1' '2' '3' '\八进制数'
八进制数为3位 '\x十六进制数' 十六进制数2位
(注:0指的是整型,'0'指的是字符0, '\0'指的是字符\0,0=='\0','0'==48)
(4)字符串常量(字符串末尾有一个隐藏的用来标识结尾的\0字符)
"hello"
'h' + 'e' + 'l' + 'l' + 'o' + '\0' 6个字节
e.g."hi\0"4个字节 "hi\123bc"6个字节 "hi\\\x32h"6个字节
(5)标识常量
#define 标识 常量
如:#define PI 3.1314
提高代码的可读性,宏只是代码的替换,中间不执行任何数据计算的处理,标识常量名一般大写。
2.变量(在程序运行过程中值可以发生改变的量)
需要先定义后使用,变量名只能由字母、数字、下划线构成,不能以数字开头,不要与关键字、库函数重名,最好是见名知意
tmp 临时 val 数值 var 变量 max 最大 min 最小
tmp_max_val; TmpMaxVal;
(1)整型变量【printf("a = %d\n", a);】
unsigned short a;
short a;
unsigned int a;
int a;
unsigned long a;
int a;
(2)浮点型变量【printf("f = %f\n", f);】
float f;
double d;
(3)字符型变量【printf("ch = %c\n", ch);】
char ch;
掌握这些基础知识是学习C语言的重要第一步,后面我会继续学习C语言的进阶内容。
嵌入式学习:C语言入门基础
1951

被折叠的 条评论
为什么被折叠?



