开发环境是OS X系统下的Xcode


  • Xcode的两个快捷键以及打开Xcode项目的正确方式

  1. 快捷键:command + B
    编译 + 链接
  2. 快捷键:command + R
    编译 + 链接 + 运行
  3. 打开Xcode项目的正确方式
    file —> open (command + O),选择文件,文件类型为  文件名.xcodeproj
 
代码的实时检测和手动编译链接的区别(command + B)
     代码实时检测: 不是对代码的编译,是xcode的一个智能的功能,有时候不准确
     手动编译链接: 底层对C语言程序进行cc -c 和 cc 一定能检测出语法错误
 
  • 使用Xcode的技巧

  1. 修改代码输入区的字体
    Xcode —> preferences (command + ,) — > Fonts & Colors —> Source Editor —> 全选 —> 设置
  2. 修改控制台输入区的字体
    Xcode —> preferences (command + ,) — > Fonts & Colors —> console —> 全选 —>设置
  3. command + option + ←
    作用: 可以把一个大括号或者一个多行注释里的内容给折叠起来
  4. command + option + →
    作用: 把折叠后的代码给展开
  • 为Project添加多个Target

  1. 什么是target,可以理解为一个大项目(project)中包含很多小项目(target)
    一个target本质上还是一个程序
  2. 如何新建target
    1>.在源代码导航区选中project
    2>.调出侧边栏
    3>.点击调节出的侧边栏左下角的加号
  3. 切换运行注意要切换target
    注意: 如果不切换target会导致
    1>.实时代码检查还是实际选中的target
    2>.编译运行还是实际选中的target
  • 在内存中如何存取数据

  1. C语言中常见的数据类型
    int  整数  范围是  -2147483648 —— 2147483647

    float  单精度小数(单精度浮点数)  有效位数不超过7位的小数,超过7位的部分不能精确的保存
    如: 1234.5678f

    double  双精度小数(双精度浮点数)   有效位数不超过16位的小数,超过16位的部分不能精确的保存   如: 12345678912345.127

    char   字符   'A', 'B'

  • 变量的声明

  1. 关于变量的概念
    变量的本质: 在内存中存储数据的那块空间.
  2. 数据要存在内存中的步骤
    1>.在内存中开辟一块空间
    2>.开辟空间的同时要指定这块空间的别名类型
    3>.这个空间的类型决定了这个空间中可以存储数据的类型
  3. 变量的声明
    数据类型  变量名;

    int a;
    当CPU执行这句话的时候,CPU在内存中开辟了一块空间,这块空间值int类型的,这块空间中只能存储int类型的数据.

  • 为变量赋值

  1. 格式语法:
    变量名 = 数据;
  2. 等号右边的内容一定要是等号左边的变量的类型相匹配,否则会出问题
    1>.int
             int num;
             num = 1.9;只会存储整数部分,不会四舍五入

    2>.float
             float f;
             f = 12.12;编译器不会警告,因为float和double都是浮点数
             f = 12.12f;正确写法
             f = 12.12F;正确写法

    3>.char
        1).char类型变量中只能存储单个字符,并且这个字符还要用单引号括起来
            如: char a; a = 'C';
        2).只能存放一个字符,放多了只能存储最后一个字符
        3).不能放中文;中文占3个字节,char占一个字节

 
  • 使用printf函数输出变量的值

  1. 为什么C语言要有变量的存在?
    变量的作用就是用来存储数据.
    我们只有把数据存储起来才能使用它.
    所以变量存在的意义就是让程序员能够使用数据.
  2. printf的使用
    int        对应的占位符:%d
    float     对应的占位符:%f
    double  对应的占位符:%lf
    char     对应的占位符:%c
  • 使用printf函数一次输出多个变量的值

  1. 如果输出的数据和前面的要求输出的个数不匹配,那么不匹配的那一项输出的是随机数.
  2. 双引号中的%后面的占位符一定要和后面输出的数据类型一一对应,否则结果就是错误的.
 
  • 使用变量需要注意的细节

  1. 可以批量定义类型相同的变量
    int num = 1,num2 = 2,num3 = 3;
  2. 定义一个变量,如果没有给它赋值,那么里面的数据是随机数.
  • 以下为占位符的使用实例

 #include <stdio.h>

 int main()
{
int num = ;//整型
float f1 = 1.2f;//单精度浮点型
double d1 = 2.4;//双精度浮点型
char ch1 = 'a';//字符型 printf("num = %d,f1 = %f,d1 = %lf,ch1 = %c\n",num,f1,d1,ch1); return ;
}

