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的地址是: 0028FF38b的地址是: 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-基本语法与运算的更多相关文章
- matlab基本语法和运算基础
转载自:http://blog.csdn.net/robertcalm/article/details/51582253 matlab语法比较随意,但正如其全名 matrix &laborat ...
- 关于js语法(运算中出现无限大的问题)本身的错误的解决方案
错误原因: 一是 JavaScript 浮点数计算的 Bug, 另一个是和计算机最终转换成二进制计算有关系 解决方案: 第一种就是利用JavaScript 的toFixed(n) 方法,直接获取N 位 ...
- xslt语法之---运算符号
<xsl:param name="count">12</xsl:param > <xsl:template match="/" ...
- 详解SQL集合运算
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...
- vue的基本语法
在学习vue之前,我们应了解一下什么是vue.js? 什么是Vue.js? Vue.js是目前最后一个前端框架,React是最流行的一个前端框架(react除了开发网站,还可以开发手机App,Vue语 ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- JSP EL表达式
1 EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- javaweb学习总结(二十九)——EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- js:语言精髓笔记12--动态语言特性(2)
对于括号内: 通过赋值时发生的重写: (Object1 = function() {}).prototype.value = 100; var obj1 = new Object1; console. ...
随机推荐
- C#-WinForm-打印控件
打印控件 绘制如下窗体 一.PrintDocument -打印的基础 首先放置PrintDocument控件,双击事件PrintPage设置要打印的样式(李献策lxc) //第一步 设置打印属性 p ...
- 理解 Java 的三大特性之多态
面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...
- C#6.0新特性的尝试
由于项目升级到了.NetFramework 4.6.1,开发工具转向了vs2015,趁机尝试下C#6.0.结果在网上搜的一些教程总结的不是太完整,有的代码随着vs正式版的发布也有所修改.那些个教程也没 ...
- 纯代码自定义不等高cell
数据模型.plist解析这里就不过多赘述. 错误思路之一: 通过在heightForRowAtIndexPath:方法中调用cellForRowAtIndexPath:拿到cell,再拿到cell的子 ...
- Java多线程与并发库高级应用-传统线程同步通信技术
面试题: 子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着又 主线程循环100次,如此循环50次,请写出程序 /** * 子线程循环10次,接着主线程循环100次,接着又回到 ...
- springMVC-配置Bean
配置Bean - 配置形式:基于xml文件方式,基于注解的方式- bean的配置方式:通过全类名(反射),通过工厂方法(静态工厂方法和实例工厂方法),FactoryBean依赖注入的方方式,属性注入和 ...
- jdbc/ojdbc连oracle的三种方式(转)
文章转自:http://blog.itpub.net/22664653/viewspace-1383092/ 前言 本文是一篇学习笔记,学习如何通过java jdbc /ojdbc 连接oracle ...
- android布局学习-使用FrameLayout和LinearLayout制作QQ空间底部导航栏
[声明:本博客通过学习“J灬叶小超 ”博客而写,链接:http://www.cnblogs.com/yc-755909659/p/4288260.html] --------------------- ...
- [NOIP2012] 提高组 洛谷P1082 同余方程
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...
- bzoj1124[POI2008]枪战maf
这代码快写死我了.....死人最多随便推推结论.死人最少,每个环可以单独考虑,每个环上挂着的每棵树也可以分别考虑.tarjan找出所有环,对环上每个点,求出选它和不选它时以它为根的树的最大独立集(就是 ...
