紧接上一课,上一篇博客我已经简单介绍了变量的作用域和生命周期,常量,字符串+转义字符+注释,选择语句,循环语句,函数这些下面我们再接着来介绍C语言其他的
插播小知识
前面可能有些小可爱对scanf()有疑问,下面我们就来插播一下这个小知识
scanf
在图中可以看出,scanf是有返回值的,返回值是实际读取到数据的个数,比如我们要输入两个数字,结果我就输入了一个数字,那scanf()的返回值就是1,当我如果一个都不输入会返回多少,我们来试试
看看,是-1哦哦不要搞错了
'\0'
数字0;0
字符0;'0' 对应的ASCII值为48
转义字符0:'\0' 对应的ASCII值为0 (十进制) 是一个8进制的如:\ddd
全局变量和局部变量名字相同的情况下局部优先
变量初始化
未初始化
#include <stdio.h> int main() { int a; printf("%d", a); return 0; }
结果
因为你未初始化,a会是随机值,编译器不支持这样所有会报错
数组
简单的来讲就是一堆数据类型相同的数据组成的集合
数组的定义
#include <stdio.h> int main() { //数组的定义 int arr[10]; char arr_1[10]; double arr_2[10]; float arr_3[10]; return 0; }
数据类型 数组名[元素个数]
数组的初始化(就是赋值的过程)
#include <stdio.h> int main() { //数组的初始化 int arr[10] = {1,2,3,4,5,6,7,8,9,10};//完全初始化 char arr_1[10] = {'a','b','c'};//不完全初始化 double arr_2[10] = {0}; float arr_3[10] = {1.0f,2.0f,3.0f}; return 0; }
结果:
初始化分为完全初始化和不完全初始化,不完全初始化剩下的元素默认为0
这里我们简单了解一下
数组的下标
注意
数组的下标是从0开始的
我们可以通过下标访问元素或者修改元素
#include <stdio.h> int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; printf("%d\n", arr[1]); arr[1] = 11; printf("%d\n", arr[1]); return 0; }
注意一下,就是数组的元素要是数字(整数 ,小数......)才能直接修改,如果是字符的话就不能直接修改了
如果我们想让一一打印出来也是可以的,
代码如下:
#include <stdio.h> int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; /*printf("%d\n", arr[1]); arr[1] = 11; printf("%d\n", arr[1]);*/ int a = 0; while (a < 10) { printf("arr[%d]=%d\n", a, arr[a]); a++; } return 0; }
结果如下:
操作符
算术操作符
+(加)-(减)*(乘)/ (除) %(取余)
下面我简单的讲解/和%
/
代码如下:
#include <stdio.h> int main() { int a = 10; int b = 3; float c = 3.0f; //整数的除法 printf("a/b=%d\n", a / b); //小数的除法 printf("a/c=%lf\n", a / c); return 0; }
结果:
除法有两种一种结果为小数,一种结果为整数
%
代码如下:
#include <stdio.h> int main() { int a = 10; int b = 3; printf("a除b取模的值为:%d", a % b); return 0; }
结果:
记住,只有整数取余,没有小数
移位操作符(移动的是二进制)
>><<
后期会讲
位操作符(二进制操作)
&^|
后期会讲
赋值操作符
= += -= *= /= &= ^ = |= >>= <<=
下面我来讲一讲 +=
代码1:
#include <stdio.h> int main() { int a = 10; int b = 20; a = a + b; printf("%d",a); return 0; }
代码二:
#include <stdio.h> int main() { int a = 10; int b = 20; a += b; printf("%d",a); return 0; }
上面两种写法的运行结果都是一样的
a=a+b
a+=b ==> a=a+b
同理其他也是这个意思