首页/新闻资讯/正文详情

C 语言基础入门笔记(一):常量、变量、数据类型与输入输出

发布时间:2026/11/4 2:39:16 来源:云帆数科 栏目:资讯中心
C 语言基础入门笔记(一):常量、变量、数据类型与输入输出
适用人群C 语言初学者、计算机专业大一新生覆盖内容常量与变量、标识符命名规则、基本数据类型、运算符、输入输出语句一、常量与变量1. 常量Constant常量是在程序运行过程中值不能被改变的量。常见类型• ​整型常量​ 10 ​, ​ -5 ​, ​ 0 ​• ​实型常量​ 3.14 ​, ​ -0.5 ​, ​ 2.0e-3 ​• ​字符常量​ A ​, ​ 1 ​, ​ \n ​用单引号括起来• ​字符串常量​ Hello ​, ​ C 语言 ​用双引号括起来2. 变量Variable变量是在程序运行过程中值可以被改变的量必须先定义后使用。定义格式数据类型 变量名;int age;float score;char grade;二、标识符命名规则标识符是用来命名变量、函数、数组等的符号。✅ 合法标识符规则1. ​只能由字母、数字、下划线组成2.​第一个字符必须是字母或下划线不能是数字3. ​区分大小写​ age ​ 和 ​ Age ​ 是不同的变量4. ​不能使用 C 语言关键字如 ​ int ​, ​ return ​, ​ if ​ 等 示例// 合法int student_name;float _score;char grade1// 非法int 1st_place; // 不能以数字开头float my-score; // 不能包含减号char int; // 不能使用关键字 命名建议• ​见名知意​ age ​, ​ totalScore ​, ​ studentCount ​• ​小写字母 下划线​ max_value ​, ​ array_size ​三、基本数据类型C 语言的基本数据类型决定了变量在内存中占用的空间和取值范围。类型 关键字 占用字节典型 取值范围 格式符整型 int 4 -2³¹ ~ 2³¹-1 %d短整型 short 2 -2¹⁵ ~ 2¹⁵-1 %hd长整型 long 4/8 -2³¹ ~ 2³¹-1 %ld单精度 float 4 ±3.4e±38 %f双精度 double 8 ±1.7e±308 %lf字符型 char 1 -128 ~ 127 %c 示例int age 20;float height 1.75;double pi 3.1415926;char grade A;四、运算符1. 算术运算符运算符 含义 示例 加法 a b- 减法 a - b* 乘法 a * b/ 除法 a / b 整数相除结果仍为整数% 取余模 5 % 2 1 只能用于整数 自增 i , i-- 自减 i-- , --i2. 赋值运算符a 10; // 简单赋值a 5; // a a 5a * 2; // a a * 23. 关系运算符运算符 含义 示例 等于 a b! 不等于 a ! b 大于 a b 小于 a b 大于等于 a b 小于等于 a b返回值 关系表达式的结果为 ​ 1 ​真或 ​ 0 ​假4. 逻辑运算符运算符 含义 示例 逻辑与 a 0 b 10! 逻辑非 ! (a b)五、输入输出语句1. 输出函数 ​ printf() ​格式printf(格式控制字符串, 输出列表);常用格式控制符• ​​ %d ​整型• ​​ %f ​浮点型• ​​ %lf ​double 型• ​​ %c ​字符型• ​​ %s ​字符串• ​​ %x ​十六进制• ​​ %.2f ​保留两位小数示例int age 20;float score 95.5;printf(年龄%d, 分数%.2f\n, age, score);// 输出年龄20, 分数95.502. 输入函数​ scanf() ​格式scanf(格式控制字符串, 变量地址);⚠️ 注意事项1. ​变量前要加取地址符 ​ ​数组名除外2. ​​ %c ​前建议加空格避免读取到残留的换行符3. ​输入多个数据时用空格、回车或 Tab 分隔示例int a, b;scanf(%d %d, a, b);char op;scanf( %c, op); // %c 前加空格跳过空白字符3. 完整示例简易计算器#include stdio.hint main() {double num1, num2, result;char op;printf(请输入两个数);scanf(%lf %lf, num1, num2);printf(请输入运算符 (, -, *, /));scanf( %c, op); // 注意%c 前有空格switch (op) {case :result num1 num2;break;case -:result num1 - num2;break;case *:result num1 * num2;break;case /:if (num2 ! 0) {result num1 / num2;} else {printf(错误除数不能为 0\n);return 1;}break;default:printf(错误无效的运算符\n);return 1;}printf(结果%.2f\n, result);return 0;}六、常见易错点总结错误类型错误示例 正确写法 说明1.变量未初始化int a; printf(%d, a); int a 0; 未初始化的变量值是随机的2.整数除法5 / 2 2.5 ❌ 5.0 / 2 2.5 ✅ 整数相除结果仍为整数3.%c 读取换行符scanf(%c, op); scanf( %c, op); %c 前加空格跳过空白字符4.取地址符遗漏scanf(%d, a); ❌ scanf(%d, a); ✅ scanf 需要变量地址5.标识符非法命名int 1st; ❌ int first; ✅ 不能以数字开头七、小结✅ 常量值不可变用 ​ #define ​ 或 ​ const ​ 定义✅ 变量值可变先定义后使用✅ 标识符字母/数字/下划线组成不能以数字开头✅ 数据类型​ int ​, ​ float ​, ​ double ​, ​ char ​ 等✅ 运算符算术、赋值、关系、逻辑✅ 输入输出​ printf() ​ 输出​ scanf() ​ 输入注意 ​ %c ​ 前加空格 互动话题你在学习 C 语言时遇到过哪些坑欢迎在评论区分享

