C语言循环和判断的学习

简介: 从简单循环到复杂循环

一、储存标识符

在C语言中都会对每个变量的储存位置做一个标记,开发人员可以对每个变量设置一个储存标识符,这样就可以让每个变量存放在一个内存区进行使用。

1.auto

auto 是一个默认的修饰符,这个标识符是标识将变量存放入栈空间中,当这个函数使用完后会自动释放。

使用方法:

auto int a = 6;

2.register

register 能让声明的变量使用时的运行速度变快,将变量放置在缓冲区中,使用时会更方便,但是由于现在的CPU的运行速度变快,这个修饰符使用的频率比较低。

使用方法:

register int a = 6;

3.static

static 是将声明的变量放在静态区中,静态区的内容需要手动进行释放才可以,没办法在函数结束后释放,程序结束可以释放。

使用方法:

static int a = 6;

一般对于这个修饰符的使用是在函数计数,例如判断一个这个函数的调用次数:

void test(){
    static int a = 0;
    a++;
    printf("%d", a);
}
int main(){
    test();
    test();
    test();
    test();
    return 1;
}

4.const

const 是将可变的内容改变为不可变的内容,使用的频率非常高。

使用方法:

const int a = 6;

二、运算符

1.逻辑运算符

&&:逻辑与 看见0就为0
||:逻辑或 看见1就为1
!:逻辑非 0变1 1变0

2.位运算符

&:按位与 看见0就为0
|:按位或 看见1就为1
~:按位非 0变1 1变0
^:按位异或 相同就为0,不同就为1
<<:左移运算符
>>:右移运算符

3.运算符

+ - * / %
前++ 前-- 后++ 后--

前++ 前-- 先执行自增或者自减的操作然后再执行其它语句

后++ 后-- 先执行其它语句,再自增或者自减

4.三元运算符

(你需要判断的条件)?执行语句1:执行语句2;

例子:判断大小

char a = 10;
char b = 20;
(a > b)?printf("%d", a) : printf("%d", b);
char a = 10;
char b = 20;
int max = (a > b)?a : b;

三、选择结构

其实就是判断

C语言中没有布尔类型,0表示假,1表示真

1.if判断

判断一个范围

语法:

第一种语法:主要用作执行多条语句

if (逻辑表达式/整形){
    需要执行的内容
}
else if (逻辑表达式/整形){
    需要执行的内容
}
else{
    需要执行的内容
}

第二种写法:主要用作与执行一条语句

if (逻辑表达式/整形)
    需要执行的内容
else if (逻辑表达式/整形)
    需要执行的内容
else
    需要执行的内容

这里只能执行一条语句,不能写多条

1.1 if的嵌套

本质上就是if中嵌套一个if

if (逻辑表达式/整形){
    if (逻辑表达式/整形){
        需要执行的内容
    }
    else if (逻辑表达式/整形){
        需要执行的内容
    }
    else{
        需要执行的内容
    }
}
else if (逻辑表达式/整形){
    if (逻辑表达式/整形){
        需要执行的内容
    }
    else if (逻辑表达式/整形){
        需要执行的内容
    }
    else{
        需要执行的内容
    }
}
else{
    if (逻辑表达式/整形){
        需要执行的内容
    }
    else if (逻辑表达式/整形){
        需要执行的内容
    }
    else{
        需要执行的内容
    }
}

2.switch语句

判断固定值

语法:

switch(变量){
    case 具体值:
        你要执行的语句
    case 具体值:
        你要执行的语句
    default:
        你要执行的语句
}

2.1 switch的特色

当你需要比较的内容和一个case匹配了后,它会把匹配的case下不匹配的case中需要执行的内容一起执行

如何解决switch的特色?

需要添加 break 进行解决。

2.2 switch实现判断范围

int a = 5;
switch(0 < a && a < 10){
    case 1:
        switch(0 <= a && a < 5){
            case 1:
                printf("0-5");
                break;
            case 0:
                printf("5-10");
                break;
        }
        break;
    case 0:
        printf("no");
        break;
}

四、循环结构

1.for循环

语法:

