C语言Day 02 学习总结

Day 02 学习总结


嵌入式基础:表达数据与处理数据

1. 表达数据
  • 数据类型
    • 整型shortintlonglong long
    • 实型floatdouble
    • 字符型char
  • 变量:内存中存储数据的名称,定义格式为:数据类型 变量名;
  • 输入输出
    • 输入:scanf("%d", &变量名);
    • 输出:printf("格式控制符", 变量名);
2. 处理数据
  • 运算符
    • 赋值运算符=
    • 算术运算符+-*/%
    • 关系运算符><>=<===!=
    • 逻辑运算符&&(与)、||(或)、!(非)
    • 其他运算符++--?:(三目运算符)
    • 位运算符<<>>~^&|
  • 流程控制语句
    • 条件控制:ifif-else
    • 循环控制:whilefor

运算符详解

1. 算术运算符
  • 整数除法:
    • 两个整数相除结果为整数,丢弃小数部分。
      printf("%d\n", 10 / 3);  // 输出 3
      
  • 取余(模运算 %):
    • 只用于整数,结果范围:0 ~ n-1
      printf("%d\n", 10 % 3);  // 输出 1
      
    • 判断偶数/奇数:
      if (n % 2 == 0) printf("偶数");
      else printf("奇数");
      
  • 分离三位数的个位、十位、百位:
    • 个位:n % 10
    • 十位:n / 10 % 10
    • 百位:n / 100
2. 关系运算符
  • 比较两个值,结果为 1(真)或 0(假)。
    printf("%d\n", 5 > 3);  // 输出 1
    printf("%d\n", 5 == 3); // 输出 0
    
3. 逻辑运算符
  • 逻辑与 &&
    • 全真为真,有假则假。
      if (a > 10 && a < 20) printf("在范围内");
      
  • 逻辑或 ||
    • 有真为真,全假为假。
      if (a < 10 || a > 20) printf("不在范围内");
      
  • 逻辑非 !
    • 反转布尔值。
      if (!a) printf("a 为 0");
      

条件控制语句

  • if-else 语句
    if (条件表达式)
    {
        // 条件为真时执行
    }
    else
    {
        // 条件为假时执行
    }
    
    示例:
    int a = 10, b = 20;
    if (a + b > 100)
        printf("和大于 100");
    else
        printf("和小于等于 100");
    

作业与练习

练习 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; // 生成 1~100 的随机数
    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;
}

学习方法与作业建议

  1. 整理笔记:记录每日知识点。
  2. 敲代码:通过练习题加深理解。
  3. 完成作业:设计需求,逐步实现功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好玩的Matlab(NCEPU)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值