初识C语言(3)

简介: 初识C语言(3)

8.函数

函数的特点就是简化代码,代码复用。

9. 数组

要存储1-10的数字,怎么存储?

C语言中给了数组的定义:一组相同类型元素的集合

9.1数组的定义


9.2数组的下标

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

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

如:

int arr[10]={1,2,3,4,5,6,7,8,9,10}

//如果数组10个元素,下标的范围是0-9



9.3数组的使用

tip:通过下标找到(访问)元素


//[]-下标引用操作符,i是下标;注意[10]里的10是指定数组的元素个数

10.操作符(也称运算符)

简单介绍一些,后期会详细讲

(1)单目运算符

说明:


1、!-相反-真变假,假变真

2、sizeof-操作符-是计算变量或数据类型所占内存空间的大小,单位是字节(注意:strlen是库函数,是计算字符串的长度的,统计的是字符串中\0之前的字符个数)

3、++与--是自增自减运算符:

b=a++;//后置++,先使用,后++。b=a,a=a+1

b=++a;//前置++,先++,后使用。a=a+1,b=a

4、(类型)

自动转换规则:

强制类型转化:

强制类型转换的一般形式如下: (类型说明符)(表达式) 其功能是把表达式的值的数据类型强制转换成类型说明符所指定的类型。

(2)算术运算符


注意:


1.    /-除号

/ 除号的两端如果都是整数,执行的是整数除法(即结果为整数,舍去小数部分)

/ 除号的两端至少有一个数是浮点数,才能执行浮点数的除法(即结果为小数)

如:1/2=0     1.0/2=0.5

2.   %-取余(取模)

% -取余(取模),%操作的两个操作数必须都是整数

结果的正负取决于被除数

0除以任何数后都不会存在余数

如:-5%-3=-2     0%2=0

3.优先级:同数学

4.结合性:结合方向“自左向右”运算

(3)关系运算符


注意:

1.优先级:前面四个运算符(>、>=、<、<=)的优先级高于后面两个运算符(!=、==)

赋值运算符<关系运算符<算术运算符

2.结合性:“自左向右”

3.运算结果:真(1)和假(0)两种

4.不能连续写(如:1


(4)逻辑运算符(只关注真假)


注意:


1、运算规则

&&:两边都为真时,结果才为真(1)

||:两边都为假时,结果才为假(0)

2.C标准规定,参与逻辑运算的操作数可以不是逻辑值,操作数为非0时表示真,为0时表示假;但逻辑运算的结果只可以取逻辑值(真和假)。

3.逻辑运算的短路特性:当表达式的运算结果能够确定以后,运算过程立即终止,后面部分不再执行。

(5)条件运算符


//双分支if语句等价于条件运算符

(6)赋值运算符

分类:

1.简单赋值运算符:=

作用:将右侧的表达式赋值给左侧的变量

2.复合赋值运算符:+=、−=、*=、/=、%=、<<=、>>=、&=、^=、|=

如:

a+=1等价于a=a+1

注意:

1.赋值运算符两边的数据类型要求一致

若不一致:类型转换

转换条件:当赋值运算符两侧的数据类型不一致时

转换原则:转换为被赋值变量的类型。

2.赋值运算符的优先级只高于逗号运算符,且结合方向均为“自右向左”

(7)逗号表达式



说明:


1、逗号表达式的求解过程为自左至右,依次计算各表达式的值,最后一个表达式的值即为整个逗号表达式的值;

2、逗号运算符的优先级最低。

3、使用逗号表达式的目的通常是想分别得到各个表达式的值,而并非一定要得到整个表达式的值。

4、常用于for循环语句中,除此以外很少使用。  

(8 )移位操作符

(9)位操作符

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



相关文章
|
JavaScript
5. 解决 nativeTags 不被 Vue - Office 插件兼容的问题
5. 解决 nativeTags 不被 Vue - Office 插件兼容的问题
231 0
|
存储 异构计算
在FPGA上实现高通滤波器
在FPGA上实现高通滤波器
221 0
|
网络协议 数据库 数据安全/隐私保护
路由与交换利用ENSP模拟器分析和配置中小型企业网络的综合实验(中)
路由与交换利用ENSP模拟器分析和配置中小型企业网络的综合实验
4167 1
路由与交换利用ENSP模拟器分析和配置中小型企业网络的综合实验(中)
算数右移和逻辑右移的区别及逻辑运算的窍门
算数右移和逻辑右移的区别及逻辑运算的窍门
1376 0
|
存储 算法 安全
PriorityQueue——优先级队列(堆)
本文介绍新的数据结构——优先级队列,其底层是由堆来实现的,我们一起来看看这个神奇的数据结构!
637 0
PriorityQueue——优先级队列(堆)
|
存储 算法 C++
【每日算法Day 74】经典面试题:约瑟夫环,我敢打赌你一定不会最后一种方法!
【每日算法Day 74】经典面试题:约瑟夫环,我敢打赌你一定不会最后一种方法!
122 0
|
JavaScript 前端开发 流计算
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小
217 0
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小
cxuan 呕心沥血肝了四本 PDF。(三)
我是 cxuan,我已经写了一年的文章了,这一年来我几乎没日没夜的写文章。
cxuan 呕心沥血肝了四本 PDF。(三)
|
Kubernetes 监控 Java
基于阿里云容器的 CI/CD 落地实践
团队面对的业务架构是不断增长的微服务集群,基于此,对于CICD的自动化要求以及发布频率不断提出了新的挑战。
16676 1
基于阿里云容器的 CI/CD 落地实践