一、学前需知

  1. 开发工具

    windows平台:Visual C++6.0等
    mac平台:Xcode6.0等
    以下文章内容皆是以Xcode6.0为开发工具,clang编译器。
  2. Xcode的一些常用快捷键

    CMD + N: 新文件
    CMD + SHIFT + N: 新项目
    CMD + O: 打开
    CMD + SHIFT + S: 另存为
    CMD + D: 添加书签
    CMD + /: 注释或取消注释
    CMD + \: 设置或取消断点
    CMD + R: 编译并运行(不触发断点)
    CMD + SHIFT + RETURN: 终止运行或调试
    Ctrl + K :删除本行
    Ctrl + A : 移动光标到本行行首
    Ctrl + E : 移动光标到本行行尾
    Command + Ctrl + S :创建快照
  3. 常用的Unix指令

    /
    ./
    ../
    cd
    pwd
    ls -l
    tab键
    mkdir
    rmdir
    touch
    rm
    open
    clear

二、一个C语言程序的执行过程

  1. 编写代码

    用编辑器编写.c源文件
  2. 编译

    ① cc -c name.c,生成.o目标文件,只检测文件有没有语法错误。
    ② 可同时编译多个源文件,中间用空格隔开,如:cc -c a.out b.out。
    ③ 分为三个阶段:预处理、分析、独立编译。
  3. 链接

    ① cc name.o,生成a.out可执行文件,可以通过-o name参数来改
    变可执行文件的名字。
    ② 可同时链接多个目标文件,如:cc a.o b.o。
    ③ cc可以同时完成编译和链接任务,可编译源文件并与已有的目标文
    件链接,如cc a.o b.c。
  4. 运行

    ① 在终端运行有以下两种方式
    1)./a.out
    2)根路径a.out

三、C语言的基本语法

  1. 关键字

    C语言提供了32个关键字,将其简单的分类,如下:

    ① 变量类型:char、int、float、double、struct、enum、union
    ② 修饰类型:signed、unsigned、
    short、long
    auto、static、const、 volatile、register、
    extern、
    ③ 流程控制:if、else、
    switch、case、default、
    for、while、do,
    goto、return
  2. 标示符

    命名规范:

    ① 由字母、数字和下划线组成
    ② 第一个字符不能使数字,只能是字母或下划线
    ③ 区分大小写
    ④ 尽量用有意义的单词作为标示符,做到见名知意
    ⑤ 使用驼峰标志(每个单词首字母大写)或下划线(单词之间用_间隔)
    ⑥ 标示符的长度没有限制,但编译器可以忽略第31个字符以后的字符
    ⑦ 编译器可以对用于外部名字的标示符进行限制,只是别前六位不区
    分大小写的字符
  3. 注释

    注释掉的内容不会参与编译,不影响可执行文件的大小,注释分为以下几种形式:

    ① 单行注释,如://这是注释掉的内容。快捷键,command +/
    ② 多行注释,如:/*这是注释掉的内容*/。快捷键,command +/
    ③ 使用注意,多行注释可以嵌套单行注释,但是不能嵌套多行注释
    ④ 注释的作用:检测代码、排除错误
  4. 数据

    分类:

    ① 基本数据类型:字符型、整型、浮点型
    ② 指针
    ③ 构造类型:数组、结构体、枚举、共用体
    ④ void

    常量

    ① 整型:如,12
    ② 浮点型:如,23.2
    ③ 字符型:如,'a'
    ④ 字符串型:如,"This is a C program"

    变量

    ① 变量的内存分析:
    1)定义一个变量,如int a,相当于在内存中分配一定的存储空间
    给变量a
    2)&a就是该段存储空间的地址值,a就是该段空间中存储的变量
    值。
    3)限定变量类型主要是为了在分配内存空间时,根据变量类型为
    变量分配相应类型和大小的内存 ② 变量的作用域
    1) 代码块作用域:从定义变量开始到该代码块结束,代码块内部
    的变量会屏蔽代码块外部的同名变量
    2) 文件作用域:在所有代码块外部定义的变量,从定义变量开始
    到所在的源文件结束
    3) 原型作用域:只适用于函数原型中声明的参数名,可以防止参
    数名与程序其他部分的名字冲突
    4) 函数作用域:只适用于语句标签,语句标签适用于goto语句。
    goto语句会破坏程序结构,但在跳出多重循环时很有效 ① 交换两个变量值得三种方式(这里不使用插入代码的格式)
    1)使用中间变量
    {
    int a = 10;
    int b = 20;
    int temp;
    //交换
    {
    temp = a;
    a = b;
    b = temp;
    }
    }
    2) 使用加减运算
    {
    int a = 10;
    int b = 20;
    //交换
    {
    a = b - a;
    b = b - a;
    a = b + a;
    }
    }
    3) 使用位操作符
    {
    int a = 10;
    int b = 20;
    //交换
    {
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    }
    }
  5. scanf函数

    基本使用

    ① scanf函数是一个阻塞式的函数
    ② 用占位符来接受输入的数据,用&name,来表示变量存储的内存
    地址

    使用注意

    ① 当输入多个数据时,分隔符要与scanf函数中的一致,若scanf
    函数中无间隔符,则可以用适当的字符
    ② scanf函数中的间隔符,空格、tab和回车是等价的
    ③ scanf函数中的字符串参数中不能出现空格

