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) 附加指定长度 ...
随机推荐
- keras 从txt加载预测数据
ImageDataGenerator.flow_from_directory()的用法已经非常多了,优点是简单方便,但数据量很大时,需要组织目录结构和copy数据,很浪费资源和时间 1. 训练时从tx ...
- (私人收藏)python学习(游戏、爬虫、排序、练习题、错误总结)
python学习(游戏.爬虫.排序.练习题.错误总结) https://pan.baidu.com/s/1dPzSoZdULHElKvb57kuKSgl7bz python100经典练习题python ...
- java语言基础(三)_数组
数组 是引用类型 1. 容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2. 数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 特点: 数组是一种引用数据类型 数组当 ...
- 什么是DevOps?该如何正确的在企业内进行实践
传统IT技术团队中通常都有多个独立的组织-开发团队.测试团队和运维团队.开发团队进行软件开发.测试团队进行软件测试,运维团队致力于部署,负载平衡和发布管理. 他们之间的职能有时重叠.有时依赖.有时候会 ...
- 【树形DP】洛谷P2585 [ZJOI2006] 三色二叉树
[树形DP]三色二叉树 标签(空格分隔): 树形DP [题目] 一棵二叉树可以按照如下规则表示成一个由0.1.2组成的字符序列,我们称之为"二叉树序列S": 0 该树没有子节点 1 ...
- Emergency Evacuation 题解
The Japanese government plans to increase the number of inbound tourists to forty million in the yea ...
- Python-模块XlsxWriter将数据写入excel
1.目的 用xlwt来生成excel的,生成的后缀名为xls,在xlwt中生成的xls文件最多能支持65536行数据.python XlsxWriter模块创建aexcel表格,生成的文件后缀名为.x ...
- 【Blazor】在ASP.NET Core中使用Blazor组件 - 创建一个音乐播放器
前言 Blazor正式版的发布已经有一段时间了,.NET社区的各路高手也创建了一个又一个的Blazor组件库,其中就包括了我和其他小伙伴一起参与的AntDesign组件库,于上周终于发布了第一个版本0 ...
- 最近用unity写三消游戏,mark一个准备用的unity插件,用来控制运动。
http://www.pixelplacement.com/itween/index.php itween 听说还不错!
- springBoot整合redis(作缓存)
springBoot整合Redis 1,配置Redis配置类 package org.redislearn.configuration; import java.lang.reflect.Method ...