《小猫猫大课堂》4——数组,操作符,常见关键字

news2024/11/15 6:47:34

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

目录

前言

 数组

定义

 数组的下标

数组的使用 

操作符 

算数操作符

位移操作符

位操作符

赋值操作符

单目操作符

关系操作符

逻辑操作符

条件操作符

逗号表达式

下标引用、函数调用和结构成员

常见关键字

关键字typedef

关键字static

修饰局部变量

修饰全局变量

修饰函数

#define定义常量和宏

总结


前言

我们这一次说数组,操作符,常见关键字,还有#define定义常量和宏。

喵喵喵,我们开始吧!


 数组

  • 定义

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素,

其中“数据类型+arr[元素个数]={各个元素展示};”就是数组的定义形势

  •  数组的下标

C语言规定:数组的每个元素都有一个下标,下标是从0开始的

数组可以通过下标来访问的

  • 数组的使用 


操作符 

我们先了解简单实用的,小朋友。

算数操作符

+    -    *    /    %


位移操作符

>>     <<


位操作符

&   ^   |


赋值操作符

=    +=    -=    *=    /=    &=    ^=     |=       >>=      <<=


单目操作符

!             逻辑反操作

-             负值

+            正值

&            取地址

sizeof     操作数的类型长度(以字节为单位)

~             对一个数的二进制按位取反

--            前置、  后置        --

++          前置、后置        ++

*             间接访问操作符(解引用操作符)  例如*p——解应用指针

(类型)     强制类型转换


关系操作符

>=

<

<=

!=       用于测试“不相等”

==      用于测试“相等”


逻辑操作符

&&   逻辑与

||      逻辑或


条件操作符

exp1 ? exp2 : exp3


逗号表达式

exp1  , exp2 ,  exp3,.....expN


下标引用、函数调用和结构成员

[ ]    ( )   .    ->

-> 是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.


常见关键字

C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的用户自己是不能创造关键字的。 

我们先介绍几个既陌生又能用到的操作符

关键字typedef

typedef 顾名思义是类型定义,这里应该理解为类型重命名。

关键字static

在C语言中: static是用来修饰变量和函数的

1. 修饰局部变量-称为静态局部变量

2. 修饰全局变量-称为静态全局变量

3. 修饰函数-称为静态函数

修饰局部变量

对比代码1和代码2的效果理解static修饰局部变量的意义。

结论: static修饰局部变量改变了变量的生命周期

让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束

 宝子注意看区,static在近乎相同的代码中起到的不同作用,static将i的作用范围享之乱只作用于test()中,所以主函数的i没有起到作用,没有重新定义i的值,i可以不断加加。这是static画地为牢在子函数中修饰局部变量,是不是很有用呢?简直是黑科技。

修饰全局变量

dev版

vs2019版

代码1正常,代码2在编译的时候会出现连接性错误。

结论: 一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使 用。 

额,小喵试了一下,感觉没有变化,可能是代码太小,或是现在的编译器越来越成熟了,可以避免一些错误的发生,但宝子请不要大意,咱最好不要这么干

修饰函数

但是代码2会报错

 代码1正常,代码2在编译的时候会出现连接性错误.

结论: 一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。

所以说static有好处也有坏处,不要随意使用小喵觉得最好用的还是修饰局部变量吧,小朋友快快实践起来吧!

剩余关键字后续课程中陆续会讲解,时间很长,我们慢慢话!


#define定义常量和宏

 编译一个C语言程序的第一步骤就是预处理阶段,这一阶段就是发挥作用的阶段。C预处理器在源代码编译之前对其进行一些文本性质的操作,主要任务包括删除注释、插入被#include进来的文件内容、定义和替换由#define 定义的符号以及确定代码部分内容是否根据条件编译(#if )来进行编译。”文本性质”的操作,就是指一段文本替换成另外一段文本,而不考虑其中任何的语义内容。宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见

以后小喵会细说,这个东西有点多。


总结

今天我们先告一段落,下一次我们说指针和结构体,说完那一节,我们的第一轮就结束了,立马开始第二轮,会对部分重要的只是进行仔细讲解,比如说语句,函数,指针,结构体,哦,还有最重要的灵魂——调试,可以提前预习一下,真是期待啊!!!三轮应该会同步开始更新(喵会特殊标明的),没错,小喵不要命了,只要肝不死,就往死里肝,哈哈哈哈,脑子要坏掉了。

