首页 > 其他分享 >c语言笔记(2024.7.24)第三天

c语言笔记(2024.7.24)第三天

时间:2024-07-30 19:57:08浏览次数:9  
标签:24 0000 运算 2024.7 ++ 笔记 int 变量名 变量

常量与变量

概念:

·表面:程序运行过程中取值可以改变的数据

·实际:变量其实代表了一块内存区域/单元/空间。变量名可视为该区域的标识。

整个变量分为三部分:

·变量名:这个只是变量的一个标识,我们借助变量名来存取数据。

·变量空间/存储单元:这个就是内存中分配的一块用来存放数据的空间/区域。

·数据/变量值:这个就是存放在变量空间中的数据

注意:我们把数据存放间变量名对应空间的过程称之为变量的赋值操作。

语法:

1[修饰符] 数据类型 变量列表;

命名规范

  1. 变量名可以由数字、字母(区分大小写)、分划线_、$组成,不能以数字开头。
  2. 不建议使用中文,也不建议使用拼音。
  3. 变量名不能与系统中已有的标识符重名。(比如关键字、保留字...,举例:int,signed,if,break...)

案例:

说明:

  1. 变量名定义是,利用同一个类型标识符可同时定义多个变量,各个变量之间使用,(英文逗号)分割。
  2. 定义变量后,如果未对变量进行初始值的赋予,则变量所代表的内存空间中的数据是随机安排的。
  3. 可以在变量定义的同时给变量赋值,这个操作称为变量的初始值,C语言允许对变量进行初始化。
  4. 初始值变量是,尽量做到类型相同,eg:long 1 =567L
  5. 整体数据在内存中存放方式

按照补码方式存放:

·正整数的补码就是将该数据转换为二进制格式。

·负整数的补码就是将该数据的绝对值转换为二进制格式,按位取反,并+1.

浮点数数据在内存中存放方式

Eg:

需求:将27.5以float类型存放:

解析:

·27.5的二级制为11011.1,指数表示法:1.10111 * 2 4

·指数:4,加上127,就是131,二进制1000 0011

·尾数(小数点后的数)10111,补够23位 1011 1000 0000 0000 0000 000用二进制表示就是(符号数位1位)0(指数位8位)1000 0011 (尾数位23位)1011 1000 0000 0000 0000 000

·所以 单精度浮点型数据27.5 在内存中的存储方式如下

0 1000 0011 1011 1000 0000 0000 0000 000

  字符数据在内存中的存放方式:

  以ASCII码存放

字符的存在分为两种形式,ASCII码(编号,从0开始的正整数)和ASCII码值(数据,包括英文字母大小写,数字,特殊符号)

注意:ASCII码可以和整数进行数学运算

举例:

数据类型之间的转换

规则:不同的数据类型参与运算,需要转换为同一类型后运算

数值比较由小到大简单排序:

short<char<int<long<float<double

·隐式类转换

  说明:编译系统自动完成,一般是低优先级类型向高优先级转换,这种被称为自动类型转换

语法:

举例:

·强制类型转换

说明:程序员自己实现,一般是高优先级类型向低优先级类型转换,这种称之为强制类转换(由大到小)

语法:

小数据类型 变量名 = (小数据类型)大数据类型变量;

举例:

注意:强制类型转换过程中,可能会出现精度缺失的问题。如果大类型数据范围<=小类型数据范围丢失,正常转换;如果大类型数据范围>小类型数据范围,此时丢失超出部分的数据,精度会缺失!

原则:类型转换并不会改变原来变量类型

运算符

单目运算符

说明:++ -- + - *

++a与a++的区别

· int a = 1,int x = a++; ++在后,先运算,后+1

· int a = 1,int x = ++a; ++在前,先+1,后运算

Eg:

总结

分析上面的案例,我们发现,不管是 ++ 在前,还是 ++ 在后,计算数自身都会+1。区别在于运算的结果不一样。 ++ 在前,先自加1,后运算; ++ 在后,先运算,后自加1。 

--a与a--的区别

· int a = 1,int x = a--; ++在后,先运算,后-1

· int a = 1,int x = --a; ++在前,先-1,后运算

总结
分析上面的案例,我们发现,不管是++在前,还是++在后,计算数自身都会+1.区别在于运算的结果不一样。++在前,

双目运算符

说明 + - * / %

举例:

注意:

1.两个整数相除的结果是整数,小数部分被舍弃。想要其结果是实数,可在分子*1.0(隐式类型转换)

2.求模运算(取余预算)左右两边的操作数都必须是整数。如果是类似于3.0这样的数,是错误的。

关系运算符

什么是表达式?

表达式就是表达某种意思的式子。在C语言中,表达式指的是运算符连接操作数(变量|变量...)的式子。

注意:

有关系运算符构成的表达式称为关系表达式,关系表达式的值为boolean(布尔值)

·非0:关系成立,为真

·0:关系不成立,为假

逻辑运算法

说明:&&(与) ||(或) !(非)

·&&:逻辑与(且),符号两边的操作数都为真,结果才为真。

