003_stdc_linux基本常用命令_C语言基础

   mv  移动文件/重命令文件

   ~ 把当前光标下的字母转换成大写或小写

   编辑文件 命令  vi / vim

    which  ls  --> 打印出来ls命令的路径

1.给变量起名字
可以是中文吗?不可以
区分大小写 PI pi 是两个变量名
必须是合法的标示符
字母或者_开始+字母/数字/_

非关键字 32
int return printf;

同一作用域 不能有同名的变量名
变量名命名规范

weixin_money
weixinMoney

2. 变量名所绑定的内存 大小

计算机对内存的组织管理

基本数据类型

char       --> 1byte
short       --> 2byte
int            --> 4byte
long long -->8byte

float        -->4byte
double    -->8byte

复合数据类型

数组
指针
结构体
枚举
联合

3. 信息表示

char c; -->1个字节 8bit 10101010
'a' -->
'b'

int i; --> 4个byte 32bit
i=5; --->

    无符号
    unsigned int i;有32个bit 表示一个整数
    0 -  4G-1   2的32次方减1

    unsigned char uc;  8bit  表达一个数
    00000000  --- 11111111
                          2的8次方减1
           0         --- 256-1 255

   char c;==> signed char c;

   0  0000000     0 - 127

                         -1 - -128

                        -128 - 127

   char c ='a'; //二进制  -->  十进制

   ascii

   man  ascii   查看字符编码

十进制数  掌握 二进制  <-->  十六进制    

    0        0000 0000           0x0
    1        0000 0001           0x1
    2                 0010           0x2
    3                0011           0x3
    4                0100           0x4
    5                0101           0x5
    6                0110           0x6
    7                0111           0x7
    8               1000           0x8
    9               1001           0x9
   10               1010           0xa
   11               1011           0xb
   12               1100           0xc
   13               1101           0xd
   14               1110           0xe
   15                1111           0xf
   16        0001 0000        0x10
   17        0001 00001       0x11

   1010 1100 1001 0001  ==>0xac91
   0x478c   ==> 0100 0111 1000 1100 

   0010 1100 1001  从低位(右往左)开始,每4个一组,最后一组不足前面补0

二进制转10进制

     1           0          1           1
1*2^3 + 0*2^2 + 1*2^1 + 1*2^0
    8    +     0    +     2     +   1  = 11    

10进制转二进制(除以二取余)

11 /2 余数 1
5 /2 余数 1
2 /2 余数 0
1/2 余数 1
0

变量的使用

int i;变量未初始化,是一个不确定的值

    printf("uc = %u\n",uc); //读4个字节

printf("f = %f,f=%g,f=%.3f\n",f,f,f);%f,浮点数     
printf("d = %lf,d=%g,d=%.2lf\n",d,d,d);%lf,双精浮点数     

 %g;把小数点后面0省略掉
%.3f;表示保留3个小数点位数

/*
 * [练习:输入一个大写字母,输出其小写字母]
 */
#include <stdio.h>
int main(){
    char c = 0;
    //读入键盘上的值到c的存储区
    printf("请输入一个字符:");
    scanf("%c",&c);
    //查ascii 大写 和 小写 相差32
    //打印c的转换后的值
    printf("c = %c\n",c+32);
    return 0;
}

//所有的数在内存表示都是补码
//正数的补码 就是其原码
//负数的补码 反码+1

#include <stdio.h>
int main(){
    int s = -2;//1111 1111 1111 1111 1111 1111 1111 1110  ->0xfffffffe
            +2;//0000 0000 0000 0000 0000 0000 0000 0010
             0;//0000 0000 0000 0000 0000 0000 0000 0000
    printf("s = 0x%x\n",s); 
    //0xfffffffe
    //1111 1111 1111 1111 1111 1111 1111 1110
     -2;
    //1000 0000 0000 0000 0000 0000 0000 0010
    //反码
    //1111 1111 1111 1111 1111 1111 1111 1101
     +1
    //1111 1111 1111 1111 1111 1111 1111 1110   在内存中的表示
    //所有的数在内存表示都是补码
    //正数的补码 就是其原码
    //负数的补码 反码+1
    getchar();
    return 0;
}

c89 不支持 bool (布尔)
c99 支持_Bool

运算符
  sizeof
    sizeof(int)数据占用内存的字节数
    sizeof(i)

    sizeof(3.14)

= 赋值运算
将=右边的值 放到 = 左边的 存储单元中

 

猜你喜欢

转载自www.cnblogs.com/tanzizheng/p/12892444.html