雪碧cc 发表于 2022-2-14 16:28

C语言笔记06_初识函数 数组 操作符

# **C语言笔记06_初识函数 数组 操作符**

> **这只是一篇新手个人学习笔记,其中不可避免出现理解不深不透,仅以督促自身及记录,如有错误,望批评指正!**

---

### **函数**

****示例****

```
#include <stdio.h>
int main()
{
? ?int num1 = 0;
? int num2 = 0;
? ?int sum = 0;
? ?printf("输入两个操作数:>");
? ?scanf("%d %d", &num1, &num2);
? ?sum = num1 + num2;
? ?printf("sum = %d\n", sum);
? ?return 0;
}
```

****上述代码写成函数形式如下****

```
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>


int Add(int x, int y) //定义一个整形 num1传给x 2传给y
{
    int z = 0;
    z = x + y;
    return z;
}


int main()
{

    int num1 = 0;
    int num2 = 0;
    scanf("%d%d", &num1, &num2);
    int sum = Add(num1,num2);

    printf("%d", sum);

    return 0;

}
```

![](https://gitee.com/Luuxcyzz/my-image-host/raw/master/image-20220207213523710.png)

> **函数的特点就是简化代码,代码复用。**

#### **数组**

> **一种相同类型的元素的集合**

```
int arr = {1,2,3,4,5,6,7,8,9, 10};//定义一个整形数组,最多放10个元素
```

**代码示例**

**这里F10调试单步往下后 查看监视器可得**

!(https://gitee.com/Luuxcyzz/my-image-host/raw/master/image-20220210214111231.png)

#### **打印数组**

****C语言规定:数组的每个元素都有一个下标,下标是从0开始的。******
******数组可以通过下标来访问的。****

```
int main()
{
    int arr = { 1,2,3,4,5,6,7,8,9,10};
    char ch = { 'a','b','c' };//不完全初始化,剩下的会默认为0
    //数组使用下标来访问
    int i = 0;
    while (i <10)
    {
      printf("%d", arr);
      i++;

    }

    return 0;
}
```

!(https://gitee.com/Luuxcyzz/my-image-host/raw/master/image-20220211140325022.png)

### **操作符**

##### **算术操作符**

> +** - * / %**

###### **移位操作符**

>> **> <<**
>>

###### **位操作符**

> **& ^ |**

##### **赋值操作符**

> **= += -= *= /= &= ^=|=   >>=<<=**

##### **单目操作符**

```
! ? ? ? ? ? 逻辑反操作
- ? ? ? ? ? 负值
+ ? ? ? ? ? 正值
& ? ? ? ? ? 取地址
sizeof ? ? ?操作数的类型长度(以字节为单位)
~ ? ? ? ? ? 对一个数的二进制按位取反 ? //按(二进制)位取法把所有二进制位中数字,1变成0,0变成1
-- ? ? ? ? ?前置、后置--
++ ? ? ? ? ?前置、后置++
* ? ? ? ? ? 间接访问操作符(解引用操作符)(
类型) ? ? ? 强制类型转换
```

**整数在内存中存储的补码****
****整数的二进制表示有3种:****
****原码 反码 补码**

**以-1为举例(针对负数)**

**10000000000000000000000000000001(原码)最高位为1表示是-1**

**11111111111111111111111111111110(反码)第一位符号位不变**

**11111111111111111111111111111111(补码)第一位符号位不变**

**整数的原码 反码 补码都相同**

---

****原码******                        ****符号位不变,其他位按位取反**

**↓↓↓↓**

****反码******                        ****反码+1**

**↓↓↓↓**

****补码****

##### **关系操作符**

```
>
>=
<
<=
!= ? 用于测试“不相等”
== ? ? ?用于测试“相等”
```

##### **逻辑操作符**

```
&& ? ? 逻辑与
|| ? ? 逻辑或
```

##### **条件操作符**

```
exp1 ? exp2 : exp3
```

##### **逗号表达式**

```
exp1, exp2, exp3, …expN

```

##### **下标引用、函数调用和结构成员**

```
[] () . ->
```

DavidLiu 发表于 2022-2-15 20:07

哈哈哈,楼主写的代码我都能看得懂。
有个细节补充一下,对于字符数组的初始化:
char ch[]="abc00"
char ch = { 'a','b','c','0','0' }
它们长度是不一样的。
还有一种比较方便的写法
char* ch="abc00"

omgTsQ6917 发表于 2022-2-14 18:49

感谢大佬的分享

uYtUSF 发表于 2022-2-14 18:49

谢谢分享

xcCpAtuOdra 发表于 2022-2-14 19:23

谢谢分享

kZNywIf83 发表于 2022-2-14 20:06

谢谢分享

sjhvBc 发表于 2022-2-14 20:25

谢谢分享

wtOEh5 发表于 2022-2-14 20:39

学习永不停歇

rauiM 发表于 2022-2-14 20:59

前来向大佬学习

WOoJhZzI4596 发表于 2022-2-14 21:02

谢谢分享

XeTI3 发表于 2022-2-14 21:02

谢谢分享
页: [1] 2 3 4 5 6 7 8
查看完整版本: C语言笔记06_初识函数 数组 操作符