黑马程序员-----c语言从相识相知到renascence持续发布中第一篇

黑马程序员-----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学习型技术博客、期待与您交流!------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值