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

参考链接: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   源文件超过一个时,目标.o文件便不会被删除(one.c 和two.c 需要一个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; 是等效的。一个汉字占两个字符,用char是不行的,

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

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

这样做不太好,因为这可能是一个随机的垃圾值,而不是0。

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

有以下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 语言中的进制:

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

八进制: int b = 027;

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

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

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

%ld,long int

%lf,long double

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

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

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

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

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

那么就需要转换:在不同的编译器,负数转成相应位数的二进制形式,

再去掉高位的符号位被0

时间: 2024-10-12 13:09:33

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

C语言学习入门 (七) 变量与函数,static和extern关键字

局部变量 1> 定义:在函数内部定义的变量,称为局部变量.形式参数也属于局部变量. 2> 作用域:局部变量只在定义它的函数内部有效,即局部变量只有在定义它的函数内部使用,其它函数不能使用它. 全局变量 1> 定义:在所有函数外部定义的变量,称为全局变量. 2> 作用域:全局变量的作用范围是从定义变量的位置开始到源程序结束,即全局变量可以被在其定义位置之后的其它函数所共享. 变量的存储类型 C语言根据变量的存储类型(变量存储的位置:1. 运行时堆栈 2.普通内存 3.寄存器)的不同,

C语言学习入门

编译文件: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   源文件超过一个时,目标.o文件便不会被删除, 以后可以只编译更改的源文件  cc one.o two.o three.c C语言32

C语言学习笔记--const 和 volatile关键字

1.const关键字 (1)const 修饰的变量是只读的,它不是真正的常量,本质还是变量,只是告诉编译器不能出现在赋值号左边! (2)const 修饰的局部变量在栈上分配空间 (3)const 修饰的全局变量在全局数据区分配空间(vc.gcc 会将其放入常量区,bcc 放入全局数据区) (4) const 只在编译期有用,在运行期无用 #include <stdio.h> const int g_cc = 2;//bcc 下存储在全局数据区,可修改. //vc.gcc 将其存储在常量区,不可

C语言学习入门 (九) typedef 关键字

关键字:typedef 用法:为各种数据类型定义一个新名字(别名) typedef与基本数据类型 typedef int Integer;Integer a= 8: 也可以在别名的基础上再起一个别名 typedef IntegerMyInteger;MyInteger aa = 8; 原来的数据类型也可以正常使用 typedef与指针 typedef char *String;String str = "stone"; typedef与结构体 typedefstructPerson P

C语言学习入门 (八) typedef 关键字

关键字:typedef 用法:为各种数据类型定义一个新名字(别名) typedef与基本数据类型 typedef int Integer;Integer a= 8: 也可以在别名的基础上再起一个别名 typedef IntegerMyInteger;MyInteger aa = 8; 原来的数据类型也可以正常使用 typedef与指针 typedef char *String;String str = "stone"; typedef与结构体 typedefstructPerson P

C语言学习笔记--enum和sizeof关键字

1.enum关键字 C语言中enum关键字用来定义枚举类型 (1)enum 是 C 语言中的一种自定义类型(2)enum 值是可以根据需要自定义的的整型值(3)第一个定义的 enum 值默认为 0 (4)默认情况下的 enum 值是在前一个定义值的基础上加 1 (5)enum 类型的变量只能取定义时的离散值 enum Color { GREEN, //默认 GREEN==0; RED= 2, //自定义 RED==2; BLUE //默认情况,是在前一个的基础上加 1,即 BLUE==3 };

c语言学习笔记---预编译

专题三: 1)       预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理#include,展开呗包含的文件, 保留编译器需要使用的#pragma指令, 预处理指令:gcc-E file.c –o hello.i 编译: 对于处理文件进行一系列词法分析,语法分析和语义分析 语法分析主要分析关键字,表示符,立即数是否合法,语法分析主要分析表达式是否遵循语法规则 语义分析子啊语

Erlang语言学习入门

学习资料: 官方Doc:http://www.erlang.org/doc.html 写的特别详细: http://www.cnblogs.com/zhengsyao/ (强推,写得很详细) 系统技术研究:http://blog.yufeng.info/ 庄周梦蝶erlang板块:http://www.blogjava.net/killme2008/category/20770.html 博客园的一位大牛:http://www.cnblogs.com/lulu/category/559387.h

R语言学习入门

R语言的概念 R是用于统计分析.绘图的语言和操作环境.R语言的编译软件下载:https://www.r-project.org/ R语言环境下载: