C语言笔记06_初识函数 数组 操作符
# C语言笔记06_初识函数 数组 操作符> 这只是一篇新手个人学习笔记,其中不可避免出现理解不深不透,仅以督促自身及记录,如有错误,望批评指正!
---
### 函数
**示例**
```c
#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;
}
```
**上述代码写成函数形式如下**
```c
#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)
> 函数的特点就是简化代码,代码复用。
#### 数组
> 一种相同类型的元素的集合
```c
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开始的。**
**数组可以通过下标来访问的。**
```c
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)
### 操作符
##### 算术操作符
> \+ - * / %
###### 移位操作符
> \>> <<
###### 位操作符
> & ^ |
##### 赋值操作符
> = += -= *= /= &= ^=|= >>=<<=
##### 单目操作符
```c
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反 //按(二进制)位取法把所有二进制位中数字,1变成0,0变成1
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)(
类型) 强制类型转换
```
整数在内存中存储的补码
整数的二进制表示有3种:
原码 反码 补码
以-1为举例(针对负数)
10000000000000000000000000000001(原码)最高位为1表示是-1
11111111111111111111111111111110(反码)第一位符号位不变
11111111111111111111111111111111(补码)第一位符号位不变
整数的原码 反码 补码都相同
---
**原码** 符号位不变,其他位按位取反
↓↓↓↓
**反码** 反码+1
↓↓↓↓
**补码**
##### 关系操作符
```c
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
```
##### 逻辑操作符
```c
&& 逻辑与
|| 逻辑或
```
##### 条件操作符
```c
exp1 ? exp2 : exp3
```
##### 逗号表达式
```c
exp1, exp2, exp3, …expN
```
##### 下标引用、函数调用和结构成员
```c
[] () . ->
```
**兄弟们如果有什么好的Mysql,以及UML建模的教程也可以推荐一波** 优秀,学习。
页:
[1]