news 2026/6/8 13:04:25

C语言变量及操作符(部分)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言变量及操作符(部分)

C语言入门不迷路:变量与操作符(核心部分)

C语言作为一门经典的结构化编程语言,其基础在于*变量*(存储数据)和操作符(对数据进行操作)。掌握这两部分,你就能写出基本的计算和逻辑程序。下面重点讲解最常用、最核心的内容。

1. 变量(Variables)

变量本质:程序运行时在内存中分配的一块“命名空间”,用来存储数据。变量必须先声明后使用。

基本语法

类型 变量名;// 声明类型 变量名=初始值;// 声明并初始化

常见基本数据类型

类型占用字节(典型32/64位系统)取值范围(大致)用途示例
int4-2^31 ~ 2^31-1(约-21亿~21亿)整数、计数器
char1-128 ~ 127 或 0~255(unsigned)单个字符、ASCII码
float4约 ±3.4E±38(7位有效数字)单精度浮点数
double8约 ±1.7E±308(15位有效数字)双精度浮点数(推荐)
short int2-32768 ~ 32767节省空间的小整数
long int4或8取决于系统大整数
long long8-9E18 ~ 9E18超大整数

修饰符

  • signed(默认):可正可负
  • unsigned:只正数,范围翻倍(如unsigned int0~4亿多)
  • const:常量,值不可修改
  • volatile:告诉编译器值可能被外部改变(硬件相关)

命名规则

  • 只能由字母、数字、下划线组成
  • 首字符必须是字母或下划线
  • 区分大小写(Age 和 age 是不同变量)
  • 不能是C语言关键字(如 int, if, for)

示例

#include<stdio.h>intmain(){intage=25;// 整数doubleheight=1.75;// 双精度浮点chargrade='A';// 字符(单引号)constdoublePI=3.14159;// 常量printf("年龄: %d\n",age);printf("身高: %.2f米\n",height);printf("成绩: %c\n",grade);return0;}
2. 操作符(Operators)

C语言操作符丰富,按功能分类如下(重点掌握前几类):

类别操作符示例说明与优先级(越高越先算)示例
算术操作符+ - * / %* / % 优先级高于 + -5 + 3 * 2 = 11(先算3*2)
关系操作符> >= < <= == !=返回1(真)或0(假)5 > 3 → 1
逻辑操作符&&(与) ||(或) !(非)! 最高,&& 高于 ||(5>3) && (2<4) → 1
赋值操作符= += -= *= /= %=右结合(从右往左)a += 5 等价于 a = a + 5
自增自减++ –前置++先用后加,后置先加后用int a=5; b=++a; → a=6,b=6
位操作符& || ^ ~ << >>按位操作(二进制)5 & 3 = 1(0101 & 0011)
条件(三目)?:条件?值1:值2max = a>b ? a : b;
逗号操作符,从左到右计算,取最后一个值int x=(1,2,3); // x=3

重点示例代码

#include<stdio.h>intmain(){inta=10,b=3;printf("a + b = %d\n",a+b);// 13printf("a / b = %d\n",a/b);// 3(整数除法,丢弃小数)printf("a %% b = %d\n",a%b);// 1(取余)a+=5;// a 变为 15printf("a = %d\n",a);intc=a++;// 后置:c=15, a=16intd=++a;// 前置:a=17, d=17intx=5,y=10;intmax=(x>y)?x:y;// 三目运算符printf("max = %d\n",max);// 10return0;}
3. 类型转换与常见陷阱
  • 隐式转换:小类型自动转大类型(int → double)
  • 显式转换(强制类型转换)
    doubled=3.14;inti=(int)d;// i=3,丢弃小数部分
  • 整数除法陷阱5 / 2 = 2(不是2.5)
  • 溢出:int超出范围会“绕回”(未定义行为,实际常溢出)
4. 实战建议与记忆口诀
  • 变量:先想“存什么数据”→选类型→起好名字→初始化(养成好习惯防垃圾值)
  • 操作符优先级口诀
    • 单目(! ++ --) > 算术(* / % > + -) > 关系 > 逻辑(&& > ||) > 赋值
    • 不确定就加括号!可读性最重要

一个小综合练习

intx=7;x+=x++*2;// 仔细算:先算 x++=7(后置),x变为8,再算7*2=14,最后x=8+14=22printf("%d\n",x);// 输出22

掌握变量和操作符,你就拥有了C语言的“基本运算能力”。接下来可以学习控制结构(if、for、while),让程序真正“动”起来!

如果想看更多示例、常见面试题(如操作符优先级陷阱),或者继续学“指针”部分,随时告诉我!🚀

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

安防领域应用:监控截图转行为模拟视频的可行性探讨

安防领域应用&#xff1a;监控截图转行为模拟视频的可行性探讨 引言&#xff1a;从静态监控到动态行为推演的技术跃迁 在传统安防系统中&#xff0c;摄像头采集的视频数据通常以长时间录制关键帧截图的方式进行存储与回溯。当安全事件发生后&#xff0c;安保人员往往需要耗费大…

作者头像 李华
网站建设 2026/6/5 21:37:17

Sambert-HifiGan多情感语音合成的核心技术解析

Sambert-HifiGan多情感语音合成的核心技术解析 &#x1f4cc; 引言&#xff1a;中文多情感语音合成的技术演进与挑战 随着智能语音助手、虚拟主播、有声读物等应用的普及&#xff0c;传统“机械式”语音合成已无法满足用户对自然度和表现力的需求。尤其是在中文场景下&#x…

作者头像 李华
网站建设 2026/6/5 4:02:46

基于springboot的城市公交调度系统

摘 要 快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生…

作者头像 李华
网站建设 2026/6/8 11:41:50

M2FP模型即服务:5步实现云端人体解析API

M2FP模型即服务&#xff1a;5步实现云端人体解析API 如果你正在开发虚拟试衣小程序&#xff0c;但缺乏AI后端开发经验&#xff0c;M2FP模型即服务镜像可能是你的理想选择。这个预置环境能让你在5步内快速搭建人体解析API服务&#xff0c;无需关心复杂的模型部署细节。本文将手把…

作者头像 李华
网站建设 2026/6/5 10:12:05

智慧园区供水管网监测运维管理系统方案

对工商业园区、大学城等现代化园区来说&#xff0c;供水管网通常具有架构复杂、覆盖范围广、用户多样、持续性要求高等特点。而传统的“被动响应式”人工巡检与管理模式&#xff0c;已无法满足对供水安全、运营成本与精细化管理的现代要求。痛点分析1、管网运行异常难以及时察觉…

作者头像 李华
网站建设 2026/6/5 22:15:06

trae架构启示录:从代码结构看Image-to-Video优化空间

trae架构启示录&#xff1a;从代码结构看Image-to-Video优化空间 引言&#xff1a;图像转视频的技术演进与科哥的二次构建实践 随着生成式AI在多模态领域的持续突破&#xff0c;Image-to-Video&#xff08;I2V&#xff09; 技术正逐步从实验室走向实际应用。相比静态图像生成&a…

作者头像 李华