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

本文介绍了C语言的发展历史,包括其在贝尔实验室的起源。接着讨论了C语言的优缺点,强调其难以维护的特点。文章通过一个简单的HelloWorld程序,指导读者如何在iOS环境下创建并编译C语言程序,特别提醒了编译时应注意的stdio库的正确引用,避免出现错误。此外,还推荐了 MingW 安装包作为命令行工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值