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

相关文章

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

基于Go语言实现一个压测工具

《基于Go语言实现一个压测工具》这篇文章主要为大家详细介绍了基于Go语言实现一个简单的压测工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录整体架构通用数据处理模块Http请求响应数据处理Curl参数解析处理客户端模块Http客户端处理Grpc客户端处理Websocket客户端

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的