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) 附加指定长度 ...
随机推荐
- 基于托管的C++来使用WPF - Using WPF with Managed C++
基于托管的C++来使用WPF - Using WPF with Managed C++ Posted by Zeeshan Amjad This article was originally publ ...
- offer到手!美团Java岗四面(多线程+redis+JVM+数据库)
美团Java岗四面,已拿offer,前三面都是技术面,第四面是HR面,下面是面试题! 美团Java岗一面(技术,电话面,约40分钟) 自我介绍. 项目介绍. 了解过redis源码及redis集群么? ...
- Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)
通过DELETE删除数据后相当于放入回收站,一般情况下可以找回:通过UPDATE更新数据后数据库也会保留数据快照.闪回就是恢复指定时间的数据快照以达到恢复数据的目的.根据步骤一查询出数据快照,恢复数据 ...
- Buy a Ticket 【最短路】
题目 Musicians of a popular band "Flayer" have announced that they are going to "make t ...
- P4817 Fruit Feast G
最开始拿到这道题的时候,题目中其实只规定了两种水果的饱食度,可以理解成价值或是重量,在不超过T的情况求最大值.第一眼看过去感觉就是装箱问题(背包),只不过这道题用的是完全背包,但是考虑到喝水的情况,做 ...
- 2020年全新web前端学习路线图,学完就业20K!
第一阶段:HTML5+css 配套学习视频: 前端小白零基础入门HTML5+CSS3 第二阶段:移动web网页开发 移动web进阶教程 第三阶段:JavaScript网页编程 前端与移动开发基础入门到 ...
- Uni-app实战项目注意事项
注意: (1)本地开启端口 App running at: Local: http://localhost:8080/ Network: http://192.168.31.43:8080/ 后台人员 ...
- unity 自实现协程总结
unity本人自实现了一个协程调用. 只是moveNext()的简单协程调用和封装,这个没什么好说的, 网上例子一大堆. 但使用的过程中遇到了几个问题. 1. 自己写的moveNext() 协程不能等 ...
- Django---进阶15
目录 文章详情页 文章点赞点踩 文章评论 文章详情页 # url设计 /username/article/1 # 先验证url是否会被其他url顶替 # 文章详情页和个人站点基本一致 所以用模版继承 ...
- web 基础(二) HTML5
web 基础(二) HTML5 一.HTML5 HTML5 是最新的 HTML 标准.是专门为承载丰富的 web 内容而设计的,并且无需额外插件.它拥有新的语义.图形以及多媒体元素.并提供的新元素和新 ...