当前位置: 首页 > news >正文

赣州网站制作找哪家好北京工程信息网官网

赣州网站制作找哪家好,北京工程信息网官网,如何搭建一个app,网页设计与制作课程代码#x1f407; #x1f525;博客主页#xff1a; 云曦 #x1f4cb;系列专栏#xff1a;深入理解C语言 #x1f4a8;吾生也有涯#xff0c;而知也无涯 #x1f49b; 感谢大家#x1f44d;点赞 #x1f60b;关注#x1f4dd;评论 文章目录 前言一、关键字 - static 博客主页 云曦 系列专栏深入理解C语言 吾生也有涯而知也无涯 感谢大家点赞 关注评论 文章目录 前言一、关键字 - static1.1 修饰变量1.1.1 修饰局部变量1.1.2 修饰全局变量 1.2 修饰函数1.3static总结 二、关键字 - sizeof2.1 基本数据类型2.2 数据类型与模子2.2.1 C常见的内置类型2.2.2 如何看待数据类型 2.3 变量的命名规则规则1规则2规则3规则4规则5规则6规则7规则8规则9规则10 2.4 sizeof的理解2.5 sizeof的总结 三、signed、unsigned关键字3.1 原反补3.2 二进制十进制快速转换口诀3.3 变量的存入和取出3.4 大小端3.5 深入理解变量的存入和取出3.6 为什么存储的都是补码3.7 数据类型的取值范围 前言 在上期我们学习了两个关键字本期将继续深入理解另外的关键字。 一、关键字 - static 1.1 修饰变量 1.1.1 修饰局部变量 //i是局部变量具有局域临时性 //函数调用开辟空间并初始化 //函数结束释放空间 void fun() {//static修饰后改变了i的生命周期//但没有改变i的作用域static int i 0;i;printf(%d\n, i); }int main() {int i 0;for (i 0; i 10; i){fun();}return 0; }static修饰局部变量更改局部变量的生命周期临时变量-全局生命周期但作用域不变 1.1.2 修饰全局变量 test.c #includetest.hstatic int g_val 100;void fun() {printf(hello world!\n); }test.h #includestdio.hextern g_val; extern void fun();main.c #includetest.hint main() {printf(%d\n, g_val);fun();return 0; }static修饰全局变量该变量只在本文件内被访问不能被外部其他文件直接访问。 1.2 修饰函数 test.c #includetest.hstatic void fun() {printf(hello world!\n); }test.h #pragma once #includestdio.hextern void fun();main.c #includetest.hint main() {fun();return 0; }static修饰函数该函数只能在本文件内被访问不能被外部其他文件直接 虽然static修饰的函数不能被直接访问但可以通过间接来访问 tast.c #includetest.hstatic void fun() {printf(hello world!\n); }void F() {fun(); }test.h #pragma once #includestdio.hextern void F();main.c #includetest.hint main() {F();return 0; }1.3static总结 在static修饰函数时提高了项目的维护、提供安全保证。总的来说static是C语言为用户提供安全保证的一个关键字。 二、关键字 - sizeof 2.1 基本数据类型 2.2 数据类型与模子 2.2.1 C常见的内置类型 C常见内置类型intshortlonglong longcharfloatdouble 2.2.2 如何看待数据类型 定义变量的本质是在内存中开辟一块空间用于保存数据。定义变量是需要类型的而类型决定了开辟空间的大小。 int main() {printf(%d\n, sizeof(int));//4printf(%d\n, sizeof(short));//2printf(%d\n, sizeof(long));//4printf(%d\n, sizeof(long long));//8printf(%d\n, sizeof(char));//1printf(%d\n, sizeof(float));//4printf(%d\n, sizeof(double));//8return 0; }C中为何有数据类型本质是对内存进行合理划分按需索取。类型为什么在C中有这么多应用的场景不同解决应用场景对应得计算方式不同需要空间的大小是不同的。 本质就是用最小成本解决各种多样化的场景问题。 其实数据类型就相当于做月饼的模具做什么样的月饼用什么样的模具 2.3 变量的命名规则 规则1 标识符最好采用英文单词或其组合不允许使用拼音。程序中的英文单词一般不要太复杂用词应当准确。 例如 int main() {fun();//全称为functionreturn 0; }规则2 标识符的长度应当符合“min-length max-information”原则。 例如 int main() {int MaxValueUntilOverflow 0;int MaxVal 0;return 0; }名字不要过长过长的单词简写就行。 规则3 当标识符由多个单词组成时每个单词的首字符要大写这样可以区分每个单词。这种命名的方式叫作大小驼峰。 举例 int main() {int MaxVal 0;return 0; }规则4 尽量避免名字中出现数字编号如 int main() {int Value1 0;int Value2 0;return 0; }但只是尽量在特定的场景下是可以这样写的。 规则5 对在多个文件之间共同使用的全局变量要加范围限定符如 int g_val 100;//全称为global variable全局变量可以在变量名前面加上g_表示全局变量。 规则6 程序中不得出现仅靠大小写区分的相似的标识符如 int main() {int x 0;int X 0;foo();FOO();return 0; }这样的命名会导致代码的可读性变差例如l和数字1、I和(L的小写l)。 规则7 一个函数名禁止被用于其它之处。例如 int fun(int x) {return x * x; }int main() {int fun 10;return 0; }函数名为fun但在mian函数里有个fun的局部变量这样的命名是禁止的容易让人误解且代码可读性低。 规则8 所有宏定义、枚举常数、只读变量全用大写字母命名用下划线分割单词。例如 #define MAX_INT 10规则9 局部变量中可以采用通用的命名方式但仅限于i、j、n、k等作为循环变量使用。 使用时不可以出现以下几个形式 int main() {//定义变量时不能出现这样的定义int x;char ch;int * p;return 0; }定义局部变量一般来说 用i、j、k、n、m等表示int类型。用c、ch等表示字符型。用a、arr等表示数组。用p等表示指针。除了i、j、k可以表示循环的变量名以外别的变量名尽量不要使用。 规则10 定义变量的同时要记得初始化。定义变量时变量的值不一定清空。像局部变量不做初始化它的内容就是随机值。VS2022上不做初始化内容就是随机值且VS2022会报警告 在Linux系统上定义的变量不初始化它的内容是0.定义的变量不初始化它的内容是什么具体看编译器但还是希望大家定义变量时给变量初始化一下。 2.4 sizeof的理解 有人会认为sizeof是一个函数但其实sizeof不是函数它只是一个关键字(操作符)而已。sizeof是用来计算一个类型的大小的。sizeof要注意的是以下问题 #includestdio.hint main() {int a 0;//sizeof a是可以这样写的printf(%d\n, sizeof a);//sizeof int是不能这样写的printf(%d\n, sizeof int);return 0; }直接计算类型要带()计算变量可以不带括号。 2.5 sizeof的总结 sizeof是用来计算在空间占用的字节大小的一个操作符且sizeof是一个操作符。 三、signed、unsigned关键字 3.1 原反补 相信大家已经学过原反补的概念了我这里就简单叙述一遍整型的原反补是相同的负数的原反补不相同要通过计算得来而负数的原反补计算过程为 原码变反码 - 符号位不变其他位按位取反。反码变补码 - 反码加1 负数从补码变为原码的计算过程有两种方法 方法1 倒着回去 补码变反码 - 补码-1反码变原码 - 符号位不变其他位按位取反 方法2 按原码变补码的操作在进行一次 补码变反码 - 符号位不变其他位按位取反反码变原码 - 反码加1 int main() {//整型的原反补是相同的int a 10;//0000 0000 0000 0000 0000 0000 0000 1010 - 原码//0000 0000 0000 0000 0000 0000 0000 1010 - 反码//0000 0000 0000 0000 0000 0000 0000 1010 - 补码int b -10;//1000 0000 0000 0000 0000 0000 0000 1010 - 原码//1111 1111 1111 1111 1111 1111 1111 0101 - 反码//1111 1111 1111 1111 1111 1111 1111 0110 - 补码return 0; }两种方法都可以但要记住用的时候可以用方法1推但实际上理解的时候要用方法2来理解因为计算机使用的是方法2来进行计算的 3.2 二进制十进制快速转换口诀 想必大家在进行二进制转十进制或十进制转二进制的时候计算的速度会很慢所以给大家推荐一套二进制十进制相互快速转换的口诀 3.3 变量的存入和取出 int main() {unsigned int a -10;printf(%d\n, a);printf(%u\n, a);return 0; }上面代码的打印结果是什么呢 答案是10和4294967286%d打印的是有符号数而%u打印的是无符号数无符号数的意思就是不把第一个比特位看成符号位了。 结论: 变量存和取的过程存字面数据要先转换为补码在放入空间中所以符号位完全是看数据本身的正负号与有无符号无关。取取数据一定要先看数据本身类型然后才决定要不要最高位的符号位如果不需要直接二进制转十进制如果需要则先转成原码然后才能识别。(当然最高符号位在那么又要明确大小端) 3.4 大小端 VS2022的内存布局 大小端 大小端基本概念 大端按字节为单位低权值位数据存储在高地址处就叫大端小端按字节为单位低权值位数据存储在低地址处就叫小端 大小端快速知晓口诀 小端口诀小小小大端口诀除小小小以外的都认为是大端小小小的含义第一个小权值位比较小第二个小地址数字比较小第三个小小端的小。 3.5 深入理解变量的存入和取出 存看大小端存储取先看大小端再看自身类型 3.6 为什么存储的都是补码 在计算机系统中数值一律用补码来表示和存储。原因在于使用补码可以将符号位和数值域统一处理 同时加法和减法也可以统一处理CPU只有加法器。此外补码与原码相互转换其运算过程是相的不需要额外的硬件电路。 3.7 数据类型的取值范围 这里以signed char为例 所谓特定数据类型能表示多少个数据取决于多少个比特位对应的排列组合的个数。 数据类型对应的取值大小 整型存储大小数值范围unsigned(无符号)数值范围char1字节(byte)[-128 ~ 127][0 ~ 255]int4字节(byte)[-2147483648 ~ 2147483647][0 ~ 4294967295]short2字节(byte)[-32768 ~ 32767][0 ~ 65535]long4字节(byte)[-2147483648 ~ 2147483647]0 ~ 4294967295long long8字节(byte)±9.2233720368548E4932[0 ~ 1844674407371E19] 浮点型存储大小数值范围精度float4字节(byte)[1.2E-38 ~ 3.4E38]6位有效位double8字节(byte)[2.3E-308 ~ 1.7E308]15位有效位long double16字节(byte)[3.4E-4932 ~ 1.1E4932]19位有效位
http://www.hkea.cn/news/14339590/