真心的希望,宝子,学习完三轮,并配上相关练习,宝子可以学到满意!

未来的自己会感谢现在的你。


更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。啊呜!!!

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

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

相关文章

十三、网络编程、UDP、TCP协议

JMM(了解) JMM就是Java内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下&#xff0c;内存的访问有一定的差异&#xff0c;所以会造成相同的代码运行在不同的系统上会出现各种问题。所以java内存模型(JMM)屏蔽掉各种硬件和操作系统的内存访问差异&#…

python 办公自动后,第一天:创建excel写入数据

1&#xff0c;python第三方模块&#xff1a;xlwt写入excel文件 #pycharm 中安装pip install xlwt #xlwr 用户写入文件模块 #pip install xlwt # pip list 查看安装的模块 # pip install import xlwt#创建excelwb xlwt.Workbook()# 选择工作簿sh wb.add_sheet(第一个sheet页…

LVGL学习笔记11 - 按钮矩阵Button Matrix

目录 1. 构造矩阵 2. Parts 2.1 LV_PART_MAIN 2.2 LV_PART_ITEMS 3. 样式 3.1 按钮大小 3.2 间距 3.3 控制按钮 3.4 控制map 3.5 Check唯一性 4. 事件 4.1 LV_EVENT_VALUE_CHANGED 4.2 LV_EVENT_LONG_PRESSED 4.3 LV_EVENT_DRAW_PART_BEGIN 按钮矩阵是多个按钮的组…

臻图信息搭建土壤墒情监测应用平台,推进现代农业信息化发展

“十四五”期间&#xff0c;国家高度重视土壤生态环境监测等问题&#xff0c;先后出台了一系列规范性文件&#xff0c;为我国土壤防治领域建立了一套标准、导则、指南和管理等解决对策&#xff0c;使我国土壤修复法律法规和标准化建设呈现出系列化和系统化趋势&#xff0c;有效…

计算机视觉实战-----pytorch官方demo(Lenet网络)实现

系列文章目录 文章目录系列文章目录前言零、环境搭建一、下载CIFAR10数据集二、测试图片三、模型搭建四、开始train五、测试六、tensorboard可视化总结前言 通过一个官方列子&#xff0c;清楚深度学习中图像的训练的整个流程 零、环境搭建 pycharm下载&#xff1a;pycharm官网…

【C语言】算法好题初阶(每日小细节010)

1.存在重复元素 力扣传送门、 这道题目的解题思路就是先排序然后比较相邻元素是不是有相等的&#xff0c;有就是true否者false 排序的算法比较多大&#xff0c;但是我用插入和快排plus版都没有过... 但是非递归的归并过了&#xff0c;对排序算法感兴趣的小伙伴可以去看我的博…

一款统计摸鱼时长的开源项目

对于我们程序员&#xff0c;在工作中一天8小时&#xff0c;不可能完全在写代码了&#xff0c;累了刷刷论坛、群里吹吹牛&#xff0c;这都是非常正常的。虽然一天下来&#xff0c;可能我们都可以按时完成工作&#xff0c;但是我们不知道&#xff0c;时间都花在哪里了&#xff0c…

小米万兆路由器里的Docker安装MySQL8.0

小米2022年12月份发布了万兆路由器&#xff0c;里面可以使用Docker。 今天尝试在小米的万兆路由器里安装MySQL8.0。 准备工作 请参考https://engchina.blog.csdn.net/article/details/128515422的准备工作。 创建存储 请参考https://engchina.blog.csdn.net/article/detail…

Faster RCNN网络源码解读(Ⅹ) --- FastRCNN部分正负样本采样及FastRCNN部分损失计算

目录 一、回顾以及本篇博客内容概述 二、代码解析 2.1 ROIHeads类&#xff08;承接上篇博客的2.5节&#xff09; 2.1.1 初始化函数 __init__回顾 2.1.2 正向传播forward回顾 2.1.3 select_training_samples 2.1.4 add_gt_proposals 2.1.5 assign_targets_to_proposals…

【Git】Git瘦身,清理Git历史提交/.git大文件清理(云效、UI 自动化项目)

