#初识C语言,C语言的预备知识-day_4

目录

前言

一、略识函数

二、略识数组

三.操作符(简单介绍)

1.算术操作符

2.移位操作符

3.位操作

4.赋值操作符

5.单目操作符

6.双目操作符

7.三目操作符

总结


前言

祝大家新年快乐!


一、略识函数

int Add(int x, int y)//int为函数返回类型,Add为函数名,括号内为函数接收形参及其类型
{
	int z = x + y;
	return z;
}


int main()
{
	int sum = 0;
	sum = Add(10, 20);//函数的调用
	printf("%d\n", sum);
	return 0;
}

二、略识数组

一组相同类型元素的集合。

整型数组的定义方式:

int main()
{
	//注:数组的下标是从0开始的
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个存放是个整型数字的数组,并存放后面括号的十个数字
	char ch[20];//定义一个存放20个字符的数组
	float arr2[5];//定义一个存放五个浮点型数据的数组
	printf("%d\n", arr[4]);//打印arr数组里第五位元素
	return 0;
}

打印数组中所有元素用循环:

int main()
{
	int arr[5] = { 1,2,3,4,5 };
	int i = 0;
	while(i < 5)
	{
		printf("%d ", arr[i]);//数组访问用下标,下标从0开始
		i++;//每次循环i给自身加一
	}
	return 0;
}

三.操作符(简单介绍)

1.算术操作符

加:+        减:-        乘:*        除:/        取模:%

2.移位操作符

左移<<          右移>>   (移的是二进制位)

例子:

int main()
{
	int a = 1;//整型1占四个字节-32个bit位
	//00000000000000000000000000000001
	int b = a << 1;//b将等于2,其为00000000000000000000000000000010,是由a的二进制表示向左移了一位所得到的,但a本身并没有变
	int c = a << 2;//同理,c就等于4
	printf("%d\n", b);
	printf("%d\n", c);
	return 0;
}

3.位操作

& ——按位与,即二进制对应位,全为1则为1,否则为0

| ——按位或,只要有一个是1,就为1

^ ——按位异或,对应的二进制位相同则为0,对应的二进制位相异则为1

例子:

int main()
{
	int a = 3;//011
	int b = 5;//101
	int c = a & b;//001,c=1
	int d = a | b;//111,d=7
	int e = a ^ b;//110,e=6
	return 0;
}

4.赋值操作符

=   +=   -=   *=   /=   &/    ^=    |=   >>=   <<=    蓝色为复合赋值符

如 a=20中=为赋值操作符,a = a+10与a += 10是一样的,后面原理同前。

5.单目操作符

即操作对象只有一个的操作符。

!为逻辑反操作,如printf(“%d\n”,!a)中,若a=10,则输出为0,若a=0,则输出为1。!a就是把原来的a=10,变成假。a=0变成真。(注,在C语言中,0为假,非零为真)。

sizeof():

int a=10; printf(“%d\n”,sizeof(a));中sizeof()计算的是变量或者类型所占空间的大小,单位是字节,也可以用sizeof()计算数组所占的字节数,然后除以数组中第一个元素所占的字节数,就可以得到数组中的元素个数。

- 负值         +正值         &取地址

~对一个数的二进制按位取反

例子:

int main()
{
	int a = 0;//000000000000000000000000000000000
	int b = ~a;//11111111111111111111111111111111
	printf("%d\n", b);//输出是负一(看不懂没事,涉及原码,反码,补码后期笔记会写)
	return 0;
}

++前置和后置++

例子:

int main()
{
	int a = 0;
	int b = a++;//后置++,先将a的值赋给b,然后a再加一,打印后a是11,b是10
	int a = 10;
	int b = ++a;//++前置,a先加一,再赋值给b,打印后a与b都是11
	return 0;
}

--前置和后置--,用法同上。

*间接访问操作符(解引用操作符),用来调用指针,后期笔记分享!

(类型)         为强制类型转换。

例子:

int main()
{
	int a = (int)3.14;//由于3.14本身是双精度类型,直接赋值会报错,但是加括号可将其类型强制转换
	return 0;
}

6.双目操作符

下面我们用一个例子来说明什么是双目操作符:

int main()
{
	int a = 10;
	int b = 20;
	a + b;//+就是一个操作符,+左边有一个操作数,右边也有一个操作数,所以+为双目操作符
	return 0;
}

关系操作符也是双目操作符,常见关系操作符有:

>   <    >=    <=          不等于:!=           判断:==

逻辑操作符也是双目操作符,常见有:

&&逻辑与(并且),例子:

int main()
{
	int a = 3;
	int b = 5;
	int c = a && b;//c等于1,a为真且b为真,则a&&b为真
	return 0;
}

||逻辑或(至少有一个为真,为真)

7.三目操作符

条件操作符

exp1 ? exp2 : exp3   表达式1的结果如果为真,则表达式2被执行,且表达式2的值就是整个式子的值,如果表达式1为假,则表达式3被执行,且表达式3的值是整个式子的值。

例子:

int main()
{
	int a = 100;
	int b = 20;
	int max = 0;
	max = (a > b ? a : b);//输出为100
	return 0;
}

逗号表达式

exp1,exp2,exp3,...expN

逗号表达式, C语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a= (a=3*5,a*4)的值是60,其中a=(3*5,a*4)的值是60,a的值在逗号表达式里一直是15,最后被逗号表达式赋值为60,a的值最终为60。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OR'CC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值