C语言选择、循环、函数、数组与操作符

目录

  • 1、选择语句
  • 2、循环语句
  • 3、函数
  • 4、数组
  • 5、操作符
  • 5、单目操作符
  • 6、关系操作
  • 7、逻辑操作符
  • 8、条件操作符
  • 9、逗号表达式
  • 10、下标引用、函数调用和结构成员

1、选择语句 如果你好好学习,校招时拿一个好offer,走上人生巅峰。如果你不学习,毕业等于失业,回家卖红薯。这就是选择!
#includeint main(){int a = 0; printf("1:好好学习,拿大厂offer2、宿舍摆烂,毕业即失业\n\n"); printf("请选择 1 或者 0 :->"); scanf("%d", &a); if (a == 1){printf("加油,为你点赞!\n"); }else{printf("回家卖红薯!\n"); }return 0; }

C语言选择、循环、函数、数组与操作符
文章图片


2、循环语句 C语言中有三种循环,分别是:for循环、while循环、do while循环,下面我用例子来演示。
for循环
#includeint main(){int i = 0; for (i = 0; i < 10; i++){printf("%d ", i); }return 0; }

while循环
#includeint main(){int i = 0; while (i < 10){printf("%d ", i); i++; }return 0; }

do while循环
#includeint main(){int i = 0; do {printf("%d ", i); i++; } while (i < 10); return 0; }

C语言选择、循环、函数、数组与操作符
文章图片

其中 i 为循环变量,i++ 为循环变量增值,i<10 为循环结束条件。

3、函数 函数就是一个具有特定功能的代码块,其作用是将代码进行封装,以提高代码的重用性,提高开发效率。
#include//Add就是一个函数,用来计算两个参数的和int Add(int x, int y)// 开头的int:函数的返回值中间的int:参数的类型x、y:函数的参数{return x + y; }int main(){int a = 0; int b = 0; int ret = Add(a, b); //调用Add函数printf("%d\n", ret); return 0; }


4、数组 数组的概念
数组是具有相同元素类型的集合。
数组的定义方式
#includeint main(){//第一种定义方式:指定大小,并对其进行初识化int a1[10] = { 1,2,3,4,5,6,7,8,9,10 }; //第二种定义方式:指定大小,但不初识化char a2[10]; //第三种定义方式:不指定大小,但必须得初始化,它会根据你初始化元素个个数自动计算数组的大小float a3[] = { 1.0,2.0,3.0 }; return 0; }

数组的下标
C语言规定:数组的每个元素都有一个下标,且数组下标是从0开始的。数组可以通过下标来访问数组元素。
C语言选择、循环、函数、数组与操作符
文章图片

数组的简单使用
#include 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; }

C语言选择、循环、函数、数组与操作符
文章图片


5、操作符 C语言的操作符涉及到的细节以及知识面都比较广,在这里我只是简单的介绍一部分操作符的基本使用,更多的细节我会在后面的文章中进行讲解。
1、算术操作符
+ - * / %
2、移位操作符
>> <<
【C语言选择、循环、函数、数组与操作符】3、位操作符
& ^ |
4、赋值操作符
= += -= *= /= &= ^= |= >>= <<=
#includeint main(){int a = 10; if (a == 20)// ==:判断语句,判断 a 与 20 是否相等{printf("判断:%d\n", a); }if (a = 20)// =:赋值语句,把 10 赋给 a,这条语句始终为真{printf("赋值:%d\n", a); }return 0; }

C语言选择、循环、函数、数组与操作符
文章图片


5、单目操作符
  • ! 逻辑反操作
  • - 负值
  • + 正值
  • & 取地址
  • sizeof 操作数的类型长度(以字节为单位)
  • ~ 对一个数的二进制按位取反
  • – 前置、后置–
  • ++ 前置、后置++
  • * 间接访问操作符(解引用操作符)
  • (类型) 强制类型转换
#includeint main(){ int a = 10; int b = a++; //后置++,先使用,再++,即先把 a = 10 赋给 b ,a 再++,执行后 b=10,a=11 int c = ++a; //前置++,先++,再使用,即先让 a++ 变成 12,再把 a 赋给 c ,执行后 c=12,a=12; printf("a = %d\nb = %d\nc = %d", a, b, c); return 0; }1

C语言选择、循环、函数、数组与操作符
文章图片


6、关系操作
> >= < <= != ==

7、逻辑操作符
&& 逻辑与
|| 逻辑或
#includeint main(){int a = 10; int b = 20; if (a == 10 && b == 20)//逻辑与,必须两个条件都为真if语句才会执行{printf("a && b\n"); }if (a == 10 || b == 30)//逻辑或,只有两个条件都为假时if语句才不会执行{printf("a || b\n"); }return 0; }

C语言选择、循环、函数、数组与操作符
文章图片


8、条件操作符
exp1 ? exp2 : exp3
#includeint main(){int a = 10; int b = 20; int max = a > b ? a : b; //条件操作符,如果 a>b 条件成立,就把 a 赋给 max,否则 b 赋给 maxprintf("max = %d\n", max); return 0; }

C语言选择、循环、函数、数组与操作符
文章图片


9、逗号表达式
exp1, exp2, exp3, …expN
#includemain(){int x, y, z; x = y = 1; //逗号表达式,从左向右依次执行每个运算,但是只取最后一个逗号的结果z = (x++, y++, ++y); //先执行前面两个逗号,x++ -> x = 2, y++ -> y=2, 再最后一个逗号,z=++y,前置++,所以z=y=3printf("x = %d\ny = %d\nz = %d\n", x, y, z); return 0; }

C语言选择、循环、函数、数组与操作符
文章图片

这里要特别注意:赋值运算符的优先级是高于逗号表达式的,也就是说,如果这里 z 后面没有括号,那么编译器会最先将 x 的值赋给 z,再执行后面的逗号表达式。
#includemain(){int x, y, z; x = y = 1; //逗号表达式,从左向右依次执行每个运算,但是只取最后一个逗号的结果//赋值运算符优先级高于逗号表达式,先将 x 赋给 z,那么 z = 1; //再执行前面两个逗号,x++ -> x = 2, y++ -> y=2, 再最后一个逗号,++y -> y = 3z = x++, y++, ++y; printf("x = %d\ny = %d\nz = %d\n", x, y, z); return 0; }

C语言选择、循环、函数、数组与操作符
文章图片


10、下标引用、函数调用和结构成员
[] () . ->
#includestruct Stu {//定义一个结构体类型char name[15]; int age; char sex[6]; }; int main(){struct Stu s = { "张三",20,"男" }; //用结构体类型定义一个结构体变量 s 并对其初始化printf("%s\t%d\t%s\n", s.name, s.age, s.sex); //用 . 操作符对结构体成员进行访问return 0; }

C语言选择、循环、函数、数组与操作符
文章图片

到此这篇关于C语言选择、循环、函数、数组与操作符的文章就介绍到这了,更多相关C语言函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读