C语言学习笔记一---C语言概述
一.编程语言与解释语言
1.程序的执行
a.解释:借助一个能试图理解程序的程序,使计算机按要求执行你自己写的程序
b.编译:将所写程序翻译为机器语言写的程序,使计算机按要求执行你自己写的程序
2.两者的关系:
a.本质上无太大区别,个人喜好问题,都是程序的常用执行方式
b.语言本无解释/编译之分
c.各自的优势:
解释型语言有特殊的计算能力(以前认为慢,但后面随着硬件的发展,效率不是问题);编译型语言有确定的运算性能。
二.C语言发展历程
1.FORTRAN->BCPL->B语言(支持指针间接方式(灵魂))->C语言
2.C主要用于写操作系统,现在其他语言都是C-like语言,且C介于高级语言与汇编语言之间,兼备其优点
3.语言的能力/适用领域主要由库和传统决定
4.标准:C89->C95->C99(所有编译器都支持)->C11
三.原码,补码与反码
1.概念:
原码:最高字节的最高位为符号位(1为-,0为+),其余为该数的绝对值的二进制表示
反码:原码为正数:一样;原码为负数时: 除符号位外取反
补码:负数的补码为原码除符号位外取反+1,正数与原码一样
2.数在计算机中的表示
a.正数:二进制原码
b.负数:二进制补码
3.8位无符号二进制数:0000 0000 ->1111 1111 (0->255)
8位有符号二进制数: 原码所表示的十进制范围:-127->+127
反码所表示的十进制范围:-127->+127
补码所表示的十进制范围:-128->+127
注: -128的补码:1000 0000 无原码与反码
四.进制书写及在编程中的使用
1.题目中的书写(后缀表示法) ---不能用于编程
二进制数:(1010)2 or xxxx(B)
八进制数:(1010)8 or xxxx(O)
十进制数:(1010)10 or xxxx(D) (D可省略)
十六进制:(1010)16 or xxxx(H)
2.编程中记号(前缀表示法)
A.八进制数:以0开头,数值为0-7,如027;
十进制数:正常表示
十六进制数:以0x开头(0~f)或者0X开头(0~F),如0x17
B.在转移字符中的使用:
八进制数:’\ddd‘ ,使用方式:int i=’\111‘;
十进制数:即ASCII码
十六进制:’\xhh‘
五.进制转换
1.整数十进制转换为其他进制:除R取余法
2.实数(带小数)的进制转换: 分为整数和小数部分进行处理 小数部分:乘R取整法
例子: 将43.6125转换为二,八,十六进制数
0.6125*2=1.2250 -> 1
0.2250*2=0.45 ->0
0.45*2=0.9 ->0
0.9*2=1.8 ->1
0.8*2=1.6 ->1
0.6*2=1.2 ->1
so,43.6125==>101011.10011100(B) 注:保留多少位小数时,0舍1入
同理,可得到 53.471(O) , 2B.9C1(H)
C语言学习笔记一---C语言概述的更多相关文章
- Go语言学习笔记(一) [Go语言的HelloWorld]
日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...
- C语言学习笔记01——C语言概述
作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...
- C语言学习笔记---1.C语言概述
1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...
- 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?
基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...
- go语言学习笔记-初识Go语言
Go语言是怎样诞生的? Go语言的创始人有三位,分别是图灵奖获得者.C语法联合发明人.Unix之父肯·汤普森(Ken Thompson).Plan 9操作系统领导者.UTF-8编码的最初设计者罗伯·派 ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- C语言学习笔记---2.C语言数据类型
1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...
- C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
随机推荐
- 入门大数据---SparkSQL_Dataset和DataFrame简介
一.Spark SQL简介 Spark SQL 是 Spark 中的一个子模块,主要用于操作结构化数据.它具有以下特点: 能够将 SQL 查询与 Spark 程序无缝混合,允许您使用 SQL 或 Da ...
- MongoDB入门二
MongoDB配置 本地启动 c:\MongoDB\bin>mongod.exe --dbpath "C:\\MongoDB\data\db" --logpath " ...
- 理解与使用Javascript中的回调函数
在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因 ...
- 分析并封装排序算法(js,java)
前言 本次来分享一下排序的api底层的逻辑,这次用js模拟,java的逻辑也是差不多. 先看封装好的api例子: js的sort排序 java的compareTo排序 自己模拟的代码(JS) func ...
- MySQL的数据类型 及注意事项
MySQL的数据类型 注意 选择合适的数据类型,能节省储存空间,提升计算性能.(1)在符合应用要求(取值范围.精度)的前提下,尽量使用“短”数据类型(2)数据类型越简单越好.(3)在MySQL中, ...
- DP没入门就入土
写在前面 记录最近刷的DP题 以及 打死都不可能想到状态设计DP系列 汇总 洛谷 P6082 [JSOI2015]salesman 树形\(\texttt{DP}\) + 优先队列 比较容易看出来这是 ...
- C++各种格式转换
int main() { stringstream sstr; //--------int转string----------- int a=100; string st ...
- python使用数组实现链表的策略分析
python实现链表数据结构:数组/节点与引用 使用数组策略: 使用数组存储指向其他对象的引用 数组存储空间过度分配 数组填满后,分配一个更大的数组,将旧数组的内容复制到新数组中 class Arra ...
- JVM 专题二十一:垃圾回收(五)垃圾回收器 (二)
3. 回收器 3.1 Serial回收器:串行回收 3.1.1 概述 Serial收集器是最基本.历史最悠久的垃圾收集器了.JDK1.3之前回收新生代唯一的选择. Serial收集器作为Hotspot ...
- JVM 专题十九:垃圾回收(三)垃圾回收相关概念
1. System.gc()的理解 在默认情況下,通过System.gc()或者Runtime. getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试 ...