黑马程序员-----c语言相识
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
本博主也属菜鸟一枚,刚刚入行,所以本博主认为我写的博客才更加平民化,同时,本博主又可以同大家一起巩固基础,起码入门是很重要的。正所谓万丈高楼平地起,平地下面有基地。
本系列博客主要描述c语言基础入门思路,简单易懂,大家可随时沟通交流。工具推荐使用终端命令。博主要学得是ios,先拿c基础入门,so博主后期用的开发工具是xCode,而且终端命令也是在Mac本上使用,大家要知道Mac系统是基于Unix系统!本博主还会在博客结尾中简单介绍写关于xCode的基础,希望不会扰乱各位的思路。
Windows安装终端--http://jingyan.baidu.com/article/03b2f78c69f3c25ea337ae4a.html
Mac自带终端
一.首先了解c语言是面向过程的编程语言,在编写程序时需要具体制定每一个过程的细节。是众多语言的基础,也就是我们常说的开山鼻祖。c语言在编写规模较小的程序时,还能得心应手,但在处理规模较大的程序时,就显得捉襟见肘、力不从心了。所以,实际发展中又有各种面向对象语言:java、c++、c#、object等。
关于c语言基础的掌握,本博主建议看《c程序设计》最新版现在是第四版--谭浩强 著,是各计算机学科的教材之一,也是对我们基础巩固的经典图书。此书采用的Visual C++6.0作为编译和运行环境,Windows系统用户可以参考http://jingyan.baidu.com/article/a501d80ce2a7ecec630f5eb8.html安装运行。
C语言的发展是老师讲的,而C语言的特点本博就捎带介绍一下:
(1)语言简洁、紧凑,使用方便、灵活;
(2)运算符丰富;
(3)数据类型丰富;
(4)具有结构化的控制语句;
(5)语法限制不太严格,程序设计自由度大;
(6)C语言运行直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作;
(7)用C语言编写的程序可移植性好;
(8)生成目标代码质量高,程序执行效率高。
C语言中得重难点:
1.运算符:自增、自减运算符
2.进制:进制转换、原码、反码和补码
3.数组:一维数组、二维、多维数组
4.循环:多重循环的嵌套、排序、查找
5.函数:递归函数、吊用
6.指针:一级指针、多级指针、指针和数组、函数、结构体之间的关系
7.内存管理:c语言的内存管理问题、内存泄露、野指针
8.有参宏及条件编译
9.多文件开发:多文件编译、多文件开发
C语言源程序:
1.由函数构成
2.只有一个主函数—由系统调用
3.没有主函数则无法运行
4.语句结束一定要有分号
5.函数只有被调用时候,才执行
C语言常见注释符号:
//单行注释
/*多行注释*/
Program ended with exit code:0 程序执行结束并且推出
C语言源程序分析
#include<stdio.h>//头文件,stdio.h--输入输出函数的调用
int main(){//int 标志主函数的返回值,main 是主函数的名称
//() 表示是主函数的参数,如果括号中什么都没有,表示没有参数
}//{} 函数体(代码块)
C语言程序执行的流程:
.c源程序—》编译—-》生成.o的目标文件(编译成二进制了已经)+ 连接到系统的库函数—》生成.out可执行文件
二.用终端编译C语言,需要了解的终端科普知识:
根目录:/
当前目录:.
父目录:..
绝对路径从'/'开始
相对路径从当前目录开始
常用命令:
1.cp命令 语法:cp[选项] <源文件名称或目录名称><目的文件名称或目录名称>。
功能:把给出的一个文件或目录复制到另一文件或目录中,或者把多个源文件复制到目标目录中。
参数:
-a此选项一般保留复制目录的链接、文件属性,并递归地复制目录。 -d复制时保留所有链接。
-f不提示删除已经存在的目标文件,在复制前先删除再进行复制。 -i与-f选项相反,它可以进行交互式复制。
-r若给出的源文件是一个目录文件,将递归复制该目录下所有的子目录和文件。目标文件必须为一个目录名。
-l只是链接文件,不作复制。
2. mv命令语法:mv [选项]<源文件或目录><目地文件或目录>
功能:为文件或目录改名或将文件由一个目录移入另一个目录中。参数:
-I该选项可以进行交互方式操作。 -f禁止交互操作。 例如:
(1)将/usr/lin中的所有文件移到当前目录(用“.”表示)中。 $ mv /usr/lin/ * .
(2)将文件a.txt重命名为b.doc。 $ mv a.txt b.doc
3. rm命令 语法:rm[选项] <文件名称或目录名称…>
功能:该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
参数:
-f从不给出提示,忽略不存在的文件。
-r指示rm将参数中列出的全部目录和子目录均递归地删除。加上该选项后,则rm不会删除目录。
-i进行交互式删除,确认是否要删除的每个文件。
例如:用户要删除文件file1和file2。然后会被要求对每个文件进行确认。用户最终决定删除file2文件,保留file1文件。
rm - i file1 file2 Remove file1 ?n Removefile2 ?y
4. mkdir命令 语法:mkdir[选项]<目录名称> 功能:创建一个目录。 参数:
-m设置新建目录存取权限。当然也可以使用chmod命令设置。
-p可以是一个路径名称。此时,如果路径中的某些目录不存在,加上此选项后,系统将自动建立好那些不存在的目录,即一次可以建立多个目录。
例如:在当前目录中建立lin和lin下的/mail目录,也就是同时创建两个目录。 mkdir - p - m 700 ./lin/mail/
5.cd命令 语法: cd<目录路径>
功能:改变工作目录。若没有指定“目录路径”,则回到用户的主目录。
例如:假设用户当前目录是:/home/lin,现在需要更换到/home/lin/pro目录中, cd pro
6. pwd命令 语法: pwd
功能:此命令显示出当前工作目录的绝对路径。
例如:显示的路径名为/home/mao,每个目录名都用“/”隔开,根目录以开头的“/”表示。 pwd /home/mao
7. ls命令 语法: ls[选项][目录名称…]
功能:列出目录的内容。 参数:
-a显示指定目录下所有子目录与文件,包括隐藏文件。 -l以长格式来显示文件的详细信息。
-r按字母逆序或最早优先的顺序显示文件。
-R递归式地显示指定目录的各个子目录中的文件。
-L如果指定的名称为一个符号链接文件,则显示链接所指向的文件。 -t显示时按修改时间(最近优先)而不是按名字排序。 例如:
(1)列出当前目录的内容。 ls
(2)列出某个目录的内容。 ls–F /home/mao Mai1/
(3)列出某个目录下所有的文件,包括隐藏文件。 1s -a /home/mao
(4)用长格式列出某个目录下所有的文件,包括隐藏文件。 1s -la /home/xu
8. touch命令 语法: touch[文件名称][文件后缀]功能:创建文件
touch a.txt touch a.doc
9. clear 清屏
10. ./命令 ./[可执行文件名][后缀] 执行应用程序
关于vim编辑器编辑C语言程序呢,推荐大家参照http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html
关于xCode一点简单介绍
1. Xcode常见的快捷键
cmd+R 运行
cmd+.停止
cmd+U test
缩进:
cmd+[
cmd+]
回到home界面
cmd+shift+h
调节界面大小:
cmd+1
cmd+2
cmd+3
2.用xcode创建c语言程序命名规则:
product name:产品名称
organization name:公司名
organization identity:公司域名倒着写
例如:baidu.com -—》com.baidu
bundle identifier:程序标识
3.打开原有的项目不要直接打开main.c
要打开.xcodeproj
xcode项目文件后缀—》.xcodeproj
4.如何创建target--在一个工程下创建多个小项目
点左侧菜单的蓝色项目
中间的菜单栏里就是target,里面的+、-号是创建和删除target
今天的知识都是最基本的常识,简易化了,还是要动手做才是王道!东西该装得装上,这些快捷键、命令都试一下吧!忘大神们赐教!
-----------ios培训、ios学习型技术博客、期待与您交流!------------