初学者都能掌握的操作符(下)

(1)逗号表达式:

表达式1,表达式2,表达式3,...

整个表达式的值为最后一个表达式的值

(2)下标引用,函数调用以及结构体操作符([] () . 和 ->)

[] : 下标引用操作符

常用于数组中,

例如:arr[3],arr是数组名,3是索引值

int arr[3] = { 1 , 2 , 3 };

() : 函数调用操作符

如:test();

.和-> : 结构体操作符

. :具体写法为                  结构体变量.成员

如:定义一个结构体变量,包含姓名,年龄以及分数 

#include <stdio.h>
sturct person//定义一个结构体类型包含姓名,年龄,分数
{char name[20];int age;float score;
};
int main()
{sturct person a = { “王麻子”,25,93.2 };//定义该类型的变量并初始化printf("%s",a.name);//结构体变量的使用printf("%d",a.age);printf("%s",a.float);return 0;
}

结构体的作用就是创建一个新的类型,具体小编会在之后的文章介绍,此处先了解即可

接下来让我们了解一下结构体的另外一种写法(指针)

-> : 作用原理和 . 是一样的,如下代码

#include <stdio.h>
sturct person//定义一个结构体类型包含姓名,年龄,分数
{char name[20];int age;float score;
};
void print(struct* a)//调用函数
{printf("%s",a->name);//结构体变量的使用,指针类型printf("%d",a->age);printf("%s",a->float);
}
int main()
{sturct person a = { “王麻子”,25,93.2 };//定义该类型的变量并初始化print(&a);//由于使用的是指针,所以实参写为指针类型即带上&符号return 0;
}

(3)各类操作符的优先级

       学了这些操作符之后,当面对一些比较复杂的表达式计算的时候,了解他们的结合规律和优先级是必要的

1 圆括号,下标引用[ ] ,.  ,->

当一个表达式中有()时,应该首先计算()内的

结合顺序应该时候从左到右

2 非 !、按位取反  ~ 、自增自减 ++,--  、负号 -  、类型转换 (类型)、指针 * 、取地址 & 、计算字节长度 sizeof

这几类操作符位于第二梯队,结合顺序是从右到左

3 乘、除、取余

结合顺序是从左到右,也就是说当三个操作符同时出现的是时候,从左到右计算

4 加、减

5 左移、右移

6 大于 、小于、大于等于、小于等于

7 等于、不等于

上述四个操作符的结合顺序都是从左到右

8 按位与&

9 按位异或^

10 按位或|

11 逻辑与&&

12 逻辑或||

上述五个操作符的结合顺序也是从左到右

13 条件运算符(? :)

要记住C语言只有这一个三目操作符!!!

14 赋值运算符

15 逗号表达式

优先级最低

(优先级由高到低)
   所有双目运算符中只有赋值运算符的结合方向是从右往左。
   另外两个从右往左结合的运算符也很好记,因为它们很特殊:一个是单目运算符,一个是三目运算符。

   C语言中有且只有一个三目运算符。
   逗号运算符的优先级最低,要记住。
   优先级:算术运算符>关系运算符>逻辑运算符>赋值运算符。逻辑运算符中(“逻辑非!”除外)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16533.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring cloud alibaba sentinel 配置过程 流控 降级热点 授权

目录 1.基础理论 2.配置 3.加入依赖和配置文件 4.流控 1.基础理论 Sentinel是阿里开源的项目&#xff0c;提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 丰富的应用场景 &#xff1a;Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心…

未授权访问:Jupyter Notebook 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、利用terminal命令执行 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验&#xff0c;一共有好多篇&#xff0c;内容主要是参考先知社区的一位大佬的关于未授权访问的好文章&#xff0c;还有其他大佬总结好的文章…

springboot在tomcat中启动两次

文章目录 代码配置类问题1. 重复的Context Listener/多余的web.xml1.1 原因1.2 解决方案 2. SpringBoot的内置Tomcat没有去掉2.1 原因2.2 解决方案 3. 代码中有两个类继承了SpringApplication3.1 原因3.2 解决方案 4. Tomcat的server.xml中的配置问题4.1 原因4.2 解决方案 5. 多…

cpolar内网穿透工具—无需部署,远程访问网址

文章目录 cpolar介绍安装教程隧道管理VIP客户cpolar介绍 cpolar是一种安全的内网穿透服务,它将局域网下面的本地服务器通过加密隧道暴露至公网,使得公网用户可以正常访问内网服务。 只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序…

若依 ruoyi-vue SpringBoot聊天敏感词过滤sensitive-word

组件地址 https://github.com/houbb/sensitive-word 网上博客版本不是最新&#xff0c;查看官方文档&#xff0c;基于0.16.1整理总结&#xff0c;快速上手 pom文件引入 <dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word…

全域运营平台的优缺点各有哪些?听听使用者怎么说!

