news 2026/3/3 8:42:31

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/3/1 15:52:06

Sambert-HifiGan实战:手把手教你构建智能语音客服系统

Sambert-HifiGan实战&#xff1a;手把手教你构建智能语音客服系统 &#x1f4cc; 项目背景与技术选型 随着智能客服、虚拟助手等AI交互场景的普及&#xff0c;高质量、多情感的中文语音合成&#xff08;TTS&#xff09; 已成为提升用户体验的关键环节。传统TTS系统往往存在音…

作者头像 李华
网站建设 2026/3/2 21:00:34

vue+nodejsai技术的郑州工商学院学习资料分享平台_2h9845ii

文章目录VueNode.js技术在郑州工商学院学习资料分享平台的应用平台核心功能模块技术实现细节应用价值项目技术介绍开发工具和技术简介nodejs类核心代码部分展示结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;VueNode.js技术在郑州工…

作者头像 李华
网站建设 2026/3/2 16:22:32

vue+nodejs基于聚类算法的美妆产品网络评价系统的化妆品爬虫数据采集与可视化分析系统_a0h0967b

文章目录 摘要 项目技术介绍开发工具和技术简介nodejs类核心代码部分展示结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 摘要 该系统基于Vue.js和Node.js构建&#xff0c;结合聚类算法实现美妆产品网络评价数据的采集、分析与可视…

作者头像 李华
网站建设 2026/3/2 14:16:42

推理步数越多越好吗?实测结果颠覆认知

推理步数越多越好吗&#xff1f;实测结果颠覆认知 在图像转视频&#xff08;Image-to-Video&#xff09;生成任务中&#xff0c;推理步数&#xff08;Inference Steps&#xff09; 是一个常被默认“越大越好”的超参数。许多用户认为&#xff1a;只要增加推理步数&#xff0c;…

作者头像 李华
网站建设 2026/3/1 21:57:39

零基础玩转M2FP:预配置镜像带你快速入门人体解析

零基础玩转M2FP&#xff1a;预配置镜像带你快速入门人体解析 作为一名数字艺术专业的学生&#xff0c;你是否曾在毕业设计中遇到过这样的需求&#xff1a;需要将一张包含多个人物的照片&#xff0c;自动分割成不同的人体部件&#xff08;如头部、手臂、躯干等&#xff09;&…

作者头像 李华
网站建设 2026/3/2 13:39:11

学长亲荐!继续教育必备TOP8 AI论文软件测评

学长亲荐&#xff01;继续教育必备TOP8 AI论文软件测评 2026年继续教育AI论文工具测评&#xff1a;精准匹配学术需求 在继续教育领域&#xff0c;论文写作已成为许多学员提升学历、实现职业发展的关键环节。然而&#xff0c;面对繁重的课程任务与时间压力&#xff0c;如何高效完…

作者头像 李华