嵌入式软件--C语言学习 DAY 6

C语言基础的学习将要告一段落,接下来对前面的知识进行总结。之后就是C语言高级知识的学习了,让我们拭目以待!

一、跳转控制语句

1.break

(1)概念

break语句用于终止某个语句块的执行,用在switch语句或者循环语句中。

(2)流程图:

(3)示例代码:

#include <stdio.h>

int main()
{

    for (int i = 0; i < 10; i++)
    {
        if (i == 3)
        {
            break;
        }
        printf("%d \n", i);
    }

    return 0;
}

输出结果:

0

1

2

等于3的时候中止,不会继续循环下去

(4)案例

编写程序,要求输入一个数字,判断该数字是否是质数。

说明:质数指只能被1和自身整除且大于1的数字。

#include <stdio.h>
int main()
{
    int a,count=2;
    scanf("%d",&a);
    for(int b=2;b<=a;b++)
    {
        if(a%b==0)
        {
            count++;
            break;
        }
       
    }
     if(count==2)
        {
            printf("%d是质数",a);
        }
        else{
            printf("%d不是质数",a);
        }
    return 0;
}

2.coutinue

(1)简单介绍

结束本次循环,继续执行下一次循环。能够跳过循环中的某个数。

(2)流程图

(3)代码示例

#include <stdio.h>

int main()
{
    for (int i = 0; i < 10; i++)
    {
        if (i == 3)
        {
            continue;//等于3结束执行,下一次循环继续
        }
        printf("%d \n", i);//只有3没有经过打印便中止
    }

    return 0;
}

输出结果:

0

1

2

4

5

6

7

8

9

(4)案例分析

案例:输入100以内的数字,跳过7的倍数或包含7的数字

#include <stdio.h>
int main()
{
    for(int a=1;a<=100;a++)//罗列1~100
    {
        if(a%7==0||(a%10==7)||(a/10==7))//筛选条件7的倍数或含7(十位是7或个位是7)的数,满足其一即可
        {
            continue;//终止本次循环,并执行下一循环
        }
    printf("%d ",a);
    }
    return 0;
}

3.goto

(1)介绍

goto语句是一种跳转语句,它允许程序控制流程在代码中跳转到带有标签(label)的语句处,标签(label)的名称可以自行设置,需要满足标识符规范。

ps,我们在开发中不建议使用goto语句,但我们需要掌握 goto 语句的执行流程,以能够看懂其他开发者的代码中可能出现的 goto 语句。

(2)流程图

(3)代码示例

#include <stdio.h>

int main()
{
    printf("start \n");
    goto label1; // label1是标签名

    printf("ok1 \n");
    printf("ok2 \n");
label1:
    printf("ok3 \n");
    printf("ok4 \n");

    return 0;
}

输出结果:

start

ok3

ok4

(4)案例

使用goto语句实现循环输出数字1 ~ 5。

#include <stdio.h>
int main()
{
    //使用goto语句实现循环输出数字1 ~ 5。
    
    //声明定义变量
    int a=1;
    //循环罗列所有数
    next://标签
    if(a<=5)
    {
       printf("%d\n",a);
       a++;
    }
    goto next;//在标签处继续执行
    return 0;
}

二、断点调试

在开发中,程序员发现一个非常诡异的错误,怎么看源代码都发现不了这个错误,这时老程序员就会温馨提示,可以使用断点调试,一步一步的看源码执行的过程,从而发现错误所在。

1.介绍

断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下,然后程序可以进行分析从而找到这个Bug。

2.设置断点

在代码行号的前面单击中即可添加断点,再次点击可以取消断点; 或者使用快捷键 F9,会给光标所在行添加或取消断点。

启动调试之后,代码执行到断点会暂停。

3.逐过程调试

使用逐过程断点调试查看下面代码中变量的变化情况,逐过程是从断点开始逐条语句执行,执行一条语句就暂停一次,可以点击“逐过程”按钮或使用快捷键F10执行下一条语句。

#include <stdio.h>

int main() 
{
    int sum = 0;
    int i = 0;
    
    for(i = 0; i < 10; i++) {
        sum += i;
        printf("\n i=%d", i); 
        printf("\n sum=%d", sum);
    }
    printf("退出for循环了~~");

    return 0;
}

4.逐断点调试

当我们程序中存在多个断点时,程序执行到第一个断点开始暂停,我们想直接执行到下一个断点再次暂停,而不是逐行执行到下一个断点,我们可以单击“继续”按钮或者使用快捷键F5。

#include <stdio.h>

int main() 
{
    int n1 = 10;
    int n2 = 40;
    int res = n1 = n2;

    printf("res=%.2f", res);
    printf("\nhello1");
    printf("\nhello2");
    printf("\nhello3");
    printf("\nhello4");
    printf("\nhello5");
    printf("\nhello6");

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值