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

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

  1. 黑马程序员C语言基础(第五天)运算符与表达式、程序流程结构、数组和字符串、函数

    https://www.bilibili.com/video/BV15W411K7k6?p=93&spm_id_from=pageDriver 黑马程序员C语言基础(第五天)运算符与表达式.程 ...

  2. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  3. 黑马程序员C语言基础(第八天)复合类型(自定义类型)(结构体)、共用体(联合体)、枚举enum、 typedef

    黑马程序员C语言基础(第一天) 黑马程序员C语言基础(第二天) 黑马程序员C语言基础(第三天) 黑马程序员C语言基础(第四天)数据类型 黑马程序员C语言基础(第五天)运算符与表达式.程序流程结构.数组 ...

  4. 黑马程序员C语言基础(第七天)内存管理

    黑马程序员C语言基础(第一天) 黑马程序员C语言基础(第二天) 黑马程序员C语言基础(第三天) 黑马程序员C语言基础(第四天)数据类型 黑马程序员C语言基础(第五天)运算符与表达式.程序流程结构.数组 ...

  5. 黑马程序员C语言基础(第三天)

    黑马程序员C语言基础(一)第三天 https://www.bilibili.com/video/BV15W411K7k6?p=40 文章目录 低级语言与高级语言 c语言优缺点 c语言应用领域 通过gc ...

  6. 黑马程序员--C语言基础之--变量、内部函数与外部函数

    ------IOS培训期待与您交流! ------- 一.变量 变量代表着一个有名字的.具有特定属性的一个存储单元,运行期间,变量的值是可以改变的.变量必须先定义,后使用.定义时,指定该变量的名字与类 ...

  7. 黑马程序员——C语言基础---基础语法

    ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS ...

  8. 黑马程序员--- c语言基础--基本语法

    **第一讲 c语言概述** 一. 计算机和软件常识 1. 计算机运行原理 1) 硬件基本组成:硬盘.内存.CPU 2) 各个部件之间的运作协调 计算机只能识别0和1 1) 0和1组成的指令 2) 0和 ...

  9. 黑马程序员C语言基础(第六天)指针

    https://www.bilibili.com/video/BV1jW411K7v2/?p=70&spm_id_from=pageDriver 文章目录 指针 概述 内存 物理存储器和存储地 ...

  10. 黑马程序员C语言基础(第四天)数据类型

    https://www.bilibili.com/video/BV15W411K7k6?p=65&spm_id_from=pageDriver 文章目录 数据类型 常量与变量 关键字 数据类型 ...

最新文章

  1. rust 手动关闭子线程_从零开始写 OS (9) —— 内核线程
  2. Oracle 并行原理与示例总结
  3. STM32启动文件分析
  4. 网络爬虫(一):配置selenium、pycharm(windows平台)
  5. Java交流|面试最后一问:你有什么问题想问我吗?
  6. 【华为云技术分享】【极客思考】设计模式:你确定你真的理解了单例模式吗?
  7. 【clickhouse】ClickHouseException code: 225 ZooKeeper session has been expired
  8. 美国知名天使投资人列出愿意投资的30大创意方向
  9. 靠谱测试人员需具备沟通表达能力
  10. 太极软件qn的代码_多版本QQ内置qn、qx模块
  11. 主成分分析碎石图_因子分析碎石图
  12. HTC6950新手基本操作方法
  13. 模具行业ERP信息化(转)
  14. slack下载 csdn、_找出老板是否可以下载Slack DM
  15. Linux系统必学必会知识点整理
  16. 论文精读报告-How to Read a Paper
  17. Android基础入门教程——10.1 TelephonyManager(电话管理器)
  18. 配置web服务器 并运行,二、HelloTomcat(Web服务器配置)
  19. AI|再聊决策树模型
  20. 【STM32F429】第8章 ThreadX NetXDUO之TCP服务器

热门文章

  1. 分类算法 -- 决策树ID3算法
  2. python实现手机通讯录_Python 实现简单的电话本功能
  3. 如何root安卓手机_2019年安卓手机一键root教程,附科普安卓为何root困难?
  4. 新点软件怎么导入清单_新点造价软件的QDZ招投标清单使用说明
  5. After Effects CC 2019 中文版软件下载 /破解教程
  6. matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
  7. 三菱伺服自动调谐_三菱伺服mr-j3与mr-j4参数有什么差别
  8. 9针串口的RS232、RS485、RS422引脚定义
  9. 游戏测试和软件测试哪个好点?
  10. Lumerical---FDTD仿真区域设置问题