对C语言的后续大概了解

跟着鹏哥学习了相当多的知识:操作符、逗号表达式、下标引用、函数调用、结构成员、计算机存储数据及CPU概念、关键字的熟悉(如:typedef类型重定义,static作用)、#define定义常量和宏、指针的重要性

操作符包括关系操作符【>    >=    <    <=    !=   ==】,逻辑操作符【&&逻辑与,II逻辑或(有一真即真)】条件操作符【exp1 ? exp2 : exp3】【如:a>b ? a : b】(部分在上篇文稿

举例:

逻辑操作符

#include<stdio.h>
int main()
{
	//真 -非0
	//假 - 0
	//&& -逻辑与
	int a = 3;
	int b = 5;
	int c = a && b;
	printf("c = %d\n", c);
	return 0;
}

条件操作符

#include<stdio.h>

int main()
{
	int a = 5;
	int b = 3;
	int max = 0;
	max = (a > b ? a : b);
	if (a > b)
		max = a;
	else
		max = b;
	printf("max = %d\n", max);
	return 0;
}

只要是整数,内存中存储的都是二进制的补码)(正数:原、反、补、相同)(负数从补码开始)(规定:0为负,1为正

                          原码                                 反码                                补码

                  直接按照正负                 原码符号位不变                    反码+1

                  的二进制序数              其他位按位取反得到

                                                      从补码到反码逆着来

举例

#include<stdio.h>

int main()
{
	int a = 0;//4个字节,32bit位
	int b = ~a;//b是有符号的整形
	/*~按(2进制)位取反
		00000000000000000000000000000000
		11111111111111111111111111111111
		源码,反码,补码
		负数在内存中存储的时候,存储的是二进制的补码
		如:1111111111111111111111111111补码先减1得反码
		1111111111111111111111111110反码再相反得源码
		000000000000000000000000001源码*/
	printf("%d\n", b);
	return 0;
}

函数调用操作符(用相加函数)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int Add(int x, int y)
{
	int z = x + y;
	return z;
}

int main()
{
	int num1 = 10;
	int num2 = 20;
	int sum = 0;
	int a = 100;
	int b = 200;
	sum = Add(num1, num2);
	sum = Add(a, b);
	printf("sum = %d\n", sum);
	return 0;
}

//理解就行
//先是10加20出30
//然后100加200出300

static操作符

#include<stdio.h>

void test()//执行命令
{
	static int a = 1;//加了static后a 是一个静态的局部变量,延长了局部变量的生命周期,运行窗口得a = 2,3,4,5,6
	a++;
	printf("a = %d\n", a);//a+=1得2,局部变量生命周期从{开始,从}结束,因此a的值被销毁,因为i<5则执行5次。所以弹执行窗口是5个a = 0
}

int main()
{
	int i = 0;
	while (i<5)
	{
		test();//先是0调到void test
		i++;
	}
	return 0;

若static修饰全局变量 - > 改变变量作用域

            修饰函数 -> 改变函数链接属性

计算机存储数据

寄存器(register)
高速缓存cpu - 中央处理器
内存
硬盘

由下到上访问速度提高,相应存储内存越少。

最后交给cpu处理

关键字词

 #define定义常量和宏

#include<stdio.h>

//#define 定义标识符常量
#define MAX 100
int main()
{
	int a = MAX;
	printf("a = %d\n", a);
	return 0;
}


//函数的实现【与下面对比着看】                                         
#include<stdio.h>

int Max(int x, int y)
{
	if (x > y)
		return x;
	else
		return y;
}

int main()
{
	int a = 10;
	int b = 20;
   //函数
	int max = Max(a, b);
        //
	printf("max = %d\n", max);
	return 0;
}

//宏的定义
#include<stdio.h>

#define MAX(X,Y) (X>Y?X:Y)

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

 指针的概念(先理解内存

                                                               内存理解

                                                                  指针理解

 

 

如若出现错误,希望大佬们点出错误地方,多多指教!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值