【嵌入式大纲】
1.c语言
2.linux操作系统
3.程序=数据结构+算法//数据结构 、算法
4.IO
5.进程线程
6.网络编程
7.STM32&5G物联网
8.ARM体系结构
9.系统移植
10.系统驱动
11.//安卓
12.QT
….人工智能
python
算法
13.C++
【昨日作业】
#include
int main(int argc, const char *argv[])
{
    char a;
    while(1)
    {
        scanf(“%c”,&a);
        getchar();
        if(a==’#’)
            break;
        if(a>=’a’&&a<=’z’)
        {
            printf(“%c\n”,a-32);
        }
        else if(a>=’A’&&a<=’Z’)
        {
            printf(“%c\n”,a+32);
        }
        else
        {
            printf(“输入错误\n”);
        }
    }
    return 0;
}
控制语句:
控制程序语句执行的顺序
1.顺序语句
2.分支语句
3.循环语句
4.跳转语句
【if else】
基本格式:
if(表达式)
{
    语句块1;
}
else
{
    语句块2;
}
解释:当程序满足表达式时,会执行语句块1的内容,否则
    执行语句块2
    #include
int main(int argc, const char *argv[])
{
    int a,b;
    scanf(“%d %d”,&a,&b);
    if(a    {
        printf(“a    }
    else
    {
        printf("a>=b\n”);
    }
    return 0;
}
多层结构:
if(表达式1)
{
    语句块1;
}
else if(表达式2)
{
    语句块2;
}
…
else if(表达式n)
{
    语句块 n;
}
else
{
    语句块;
}
解释:当程序满足哪个表达式,就执行哪个语句块内容
#include
int main(int argc, const char *argv[])
{
    int a,b;
    scanf(“%d %d”,&a,&b);
    if(a    {
        printf(“a    }
    else if(a==b)
    {
        printf("a==b\n");
    }
    else
    {
        printf("a>b\n”);
    }
    return 0;
}
练习:成绩测评,循环从终端输入成绩,输出成绩等级
90-100(A)80-89(B)70-79(C)60-69(D)0-59(E)
a>=90&&a<=100
include
int main(int argc, const char *argv[])
{
    int a;
    while(1)
    {
        scanf(“%d”,&a);
        if(a==-1)
            break;
        if(a<0||a>100)
        {
            printf(“输入错误\n”);
            continue;//结束本次循环,进入下次循环
        }
         if(a>=90&&a<=100)
        {
            printf(“A\n”);
        }
        else if(a>=80)
        {
            printf(“B\n”);
        }
        else if(a>=70)
        {
            printf(“C\n”);
        }
        else if(a>=60)
        {
            printf(“D\n”);
        }
        else 
        {
            printf(“E\n”);
        }
    }    
    return 0;
}
【switch语句】:根据 关键项数值而选择进入哪一个语句块执行
格式:
    switch(常量表达式)
    {
        case 常量1:
            语句块1;
            break;
        case 常量2:
            语句块2;
            break;
        case 常量3:
            语句块3;
            break;
            …
        case 常量n:
            语句块n;
            break;
        default:
            语句块;
            break;
    }
解释:根据常量表达式计算的常量值,选择进入哪一个语句块
,如果对应case语句中都没有计算的结果,则进入default语句
#include
int main(int argc, const char *argv[])
{
    int a;
    //从终端输入物品编号,显示物品价格
    //1代表可口可乐,2代表芬达,3代表脉动,其他的价格为默认
    scanf(“%d”,&a);
    switch(a)
    {
        case 1:
            printf(“可口可乐的价格为4元\n”);
            break;
        case 2:
            printf(“芬达的价格为3.5元\n”);
            break;
        case 3:
            printf(“脉动的价格为5元\n”);
            break;
        default:
            printf(“请按照商标默认价格购买\n”);
            break;
    }
    return 0;
}
练习:练习:成绩测评,循环从终端输入成绩,输出成绩等级
#include
int main(int argc, const char *argv[])
{
    int a;//接收成绩
    while(1)
    {
        printf(“请输入您要测评的成绩:\n”);
        scanf(“%d”,&a);//从终端输入
        if(a==-1)
            break;//推出循环
        //判断a是否合法 
        if(a<0||a>100)
        {
            printf(“成绩不合法,请重新输入:\n”);
                continue;
        }
        switch(a/10)//一个两位整数整除10,得到十位的数
        {
            case 10:
                printf(“您的成绩等级为:A\n”);
                break;
            case 9:
                printf(“您的成绩等级为:A\n”);
                break;
            case 8:
                printf(“您的成绩等级为:B\n”);
                break;
            case 7:
                printf(“您的成绩等级为:C\n”);
                break;
            case 6:
                printf(“您的成绩等级为:D\n”);
                break;
            default:
                printf(“您的成绩等级为:E\n”);
                break;
        }
    }
    return 0;
}
【for循环】
格式:
for(表达式1;表达式2;表达式3)
{
    循环体;
}
解释:表达式1给循环变量赋值,表达式2是判断循环变量
是否满足循环条件,表达式3是对循环变量的自运算
#include
int main(int argc, const char *argv[])
{
    int i;//循环变量
    for(i = 0;i<10;i++)
    {
        printf(“%d\n”,i);
    }
    return 0;
}
练习1:求1-1000的累加和,输出到终端
#include
int main(int argc, const char argv[])
{
    //算法1
    int i;//循环变量
    int sum = 0;//存放结果
//    sum = (1000+1)1000/2;
//        printf(“%d\n”,sum);
    for(i = 1;i<=1000;i++)
    {
        sum = sum+i;
    }
    printf(“%d\n”,sum);
    return 0;
}
练习2:打印乘法表
#include
int main(int argc, const char argv[])
{
    int i;//循环变量,控制行数
    int j;//控制列数
    for(i = 1;i<=9;i++)
    {
        for(j = 1;j<=i;j++)
        {
            printf(“%d%d=%d\t”,j,i,i*j);
        }
        printf(“\n”);
    }
    return 0;
}
【while循环】
格式:
while(表达式)
{
    循环体;
}
解释:当程序满足表达式,循环进行,否则,退出循环
#include
int main(int argc, const char *argv[])
{
    int i = 0;
    while(i<10)
    {
        printf(“%d\n”,i);
        i++;
    }
    return 0;
}
练习:输出0-1000范围内能够整除4的数
#include
int main(int argc, const char *argv[])
{
    int i = 0;
    while(i<=1000)
    {
        if(i%4==0)
            printf(“%d\n”,i);
        i++;
    }
    return 0;
}
作业:
1.编写一个程序,用while,该程序读取整数,直到输入0,
输入终止后,程序应该报告输入的偶数(不包括0)总个数,
偶数的平均值,输入的奇数总个数以及奇数的平均值。
2.打印所有的水仙花数,水仙花数:
    一个三位数,百位立方+十位立方+个位立方 = 原数

 
                         
                                

