5.选择语句
选择语句给我们很多选择,当然每个选择都有不同的结果。当coding==1的时候,就会从if语句进去,而不从else进去,反之亦然。
#include <stdio.h> int main() { int coding = 0; printf("你会去敲代码吗?(选择1 or 0):>"); scanf("%d", &coding); if(coding == 1) { prinf("坚持,你会有好offer\n"); } else { printf("放弃,回家卖红薯\n"); } return 0; }
6.循环语句
有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。
首先我们进入while语句,由于初始化line==0,我们
//while循环的实例 #include <stdio.h> int main() { printf("努力学习\n"); int line = 0; while(line<=20000) { line++; printf("我要继续努力敲代码\n"); } if(line>20000) printf("好offer\n"); return 0; }
6C语言中如何实现循环呢?
while语句-讲解
for语句(后期讲)
do ... while语句(后期讲)
7.函数
其实我们在写代码的时候一直在使用函数,main函数就是一个函数,还有printf,scanf,strlen等等。这些叫做库函数,是可以直接用的函数,但是在写代码的时候用的最多的还是自定义函数,自己定义函数名,返回类型,参数。
像下面这段代码,我们定义一个加法函数,将两个数相加的值返回给sum,在main函数里面的num1,num2是实参,在Add加法函数里面x,y是形参,int是x和y的类型,z也是整形,所以Add前面我们也要加上int这个返回类型。
#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; } 上述代码,写成函数如下: #include <stdio.h> int Add(int x, int y) { int z = x+y; return z; } int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("输入两个操作数:>"); scanf("%d %d", &num1, &num2); sum = Add(num1, num2); printf("sum = %d\n", sum); return 0; }
函数的特点就是简化代码,代码复用。
8.数组
要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合
8.1数组定义
数组的作用就是存放一组相同类型的数,[]里面是数组的大小,10表示这个数组可以存放10个元素,arr是数组名,int是表示这个数组是整形数组。
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
8.2数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。
比如:
int arr[10] = {0}; //如果数组10个元素,下标的范围是0-9
第一个元素的下标是0,第二个元素的下标为1,以此类推。
8.3数组的使用
#include <stdio.h> int main() { int i = 0; int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(i=0; i<10; i++) { printf("%d ", arr[i]); } printf("\n"); return 0;
使用for循环产生0-9的下标,就可以访问这10个元素了。
9.操作符
先给大家简单介绍一下,后面再详细讲。
1.算数操作符(加,减,乘,除,取模)
+ - * / %
1. int r = 7/2; 2. float r = 7/2;
对于除法来说,除号的两端都是整数的话,执行的是整数除法.
除号的两端只要有一个数是小数,就执行小数除法.
取模操作符得到的是整除后的余数,%操作符左右两边只能是整数。
2.移位操作符
>> <<
移位操作符移动的是二进制的位,这个后期再讲。
3.位操作符
& | ^
位操作符移动的也是二进制的位,后面再讲。
4.赋值操作符
= += -= *= /= &= ^= |= >>= <<=
=是赋值操作符。其他的叫做复合赋值符。
=就是单纯的给一个变量赋值。复合赋值符的作用在下面的代码可以展示出来。
int main() { int a = 10; a = 20;//赋值 a = 100;//赋值 a = a + 3; //1 a += 3;//复合赋值 //2 a = a - 5; a -= 5; a = a * 10; a *= 10; a = a / 3; a /= 3; return 0; }
5.单目操作符
像3+5和4/2这种叫双目操作符,因为有两个操作数。单目操作符就是只有一个操作数。
在C语言中,0表示假,非0表示真。&和*我们讲指针时再讲。·~后期讲。
!就可以把真假互换。
sizeof可以计算类型大小。
int main() { int a = 10; printf("%d\n", sizeof(a)); //4个字节 printf("%d\n", sizeof a); //4个字节 printf("%d\n", sizeof(int));//4个字节 return 0; }
++和--很类似,前置++就是先将a+1,再将a+1的值赋给b。
int main() { int a = 10; int b = ++a; //前置++ //计算口诀:前+1,后使用 //a=a+1, b=a printf("a=%d b=%d\n", a, b);// 11 11 return 0; }
后置++就是先将a的值赋给b,再将a+1。
int main() { int b = a++; //后置++ //计算口诀:先使用,后+1 printf("a=%d b=%d\n", a, b);//11 10 return 0; }
()可以强制类型转换。我们将3.14赋给a的时候翻译器会进行报错,因为a的类型是int,但是当我们将3.14强制转换类型成int就没问题。
int main() { int a = (int)3.14; printf("%d\n", a); return 0; }
6.关系操作符
1. > 2. >= 3. < 4. <= 5. != 用于测试“不相等” 6. == 用于测试“相等”
一个=是赋值,两个==是判断相等。>=是大于等于,<=是小于等于。
7.逻辑操作符
1. && 逻辑与 2. || 逻辑或
&&相当于并且,||相当于或者。下面有张图可以帮助大家理解。
8.条件操作符
exp1 ? exp2 : exp3
在下面代码中这两种方法求得m的值都是3。
int main() { int a = 2; int b = 3; int m = 0; if (a > b) m = a; else m = b; m = ((a > b) ? (a) : (b)); printf("%d", m); return 0; }
9.逗号表达式
由逗号隔开的表达式就是逗号表达式。
exp1, exp2, exp3, …expN
逗号表达式从左到右依次计算,但是整个表达式的结果是最后一个表达式的结果。所以d的结果是-1.
10.下标引用、函数调用和结构成员
[] () . ->
. 和->是结构访问操作符,后面学结构体的时候再讲。[]和()是下标引用操作符,我们以及很熟悉了。