编译:

Technorati 标记: C

1, 编译compilers 命令make

将高级语言转换为低级语言。

clang: 1,预处理(preprocessing) 2,编译(complition) 3,组装(assembled)4,连接(link)

1,预处理:clang –E hello.c

例如,#include <stdio.h>

#define NAME “Rob”

预处理会将所需要的文件(如,stdio.h)复制粘贴在开头

2,编译:clang –S hello.s

将c语言编译为汇编语言,对应机器所用的处理器,有x86处理器汇编代码。

3,组装:clang –c hello.s

将汇编语言转换成机器码

4,连接:

vi hello.c

clang –c hello.c

clang hello.o hello2.o hello3.o hello4.o

关键字是C语言 默认提供的符号,标识符是程序员自定义的

如,int test,关键字int 标识符test

标识符: myFirstName

-------26个英文字母的大小写、10个阿拉伯数字、下划线

-------严格区分大小写

-------不能以数字开头

-------不能使用关键字

注释:

// 和 /* */

数据:

1B (Byte字节) = 8 bit(位)

1 KB = 1024 B

C语言的数据类型:

char------1 Byte = 8bit  

int-------4 Byte = 32bit  

float-----4 Byte = 32bit

double---8 Byte = 64bit

常量:字符常量,单引号只能括住一个字符,在C中 ‘abc’、‘123’时错误的

----------双引号是字符串,“1321”

变量:

变量名属于标识符

变量在内存中建立,{}即为分配一块内存,代码块{}

代码块的作用:及时回收不再使用的变量,提高性能

交换变量(不利用第三方变量):

a = a – b

b = a – b

a = a + b

变量的内存分析:

内存以字节为单位,0x表示的是十六进制

内存寻址由大到小

#include <stdio.h>
int main()
{
int a = ;
int b = ;
//打印地址
printf(“a 的地址是: %p\n

”,

 &a);
printf(

b的地址是: %p\n”, &b);
return ;
}
 
输出:
a的地址是: 0028FF38
b的地址是: 0028FF34

越先定义变量,内存地址就越大

scanf:

1, 如果scanf参数中医空格隔开,实际输入可以以空格、tab、回车作为分隔符

int num1,num2;

scanf(“%d %d”, &num1,&num2);

2, scanf中不能写\n

int a;

scanf(“%d\n”, &a);

算术运算,格式向上转换,自增自减

优先级:

==,!=优先级低于<、<=、>、>=

逻辑运算符:

与 &&、或||、非!

与&&,有一0则为0

或||,有一1则为1

三目运算符:条件 ? 数值1:数值2

C-基本语法与运算的更多相关文章

  1. matlab基本语法和运算基础

    转载自:http://blog.csdn.net/robertcalm/article/details/51582253 matlab语法比较随意,但正如其全名 matrix &laborat ...

  2. 关于js语法(运算中出现无限大的问题)本身的错误的解决方案

    错误原因: 一是 JavaScript 浮点数计算的 Bug, 另一个是和计算机最终转换成二进制计算有关系 解决方案: 第一种就是利用JavaScript 的toFixed(n) 方法,直接获取N 位 ...

  3. xslt语法之---运算符号

      <xsl:param name="count">12</xsl:param > <xsl:template match="/" ...

  4. 详解SQL集合运算

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...

  5. vue的基本语法

    在学习vue之前,我们应了解一下什么是vue.js? 什么是Vue.js? Vue.js是目前最后一个前端框架,React是最流行的一个前端框架(react除了开发网站,还可以开发手机App,Vue语 ...

  6. java web学习总结(三十一) -------------------EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  7. JSP EL表达式

    1 EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  8. javaweb学习总结(二十九)——EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  9. js:语言精髓笔记12--动态语言特性(2)

    对于括号内: 通过赋值时发生的重写: (Object1 = function() {}).prototype.value = 100; var obj1 = new Object1; console. ...

随机推荐

  1. GridView联表搜索,排序

    kartik-v/yii2-grid 文档http://demos.krajee.com/grid 在win7下 composer require kartik-v/yii2-grid "@ ...

  2. 【转】Timer还是Handler

    在我们Android开发过程中,经常需要执行一些短周期的定时任务,这时候有两个选择Timer或者Handler.然而个人认为:Handler在多个方面比Timer更为优秀,更推荐使用. 一.易用性 1 ...

  3. 65.Android 三大图片缓存原理、特性对比 (转)

    这是 Trinea 在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事. 从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性 ...

  4. C/C++中数组转换成指针的情况

    数组转换成指针:在大多数用到数组的表达式中,数组自动转换成指向数组首元素的指针.比如: int ia[10]; int *p = ia; //ia转换成指向数组首元素的指针 以下情况上述转换不会发生: ...

  5. Matlab的实时编辑器(Live Script)

    Matlab的实时编辑器(Live Script) 看到伟哥换用了matlab2016a,里面集成了acf行人检测算法,感觉挺好的,索性也从matlab2014a跨越到matlab2016a. 安装后 ...

  6. dpm-release3.1在windows下的配置

    dpm-release3.1在windows下的配置 dpm是做目标检测objecjt detection的经典方法.dpm系列代码默认是在linux和mac下运行测试过的,windows下默认是不能 ...

  7. mplayer依赖关系不满足

    mplayer以及其他fork出来的如mplayer2是命令行下的媒体播放器.一般ubuntu等的桌面系统都自带.然而自己使用了一段时间后突然出现缺少库文件,各种依赖关系不满足也未能重新安装.为了以后 ...

  8. 【Alpha版本】 第十天 11.18

    一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 完成管理员的三大功能界面框架, 我要招聘查看报名者的列表显示 完成 ...

  9. 高性能JavaScript笔记三(编程实践)

    避免双重求值 有四个标准函数可以允许你传入代码的字符串,然后它才你动态执行.它们分别是:eval.Function.setTimeout.setInterval 事实上当你在javascript代码中 ...

  10. POJ 2892 Tunnel Warfare

    传送门 很神奇的一道题,可以用线段树搞,为了练习treap所以拿treap写了. 其实根据询问,删除那个标号就加入平衡树,然后找到最大的和最小的就好了. 一些很烦人的小细节. //POJ 2892 / ...