Day 02 学习总结
嵌入式基础:表达数据与处理数据
1. 表达数据
- 数据类型
- 整型:
short
、int
、long
、long long
- 实型:
float
、double
- 字符型:
char
- 变量:内存中存储数据的名称,定义格式为:
数据类型 变量名;
- 输入输出
- 输入:
scanf("%d", &变量名);
- 输出:
printf("格式控制符", 变量名);
2. 处理数据
- 运算符
- 赋值运算符:
=
- 算术运算符:
+
、-
、*
、/
、%
- 关系运算符:
>
、<
、>=
、<=
、==
、!=
- 逻辑运算符:
&&
(与)、||
(或)、!
(非) - 其他运算符:
++
、--
、?:
(三目运算符) - 位运算符:
<<
、>>
、~
、^
、&
、|
- 流程控制语句
- 条件控制:
if
、if-else
- 循环控制:
while
、for
运算符详解
1. 算术运算符
- 整数除法:
- 两个整数相除结果为整数,丢弃小数部分。
printf("%d\n", 10 / 3);
- 取余(模运算
%
):
- 分离三位数的个位、十位、百位:
- 个位:
n % 10
- 十位:
n / 10 % 10
- 百位:
n / 100
2. 关系运算符
3. 逻辑运算符
- 逻辑与
&&
:
- 逻辑或
||
:
- 逻辑非
!
:
- 反转布尔值。
if (!a) printf("a 为 0");
条件控制语句
作业与练习
练习 1:偶数或奇数判断
#include<stdio.h>
int main(void)
{
int n;
printf("请输入一个整数:");
scanf("%d", &n);
if (n % 2 == 0)
printf("偶数\n");
else
printf("奇数\n");
return 0;
}
练习 2:统计三位数中数字 2
的个数
#include<stdio.h>
int main(void)
{
int n, count = 0;
printf("请输入一个三位数:");
scanf("%d", &n);
if (n % 10 == 2) count++;
if (n / 10 % 10 == 2) count++;
if (n / 100 == 2) count++;
printf("数字 2 出现的次数:%d\n", count);
return 0;
}
练习 3:字符大小写转换
#include<stdio.h>
int main(void)
{
char ch;
printf("请输入一个字符:");
scanf(" %c", &ch);
if (ch >= 'a' && ch <= 'z')
printf("转换后:%c\n", ch - 32);
else if (ch >= 'A' && ch <= 'Z')
printf("转换后:%c\n", ch + 32);
else
printf("非字母:%c\n", ch);
return 0;
}
练习 4:统计字符个数(输入至回车结束)
#include<stdio.h>
int main(void)
{
char ch;
int count = 0;
printf("请输入字符,按回车结束:\n");
while (1)
{
scanf("%c", &ch);
if (ch == '\n') break;
count++;
}
printf("字符个数:%d\n", count);
return 0;
}
作业
1. 猜数字游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
srand(time(NULL));
int randomNumber = rand() % 100 + 1;
int guess;
printf("猜数字游戏开始!(范围 1~100)\n");
while (1)
{
printf("请输入你的猜测:");
scanf("%d", &guess);
if (guess > randomNumber)
printf("猜大了!\n");
else if (guess < randomNumber)
printf("猜小了!\n");
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
return 0;
}
学习方法与作业建议
- 整理笔记:记录每日知识点。
- 敲代码:通过练习题加深理解。
- 完成作业:设计需求,逐步实现功能。