news 2026/6/15 12:50:03

c语言复习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言复习

scanf

零,scanf是以行输入的

输入是以行进行的,也就是每有一个scanf行输入一个回车

scanf输入时需要注意的点

如果一次输入如多个数据,则需要按照分割参数的方法分割开输入的数据

使用scanf_s读取三个整数,输入时需要严格匹配格式字符串中的分隔符

一、字符输入的 “空白符残留” 问题

使用%c读取字符时,前序输入的回车 / 空格会被当作字符读取

// 示例:先输入整数,再输入字符 int a; char ch; scanf("%d", &a); // 输入10后按回车 scanf("%c", &ch); // 此时ch会读取到“回车符(\n)”,而非预期的字符

解决:在%c前加空格,跳过空白符:

scanf(" %c", &ch); // 空格会匹配任意空白符(回车/空格/制表符)

二、字符串输入的 “截断” 与 “缓冲区溢出”

  • %s的截断问题%s会读取到 “空白符(空格 / 回车)” 为止,无法读取带空格的字符串(如输入hello world,只会读取hello);
  • scanf_s的长度参数错误:若传入的长度参数大于缓冲区实际长度,仍会导致溢出(需严格传数组长度-1,预留\0位置):
    char str[5]; scanf_s("%s", str, 10); // 错误:长度10超过数组长度5

三、输入类型不匹配导致的 “死循环”

若输入的内容与格式符类型不匹配(如用%d读取字母),输入流会残留错误数据,导致后续输入全部失败

int a; while (1) { printf("输入整数:"); scanf("%d", &a); // 若输入字母,scanf返回0(匹配失败),错误数据留在输入流 }

解决:匹配失败时清空输入流:

if (scanf("%d", &a) != 1) { while (getchar() != '\n'); // 清空当前行的错误输入 printf("输入错误,请重新输入!\n"); }

四、多组输入的 “循环终止条件” 错误

处理多组输入时,错误使用while(scanf(...))的终止逻辑:

// 错误:输入EOF(Ctrl+Z/Ctrl+D)时才终止,但实际场景中易遗漏终止条件 int a; while (scanf("%d", &a) == 1) { printf("%d\n", a); }

解决:明确业务终止条件(如输入 0 终止):

int a; while (1) { scanf("%d", &a); if (a == 0) break; // 输入0时终止 printf("%d\n", a); }

变量

标识符只能由字母,数字和下划线组成,数字不可以出现在第一个位置上

赋值

初始化

—所有的变量在第一次被使用(出现在赋值运算符右边)之前应该被初始化一次

所有的变量在第一次被使用(出现在赋值运算符右边)之前应该被初始化一次

初始化时,必须一个数据对应一个变量,不可以一把一个值赋值给多个变量,必须一个一个赋值

如果强行赋值会报错

必须一个一个赋值,不能统一赋值(除了数组)

常量vs变量:不变的量是常量

用名字表示一个数字的含义,

放在int main()函数里面开头位置可以很快地找到

运算符

a*-b是先算-b再算a*(-b)

复合赋值

前缀和后缀

a++和++a的运算结果是有区别的,虽然都对a进行了+1

但是a++是取得了a+1之前的结果(a确实也放在前面),a++表达式的值是a的原来的值

关系运算符

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:58:31

云厂商争相接入:各大平台竞相推出专属镜像支持

云厂商争相接入:各大平台竞相推出专属镜像支持 在AI模型越来越“大”的今天,一个仅15亿参数的轻量级模型却悄然走红——VibeThinker-1.5B-APP。它没有千亿参数的庞大规模,也不主打通用对话能力,但却能在数学推理和算法编程任务中…

作者头像 李华
网站建设 2026/6/14 22:25:40

【2026年最新】零基础入门学网络安全(详细),看这篇就够了

目录 1.什么是网络安全 1.1 网络安全的定义:1.2 信息系统(Information System)1.3 信息系统安全三要素(CIA)1.4 网络空间安全1.5 国家网络空间安全战略1.6 网络空间关注点1.7 网络空间安全管理流程 2.网络安全术语3.…

作者头像 李华
网站建设 2026/6/15 12:58:41

知乎专栏深度解读:拆解VibeThinker的技术创新点

VibeThinker-1.5B:小模型如何在数学与编程推理中实现“超车”? 当整个AI社区还在为千亿参数大模型的军备竞赛推波助澜时,一个仅15亿参数的轻量级模型悄然登场,并在多个高难度推理任务中击败了比它大数百倍的对手——这听起来像科幻…

作者头像 李华
网站建设 2026/6/15 13:53:18

大学生自学算法的好帮手:VibeThinker辅助理解DP与贪心

大学生自学算法的好帮手:VibeThinker辅助理解DP与贪心 在准备信息学竞赛或刷LeetCode的深夜,你是否曾面对一道动态规划题无从下手?状态怎么定义、转移方程如何写、边界条件又该怎样处理——这些问题往往让初学者望而却步。传统搜索引擎给出的…

作者头像 李华
网站建设 2026/6/15 16:38:40

vue大文件上传的加密传输技术交流与经验总结

前端老哥的奇幻漂流:20G文件上传历险记 大家好,我是那个"预算100元想造航天飞机"的陕西前端老哥。最近接了个外包,客户要求用原生JS实现20G文件上传,还要兼容IE9…我差点没把手中的肉夹馍吓掉! 需求分析&a…

作者头像 李华
网站建设 2026/6/15 16:05:36

英语提问更稳定?实测中英文提示对推理准确率的影响

英语提问更稳定?实测中英文提示对推理准确率的影响 在算法竞赛圈里,一个1.5B参数的小模型最近悄悄火了——它不靠堆参数,却能在AIME数学题和LeetCode编程挑战中击败几十倍规模的对手。更让人意外的是,不少用户反馈:用中…

作者头像 李华