目前项目是存在云效(codeup.aliyun.com)上 本地清理后&#xff0c;还需要到云效上清理「存储空间管理」 一、清理/瘦身效果二、到底是什么在占空间&#xff1f;1、先看一下项目里&#xff0c;什么最占空间&#xff1f;2、往下看在/.git里&#xff0c;什么最占空间&#xff1f;三…

车载诊断协议UDS——读取故障服务Service 19

汽车控制器诊断功能,可以通过诊断服务读取车内控制器故障信息。如本文所分享的内容,通过Service 19服务读取车内控制器故障信息。 一、DTC显示类型 在OEM定义的诊断需求规范中,会定义DTC(诊断故障码)与具体控制器具体故障类型相关联(一个DTC故障码对应一个具体故障)…

深度学习目标检测_YOLOV2超详细解读

文章目录YOLO v2概述Batch Normalization&#xff08;批归一化&#xff09;High Resolution Classifier&#xff08;高分辨率预训练分类网络&#xff09;New Network&#xff1a;Darknet-19神经网络中的filter &#xff08;滤波器&#xff09;与kernel&#xff08;内核&#xf…

【Java语言】— 循环结构:while循环、do-while循环

while循环 1.while循环格式与执行流程 while循环格式 初始化语句; while (循环条件){循环体语句(被重复执行的代码);迭代语句; }示例&#xff1a; inti 0; while (i < 3){System.out.println("Hello World");i; }while循环执行流程 什么时候用for循环&#x…

蓝桥杯寒假集训第五天(子串分值和)

没有白走的路&#xff0c;每一步都算数&#x1f388;&#x1f388;&#x1f388; 题目描述&#xff1a; 输入一个字符串&#xff0c;然后计算所有连续子串中没有重复字母的个数 输入描述&#xff1a; 第一行&#xff1a; 一个字符串 输出描述&#xff1a; 所有子串中没有…

软件设计模式---结构型模式

结构型模式 结构型模式概述 结构型模式描述如何将类或者对象结合在一起形成更大的结构&#xff0c;就像搭积木&#xff0c;可以通过简单积木组合形成复杂的、功能更更为强大的结构 结构型模式可以分为类结构型模式和对象结构型模式 类结构型模式关心类的组合&#xff0c;由多…

1、Java多线程技能基础

文章目录第一章 Java多线程技能1.1进程和线程的定义以及多线程的优点1.2 使用多线程1.2.1继承Thread类1.2.2常见的3个命令分析线程的信息方法一\:cmdjsp方法二\:jmc.exe方法三&#xff1a;jvisualcm.exe1.2.3 线程随机性的展现1.2.4 执行start()的顺序不代表执行run()的顺序1…

hcip第五天实验

拓扑图 每台路由器都有两个环回&#xff0c;一个24的环回&#xff0c;一个32的环回&#xff1b;32的环回用于建邻&#xff0c;24的环回用于用户网段&#xff0c;最终所有24的环回可以ping通。 实验步骤 1.配置ip 2.让2,3,4号设备的IGP协议可以通信 3.两两之间建立BGP邻居关…

DR_CAN基尔霍夫电路题解法【自留用】

无目录如图所示电路&#xff0c;输入端电压eie_iei​&#xff0c;输出端电压eoe_oeo​&#xff0c;求二者之间关系。 对其中元件进行标号&#xff0c;并将电流环路标号&#xff0c;指出各元件的压降方向&#xff1a; v值得注意的是&#xff1a; 1&#xff09;电阻R2R_2R2​同时…

rabbitmq消息发送的可靠性:结合mysql来保证消息投递的可靠性

消息从生产者到Broker&#xff0c;则会触发confirmCallBack回调消息从exchange到Queue&#xff0c;投递失败则会调用returnCallBack 用一张表来记录发送到mq的每一条消息&#xff0c;方便发送失败需要重试。status&#xff1a; 1-正常&#xff0c;0-重试&#xff0c;2-失败。发…

【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【1】:图像处理基础

目录 1. OpenCV简介 2. OpenCV开发环境搭建 3. 读取图像 4. 读取png文件出现警告 5. 显示图像 6. 保存图像 7. 获取图像属性 本系列文章会深入讲解OpenCV 4&#xff08;Python版&#xff09;的核心技术&#xff0c;并提供了大量的实战案例。这是本系列文章的第一篇&…