有符号数——原码反码与补码

1、原码

按照2进制数直接写出,注意首位为符号位 1为负,0为正

-1:10000000 00000000 00000000 00000001

2、反码

在原码的基础上,符号位不变,其他位置异号

-1:11111111 11111111 11111111 11111110

3、补码

在反码的基础上,对反码+1

-1:11111111 11111111 11111111 11111111

常见关键字

1、auto

#include<stdio.h>
int main()
{(auto) int a=10;//局部变量(自动变量--默认省略auto-->意为自动出现,自动消失)return 0;
}

2、register(寄存器)

#include<stdio.h>
int main()
{register int a=10;//程序员认为该变量很重要,建议编译器将其置入寄存器中,便于调用return 0;}

3、typedef(类型重定义——给原本的关键字起个“小名”)

#include <stdio.h>
int main()
{typedef unsigned int u_int ;unsigned int num =30;u_int num2=30;//等价于上一表达式return 0;
}

4、static(局部变量生命周期变长)

#include <stdio.h>
void test()
{int a=1;a++;printf("a=%d\n",a);
}
int main()
{int i=0;while (i<5){test ();i++;}
return 0;
}

输出结果显然是

那么,对这个略加改动的

#include <stdio.h>
void test()
{static int a = 1;//a是一个静态的局部变量,不再被销毁a++;printf("a=%d\n", a);
}
int main()
{int i = 0;while (i < 5){test();i++;}return 0;
}

输出结果会有所不同

变成了如下

发现:a不再被销毁了,可以累加了

同时:static也可以修饰全局变量

此时,运用另一个关键词extern——声明外部符号

提前来一步extern对变量进行声明

即,此时可以引用不同源文件中的内容

但是

此时,加入static 后,就将该全局变量限制于单个的源文件内部了

另:类似的,当在另一个源文件中定义函数时,如果不用static进行限定,也可以使用extern进行声明并引用

int add(int ,int)//区别在于此行int 前是否加上static
{int sum=a+b;return sum;
}
#include<stdio.h>
extern int add(int ,int );
int main()
{int a,b;int sum=add(a,b);printf("sum=%d\n",sum);return 0;
}

C语言初步学习笔记——第四节 有符号数与常见关键字相关推荐

  1. 4.Java学习笔记第四节——程序流程控制(尚硅谷视频整理)

    文章目录 一.分支语句 1.       if-else 结构 1)如何从键盘获取不同类型的变量 2.      switch-case 结构 二.循环结构 1.      for 循环 一.分支语句 ...

  2. python学习笔记第四节

    集合与复习 删除列表中的列表的元素 remove(元素) 括弧填元素而不是索引 取值 根据索引遍历这歌列表 不根据索引遍历 列表的常用操作: 比较 元组 字典常用操作: 元组中的列表内元素的添加 避免 ...

  3. 贝加莱学习笔记第四节

    1.卡槽上位置 卡槽上位置 第一槽位一般是通讯卡 AC114/112/110 第二槽位一般是电机编码器 AC120/121/121/123 第三槽位一般是光栅尺编码器 AC131/130 2.左手定则 ...

  4. 【微机汇编语言学习笔记(四)】十进制数的ASCII转换为BCD码

    目的:从键盘输入五位十进制数的ASCII码,存放与3500H起始的内存单元中,将其转换为BCD码,再分别存入350AH起始的地址单元内.若输入不是十进制的ASCII,则对应存放结果的单元内容为&quo ...

  5. 《Go语言圣经》学习笔记 第四章 复合数据类型

    <Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...

  6. Go语言开发学习笔记(持续更新中)

    Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...

  7. C语言程序设计学习笔记:P5-循环控制

    本系列文章为浙江大学翁恺C语言程序设计学习笔记,前面的系列文章链接如下: C语言程序设计学习笔记:P1-程序设计与C语言 C语言程序设计学习笔记:P2-计算 C语言程序设计学习笔记:P3-判断 C语言 ...

  8. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  9. Intel VT学习笔记(四)—— VMCS(下)

    Intel VT学习笔记(四)-- VMCS(下) 要点回顾 VM-Exit Information Guest state fields 代码实现 参考资料 要点回顾 在上一篇中,我们了解了如何设置 ...

最新文章

  1. 基于HTML5的Google水下搜索
  2. 单目+惯性 VIO SLAM 对比
  3. 64位linux下was宕机,was7经常自动宕机,前方告急,工程师面临崩溃.小弟跪上
  4. [BZOJ1385][Baltic2000]Division expression
  5. 20150728月度会议
  6. Google Maps API 简易教程(四)
  7. python登录交换机执行命令_如何用Python脚本登录到交换机上修改配置?
  8. sublime怎么配置python环境_在Sublime Editor中配置Python环境的详细教程
  9. 【TSP】基于matlab粒子群算法Hopfield求解旅行商问题【含Matlab源码 224期】
  10. JAVA实用教程(第六版)——期末复习1
  11. 关于.net dll文件反编译
  12. opencv马赛克python实现
  13. CMD命令行查询电脑硬件信息
  14. Cousera吴恩达机器学习week8笔记
  15. 盘点:那些年的游戏公司
  16. 《机器学习算法竞赛实践》学习笔记(1)神经网络
  17. MFC入门(三)-- MFC图片/文字控件(循环显示文字和图片的小程序)
  18. linux服务器在没有网的条件下,怎么安装使用numpy呢
  19. 阿里二面:Redis有几种集群方案?我答了4种
  20. 二手车价格预测task03:特征工程

热门文章

  1. 【微信小程序】黑马优购--05商品详情
  2. echarts自定义视图数据(dataView)
  3. char类型和varchar的区别和选用
  4. PTrade数据交互设置——从零到实盘18
  5. 转载:十年驾车经验总结:活着,才是硬道理
  6. 数学分析第二型曲线积分2021.6.2
  7. stm8l051 halt之后外部中断唤醒问题
  8. 【Spark | SparkStreaming】
  9. 让ie浏览器下载word,excel,而不是直接打开
  10. 机甲大师机器人控制(三):软件架构设计