io开发之C语言第二天的更多相关文章

  1. iOS开发之SQLite--C语言接口规范(四) —— Result Values From A Query

    数据库的在上一篇博客中<SQLite之C语言接口规范(三)——Binding Values To Prepared Statements>用到了如何从查询结果中取出结果值.今天的博客就详细 ...

  2. iOS开发之SQLite-C语言接口规范(二) —— Prepared Your SQL Statements

    在<SQLite的C语言接口规范(一)>中介绍了如何去连接打开数据库,本篇博客就介绍如何操作数据库,本篇主要给出了如何执行数据库查询语句(Select), 然后遍历结果集.本篇博客就直接使 ...

  3. iOS开发之SQLite-C语言接口规范(一)——Ready And Open Your SQLite

    为什么要搞一搞SQLite的C语言接口规范呢? 因为在做iOS开发中难免会遇到操作数据库的情况,你可以使用第三方的FMDB等,或者使用CoreData.但我们还是有必要去搞清楚如何去使用SQLite的 ...

  4. ios开发之C语言第一天

    最近在学习ios开发,先学习C语言,再学习OC和swift.正所谓"万丈高楼平地起",打好基础是很重要的,所以C语言也必须好好学习.学习中所使用的操作系统是OS X,开发工具是Xc ...

  5. Cocos2d-x-Lua (2.x)脚本开发之 Lua语言基础

    从今天開始,往后将陆续更新Lua教程,主要是搭载Cocos2dx ,有不论什么疑惑或者不正确的地方.尽情指正.交流.探讨. 那么首先肯定是Lua语言基础的知识点.以下直接附上代码,凝视已经非常清楚.无 ...

  6. iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements

    在前面的博客中已经介绍了如何连接SQLite数据库,并且简单的查询和遍历结果集.在前面用到了sqlite3_stmt *stmt,也就是预编译后的SQL语句.在本篇博客中会了解一下sqlite3_st ...

  7. 李洪强iOS开发之OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  8. 李洪强iOS开发之OC语言类的深入和分类

    OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...

  9. 李洪强iOS开发之OC语言构造方法

    OC语言构造方法 一.构造方法 (一)构造方法的调用 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法 ...

随机推荐

  1. [置顶] RGB颜色查询对照表

    因为兼容性问题,色阶板功能只能在IE浏览器中运行 RGB颜色对照表   #FFFFFF   #FFFFF0   #FFFFE0   #FFFF00   #FFFAFA   #FFFAF0   #FFF ...

  2. Android M 新的运行时权限开发者需要知道的一切

    android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响.惊讶的是android社区鲜有谈论这事儿, ...

  3. android 64 sd卡读写的操作

    package com.itheima.writesd; import java.io.File; import java.io.FileNotFoundException; import java. ...

  4. servlet和手动创建servlet,断点调试

    1.    什么是Servlet Servlet是一种用Java语言编写的Web应用组件 Servlet主要用于动态网页输出,扩展了Web服务器的功能 Servlet由Servlet容器进行管理 2. ...

  5. 编写跨平台代码之memory alignment

    编写网络包(存储在堆上)转换程序时,在hp-ux机器上运行时会遇到 si_code: 1 - BUS_ADRALN - Invalid address alignment. Please refer ...

  6. 基于PHP的cURL快速入门

    cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL 的一些高级特性,以及在PHP中如 ...

  7. volatile用处说明

      在JDK1.2之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要. 在当前 ...

  8. ASP.NET项目中使用CKEditor +CKFinder 实现上传图片

    CKEditor是什么 CKEidtor是一个在线富文本编辑器,可以将让用户所见即所得的获得编辑在线文本,编辑器或自动将用户编辑的文字格式转换成html代码. 在ASP.NET工程中添加CKEdito ...

  9. Synchronized vs SyncRoot

    我们知道,在.net的一些集合类型中,譬如Hashtable和ArrayList,都有Synchronized静态方法和SyncRoot实例方法,他们之间有联系吗?我怎么才能用好他们呢?我们以Hash ...

  10. AUTOTRACE Statistics常用列解释

    AUTOTRACE Statistics常用列解释 序号 列名 解释 1 db block gets 从buffer cache中读取的block的数量 2 consistent gets 从buff ...