C语言-01-基本语法的更多相关文章

  1. C语言-01基础语法

    1)         总结常见文件的拓展名 .c 是C语言源文件,在编写代码的时候创建 .o 是目标文件,在编译成功的时候产生 .out 是可执行文件,在链接成功的时候产生 2)         总结 ...

  2. 关于JS脚本语言的基础语法

    JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱 ...

  3. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  4. Cocos2d-x 脚本语言Lua基本语法

    Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...

  5. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

  6. 03.从0实现一个JVM语言系列之语法分析器-Parser-03月01日更新

    从0实现JVM语言之语法分析器-Parser 相较于之前有较大更新, 老朋友们可以复盘或者针对bug留言, 我会看到之后答复您! 源码github仓库, 如果这个系列文章对你有帮助, 希望获得你的一个 ...

  7. Django模板语言(常用语法规则)

    Django模板语言 The Django template language 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签 ...

  8. javaScript基础-01 javascript语法结构

    一.基础 字符集 JavaScript程序是用Unicode字符集编写的. .区分大小写 .空格.换行符和格式控制符 .Unicode转义序列 .标准化 二.类型.值和变量 JavaScript的数据 ...

  9. tn文本分析语言(二) 基本语法

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. 本文主要介绍tn的基本语法.高级内容可以参考其他篇章.使用这样的语法,是为了 ...

随机推荐

  1. typeof与GetType

    typeof: The typeof operator is used to obtain the System.Type object for a type. 运算符,获得某一类型的 System. ...

  2. MSSQL自动备份数据库

    最近项目中,需要用到MSSQL自动定时备份功能,本来想利用C#自己写一个的,但是听说在MSSQL2008中已经集成了功能强大的自动备份功能,于是便提刀上阵,狠狠地琢磨了一番: 首先,打开MSSQL20 ...

  3. Most middleware (like favicon) is no longer bundled with Express

    Error: Most middleware (like favicon) is no longer bundled with Express and must be installed separa ...

  4. [转载]浅谈组策略设置IE受信任站点

    在企业中,通常会有一些业务系统,要求必须加入到客户端IE受信任站点,才能完全正常运行访问,在没有域的情况下,可能要通过管理员手动设置,或者通过其它网络推送方法来设置. 有了域之后,这项工作就可以很好的 ...

  5. [Node.js] ECMAScript 6中的生成器及koa小析

    原文地址:http://www.moye.me/2014/11/10/ecmascript-6-generator/ 引子 老听人说 koa大法好,这两天我也赶了把时髦:用 n 安上了node 0.1 ...

  6. Android OpenGL 基础入门

    Android 自从2.2 版本之后之后开始支持OpenGL,在没有支持OpenGL 的 GPU的情况下,也可以使用(通过软件来模拟).在Android上使用Opengl操作的对象是GLSurface ...

  7. Entity FrameWork 延迟加载本质(二)

    1.对于外键实体而言,EF会在用到这个外键属性的时候,才会去查对应的表.这就是按需加载了... 2.按需加载的缺点:每次调用外键实体的时候,都会去查询数据库(EF有小优化:相同的外键实体只查一次) I ...

  8. MVC控制器向View视图传值的三种方法

    首先创建一个MVC的项目,其中需要一个控制器(TestController),三个视图(index,edit,detail) 1.项目结构如下:

  9. phpwind的rewrite重写原理

    没有深入过pw,被人问到这方面的问题,搜索了一下,发现了一篇博文,但原博客已打不开. http://www.phpsoho.com/html/document/200608/1154750694.ht ...

  10. Win764位配置Github环境及将代码部署到Github pages-志银强势总结

    (软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...