程序员人生 网站导航

C语言学习入门 (一) 编译、链接、关键字、数据类型、printf函数

栏目:综合技术时间:2014-12-13 08:39:22

参考链接:http://blog.csdn.net/jjwwmlp456/article/details/41676225

编译文件:cc -c one.c two.c  生成.o目标文件

链接文件:cc one.o two.o     默许生成 a.out 履行文件

指定生成的可履行文件名   cc -o one one.o 


连续编译、链接:cc one.c      cc -o one one.c    中间生成的.o文件会被删除,最后生成履行文件

cc one.c two.c   源文件超过1个时,目标.o文件便不会被删除(one.c 和two.c 需要1个main入口)

以后可以只编译更改的源文件  cc one.o two.o three.c, 生成可履行文件

cc -c a.c -o a.o  编译生成a.o


C语言32个关键字:

auto 

short double int long char float unsigned signed 

static volatile const

return void 

struct enum  typedef union

if  else  do while  continue for

switch case break 

register extern

default goto sizeof








当数值比较小(在char的取值范围内),用char 比用int 更节省内存开消,由于它只占1个字节

char c = ‘A’;与 char c = 65; 是等效的。1个汉字占两个字符,用char是不行的,

需要用字符数组来存储(c语言中没有字符串类型)。


局部变量可以在声明时不初始化,后续直接使用,与java不同

这样做不太好,由于这多是1个随机的垃圾值,而不是0。


可以在基本数据类型的前面加1些修饰符,也有人称之为限定符,1样的意思。

有以下4种类型修饰符:

  • short  短型
  • long  长型
  • signed  有符号型     包括 正负数和0   
  • unsigned  无符号型         正数和0 

short int    <==> short

long int 、long long int 、long long    <==> long

long double  <==> double

signed  [int | long | char] 

unsigned [int | long | char] 


// 可以连续使用2个long

long long ll = 10;


// 下面两种写法是等价的

signed int si1 = 3;

signed si2 = 3;


// 下面两种写法是等价的

unsigned int us1 = 4;

unsigned us2 = 4;


// 也能够同时使用2种修饰符

signed short int ss = 5;

unsigned long int ul = 5;


unsigned char c1 = 10;

signed char c2 = -10;


long double d1 = 12.0;


c 语言中的进制:

   2进制:int a = 0B(b)1100 ;   

  8进制: int b = 027; 

  106进制:int c = 0X(x)AF3;

  10进制:不加前缀  int d = 27;


printf(“%d”, a);      printf(“a=%d, b=%x”, a, b);


%ld,long int

%lf,long double

%4d,表示的结果占4位及以上,原样输出;反之,在左侧补空格,补满至4位 

%⑷d,  表示的结果(算上符号-)占4位及以上,原样输出; 反之,在右侧补空格,补满至4位 

%.2f  输出两位小数,默许是6位

  %p    输出内存的地址,,   如:printf(“变量a的地址是:%p”, &a)

%u  输出的数值相当因而unsigned所修饰的。如果数值本身为负数,而要用%u来输出,

     那末就需要转换:在不同的编译器,负数转成相应位数的2进制情势,

     再去掉高位的符号位被0

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