C语言基础_2
scanf函数可以从键盘上读取数据并记录到变量中。为了使用这个函数也需要在文件开头使用如下的预处理指令
#include <stdio.h>
scanf函数使用的时候所需要的初始数据和printf函数非常类似。它同样也支持多种占位符。
char类型可以表示256个不同的整数,在我们的计算机上是从-128到127。这种类型的变量通常当作字符使用。
ASCII码表记录了字符和数字之间的对应关系。
'c' - 'a' 等于 'C' - 'A'
'2' - '0' 等于 2 - 0
unsigned char类型表示无符号字符,它的范围是0到255。
sizeof关键字可以用来计算一个数据类型或者一个变量所占空间大小是多少个字节。sizeof关键字可以用于对一个表达式的计算结果求大小,但是这个表达式在运行过程中不会真正被执行。
short,unsigned short 表示2的16次方个不同的整数
int, unsigned int 表示2的32次方个不同的整数
long, unsigned long 表示2的32次方个不同的整数
(具体看不同机器)
unsigned char 占位符是%hhu
short 占位符是%hd
unsigned short占位符是%hu
unsigned int 占位符是%u
long 占位符是%ld
unsigned long 占位符是%lu
float是单精度浮点数,double是双精度浮点数
float 占位符是%f或%g
double 占位符是%lf或%lg
计算机使用一组0和1来表示所有数字,这种方式叫做二进制。每个字节由8个二进制数位构成,每个字节所表示的数字由其中每个数位上的1转换成10进制以后求和得到。每个字节中的八个数位从右到左进行编号,编号从0开始,每个数位上的1转换成十进制就是2的编号次方。
01100111 = 2^6 + 2^5 + 2^2 + 2^1 + 2^0 = 103
十进制转换二进制
87 = 2^6 + 2^4 + 2^2 + 2^1 + 2^0 =
01000000 + 00010000 + 00000100 + 00000010 + 00000001 = 01010111
计算机内部以补码方式记录所有数字的二进制形式。非负数的补码就是原码。负数的补码是正数的补码按位求反再加一得到的。
31的补码是00011111,按位求反后得到11100000,再加一以后得到11100001,这就是-31的补码。最高一位是1后面都是0表示这个类型的最小整数。
数字补码的最左位又称为符号位,0表示数字非负,1表示数字是负的。
把二进制数字从右向左每三位一组,每组使用一个0到7之间的数字代替得到的结果叫做八进制。
把二进制数字从右向左每四位分成一组,每组使用0到9以及a到f中的一个来表示得到的结果叫做十六进制。
单目运算符是只需要一个数字就可以完成的计算。
双目运算符是需要两个数字才能完成的计算。
三目运算符是需要三个数字才能完成的计算。
+,-,*,/,%分别代表加,减,乘,除以及取余的计算。
赋值运算符用于对变量赋值,可以和其他运算符合并成为复合运算符(参考例子)
++(自增运算符)和--(自减运算符)都是单目运算符,可以对变量内容进行加一,减一操作。他们既可以放在变量名前面也可以放在变量名后面。不要在同一条语句中对同一个变量进行多次自增或自减运算,因为结果不确定。可以对浮点数进行自增或自减运算。
逻辑表达式表示一个数字的计算过程,结果只能是真(用1代表)或者假(用0代表)。逻辑表达式中使用的运算符叫做逻辑运算符。==(等于),!=(不等),>(大于),<(小于),>=(大于等于)和<=(小于等于)。
&&(与),||(或)也是逻辑运算符,他们可以把两个逻辑运算表达式并成一个。当原来的两个逻辑表达式计算结果都是真的时候用&&合并得到的结果表达式结果也是真,否则合并得到的结果表达式结果是假。只要原来的两个逻辑表达式中有一个计算结果为真则用||合并得到的结果表达式结果就是真,否则新表达式的结果就是假。
所有整数都可以当逻辑表达式使用,0表示假其他都表示真。
&&和||都具有短路特性(网上找参考练习)
!表示逻辑非,是一个单目运算符。
C语言基础_2的更多相关文章
- (cljs/run-at (->JSVM :browser) "语言基础")
前言 两年多前知道cljs的存在时十分兴奋,但因为工作中根本用不上,国内也没有专门的职位于是搁置了对其的探索.而近一两年来又刮起了函数式编程的风潮,恰逢有幸主理新项目的前端架构,于是引入Ramda. ...
- Scala语言基础
1. Scala语言的特点 a. 多范式编程语言,面向对象(抽象.封装)和函数式(过程.结果)编程 b. 代码简洁 ==>可读性较差 c. 代码会被变异成Java字节码,运行在JVM上 2. S ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
随机推荐
- mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?
不严谨地讲,Redis定位在"快",HBase定位于"大",mongodb定位在"灵活". NoSQL的优点正好就是SQL的软肋,而其弱 ...
- ADC 电源监测
我能为别人做点什么?这是我最近在思考的问题. 看了 ADC 电源监测代码,觉得对 ADC 的理解不到位,代码中有很多部分都不懂.如: 1. 为什么初始化的时候管脚设置为输出? 2. ADC 采集到的值 ...
- RF 测试代码体会
这里的需求是完成一个cc2540 RF测试程序.实现功能为开发板按键控制 RF 发射频率的改变. 首先被告知要用PTM来做这个测试程序,然后我去了PTM的介绍文档,地址为 http://process ...
- js事件冒泡和事件捕获
事件捕获当你使用事件捕获时,父级元素先触发,子级元素后触发,即div先触发,p后触发.事件冒泡当你使用事件冒泡时,子级元素先触发,父级元素后触发,即p先触发,div后触发.W3C模型W3C模型是将两者 ...
- Angular1.x组件通讯方式总结
Angular1开发模式 这里需要将Angular1分为Angular1.5之前和Angular1.5两个不同的阶段来讲,两者虽然同属Angular1,但是在开发模式上还是有较大区别的.在Angula ...
- 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容
前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...
- Openstack Neutron DVR workflow
目前在Juno版本的trunk中已经合入了DVR相关的代码,我的理解是在Juno版本中DVR是一个experimental feature.最好需要稳定一个版本以后再上生产环境.之前写过一篇博文是DV ...
- jquery跨域请求jsonp
服务端PHP代码 header('Content-Type:application/json; charset=utf-8'); $arr = array('a'=>1, 'b'=>2, ...
- HDU3487 play with chain
题目大意:给出1到n的有序数列,现在有两个操作: 1.CUT a b c 把第a到第b个数剪切下来,放到剩下的第c个数的后边. 2.FLIP a b 把第a到第b个数反转. 经过总共m次操作后,求现 ...
- 动画_ _ Android应用开发之所有动画使用详解
转载: http://blog.csdn.net/yanbober/article/details/46481171 题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把 ...