您的位置:首页 > 编程语言 > C语言/C++

iOS-C语言-C语言的介绍以及第一个例子HelloWorld

2016-07-08 01:05 357 查看
0:c语言的发展历史,贝尔实验室发明了c语言

1:c语言的优缺点:

1.1:优点: 

高效(可以直接访问内存,可以通过指针的方式直接操作内存)
可移植(linux系统的底层就是c语言编写的,Android 的底层就是Linux,linux 又是c语言的),
功能强大,
灵活
1.2:缺点:
程序漏洞较多,
难以理解,//相对于对象的java,难理解,
难以维护,//一堆方法,萝卜开会

2:c语言的应用领域:
Linux操作系统,

嵌入式

计算机语言

机器人

工控领域

电影,3Dmax

计算机游戏

pc应用程序
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
第一个c语言程序

c语言的基本概念:

1:第一个C程序

2:程序的编辑,编译,连接和运行过程

3:程序排错和调试

4:变量

5:注释

6:标识符

7:关键字

8:数据类型

9:函数,

10:流程控制

11:案例:根据升高计算你的体重是否达标

0:首先是使用vim去编辑,
先创建一个HelloWorld.c 然后使用命令行工具去编译
注意这里是stdio而不是studio。不然会报错 HelloWorld.c:1:20:
fatal error: studio.h: No such file or directory

#include <stdio.h>
int main(void){
printf("Hello World!\n");
return 0;
}

.h :代表是头文件的意思

stdio表示:standard buffered input&output 带缓冲的标准输入输出;

安装好了Command Line以后,gcc,gcc就是编译器
PS:苹果里面的cc和gcc其实都是链接到llvm-gcc的编译器,ll是lowlevel 底层,只要知道llvm 是苹果公司的编译器就可以了,其实cc和gcc都相当于是llvm-gcc的快捷方式

编译:可以通过gcc HelloWorld.c 也可以通过cc HelloWorld.c 来进行编译
还可以制定生成的文件名:通过cc HelloWorld.c -o obj.o 会生成文件 obj.o
运行:在苹果系统里面运行直接就是./obj.o

1:使用xcode去编辑
进入以后,选择第二个:Create a new Xcode project

然后选择OS X 里面的Application 里面的 Command Line Tool

输入Projcet Name-》HelloWorld,选择类型是c腌

选择制定的地址

点击左上角的三角进行编译

快捷键:

cmd+b 编译

cmd+r 运行 

PS当新建文件的时候,可以选择是头文件还是c文件,还是c++w文件

一开始的时候可以推荐直接使用gcc来做,而不是xcode来做,就是为了练习

2: windows上面使用:
如何使用:http://jingyan.baidu.com/article/c275f6bacc0126e33c756771.html
下载 mingw-get-setup.exe

地址:https://sourceforge.net/projects/mingw-w64/files/latest/download?source=rw_typ_t5

1: 先touch 一个文件,然后可以通过open 命令来打开编辑软件编辑。

touch HelloWorld.c

open HelloWorld.c

2: 第一个C程序的详解:

#include <stdio.h>

int main(void){
printf("Hello World");
return 0;

}

//1.#include 的意思 预编译,预处理指令,可以理解为java 中的import
//2.stdio.h -》standard input output 标注输入输出 write read
//   从内存写到外围设备,从外围设备中读写 ,h->header
//3:<> "" 尖括号的意思是指的是:从系统路径搜索,如果是“” 那么就是从当前路径搜索
//4:int返回值和return 对应
//5: main 代表主函数的名称,也叫入口函数,命名必须是包括main 包括大小写,程序的入口从这里开始
//也是在main 函数结束。这个main 函数执行完了就结束了。
//如果主函数里面有一个while(1)的话是会一直执行,java 里面是不可以用非0来表示的。c语言里面可以的。
//6.参数
//int main()
//int main(void)
/**
#include <stdio.h>

int main(void){
printf("Hello World");
return 0;
}
*/
//int main(int argc,char * argv[]) 这个里面是一个指针数组
/**
#include <stdio.h>
//字符指针数组(字符串数组)
//argument count	参数数量argc
//argument variable	参数的变量argv
int main(int argc,char * argv[]){
for(int i=0;i<argc;i++){
printf("%s\n",argv[i]);
}
return 0;
}
*/

/**
运行的时候,gcc HelloWorld.c
例如生成了a.exe
运行a.exe 你好

结果如下:
C:\iOS\day02\demo>a.exe 你好
a.exe
你好
*/

//printf 打印输出,后面加上\n就会回车
//return 的返回值的意思

//还可以加入一个标准的类库:
//include <stdlib.h> 成功退出返回0,退出失败返回1
//在stdlib里面有两个宏定义
//#define EXIT_FAILURE 1
//#define EXIT_SUCCESS 0

/**http://zhidao.baidu.com/link?url=e0AgK3IuoChxC9Cv7vl3D0OacTUdj4DRf60XHTFti5goaquEzwZWR_G_22jWQO8BJ8zs30lA37_Ry-lZdBtTsK
宏定义和定义全局变量的区别:
1 作用时间不同。
宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。
2 本质类型不同。
宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。
3 宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。
4 宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不支持extern。

*/

#include <stdio.h>
#include <stdlib.h>

int main(void){
printf("helloWorld\n");
return EXIT_SUCCESS;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: