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的更多相关文章

  1. (cljs/run-at (->JSVM :browser) "语言基础")

    前言  两年多前知道cljs的存在时十分兴奋,但因为工作中根本用不上,国内也没有专门的职位于是搁置了对其的探索.而近一两年来又刮起了函数式编程的风潮,恰逢有幸主理新项目的前端架构,于是引入Ramda. ...

  2. Scala语言基础

    1. Scala语言的特点 a. 多范式编程语言,面向对象(抽象.封装)和函数式(过程.结果)编程 b. 代码简洁 ==>可读性较差 c. 代码会被变异成Java字节码,运行在JVM上 2. S ...

  3. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  4. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

  5. C#语言基础

    第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...

  6. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  7. 黑马程序员_ C语言基础(二)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述):   1.Hello W ...

  8. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  9. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

随机推荐

  1. datatables 前端表格插件 增删改查功能

    官方网站:http://datatables.club/example/<!-- DataTables CSS -->css引入的<link rel="stylesheet ...

  2. yii使用MongoDB作为数据库服务软件[win7环境下](1)

    1.进入http://php.net,在站内搜索栏搜索mongodb,查看相关的安装步骤信息. 2.找到相应的php.ini配置文件,使用wampserver等服务器软件时,千万不要找错了php.in ...

  3. Spring加载resource时classpath*:与classpath:的区别

    http://blog.csdn.net/kkdelta/article/details/5507799   classpath: 第一个匹配的 classpath*:多个组件中的可匹配的

  4. Linux(Debian)+Apache+Django 配置

    配置Apache和Django连接的过程可谓是一波三折,在此记录.   零.基本的安装 软件环境 l  Linux-3.2.0-4-amd64-x86_64-with-debian-7.7 l  py ...

  5. SQL Server DBA日常运维语句

    1.检查数据库完整性 dbcc checkdb(Portal) 检查数据库完整性checkdb Portal的 DBCC 结果. Service Broker 消息 9675,状态 1: 已分析的消息 ...

  6. ATL-style templates

    今天看了一下ATL自动生成的代码框架,然后研究了一下ATL类继承方式,感觉还挺特别的,特地从网上抄了一些例子和说明过来,以后复习时看看.先看一个WTL生成对话框的代码示例: #pragma once ...

  7. WPF外包公司——北京动点飞扬软件:开发企业WPF项目需要掌握些什么

    做为企业开发一个WPF项目,对于很多不熟悉微软WPF技术和XAML语言开发团队而言,北京动点飞扬在此给各位一点建议: 1.首先开发团队要整体对于XAML和WPF的运作机制熟悉. 2.开发人员起码要会用 ...

  8. < 独立项目 - 文本挖掘 > - 2016/10/25 第一更 - <Linux相关知识准备>

    < 独立项目 -  文本挖掘 > 项目立项的相关背景介绍,TODO方向. 一.Ubuntu环境配置 主机系统:Windows 7 SP1  64位操作系统 | i5-4210 CPU | ...

  9. MVC:上传文件时限制文件类型

    之前写过一篇:MVC:上传文件 今天补充下一个功能:如何限制上传文件类型 文件类型可以在前段限制,但是太容易被绕过,最好还是在后端处理. 修改upload方法代码: [HttpPost] public ...

  10. log4j配置不同的类多个日志文件

    <Configuration status="INFO"> <Appenders> <Console name="STDOUT" ...