初识C语言(4)

正常加法:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int num1 = 0;
	int num2 = 0;
	scanf("%d%d", &num1, &num2);
	int num = num1 + num2;
	printf("%d\n", num);

		return 0;
}

函数加法:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Add(int x, int y)
{
	int z = 0;
	z = x + y;
	return z;
}


int main()
{	
	int num1 = 0;
	int num2 = 0;
	scanf("%d%d", &num1, &num2);

	int num = Add(num1, num2);
	printf("%d\n", num);

	return 0;
}

数组 - 一组相同类型的元素的集合

10个整形1-10存起来

int main()
{
	int arr[10] = {1,2,3,4,5,6,7,8,9,10};
	int i = 0;
	while (i < 10)
	{
		printf("%d/n",arr[i]);
		i++;
		//char ch[5] = { 'a','b','c' };//不完全初始化,剩余的默认为0
	}

	return 0;
}

操作符:

算数操作符 + - * / %

int main()
{
	int a = 9 / 2;取值
	float b = 9 / 2.0;取小数
	int c = 9 % 2;//%取模(余)
	printf("%d\n", c);
	printf("%f\n", b);
	printf("%d\n", a);



	return 0;
}

移动操作符:>>

int main()
{
		int a = 4;
		int b = a << 1;//左移操作符 --移动的是二进制位
		printf("%d\n", b);


	return 0;
}

位操作符:

& 按位与

| 按位或

^ 按位异或

赋值操作符

int a = 2;
a = a + 5//也可以 a += 5
a = a - 3//也可以 a -= 3
a = a % 3//也可以 a %= 3

a+b:

有两个操作数(a b ) 双目操作符

单目操作符:只有一个操作数

!:逻辑反操作

int main()
{
	int a = 10;
	printf("%d\n", !a);//0表示假,非0表示真  !:就是把假的变成真的 真的变成假的 所以A=10时是真 用了!变成了假
 
  if(a)
  {
      //如果A为真,做事                    
  }
   
   if(!a)
{
    
    //如果A为假,做事
}    
     

	return 0;
}

— :就是负号

sizeof:操作数的类型或者变量长度(以字节为单位)

int main()
{
	int num[10] = { 0 };
	printf("%d\n", sizeof(num));//计算的数组的总大小,单位是字节
	printf("%d\n", sizeof(num[1]));
	int sz = sizeof(num) / sizeof(num[1]);
	printf("%d\n", sz);


	return 0;
}

~:按(二进制)位取反 把所有二进制位中数学,1变成0,0变成1

整数在内存中存贮的是补码~

符号位是第一位

一个整数的二进制表示有3种:

原码:二进制

反码:符号位不变 其他按位取反

补码:反码+1

正整数

原码,反码,补码相同

int main()
{
	int a = 0;
	printf("%d\n", ~a);
	{

	}

	return 0;
}

前置++ : 先++,后使用

int main()
{
	int a = 10;
	int b = ++a;
	printf("%d\n", b);
	printf("%d\n", a);

	return 0;
}

后置++ :先使用,后++

int main()
{
	int a = 10;
	int b = a++;
	printf("%d\n",b);
	printf("%d\n",a);

	return 0;
}

(类型):强制类型转换

int main()
{
	int a = (int)3.14;//强制类型转换
	printf("%d\n", a);
	return 0;
}

&& :逻辑与 两个为真 才是真 一个是假 就是假

int main()
{
	int a = 5;
	int b = 12;
	int c = a && b;
	printf("%d\n", c);
 结果是1

	return 0;
}

|| :逻辑或 一个为真 就是真

int main()
{
	int a = 5;
	int b = 0;
	int c = a || b;
	printf("%d\n", c);
 //结果是1

	return 0;
}

条件操作符(三目操作符):exp1?exp2:exp3

exp1 成立, exp2计算,整个表达式的结果是:exp2的结果

exp1 不成立, exp3计算,整个表达式的结果是:exp3的结果

int main()
{
	int a = 102;
	int b = 501;
	int max = 0;
	max = a > b ? a : b;
	printf("%d\n", max);
 //结果是501



	return 0;
}

逗号表达式:逗号隔开的一串表达式

逗号表达式,是从左往右计算的

int main()
{
	int a = 10;
	int b = 5;
	int c = 3;
	int d = (a = b - c, b = a - c, c = a + b);
	//答案是1
	printf("%d\n", d);



	return 0;
}

[]下标引用操作符

()函数调用操作符

int main()
{
	int num[10] = { 1,2,3,4,5,6,7,8,9,10 };//[]就是下表引用操作符
	printf("%d\n", num[6]);
	printf("hh\n");//调用函数的时候,函数名后边的()就是函数调用的操作符

	return 0;
}

C语言提供的关键字

1.C语言提供的,不能自己创建关键字

2.关键字不能做变量名比如:int char 就是不行的 变量名不能做关键字

int a = 10; 自动创建,自动销毁的

auto省略掉了 原本是 auto int a = 10;

char 字符类型 const 常变量 continue继续 default默认 double双精度

enum枚举 extern 是用来申明外部符号的 float单精度 long 长整型

register 寄存器关键字 return返回 short短整型 signed 有符号的(10 -20)

sizeof求大小 static静态的 typedef类型定义 union 联合体(共用体)void 无(空)

volatile(后期才学)while循环

define 不是关键字 是预处理指令 include 不是关键字 是预处理指令

计算机中 数据可以存储在: 内存 硬盘 网盘 高速缓存 寄存器(越后面越快 也空间越小 造价越高)

int main()
{
	//大量且频繁被使用的数据,可以放在寄存器中,提升效率!
	register int a = 10;//建议a的值存放在寄存器中

	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值