先来学习一下C语言基础知识,总结如下:
在xcode下编写代码。
1、编写代码
2、编译:cc –c 文件名.c
编译成功会生成一个 .o的目标文件
3、链接:把目标文件.o和系统自带的库合并在一起,生成一个可执行文件。
指令:cc 文件名.o
链接成功会生成一个.out可执行文件,选择用终端打开运行。
4、运行:./a.out //也可以双击a.out运行
./表示当前路径
也可以同时编译并链接
指令:cc a.c
可以直接在终端里生成文件,生成一个源文件到当前目录
指令:touch a.c
然后直接在终端里打开,打开当前目录中的文件
指令:open a.c
可以同时编译多个文件,空格分开
指令:cc –c a.c b.c d.c
C语言
注意事项:
注意编码风格。
关键字:
32个关键字,全是小写
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static
标识符
自定义的一些符号和名称。 不能和关键字重名。
命名规则
1、组成:26个英文字母,10个数字0~9,下划线_
2、严格区分大小写
3、不能以数字开头
4、关键字不能作为标识符
注释
解释某一行代码的意思。位置不固定。但是最好放在代码上一行,或者本行后边。注释代码不会参与编译。
单行注释://单行注释
多行注释:/*多行注释
多行注释*/
数据
静态数据和动态数据
静态数据:硬盘中,和计算机开机关机无关
动态数据:内存中,计算机关机后所有数据丢失
数据类型
常量
整型常量(1,3445),浮点型常量(double,float)字符常量(‘a‘,‘B‘),字符串常量("asdfadsfas")
变量
使用过程中一直在变化的量可以用变量表示
定义方式:变量类型 变量名;
int score;//定义
score = 100;//赋值
scanf函数,获取用户输入
int age;
scanf("%d", &age);
scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址。
printf函数,输出数据
printf("%d", age);
函数原型是extern void printf(const char *format,...);可以接受多个参数。
例如
1 int i, j; 2 scanf("%d, %d", &i, &j); 3 printf("i=%d;j=%d", i, j);//多个参数,输出多个值
变量的作用域
从定义的那句开始一直到该代码块结束。
代码块就是一个大括号内部的所有代码。在代码块内部定义的变量作用域就是该代码块内部。
1 int main() 2 { 3 int score = 100; 4 { 5 int score = 200; 6 printf("%d",score);//输出是200 7 } 8 printf("%d",score);//输出是100
9 }
局部变量(函数内部定义的变量)和全局变量(函数外部定义的变量)
在函数内部局部变量会覆盖全局变量。
内存地址
内存地址是连续的,以字节为单位。
变量 |
字节 |
char |
1 |
int | 4 |
float | 4 |
double | 8 |
变量内存地址分配,内存寻址由大到小,所以先定义的地址值比较大。
int a=10;
printf("a的地址是:%p",&a);//%p用来输出地址,&用来取变量地址
2015-4-8,今日如此,明日依旧。