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;
}

函数的特点就是简化代码,代码复用。
数组
一种相同类型的元素的集合
int arr[10] = {1,2,3,4,5,6,7,8,9, 10};//定义一个整形数组,最多放10个元素
代码示例
这里F10调试单步往下后 查看监视器可得

打印数组
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。**
**数组可以通过下标来访问的。****
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10};
char ch[5] = { 'a','b','c' };//不完全初始化,剩下的会默认为0
//数组使用下标来访问
int i = 0;
while (i <10)
{
printf("%d", arr[i]);
i++;
}
return 0;
}

操作符
算术操作符
+* - / %**
移位操作符
> <<
位操作符
& ^ |
赋值操作符
*= += -= = /= &= ^= |= >>= <<=**
单目操作符
! ? ? ? ? ? 逻辑反操作
- ? ? ? ? ? 负值
+ ? ? ? ? ? 正值
& ? ? ? ? ? 取地址
sizeof ? ? ?操作数的类型长度(以字节为单位)
~ ? ? ? ? ? 对一个数的二进制按位取反 ? //按(二进制)位取法把所有二进制位中数字,1变成0,0变成1
-- ? ? ? ? ?前置、后置--
++ ? ? ? ? ?前置、后置++
* ? ? ? ? ? 间接访问操作符(解引用操作符)(
类型) ? ? ? 强制类型转换
整数在内存中存储的补码**
整数的二进制表示有3种:
**原码 反码 补码
以-1为举例(针对负数)
10000000000000000000000000000001(原码)最高位为1表示是-1
11111111111111111111111111111110(反码)第一位符号位不变
11111111111111111111111111111111(补码)第一位符号位不变
整数的原码 反码 补码都相同
原码** **符号位不变,其他位按位取反
↓↓↓↓
反码** **反码+1
↓↓↓↓
补码
关系操作符
>
>=
<
<=
!= ? 用于测试“不相等”
== ? ? ?用于测试“相等”
逻辑操作符
&& ? ? 逻辑与
|| ? ? 逻辑或
条件操作符
exp1 ? exp2 : exp3
逗号表达式
exp1, exp2, exp3, …expN
下标引用、函数调用和结构成员
[] () . ->