for (第一次进入for循环时执行的内容①; 条件判断②; 执行完一次for循环后执行的内容③){
    循环体1;
    循环体2;
    循环体3;④ 
    .......
}

执行顺序:①-> ②-> ④-> ③-> ②-> ④

另外一种语法:相当于死循环

for ( ; ; ){
    循环体1;
    循环体2;
    循环体3;④
    .......
}

例子一:打印1到100中所有的内容

通用写法

int i;
for (i = 0; i < 101; i++){
    printf("%d\n", i);
}

C++的写法:

for (int i = 0; i < 101; i++){
    printf("%d\n", i);
}

例子二:打印九九乘法表

int i = 0, j = 0;
for (i = 0; i < 9; i++){
    for (j = 0; j <= i; j++){
        printf("%d*%d=%d\t", j + 1, i + 1, (j+1)*(i+1));
    }
    printf("\n");
}

3.while循环

语法:

while(逻辑表达式/整形){
    循环体1;
    循环体2;
    循环体3;④
    .......
}

例子:九九乘法表

int i = 0, j = 0;
while(i < 9) {
    j = 0;
    while(j <= i){
        printf("%d*%d=%d\t", j + 1, i + 1, (j + 1)*(i + 1));
        j++;
    }
    i++;
    printf("\n");
}

4.do-while循环

语法:

do{
    循环体1;
    循环体2;
    循环体3;④
    .......
}while(逻辑表达式/整形);

4.1do-while 和 while的区别

while需要条件满足才执行循环体内的语句

do-while 先执行一遍循环体内的语句,然后再判断while括号内的条件

例子:九九乘法表

int i = 0, j = 0;
do{
    j = 0;
    do{
        printf("%d*%d=%d\t", j + 1, i + 1, (j + 1)*(i + 1));
    }while(++j <= i);
    printf("\n");
}while(++i < 9);

5.break 和 continue

break:跳出当前循环

continue:跳过一次循环

5.1 理解break和continue

就比如你是一家公司的网络开发人员,终于到你年假了,你很开心的买机票去海边玩,但是老板说,每天9点我可能会给你打个电话,然后你对你自己的规划如下:

graph TD;
起床-->等电话
等电话-->去海边玩
去海边玩-->睡觉
睡觉-->起床

然后某一天,你们老板给你打了个电话,告诉你需要快点回来,服务器崩了,你就得结束你的假期回去维护服务器,这个电话相当于是 break ,跳出这个假期的循环

如果有一天你们老板给你说让你远程调一下一个内容,那你不需要结束你今天的假期,只需要花一天的时间去修改一下代码,明天继续度假,这个电话相当于是 continue

目录
相关文章
|
24天前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
188 88
|
3月前
|
C语言
【C语言】循环语句
C语言中循环语句的相关知识点
36 2
【C语言】循环语句
|
25天前
|
C语言
【C语言基础考研向】08判断语句与循环语句
本文介绍了C语言中的关键编程概念:首先解析了关系表达式与逻辑表达式的优先级及计算过程;接着详细说明了`if-else`语句的使用方法及其多分支和嵌套应用;然后讲解了`while`循环与`for`循环的语法和注意事项;最后介绍了`continue`和`break`语句在控制循环中的作用和示例代码。
|
28天前
|
存储 算法 C语言
C语言手撕实战代码_循环单链表和循环双链表
本文档详细介绍了用C语言实现循环单链表和循环双链表的相关算法。包括循环单链表的建立、逆转、左移、拆分及合并等操作;以及双链表的建立、遍历、排序和循环双链表的重组。通过具体示例和代码片段,展示了每种算法的实现思路与步骤,帮助读者深入理解并掌握这些数据结构的基本操作方法。
|
2月前
|
机器学习/深度学习 C语言
【C语言篇】循环语句详解(超详细)
while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环.
|
2月前
|
C语言
C语言的循环语句
C语言的循环语句
49 6
|
2月前
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
18 0
|
4月前
|
C语言
C语言循环与分支
C语言循环与分支
40 5
|
4月前
|
存储 算法 C语言
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
|
4月前
|
存储 编译器 C语言
c语言学习历程【1】
c语言学习历程【1】
54 1