延续第三天的学习:点击转入第三天的学习
8.函数
在写代码的过程中,我们总会遇到重复需要调用相同的一串代码的情况,而重复写一串代码略显枯燥,这时候就有了函数。
例:
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("%d", sum);
return 0;
}
上述代码,写成函数形式如下:
include <stdio.h>
int Add(int x, int y)
{
int 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;
}
可以看到,函数的作用就是简化代码,使得相同的代码可以循环使用。
9.数组
要存储1-10的所有数字,我们该怎么存储呢?
C语言中给出了数组的概念:一组相同类型元素的集合
9.1 数组的创建和初始化
#include <stdio.h>
int main()
{
int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个整形数组,最多放十个元素
int arr2[10] = { 1,2,3,4,5 };//不完全初始化,剩余的默认初始化为0
char arr3[10] = { a,b,c,d };//不完全初始化,剩余的默认初始化为/0
return 0;
}
9.2 数组的下标
C语言规定:数组中的每个元素都有一个下标,下标是从0开始的。
数组的可以通过下标来访问的
例:
#include <stdio.h>
int main()
{
int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d\n", arr1[0]);//打印出"1"
printf("%d\n", arr1[1]);//打印出"0"
return 0;
}
9.3 数组的使用
我们能不能访问数组中的每个元素呢?
答案是可以的:
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
while (i < 10)
{
printf("%d ", arr[i]);
i++;
}
return 0;
}
最终打印出的结果为:1 2 3 4 5 6 7 8 9 10
10.操作符
才疏学浅,目前只是简单介绍~
操作符分为以下几类:
- 算术操作符
- 移位操作符
- 位操作符
- 赋值操作符
- 单目操作符
- 关系操作符
- 逻辑操作符
- 条件操作符
- 逗号表达式
- 下标引用、函数调用和结构成员
10.1 算数操作符
+ - * / %
10.2 移位操作符
>> <<
10.3 位操作符
& ^ |
10.4 赋值操作符
= += *= /= %= ^= |= >>= <<=
10.5 单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作符的类型长度(以字节为单位)
~ 对一个数的二进制位按位取反
++ 前置、后置++
-- 前置、后置--
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
10.6 关系操作符
>
>=
<
<=
!= 用于测试"不相等"
== 用于测试"相等"
10.7 逻辑操作符
&& 逻辑与
|| 逻辑或
10.8 条件操作符
exp1 ? exp2 : exp3
10.9 逗号表达式
exp1,exp2,exp3, ...expN
10.10 下标引用 函数调用和结构成员
[] () . ->
11.常见关键字
C语言提供的丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。
关键字,下面先简单介绍:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while