C语言学习-day6

今天终于要学习循环语句了,我个人认为循环语句就是C语言的精髓啊。不然的话,我要一门计算机语言做什么,明明人类本身的语言更加通俗易懂可以解决生活中绝大多数问题了,但是循环就是解决了人力无法做到的事情,它可以在那里循环执行程序一整天直到得到想要的结果,但是人不行。比如说你收到了一个数据包,这个作为汽车从业者经常会收到,你想要查看BMS发送的报文,你可能得到一个1s一次的EXCEL数据(真实频率远大于这个),这个数据采集了5min,那么就是300行的数据,每一行都有一个全量信号的各种值(比如我有300个信号),你要在这上千的数据里找到自己想要的故障时刻信息,靠人力是非常困难的。更有甚者你会收到一个文件夹的数据,在这几十个EXCEL中找到故障时刻的数据,是不是很头大?哎,这时循环语句就很好使,你编写一个程序去遍历这个文件包,计算机几秒就可以找到所有符合你设置条件的数据位置。

进入正题,老师让描述这么个逻辑,写代码写到30000后拿到好offer,代码如下。这个代码解读下,首先创建一个变量line赋值为0.就是while后面接条件(line小于30000)这个时候进行大括号里面的循环。这个循环里先print一下写代码以及line的值,然后再执行line加一的操作,然后会回到开始判断line的值,如果小于30000继续执行操作,以此类推最后判断line==30000后执行if的操作并且终结。

int main()

{  

    int line = 0;

    while (line < 30000)

    {

         printf("写代码:%d\n",line);

         line++;

    }

    if (line==30000)

    {

         printf("好Offer\n");

    }

    return 0;

}

得到如下结果

稍微改动了下if后面的值得到还是这个结果,也就是进入IF就会停止循环,不管咋设置if的语句。

这节课没有继续循环语句,因为只是先介绍一下。然后就到了函数和数组部分,有点python基础的基本看一下就ok了。

函数:比如我想要一个这种逻辑,输入两个数求和,我可以写

int main()

{  

    int num1 = 0;

    int num2 = 0;

    scanf("%d%d", &num1, &num2);

    int sum = num1 + num2;

    printf("%d\n", sum);

    return 0;

}

通过函数的方法解题呢,如下

int Add(int x, int y)

{

    int z = 0;

    z = x +y;

    return z;

}

int main()

{  

    int num1 = 0;

    int num2 = 0;

    scanf("%d%d", &num1, &num2);

    int sum = Add(num1, num2);

    printf("%d\n", sum);

    return 0;

}

运行结果如下

注意这里如果把Z=X+Y这里写成z=x*y,那么这个函数就变成了一个乘法函数,所以相当于这个函数是我们可以自己定义到底怎么运算的。

数组:我要创建一组数的时候不能一个一个的打int a=0一直打到100吧,所以我们用如下方式

int main()

{  

   

    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

    char ch[5] = {'a','b','c'};//不完全初始化,剩余值默认为0

   

    return 0;

}

我建立如下后int arr[10] = { 1,2,3,4,5,6,7,8,9,10 },10个数字,我需要访问数组中某一个值的时候通过下标0到9来访问,比如我想要访问数组中第3个元素我就打arr[2]。

int main()

{  

   

    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

    char ch[5] = {'a','b','c'};//不完全初始化,剩余值默认为0

    int i = 0;

    while (i < 10)

    {

         printf("%d\n", arr[i]);

         i = i + 1;

    }

    return 0;

}

打印后得到如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值