zoukankan      html  css  js  c++  java
  • C语言--变量

    • unsigned int 和 int 对计算机来讲没有区别, 只有在输出的时候, 计算机根据%d 和 %u 判断是否有符号位. %d 输出有符号的整数, %u 输出无符号整数. 无符号的整数比有符号的整数正好大一倍.
    • %#x是带格式输出, 效果为在输出前加0x.  如果不加# , 输出十六进制的时候只输出数值, 不带格式 0x 
    • 16进制 1位相当于二进制的4位, 所以32位机器int类型的  0xffffffff   , 8位就是四个字节, 最终存储在计算机中的一定是二进制.
    • 正数和负数如何存储在计算机中? 计算机存储的一定是补码. 计算机规定正数的补码,反码和原码相同, 负数的补码需要计算得出. 然后在输出的时候, 计算机会根据程序是想输出有符号数还是无符号数, 来决定最高位是符号位还是数值位.(http://c.biancheng.net/view/vip_1761.html)
    • 以char(1个字节)为例, 10000000B 如果以无符号数表示, 那么他是128, 如果以有符号数来表示他是-128. 这个值比较特殊, 正常理解应该是-0, 但他不是, 因为00000000B 表示0, +0和-0都是0. 没有区别.所以如果还用10000000B表示-0就多此一举了, 因而计算机规定, 10000000B在表示有符号数的时候就是-128. 11111111B表示-127 注意: 是在一个字节的前提下 ,int就不是这么回事了http://c.biancheng.net/view/vip_1762.html
    • char 只能处理 ASCII 编码中的英文字符, 因为 char 类型太短,只有一个字节. 一个字符在存储之前会转换成它在字符集中的编号,而这样的编号是一个整数,所以我们可以用整数类型来存储一个字符
    • 转义字符: 换行( )就是光标下移一行却不会移到这一行的开头,回车( )就是回到当前行的开头却不向下移一行.
    • printf输出如果是 %s 就需要地址,%c 就是具体字符而不是地址。 printf("%s", str);   printf("%c", str[0]);  如果用指针表示 printf("%s",  pstr);       printf("%c", *(pstr+1));  // 假设pstr 是一级指针
  • 相关阅读:
    rt_list_entry() 函数
    替换空格
    跳台阶
    斐波那契数列
    基于5221码的同步十进制加法计数器
    强连通分量+Tarjia+缩点
    次小生成树
    差分约束
    P1547 Out of Hay
    P1197 [JSOI2008]星球大战
  • 原文地址:https://www.cnblogs.com/bneglect/p/11649121.html
Copyright © 2011-2022 走看看