【嵌入式大纲】
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.打印所有的水仙花数,水仙花数:
一个三位数,百位立方+十位立方+个位立方 = 原数
![)N4SBK%S{KN45_328V1V59.png