嵌入式开发学习循环语句,循环控制语句,数组

本文详细讲解了C语言中变量使用、for、while、do...while循环的定义与执行顺序,以及嵌套循环、循环控制语句、数组特点和回文数判断。还提供了求平均值的练习实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量使用定义必须在函数外

循环

for循环

格式:(表达式1;表达式2;表达式3{
代码段
}
表达式1:变量赋初值
表达式2:终止条件
表达式3:增值或减值,表达式3只能用++   --  或者+=一类的,不能用例如i+1
执行顺序:首先执行表达式1进行赋值,然后判断表达式2是否成立,如果成立就进入循环执行语句块,再执行表达式3进行增值或减值然后继续判断表达式2是否成立,直到表达式2不成立退出循环

练习:求1-10之间的奇数和
10以内奇数求和
变形

原始:
int i;
for (i=0;i<4;i++)
{
printf("%d",i);
}
变形1
int i=0;
for (;i<4;i++);
{
printf("%d",i);
}
变形2
int i;
for (;i<4;)
{
printf ("%d",i);
i++
}
变形3
int i=0;
for(;;)
{
printf("%d",i);
}   //死循环,表达式2,永远成立

嵌套
for(表达式1;表达式2;表达式3)
{
for(表达式1;表达式2;表达式3)
{}
}

外层执行一次,内层循环一轮
int  i,j;
for (i=0;i<10;i++)
{
    for (j=0;j<=i;j++)
    {
       printf ("%d*%d=%2d",i,j,i*j);
    }
    printf ("\n");
}
%3d  后三位对齐
int a=2,b=22,c=222;
    printf("%3d\n",a);
    printf("%3d\n",b);
    printf("%3d\n",c);
练习:153 =1*1*1+5*5*5+3*3*3  100-999
#include <stdio.h>
int main 
{
int main(int argc, char const *argv[])
{
    int a, b, c;
    for (int i = 100; i < 1000; i++)
    {
        a = i/ 100;
        b = i/ 10 % 10;
        c = i% 10;
        if (i==a * a * a + b * b * b + c * c * c)
        {

            printf("%d\n",i);
        }
    }
    return 0;
}

while

while(表达式)
{
}
int i=1;
    while(i<4)
    {
        printf("qqqq\n");
        i++;
    }
执行顺序:首先定义循环变量并赋值,然后判断是否符合终止条件,如果符合就进入循环执行语句块及增值减值语句,然后继续判断,直到不成立退出循环
死循环:while(1)

do…while()

int a=8;
    do
    {
        printf("qqqqq\n");
        a++;
    } while (a<5);
while:先判断再执行
do...while:先执行一次程序,再判断

循环控制语句
continue:结束本次循环,继续下一次
break:终止循环
return 0:结束程序

 int i;
    for(i=1;i<10;i++)
    {
        if(i%2==0)
        {
            //continue;
            // break;
            return 0;
        }
        printf("%d ",i);
    }
    printf("hello\n");
    return 0;
循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。
#include <stdio.h>
int main(int argc, char const *argv[])
{
    int num;
    scanf("%d", &num);
    while (num)
    {
        int a, b, c, d, e;
        a = num / 10000;
        b = num / 1000 % 10;
        c = num / 100 % 10;
        d = num / 10 % 10;
        e = num % 10;
        if (a == e & b == d)
            printf("%d是回文数\n", num);
        else
            printf("%d不是回文数\n", num);
        break;
    }
    return 0;
}

数组
特点:
内存连续
数据类型相同
一维数组
格式:存储类型 数据类型 数组名[元素个数]
例:int a[5]={2,3,5,8,9};
a[0]------2
a[1]------3
a[2]------5
a[4]------9
访问时,索引从0开始
char a[5]={‘q’,‘w’,‘e’};
数组名
也是数组首地址
字节大小
int a[5];
4*5=20
printf(“%d”,sizeof(a));
初始化
完全初始化
int a[5]={2,3,5,8,9};
部分初始化
int a[5]={9}; 未初始化部分值为
int arr[66]={};
未初始化
int b[33]; 值为随机值
b[0]=9;
循环遍历

  int a[5]={};
    for(int j=0;j<5;j++)
        scanf("%d",&a[j]);
    for(int i=0;i<5;i++)
    {
        printf("%d\n",a[i]);
    }

练习:求输入的十个数的平均值
来源他人

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值