C语言-初识C语言(3)
7.循环语句
循环语句一共由3种,分别为while语句,do~while语句以及for语句。在初识C语言中,小编只是点到为止,后面每一个知识点小编都会详细的解析。
while循环
格式为while(表达式)循环体只能是一个语句,循环体的次数由循环条件决定,其中上式的表达式也称循环条件表达式,当此表达式的值为真的时候循环体执行。即;只要当循环表达式为真的时候(给定的条件成立),就执行循环体语句。while语句特点:先判断条件表达式,后执行循环体语句。
下面用代码举例:
#includeint main() //输出1-100的所有奇数{int a = 1;int i = 0;while (a < 1000) //满足条件范围进入循环体{if (a % 2 == 1) //判断是否为奇数{i++;printf("%5d", a); //打印奇数,“%5d”的意思是输出5字段宽度的十进制整数(也就是让打印的数字分隔开)}if (i % 5 == 0) //让打印的数字整齐排列,我们每打印5个数字换一行printf("\n"); //换行a++;}return 0;}
运行结果为:
for循环
1.一般形式为 for(表达式1,表达式2,表达式3)
表达式1;设置初始条件,仅仅执行一次,可以为0个,一个或多个。
表达式2;循环条件表达式,用来判断是否继续循环。
表达式3;循环的调整,即对循环变量的约束。
2.一般形式for(循环变量赋初值;循环条件;循环变量约束)。
各种循环语句可以相互嵌套,形成嵌套结构。(后面细讲)
下面用代码举例:
#include int main(){ int a = 0; //for 循环执行 for (a = 1; a < 20; a = a + 2) { printf("a 的值: %d\n", a); } return 0;}
运行结果为:
do···while循环
1.先执行循环体系中的结构,然后再判断while括号中的表达式是否成立,为了让程序清晰,易读,建议把循环体用括号括起来。
2.执行过程;先执行循环体,然后再检查条件是否成立,若成立,则继续循环。
3.一般形式:
do
循环体
while(表达式)
下面用代码举例
int main(){ int a = 10; do // do 循环执行,在条件被测试之前至少执行一次 { printf("a 的值: %d\n", a); a = a + 1; } while (a < 20); return 0;}
运行结果为:
8.函数
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。
函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。
C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。
在初识C语言中,我们只需简单认识一下即可,后年小编会细细解析。
下面我们写一个两数求和的代码:
#include 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 //上述代码,写成函数如下: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;}
9.数组
我们要存放1-10的数字,应该怎样存放呢?
C语言中给了数组的定义:一组相同类型元素的集合。
9.1数组定义
int arr[10] = {1,2,3,4,5,6,7,8,9,10}; //定义一个整形数组,最多放10个元素
9.2数组的下标
int arr[10] = {0}; //定义一个10个元素的整型数组,元素全初始化为0
如果数组10个元素,下标的范围是0-9
9.3数组的使用
用户要输入10个数字,储存起来并且打印,我们要怎样做呢?下面我们就用代码来实现。
#include int main() { int nums[10]; //定义一个长度为10的整型数组 int i; //从控制台读取用户输入 for (i = 0; i < 10; i++) { scanf("%d", &nums[i]); //注意取地址符 & } //依次输出数组元素 for (i = 0; i < 10; i++) { printf("%d ", nums[i]); } return 0;}
思考:怎么定义一个字符型数组呢,怎样取出数组中的某个元素呢?
10.操作符
在初识C语言中只简单介绍,后面细细解析。
算术操作符 | + - * / % |
移位操作符 | >> << |
位操作符 | & ^ | |
赋值操作符 | = += -= *= /= &= ^= |= >>= <<= |
单目操作符
! | 逻辑反操作 |
- | 负值 |
+ | 正值 |
& | 取地址 |
sizeof | 操作数的类型长度(以字节为单位) |
~ | 对一个数的二进制按位取反 |
-- | 前置、后置-- |
++ | 前置、后置++ |
* | 间接访问操作符(解引用操作符) |
(类型) | 强制类型转换 |
关系操作符
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
!= | 用于测试“不相等” |
== | 用于测试“相等” |
逻辑操作符
&& | 逻辑与 |
|| | 逻辑或 |
条件操作符 | exp1 ? exp2 : exp3 |
逗号表达式 | exp1, exp2, exp3, …expN |
下标引用、函数调用和结构成员 | [ ] ( ) . -> |
有收获就点个赞吧,持续更新哟~