相关文章:

  • 网站开发公司规章制度重庆城乡和住房建设信息网
  • 食品网站建设规划书wordpress 会员分类
  • 深州市住房保障和城乡建设局网站安徽省住房与城乡建设厅网站
  • 莒县网站建设公司网站由哪些部分组成
  • 提升网站的访问速度做cg的网站
  • 万维网网站域名续费iview可以做门户网站吗
  • 黄山网站seo用什么程序做视频网站
  • 做胃肠医院网站怎么在网上推广广告
  • 电脑版 做网站尺寸网站建设网站维护的具体内容是什么
  • 做衣服外贸用什么网站好wps演示做的和网站导航
  • 电商网站建设 问题 心得体会阿里巴巴做网站的电话号码
  • 网站开发用的框架前端海报设计 网站
  • 网站页面设计公司推荐黑龙江建设网ca锁费用
  • 电子商务网站推广的目的买机票便宜网站建设
  • 郑州做网站推广的公司哪家好福建省建筑施工企业信用评价系统
  • 网站开发与设计结课大作业官方网站建设状况
  • 企业官网设计图广州优化排名推广
  • 中国建筑八个局排名乐陵seo网站优化
  • 网站建设实训考试百度如何创建网站
  • 网站系统与网站源码的关系合肥新站区有做网站的吗
  • 企业网站建设规范建设众筹类网站
  • 中移建设 公司 网站东台市建设局网站
  • 自己创建网站的注意事项代运营服务方案
  • 上海cms网站建设网站添加支付功能
  • 广州建站推广ic外贸平台排行
  • 淘宝推广费用一般多少小璇seo优化网站
  • 无锡市建设银行总行网站怎么做农产品垂直网站
  • 网站背景色软件开发网络技术开发公司
  • 视频直播app开发网站外贸站外推广
  • 梅州生态建设有限公司网站定南建设银行网站点