先来学习一下C语言基础知识,总结如下:

在xcode下编写代码。

1、编写代码

2、编译:cc –c 文件名.c

编译成功会生成一个 .o的目标文件

3、链接:把目标文件.o和系统自带的库合并在一起,生成一个可执行文件。

指令:cc 文件名.o

链接成功会生成一个.out可执行文件,选择用终端打开运行。

4、运行:./a.out    //也可以双击a.out运行

  ./表示当前路径

也可以同时编译并链接

  指令:cc a.c

可以直接在终端里生成文件,生成一个源文件到当前目录

  指令:touch   a.c

然后直接在终端里打开,打开当前目录中的文件

  指令:open a.c

可以同时编译多个文件,空格分开  

  指令:cc –c a.c b.c d.c

C语言

注意事项:

  注意编码风格。

关键字:

  32个关键字,全是小写

  auto double int struct break else long switch

  case enum register typedef char extern return union

  const float short unsigned continue for signed void

  default goto sizeof volatile do if while static

标识符

  自定义的一些符号和名称。 不能和关键字重名。

命名规则

  1、组成:26个英文字母,10个数字0~9,下划线_  

  2、严格区分大小写

  3、不能以数字开头

  4、关键字不能作为标识符

注释

  解释某一行代码的意思。位置不固定。但是最好放在代码上一行,或者本行后边。注释代码不会参与编译。

  单行注释://单行注释

  多行注释:/*多行注释

        多行注释*/

数据

静态数据和动态数据

静态数据:硬盘中,和计算机开机关机无关

动态数据:内存中,计算机关机后所有数据丢失

数据类型

常量

整型常量(1,3445),浮点型常量(double,float)字符常量('a','B'),字符串常量("asdfadsfas")

变量

使用过程中一直在变化的量可以用变量表示

定义方式:变量类型 变量名;

  int score;//定义

  score = 100;//赋值

 scanf函数,获取用户输入

  int age;

  scanf("%d", &age);

  scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一个整数。这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址。

 printf函数,输出数据

printf("%d", age);

函数原型是extern void printf(const char *format,...);可以接受多个参数。

例如

     int i, j;
scanf("%d, %d", &i, &j);
printf("i=%d;j=%d", i, j);//多个参数,输出多个值

变量的作用域

  从定义的那句开始一直到该代码块结束。

  代码块就是一个大括号内部的所有代码。在代码块内部定义的变量作用域就是该代码块内部。

 int main()
{
int score = ;
{
int score = ;
printf("%d",score);//输出是200
}
8    printf("%d",score);//输出是100
 }

局部变量(函数内部定义的变量)和全局变量(函数外部定义的变量)

在函数内部局部变量会覆盖全局变量。

内存地址

  内存地址是连续的,以字节为单位。

变量

字节

char

1
int  4
float 4
double 8

  变量内存地址分配,内存寻址由大到小,所以先定义的地址值比较大。

int a=10;

  printf("a的地址是:%p",&a);//%p用来输出地址,&用来取变量地址

2015-4-8,今日如此,明日依旧。

ios开发学习笔记001-C语言基础知识的更多相关文章

  1. iOS开发学习笔记:基础篇

    iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...

  2. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

  3. ios开发学习笔记(1)

    objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = ...

  4. IOS开发学习笔记016-Foundation框架

     Foundation 框架的学习 一.Foundation 常用结构体 1.NSRange(location,length)  typedef struct _NSRange { NSUIntege ...

  5. 大数据学习笔记——Java篇之基础知识

    Java / 计算机基础知识整理 在进行知识梳理同时也是个人的第一篇技术博客之前,首先祝贺一下,经历了一年左右的学习,从完完全全的计算机小白,现在终于可以做一些产出了!可以说也是颇为感慨,个人认为,学 ...

  6. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...

  7. ios开发学习笔记(这里一定有你想要的东西,全部免费)

    1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...

  8. python web开发学习笔记一:javascript基础

    一.认识js: 能进入到软件所实习是我的最大的收获,也是我的荣幸,我相信努力付出一定能够换回收获. 项目最先开始的是接触到web前端的一些内容,我们需要利用flask搭建应该有的框架.我有一些pyth ...

  9. iOS开发学习笔记

    1 常用的第三方工具 1.1 iPhone Simulator 测试程序需要模拟器iPhone Simulator 1.2 设计界面需要Interface Builder,Interface Buil ...

随机推荐

  1. graylog插件的安装

    什么是插件和插件的作用我就不说了,大家应该都知道了. 安装方法是打开下面选择项     进去后出现如下界面 选择事先下载好的插件后,点击上传.这里以nginx日志插件为例 之后查看效果,发现对应的过滤 ...

  2. JavaScript: apply , call 方法

    我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...

  3. 安装CentOS6.9虚拟机

    安装CentOS6.9 之前在学习项目时,都是用的按键好的虚拟机.这次自己也尝试搭建一下.(虽然也是google的) 首先大部分过程都是参考https://blog.csdn.net/pengpeng ...

  4. java基础编程—统计二进制数中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目代码 /** * 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. * Created by YuKai ...

  5. latex目录标题常用宏包说明与示例

    http://blog.sina.com.cn/s/blog_5e16f1770100gyxn.html

  6. 统计学基于SPSS贾俊平 授课笔记 发布作业 spss19cn 软件下载地址及破解包spss19_10039 下载地址

    spss19cn软件下载地址及破解包spss19_10039 软件包下载地址一 http://www.33lc.com/soft/41991.html 软件包下载地址二 http://dl.pconl ...

  7. Python基础-Python注释

    一.什么是注释.特性 1.一段文字性的描述,通过注释,可以解释和明确Python代码的功能,并记录将来要修改的地方. 2.当程序处理时,Python解释器会自动忽略,不会被当做代码进行处理 二.注释的 ...

  8. shell与python判断文件是否存在

    日常运维中,我们会存在每日备份的现象,针对这一种情况可能会要求监控文件是否存在.比较笨拙的方法就是登录上服务器到某个路径下查看文件是否存在,除此之外,我们可以利用shell或者python来编写监控文 ...

  9. JZOJ 2499. 东风谷早苗

    2499. 东风谷早苗 (Standard IO) Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limits   Goto Pro ...

  10. ob缓存的基本使用

    在页面 加载的时候 如果 图片 很多 很大 会造成页面的阻塞降低用户体验 我们在点击页面的时候可以使用OB缓存 整个页面, 当用户点击的时候直接请求的是我们预先准备好的html页面 .也降低了我们数据 ...