Eg:((5>4&&(5-4)>1,结果0

·||:逻辑或(或),符号两边的操作数只有一个为真,结果就是真。

Eg:((5>4||(5-4)>1,结果1

·!逻辑:逻辑反(取反),取反,非0为真,

Eg:!(!(5>4)),结果1

惰性运算

所谓的惰性运算,就是减少运算次数。

·短路与:&&的操作数,只要左边不成立0,直接返回假,不再校验右边。

·短路或:||两边的操作数,只要左边成立1,直接返回真,不再校验右边。

扩展..

  ISO-8859-1:西欧编码,一般遇到直接改编码,针对文件

GBK:国标,中国标准编码/字符库,收录了大量的汉字+中文符号。针对文件内容。

UTF-8:全球标准,几乎收录了全球的各种字符集,包括GBK包含的常用汉字以及中文符号,针对文件内容。

ASCII:字符集,C语言字符就是以ASCII码进行存储。针对程序内部数据。

都看到这了不妨留下个点赞呗!!感谢大家收看,下期见!

标签:24,0000,运算,2024.7,++,笔记,int,变量名,变量
From: https://blog.csdn.net/weixin_65213187/article/details/140804867

相关文章

  • 千千蓝鲸2924
    描述斐波那契数列:数列的第一个值和第二个值都为1,接下来每个数都等于前两个数的和。求第n个数是多少?输入描述一个整数n,表示要求的第n位。(1<n<90)注意数据大小!!!输出描述一个整数,第n位的数字。样例输入120样例输出16765AC代码:#include<iostream>typedeflonglong......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(1)1012并
    题目大意:给出n个矩形,求被k个矩形覆盖的面积的并集的期望,输出k为1-n的所一答案思路:由于是求期望所以是求出所有情况的和再除以可能的情况,每一种情况中的面积都由--同时被1个矩形覆盖,同时被两个矩形覆盖······同时被k个矩形覆盖组成,而且不难得出当k一定时,取被m个矩形覆盖的......
  • 位运算卷积学习笔记
    位运算卷积学习笔记位运算卷积,即快速沃尔什变换\(\text{FWT}\)和快速莫比乌斯变换\(\text{FMT}\),但事实上最常用的是\(\text{FWT}\),因为\(\text{FMT}\)所求解的内容是\(\text{FWT}\)的子集。位运算卷积首先要知道位运算卷积指的是\[c_i=\sum_{j\odotk=i}a_jb_k\]形......
  • 【调试笔记-20240730-Linux-OpenWrt 23.05 安装 Docker 配置 bitnami/Wordpress-with-
    调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现微信用户在线注册登录文章目录调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现......
  • ssy中学暑假集训分数规划笔记
    分数规划出现在了我们今天的模拟赛中,看在这个名字深得我心而且我能看懂证明和内容的份上,给开个专题吧!\(1.定义\):分数规划就是求分数的极值。形象一点就是,给出\(a_i\)和\(b_i\),求一组\(w_i\in\{0,1\}\)最小化或者最大化下面的算式:\[\frac{\sum_{i=1}^{n}a_i*w_i}{\sum_{i=1}......
  • 【发现】Helix_编辑器_发布_24.7_版本
    https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2407-2024-07-14新增了特性:新增了选择VCS中修改的文件的选择器。写入时使用临时文件帮助写入。允许用A-n和A-p在LSP提供的签名帮助里循环选择。在一定的延时之后自动保存所有的缓冲区。新增命令:......
  • 2024-7-30 信友队模考总结
    开考这次的题目看着比较简单,第一题一眼前缀和,第二题是双指针,三四题不很一眼,感觉可以冲300pts。果然T1直接秒掉,J组难度。开写第二题感觉是双指针,而且也很有单调性,但是怎么实现并没有一下想出来,写了大概10min过了样例和自测,但是观摩的时候发现假了,我写的是伪双指针,\(\math......
  • c语言第七天笔记
    作业题:设计TVM(地铁自动售票机)机软件。输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别面额:100,50,20,10,5,1案例代码:运行效果:循环结构什么是循环代码的重复执行,就叫做循环。循......
  • Electron学习笔记(二)Hello World
    目录前言运行主进程创建界面使用窗口打开界面管理窗口的生命周期关闭所有窗口时退出应用(Windows&Linux)​如果没有窗口打开则打开一个窗口(macOS)使用预加载脚本访问渲染器的Node.js添加你自己的功能完整代码展示效果展示前言接上一篇文章Electron学习笔......
  • 笔记:从Aurora 8b/10b 到Aurora 64b/66b (一):Aurora 8b/10b
    参考:https://www.xilinx.com/products/intellectual-property/aurora8b10b.html#documentationhttps://docs.amd.com/r/en-US/pg046-aurora-8b10bhttps://docs.amd.com/v/u/en-US/aurora_8b10b_ds797https://mp.weixin.qq.com/s/gT4QUgvoFF6UI0PAhfEPvQ补丁:Aurora系IP内部......