作为多个创业者交流群内的热点话题&#xff0c;关于全域运营平台优缺点的分析和点评不断涌现&#xff0c;为许多创业者更多信息的同时&#xff0c;也让他们的选择过程变得非常艰难。而在众多的全域运营平台中&#xff0c;被分析和点评次数最多的&#xff0c;当属全域运营平台。…

css3实现0.5px边框

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>css3实现0.5px边框</title><s…

电商API接口助力直播带货选品||助力电商平台搭建选品

如今&#xff0c;直播带货如火如荼。直播带货的核心是卖货、品牌盈利&#xff0c;那想要带货效果更好&#xff0c;选品及定价是最关键的环节。 事实上&#xff0c;品牌企业可以直接使用API接口工具来辅助自身选品及定价&#xff0c;这主要是因为比价工具在直播带货选品环节能起…

dubbo复习:(4) 和springboot 整合时,客户端负载均衡的配置

需要在DubboReference注解指定loadbalance属性。示例如下&#xff1a; package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Ser…

Java+IDEA+SpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码

JavaIDEASpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码 药物不良反应&#xff08;Adverse Drug Reaction&#xff0c;ADR&#xff09;是指在使用合格药品时&#xff0c;在正常的用法和用量下出现的与用药目的无关的有害反应。这些反应往往因药物种类、使用…

yolov8 ultralytics库进行多机多卡DDP训练

参考: https://github.com/ultralytics/ultralytics/issues/6286 ddp训练报错,问题修改: https://blog.csdn.net/weixin_41012399/article/details/134379417 RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asynchronously reported at s…

【全开源】排队叫号系统源码(FastAdmin+GatewayWorker)

一款基于FastAdminGatewayWorker开发的多项目多场景排队叫号系统&#xff0c;支持大屏幕投屏&#xff0c;语音播报叫号&#xff0c;可用于餐厅排队取餐、美甲店排队取号、排队领取、排队就诊、排队办理业务等诸多场景&#xff0c;助你轻松应对各种排队取号叫号场景。 ​打造高…

LabVIEW全自动样品处理系统有哪些优势?

基于LabVIEW的全自动样品处理系统在现代科研和工业应用中展现出显著的优势&#xff0c;其在数据采集、分析和控制方面的性能使其成为提高效率和精度的理想选择。以下是该系统的详细优势&#xff1a; 高效自动化 LabVIEW的图形化编程语言极大地简化了自动化流程的开发。用户可…

03. Spring 事务管理

文章目录 1. Spring 事务管理简介2. Transactional 注解属性信息3. Transactional 简单使用4. Transactional 使用注意事项4.1 正确指定事务回滚的异常类型4.1.1 Java 异常继承体系 4.2 Transactional 注解应用在 public 方法或类上才有效4.3 正确设置 Transactional 的 propag…

面向ai时代的新型数据底座有哪些?

在AI时代&#xff0c;数据底座指的是一个集成了大规模数据存储、管理、处理和分析功能的平台。它是建立在云计算和大数据技术基础上的&#xff0c;旨在为企业和组织提供高效、可靠的数据管理和分析能力。 新型数据底座具有以下特点&#xff1a; 弹性扩展性&#xff1a;新型数据…

西门子smart line触摸屏软件安装 WinCC Flexible Smart V4SP1 V3

提示&#xff1a;Wincc flexible smart软件为西门子Smart line系列触摸屏的专用组态软件&#xff0c;这款屏不能用博途来组态&#xff0c;只能用这个软件来组态。西门子Smart line系列触摸屏的常用型号为SMART 700 IE V3/V4&#xff0c;SMART 1000 IE V3/V4。 Wincc flexible …

类和对象(上)【有关类的全面学习】【this指针的学习】

类和对象&#xff08;上&#xff09; 1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C语言注重过程&#xff1a; C是基于面向对象的&#xff0c;关注的是对象&#xff0…

Spring - Spring Cache 缓存注解这样用,实在是太香了!

作者最近在开发公司项目时使用到 Redis 缓存&#xff0c;并在翻看前人代码时&#xff0c;看到了一种关于 Cacheable 注解的自定义缓存有效期的解决方案&#xff0c;感觉比较实用&#xff0c;因此作者自己拓展完善了一番后分享给各位。 Spring 缓存常规配置 Spring Cache 框架给…

IC解析之TPS1HB08-Q1

目录 1.主要参数2. 接口定义3. 工作原理分析高低边驱动的作用TPS1HB08-Q1架构TPS1HB08-Q1典型应用电路参数设置 4.总结 1.主要参数 2. 接口定义 其中&#xff0c;不同的IC版本在故障反馈引脚有所差异&#xff0c;A/B版本则为ILIM功能&#xff0c;F版本则为FLT功能&#xff0c;两…

javaEE—图书管理系统(基础代码版)

前言&#xff1a; 本篇博客是集合了javaEE所学的知识构建的一个基础框架&#xff0c;讲述着面向对象的过程是如何做到多对象交互协作完成框架的构建的。利用了数组&#xff0c;接口&#xff0c;类和对象&#xff0c;抽象类&#xff0c;Object类等知识来完成。 后续会加入数据…