当前位置: 首页 > news >正文

【时时三省】(C语言基础)赋值表达式和赋值语句和变量赋初值

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

赋值表达式和赋值语句

在C程序中,赋值语句是用得最多的语句。实际上,C语言的赋值语句属于表达式语句,由一个赋值表达式加一个分号组成。其他一些高级语言(如BASIC,FORTRAN,COBOL,Pascal等)有赋值语句,而无“赋值表达式”这一概念。这是C语言的一个特点,使之应用灵活方便。

前面已经提到,在一个表达式中可以包含另一个表达式。赋值表达式既然是表达式,那么它就可以出现在其他表达式之中。例如:

if ( ( a = b ) > 0 ) max = a ;

按一般理解,if后面的括号内应该是一个“条件”,例如可以是

if ( a > 0 ) max = a;

现在,在a的位置上换上一个赋值表达式a = b,其作用是:先进行赋值运算(将b的值赋给a ),然后判断a是否大于0,如大于0,执行max = a。请注意,在if语句中的a = b不是赋值语句,而是赋值表达式。如果写成

if ( ( a = b ; ) > 0 ) max = a ;

在C程序中,赋值语句是用得最多的语句。/ /“a = b;”是赋值语句

在C程序中,赋值语句是用得最多的语句。就错了。在if的条件中可以包含赋值表达式,但不能包含赋值语句。由此可以看到,C语言把赋值语句和赋值表达式区别开来,增加了表达式的种类,使表达式的应用几乎“无孔不入”,能实现其他语言中难以实现的功能。

注意:要区分赋值表达式和赋值语句。

赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号。在一个表达式中可以包含一个或多个赋值表达式,但绝不能包含赋值语句。

变量赋初值

从前面的程序中可以看到:可以用赋值语句对变量赋值,也可以在定义变量时对变量赋以初值。这样可以使程序简练。如:

int a = 3;/ /指定a为整型变量,初值为3

float f = 3.56 ;/ /指定f为浮点型变量,初值为3.56

char c = ' a ';/ /指定c为字符变量,初值为’a '

也可以使被定义的变量的一部分赋初值。

例如:int a , b,c = 5;

指定a,b,c为整型变量,但只对c初始化,c的初值为5。

如果对几个变量赋予同一个初值,应写成

int a = 3,b = 3,c = 3;

表示a,b,c的初值都是3。不能写成

int a = b = c = 3;

一般变量初始化不是在编译阶段完成的(只有在静态存储变量和外部变量的初始化是在编译阶段完成的),而是在程序运行时执行本函数时赋予初值的,相当于执行一个赋值语句。

相关文章:

  • TypeScript类:面向对象编程的基石
  • 关于 ESP32 未公开 Bluetooth® HCI 命令的事实澄清
  • [多线程]基于环形队列(RingQueue)的生产者-消费者模型的实现
  • c++20 Concepts的简写形式与requires 从句形式
  • 二叉树_3_模拟实现二叉树
  • PySide(PyQT),QGraphicsItem的pos()和scenePos()区别
  • 【数据分析大屏】基于Django+Vue汽车销售数据分析可视化大屏(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅
  • Kotlin D3
  • 推理模型对SQL理解能力的评测:DeepSeek r1、GPT-4o、Kimi k1.5和Claude 3.7 Sonnet
  • H3C交换机的VRRP配置
  • Ansible运行原理揭秘:如何用YAML脚本掌控数服务器?
  • 第二篇:CTF常见题型解析:密码学、逆向工程、漏洞利用、Web安全
  • vue3 element-plus form校验不生效
  • python-leetcode-递增的三元子序列
  • 详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本
  • 数据库系统概论(三)数据库系统的三级模式结构
  • 软考 中级软件设计师 考点知识点笔记总结 day03
  • Blender UV纹理贴图,导出FBX到Unity
  • SqlSugar 进阶之原生Sql操作与存储过程写法 【ORM框架】
  • centos安装python3.9.9总结和笔记
  • 十年磨一剑!上海科学家首次揭示宿主识别肠道菌群调控免疫新机制
  • 微软将裁员3%,减少管理层
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱
  • 左娅︱悼陈昊
  • 巴西总统卢拉昨晚抵达北京
  • 王毅同印度国家安全顾问多瓦尔通电话