C语言学习_note3

--、++、强制类型转换 ——()

//()强制类型转换
int main() {
	int a =(int) 3.14; //这里(int)就是强制类型转换
	return 0;
}


//前置--
int main() {
	int a = 10;
	int b = --a;//前置-- ,先让a自减,再使用a的值
	printf("a = %d\nb = %d\n", a, b);//a=9 b=9
	return 0;
}
//后置--
int main() {
	int a = 10;
	int b = a--;//后置-- 先使用a的值(先把a的值给b),再让a自减
	printf("a = %d\nb = %d\n", a, b);//a=9 b=10
	return 0;
}

//前置++
int main() {
	int a = 10;
	int b = ++a;//前置++ 先让a自增,再把a的值给b
	printf("a = %d\nb = %d\n", a, b);//a=11 b=10
	return 0;
}

//后置++
int main() {
	int a = 10;
	int b = a++;//后置++ 先使用a的值(先把a的值给b),再让a自增
	printf("a = %d\nb = %d\n",a,b);//a=11 b=10
	return 0;
}

关系操作符

>= 

! =

<

<=

==

逻辑操作符
&&逻辑与
||逻辑或
int main() {
	// 真 、假 
	//0表示假、非0就是真
	//&&——逻辑与
	int a = 0;
	int b = 5;
	int c = a && b;//a为真且b为真,则c为真
	int d = a || b;//逻辑或
	printf("c = %d\n", c);
	printf("d = %d\n", d);
	return 0;
}
条件操作符
exp1 ? exp2 :  exp3
int main() {
	int a = 40;
	int b = 20;
	int max = 0;
	/*if (a > b)
		max = a;
	else
		max = b;*/
	max = (a > b ? a : b);
	printf("max = %d", max);
	return 0;
}

 

逗号表达式
exp1,exp2,exp3,exp4
int Add(int x, int y) {
	int z = 0;
	z = x + y;
	return z;
}
int main() {
	int arr[10] = { 0 };
	arr[4];//[]---下标引用操作符
	int a = 10;
	int b = 20;
	int sum = Add(a, b);//()---引用函数操作符
	printf("sum = %d", sum);
	return 0;
}

常见关键字

auto    break    case    char   const   continue   default   do   double   else  enum

extern  float  for  goto   if   int   long   register   return    short   signed   sizeof  

static     struct   switch      typedef       union  void  volatile   while  

int main() {
	//typedef---类型定义--类型重定义
	unsigned int num = 20;
	typedef unsigned int u_int;//把这个类型重新定义一个名字为u_int
	u_int num2 = 20; 
	//u_int 和 unsigned int完全一样,就是别名
	return 0;
}

//static (一)修饰局部变量,局部变量的生命周期变长
void test()
{
	static int a = 1;//a用static修饰,a就变成一个静态的局部变量
	a++;
	printf("a = %d\n", a);// 2 3 4 5 6
}

int main() {
	int i = 0;
	while (i < 5)
	{
		test();
		i++;
	}
	return 0;
}

//常见关键字
//(二)static 修饰全局变量---改变了变量的作用域
//让静态的全局变量只能在自己所在的源文件内部使用,出了源文件便不能用了
int main() {
	//extren --声明外部符号
	extern int g_val;
	printf("g_val = %d \n", g_val);
	return 0;
}




//(三)static 修饰函数---改变了函数的作用域,改变了函数的链接属性
//普通的函数是具有外部链接属性的,用static修饰后外部链接属性变成了内部链接属性
//声明外部函数
extern int Add(int, int);
int main() {
	int a = 10;
	int b = 20;
	int sum = Add(a, b);
	printf("sum = %d", sum);
	return 0;
}

计算机存储数据------寄存器、高速缓存、内存、硬盘

CPU--中央处理器

#define---定义常量和宏

//#define 定义标识符常量
//#define MAX  100
//#define 可以定义宏-带参数
Max(int x, int y)
{
	if (x > y)
		return x;
	else
		return y;
}
//宏的定义
#define MAX(X,Y) (X>Y?X:Y)

int main() {
	//int a = MAX;
	int a = 10;
	int b = 20;
	//函数方式
	int max = Max(a, b);
	printf("max = %d\n", max);
	//宏的方式
	max = MAX(a, b);
	//max = (a>b?a:b)
	printf("max = %d\n", max);
	return 0;
}

指针

地址---->空间(房间)

如何产生地址-----32位(有32根地址线/数据线) 64位

int main() {
	int a = 10;//在内存里申请4个字节
	int *p=&a;//取地址
	//有一种变量是用来存放地址的--指针变量
	printf("%p\n", &a);
	printf("%p\n", p);
	*p = 20;//*---解引用操作符
	printf("%d\n", a);
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值