C语言 signed 与 unsigned:

  C语言中,当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型

  1. signed int a = -;
  2. unsigned int b = ;
  3. cout << a + b << endl;

  浮点数来说,浮点数(float,double)实际上都是有符号数,unsigned 和signed前缀不能加在float和double之上,当然就不存在有符号数根无符号数之间转化的问题了。




有符号和无符号整数的主要区别是如何看待最高位:
  对于单字节二进制数01010110,无符号整数为86,有符号数也为86,因为最高位为0,所以二者间没有区别。
  对于二进制数10101100来说,无符号数为172,有符号数则为-84。二者区别很大。

  1. unsigned char a = -;
  2. cout << (unsigned)a;

上面输出255,应该是这样的:-1有符号,应该是11111111,然后把这个赋值给a,输出unsigned a时解释为255




数组初始化:

  看代码与结果:

  1. #include <iostream>
  2.  
  3. using std::cout;
  4. using std::endl;
  5. using std::cin;
  6.  
  7. int a[];
  8.  
  9. void show(int arr[], int len)
  10. {
  11. for (int i = ; i < len; ++i)
  12. cout << arr[i] << " ";
  13. cout << endl;
  14. }
  15.  
  16. int main(void)
  17. {
  18. int b[];
  19. int c[] = { , };
  20. show(a, );
  21. show(b, );
  22. show(c, );
  23. cin.get();
  24. }

其实这种东西要看编译器与具体系统环境,因为C标准从没定义“未初始化的int类型的默认值”。一般全局变量会初始化为0,b数组在在栈里面,都是脏数据,c数组初始化了前几个,那么后几个也被初始化了。所以初始化的工作程序员还是不要逃避吧。

C 小复习的更多相关文章

  1. 2016年11月24日--面向对象、C#小复习

    面对对象就是:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象.对同类对象抽象出其共性,形成类.类中的大多数数据,只能用本类的方法进行处理.类通过一个简单的外部接口与外界发生关系,对象 ...

  2. noip级别模板小复习

    不是很noip的知识点就不写了. dij什么的太easy就不写了. 缩点 注意\(Tarjan\)在缩边双和求强联通分量时候的区别. 一个要判断是否在栈内一个不要. 最后\(topsort\)来\(d ...

  3. CSP2019赛前小复习:

    虽然觉得复习也没有什么用,还不吃好睡好,保持好心情. SA: 坑就那几个. \(s[0]=s[n+1]=-1\). 和\(rank\)交换的\(tp\)数组的\(tp[n+1]=0\). 一般加上这两 ...

  4. js 小复习2

    1.数组 findIndex()  indexOf() // findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. function isBigEnough(ele ...

  5. js 小复习1

    1.数组 增删改查 , , , , ]; // arr.push(18); // 添加数组后面 更改长度 // arr.unshift(12); // 添加数组前面 // arr.pop(); // ...

  6. es6简单小复习

    Ecmascript 6 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了. Ecmascript 是 JavaScript 语言的 ...

  7. 终极蛇皮上帝视角之铁头娃之鲁迅之暑假闲的慌之bilibili看尚学堂网课的非洲酋长java小复习

    转自https://www.sxt.cn/Java_jQuery_in_action/eight-cache-problem.html 第一个点 自动装箱与拆箱的功能是所谓的"编译器蜜糖(C ...

  8. 三言两语之简单上手sass

    背景:   初次接手公司的项目,虽然之前草草的看过一些sass的基础知识,但是因为久未征战,知识也早已随风飘散,现在小复习一下记下一些常识中的重点..sass是使用ruby写的,所以使用前请先确保自己 ...

  9. python基础(7):字符编码

    今天我们进入字符编码的学习.字符编码是一个多理论少结论的知识点,我会总结很多的知识点.我们只需要通读当作了解即可,最后我会总结需要我们理解掌握的重点. 一.学习字符编码的计算机基础储备 1.计算机软件 ...

随机推荐

  1. C++中为什么构造函数不能是虚函数,析构函数是虚函数

    一, 什么是虚函数? 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数.虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离:用形象的语 ...

  2. git的忽略文件和删除文件操作

    1 删除工作区和暂存去的a文件$ git rm a 2只删除暂存去的 a文件,a文件就不被跟踪了.可以执行git add a从新添加回暂存去$ git rm --cached a 3 git mv 操 ...

  3. linux内核hash list

    源码: #ifndef _LINUX_HLIST_H #define _LINUX_HLIST_H /* * Double linked lists with a single pointer lis ...

  4. 常用命令之ps

    ps : process status ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的:如果想对进程时间监控,应该用 top 工具. kill 命令用于杀死进程. linux上 ...

  5. NYOJ 55-懒省事的小明

    点击打开链接 懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果 ...

  6. 什么是条带化(striping) ?(转载)

    条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法.简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法. 许多情况下,这是通过硬件控制器来完成的. ...

  7. 共享一个MVC通过NPOI导出excel的通用方法

    public static System.IO.MemoryStream ExportExcel<T>(string title, List<T> objList, param ...

  8. List集合分组

    var ArticleList = new Services.Data.SearchService().GetArticleBaseList(ref param); IEnumerable<IG ...

  9. winform异步进度条LongTime

    winform异步进度条LongTime,运用到回调函数 定义事件的参数类: namespace LongTime.Business { // 定义事件的参数类 public class ValueE ...

  10. 将 node.js 的数据保存到 mongo 数据库中

    Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2. ...