4、硕彦博创李飞授——C语言变量,运算符,流程控制

2023-10-21 06:59

本文主要是介绍4、硕彦博创李飞授——C语言变量,运算符,流程控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

重点标记 : ******

C语言变量:

1.程序  =  数据结构  + 算法数据:分类:根据是否可以改变分为:常量与变量C语言的三大基本类型1.整型2.字符型3.浮点型查看类型的空间大小:sizeof(常量/变量/类型);
·					整型:短整型short  基本整型int  长整型long2byte				4byte			4byte整型分为:整型常量和整型变量整型常量:十进制,八进制(0开头),十六进制(0x开头)%d  %o %x整型变量:1,定义变量:分配空间类型   变量名;PS:不能再同一函数中,重名定义变量;short a ; ------>给A分配2byte直接的空间  就是16个bitunsigned :   无符号  signed  有符号    默认(signed)											unsigned short a ; [ ] [ ] [ ] [ ] [ ]  [ ] [ ] [  ] [ ] [ ] [ ] [  ] [ ] [ ] [ ] [ ] 最小值:0000 0000 0000 0000 最大值;1111 1111 1111 1111以上只是正数范围:如果值为负数是:														******【】[ ][ ][ ][ ][ ][ ][ ]  [ ][ ][ ][ ][ ][ ][ ] [ ]最高位位符号位:0  +     1 :-1 111 1111 1111 1111  -32768    (-0   就等于  32768) ******0 111 1111 1111 1111  32767   PS:   正数以原码存储   ,取出正数是  , 以原码取出负数以补码存储	,取出负数是, 将补码转换成原码取出	取出时,计算机是以0 和 1 判定是正是负  (理解)如图示:

在这里插入图片描述

									2.1.类型  变量名 = 值 ; 2.2 类型  变量名  ;变量名  = 值 ; 2.1叫初始化,2.2并不是初始化,是赋值(这点切记)3.引用变量:通过变量名 , 来引用变量空间的内容PS:这三点贯穿整个c语言,一定切记字符型:字符常量和变量字符常量 : 数字字符('0'),字符(‘a-z’)计算机只能识别二进制  ,  所以有特定的二进制序列来代表字符  ----》称为ascii表ASCII表: a  --- 97      A ---65    ‘0’-----》48计算机中还有一些特殊的字符:转移字符  :“\n”:换行符    “\t”:tab键   ‘\0’:空字符字符变量:1、定义变量:类型(char)   变量名  ;2、初始化变量:3、引用变量:浮点型:浮点常量和浮点变量浮点型常量:十进制 3.14  科学计数法(也叫指数(e为10)表示法  ): 3e1  浮点型变量 : float (单精度) 	:4bytedouble(双精度):8byte程序   =  算法+数据算法基础:就是运算符 和流程控制

运算符:(*****)

		弄懂:结合性优先级溢出	:	等位赋值运算符表达式: 有运算的结果

空间大小运算符:
sizeof();

	运算符和函数的区别:运算符 没有()函数 有()int a;Ps:sizeof  a  可以没有括号在不同的编译器中可能会有不同,我用的是GCC

在这里插入图片描述

1.算数运算符:+ , - , * ,/ , %

Ps:	1、同类型运算时,得同类型结果2、不同类型运算时,发生隐式转换 整型%整型 = 余

2.赋值运算符:= , += , -= (从右向左)

PS:		2.1、100=a;  //err:左侧必须是左值(变量):2.2、溢出:(等位赋值)//凡是空间,都必须考虑满的情况

在这里插入图片描述

2.3、不同类型之间赋值:

在这里插入图片描述
PS: 整型变量:只能存放整型的值
浮点型变量: 只能存放小数的值

3、隐式类型转换:

	1.大小不一时:(C语言是强类型语言,在运算过程中,必须转换成相同的类型进行转换):小位转高位short  ---》 intint	-----》long float ---> double2.不同类型int  ---》doublechar ----》int

在这里插入图片描述
强制类型转换:
(类型)变量;
例如:
float a = 3.14;
(int)a ----->3

4、判断运算符:> < >= <= != ==
结果 :真1 假0
5、逻辑运算符:&& , || , ! (从左往右结合)

		表达式1 ||  表达式2       一真则真,(只要表达式1的值为真就不用看表达式2的值-----》提高效率)表达式1&&表达式2		一假则假  !表达式Ps:表达式结果非0即为真,0为假

6、三目运算符 (?:)
结果= 表达式1?表达式2:表达式3
如果表达式1为真,结果等于表达式2的值,反之,结果等于表达式3的值
在这里插入图片描述

7、自增自减
前自加:++i; 总结:(i)先自加,(结果)后取值
后自加:i++; 总结:(结果)先取值,(i)后自加
在这里插入图片描述

8.括号运算符(优先级运算符) , (优先级最高,先内在外)
(表达式)

流程控制:

			1.代码指令的执行流程首先了解:空语句  :指令为空;2.语句块	{语句1,语句2,。。。。}2.流程分类:顺序流程:从上往下逐条执行选择控制:指令带有条件,当条件为真时才执行2.1单分支if:if(表达式)语句;//if后面只有一条语句,可以不用花括号2.2	双分支 if:if(表达式){语句块1;}else{语句块2;}2.3  多分支ifif(表达式){语句块1;}else if(表达式1){语句块2;}else if(表达式2){语句块3;}。。。。else if(表达式n){语句块n;}else{语句块;}2.4.if嵌套if(表达式1){if(表达式2){.......}else{.....}}else{if(表达式){.......}else{......}	}

在这里插入图片描述
在这里插入图片描述

	多分支:switch

拓展:
a = 1234 ;
第一位:a/1000;
第二位:a/100%10;

这篇关于4、硕彦博创李飞授——C语言变量,运算符,流程控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/252706

相关文章

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的