相关推荐

生产没管好,不是因为难管,而是因为这12点
生产没管好,不是因为难管,而是因为这12点

生产现场最怕的是什么? 人员安排了,干活却不熟练; 生产计划下了,物料设备却没准备好; 管理人员天天巡查,问题还是反复出现; 每天忙到下班,产量、质量、交期却总有一项达不到要求。 看… · 2026/11/4 2:38:16

工业控制系统深度解析:33 液位控制回路
工业控制系统深度解析:33 液位控制回路

第33章 液位控制回路 33.1 液位控制为什么特殊? 液位(Level)是工业过程最常见的控制变量之一。典型对象:储罐、反应釜、锅炉汽包、水箱、分离器、缓冲罐。 表面看,液位控制很简单:液位高了减少进料,液位低了增加进料。但液位控制在工业中却是一个非常特殊的控制问题。… · 2026/11/4 2:38:16

微信小程序:文件操作
微信小程序:文件操作

一、项目简介本案例演示微信小程序FileSystemManager 文件管理器API,实现本地用户文件的:写文件、复制文件、读文件、获取文件信息。 作业扩展:新增删除文件按钮,实现删除复制出来的hello_copy.txt文件,页面标题与消息… · 2026/11/4 2:38:16

全屏歌词动画实现指南:Folia内置模式解析与性能调优
全屏歌词动画实现指南:Folia内置模式解析与性能调优

全屏歌词动画这件事,很多人第一反应是"不就是把歌词放大铺满屏幕吗"。真上手做过一轮就知道,同样是全屏,有的方案歌词一放大就糊成一片,有的动效一跑起来帧率直接腰斩,还有的在不同分辨率屏幕上位置全乱。我… · 2026/11/4 3:24:24

UE4塔防工程实战:C++与蓝图混合开发核心系统拆解
UE4塔防工程实战:C++与蓝图混合开发核心系统拆解

简介:这是一份基于Unreal Engine 4.22开发的3D塔防游戏完整工程,面向希望学习UE4游戏开发、C编程与塔防玩法实现的学生和独立开发者。项目以个人学习作品的形式呈现,核心玩法是在地图岩石上布置炮塔抵御入侵士兵,敌人每波数量与生… · 2026/11/4 3:24:24

大模型专家标注实战:从规范设计到质量控制的完整流程
大模型专家标注实战:从规范设计到质量控制的完整流程

大模型落地到具体业务场景里,最贵也最容易被低估的一环,往往不是算力,也不是框架选型,而是高质量专家标注。我最近完整参与了一个大模型专家标注项目,内部代号就叫 Xpert,前后跨度两个多月,从任… · 2026/11/4 3:24:24

Node-RED 安装 node-red-contrib-influxdb 避坑指南:版本对齐与认证配置
Node-RED 安装 node-red-contrib-influxdb 避坑指南:版本对齐与认证配置

简介:面向 Node-RED 与 InfluxDB 集成开发者的节点插件资源,解决时序数据写入与查询的流程化编排问题。插件以配置节点中的版本下拉框统一适配 InfluxDB 1.x、1.8-flux 与 2.0,分别调用对应客户端库的 writePoints()、query() 方法或 Flux 接… · 2026/11/4 3:24:24

基于Django与机器学习的智能岗位推荐系统实践
基于Django与机器学习的智能岗位推荐系统实践

1. 项目背景与核心价值最近在帮学校就业指导中心做毕业生就业数据分析时,发现一个痛点问题:海量招聘信息与学生简历之间的匹配效率极低。传统的关键词匹配方式经常推荐不相关岗位,而人工筛选又耗时耗力。于是我用Django机器学习搭建了一个智能… · 2026/11/4 3:24:24

大数据清洗实战:从原理到分布式处理技巧
大数据清洗实战:从原理到分布式处理技巧

1. 数据清洗:大数据处理的隐形基石作为一名处理过上百TB数据集的老数据工程师,我深知数据清洗这个"脏活累活"的重要性。记得有次接手一个金融风控项目,原始数据中仅地址字段就有17种不同的格式,还有大量重复、缺失和逻辑… · 2026/11/4 3:23:24

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码