c语言(1)—数据类型、常量与变量

嵌入式学习:C语言入门基础

今天主要学习了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语言的进阶内容。

    


    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值