C语言初识第三节

C语言回顾第三节

一、常见关键字

int float:C语言自带的关键字
auto `

int main()
{
	(auto) int a = 10;//局部变量-自动变量:自动创建自动销毁 默认都有auto所以省略
	return 0;
}

break:停止循环 switch case语句和循环语句
case
char:字符类型
const:常变量
continue:循环里面 继续
defalut:默认 switch case语句里面的
do:do while循环
double:双精度浮点数
else:if else语句
enum:枚举
extern:引入/声明外部符号
float:单精度浮点数
for:for循环
goto:goto语句
if:if语句
int:整型
long:长整型
register:寄存器关键字

int main()
{
	register int a=10;//建议把a定义成寄存器变量(由编译器去判断)
	return 0;
}
return:返回
short:短整型
signed/unsigned:
int main()
{
	int a=10;
	int a=-2;
	//int 定义的变量是有符号的
	//signed int==int
	unsigned int num=1;//无符号数无论定义的是正数还是负数都是正数
	return 0;
}

sizeof:计算大小
static:静态的 修饰局部变量: 局部变量的生命周期变长了
修饰全局变量: 改变了变量的作用域 让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没办法再使用了
修饰函数 :也是改变了函数的作用域(说法不准确) 改变了函数的链接属性
(正常的函数是具有外部的链接属性) 变成内部属性

void test()
{
	static int a=1;//a是一个静态的局部变量
	a++;
	printf()
}
int main()
{
	int i=0;
	while(i<5) 	
	{
		test();
		i++
	}
	return 0;
}

struct:结构体关键字
switch:
typedef:类型定义/类型重定义

int main()
{
	typedef unsigned int u int;
	unsigned int num=20;
	u int num2=20;
	return 0;
}
 union:联合体/共用体 
 void:无/空
  volatile:(体现C语言段位的)
   while:

Tips:关键字不能和变量名冲突

二、#define定义常量和宏

//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x,y) ((x)+(y))
#define MAX(x,y) (x>y?x,y)
Tips:define是一种指令

三、指针

1.内存

内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中运行的。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是**一个字节**。
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该**内存单元的地址**。
1)如何产生地址
	32位
	32根地址线/数据线
	正电	负电
	1      0
	通过地址线/数据线将电信号转化为数字信号
	产生2^32种结果
	即2^32个地址-->空间
	二进制序列做一个内存块的编号,编号称为内存的地址
	一个地址单元为一个字节是最合适的   4G

2.指针

int main()
{	
	int a=10;//4个字节     创建一个变量 名字是a 有自己的地址0x0012ff40 放了个值是10
	int* p=&a;//取地址		创建p变量 创建p空间 放a的地址 int*是一个整体 *告诉p为一个指针变量
	//有一种变量是用来存放地址的--指针变量
	*p=20;;//*--解引用操作符 简介访问操作符
	return 0;
}
1)指针的大小
	32位平台指针大小为32bit=4byte 64位平台为8byte
	Tips:不会因为指针变量的类型而改变

三、结构体

1.结构体

	书-复杂对象
	书名+作者+出版社+定价+书号
	复杂对象--结构体--我们自己创造出来的一种类型
	创造一个结构体类型
struct book
{
	char name[20];//C语言程序设计
	short price;//55
};
int main()
{
	//利用结构体类型-创造一个该类型的结构体变量
	struct book b1 = { "C语言程序设计",55 };
	struct book* pb = &b1;
	strcpy(b1.name, "C++");//strcpy-string copy-字符串拷贝-库函数-string.h (目的地,操作/拷贝谁)
	printf("%s\n", pb->name);
	//利用pb打印出我的书名和价格
	//.		结构体变量.成员
	//->	结构体指针->成员
	printf("%s\n", (*pb).name);
	printf("%d\n", (*pb).price);

	printf("%s\n", pb->name);
	printf("%d\n", pb->price);

	printf("书名:%s\n", b1.name);
	printf("价格:%d元\n", b1.price);
	b1.price = 15;
	printf("修改后的价格:%d\n", b1.price);
	return 0;
}

END:TIPS

Tips:计算机 存储数据
寄存器
高速缓存 几十兆 比内存速度还要快
内存 8G/4G/16G 内存的访问速度高于硬盘,造价高,空间太大买不起
硬盘 500G
CPU-中央处理器
一开始内存与cpu速度匹配对接,后来由于cpu的速度越来越快,内存跟不上,于是出现了寄存器,每次cpu运行便去寄存器找数据,而内存将数据存到高速缓存再存到寄存器,当寄存器需要时也可以通过同样的路径再往回找数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值