第03天 -------------c基础

来源:互联网 发布:网络没问题但lol延迟高 编辑:程序博客网 时间:2024/06/18 11:14
gcc 的常用选项
-E  只进行预处理操作
    -gcc  -E hello.c  -o hello.i
-s 把C语言转换成汇编语言    
     -gcc -S hello.i
-c  只完成预处理和编译工作得到以.o作为扩展名的目标文件
    -gcc -c hello.s     
-o  指定生成的新文件的名称
     
-std =c89/-std=c99
-Wall 产生尽可能多的警告

ASCII码  256个字符分成两组 。一组是0-127  一组-1到-128 或 128到255
32  空格
48-57    0-9

在格式化串中用两个%  表示一个百分号
char  有符号    -128~127
unsigned  char  无符号   0-255
short 短整形   包含65536个不同的整形数字  从-32768到32767
unsigned short 代表无符号整形  从0到65535

long 长整形  2^32个不同的数字从0开始
linux下int 和long 是一样的

数字后面加u表示无符号整形   EG:7u表示无符号整形的数字7
带小数点的数字缺省当成double类型,  eg:3.5是双精度浮点型的数字,在数字后面家的小写字符f则表示数字是单精度浮点型     3.5f表示单精度浮点型数字

数据类型 与其占位符:
char             %c
short            %hd
unsigned short   %hu
long             %ld
unsigned  long   %lu
int              %d
unsigned int     %u
float            %f或%g (是否去掉小数点后的0)
double           %lf或%lg
long double      %Lf
八进制的占位符    %o
十六进制的占位符  %x或%X  (要想打出前缀  前面加#)    printf("n=%d(%#x)\n",n,n);

00
printf("%-03d",7);            0代表空格用0代表    3表示输出几位  -号表示空位置在后面
printf("%7.2f",7.2);          7代表输出的占的位数    .2代表小数点后保留几位
一个变量由内存中一个或多个连续字节来存储    其中一个变量所站的字节的个数必须是2的整数次方。

char,unsigned char       1个字节
short ,unsigned short    2个字节  
long , unsigned  long    4个字节
int ,unsigned int        4个字节
float                    4个字节   精度6
double                   8个字节   精度15
long double              16个字节  精度18

所有正整数一定可以拆分成多个正整数之和,而且这写拆分出来的正整数都是2的整数次方

二进制转换成十进制:
1011 0011 =128+32+16+2+1=179    
十进制转换成二进制:
   除以2   反向取
   97=64+32+1=0110 0001

一个字节可以存储八个二进制位    

八进制是二进制的一种简写方式   (二进制数从右向左每三位合并成一个0-7之间的数字,合并后的结果就是数字的八进制的表示形式)
 (八进制数字必须以0开头)
  八进制的占位符是%o

十六进制 (从右向左每四个一组,)
   十六进制数字必须以0x开头   
    对应占位符为%x或%X