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) 附加指定长度 ...
随机推荐
- 入门大数据---Elasticsearch是什么?
Elasticsearch是谁不重要,重要的是咱们都知道百度,谷歌这样的搜索巨头吧.它们的核心技术都利用了Elasticsearch,所以我们有必要对Elasticsearch了解下! 1.Elast ...
- unable to load script from assets 'index.android bundle'
在Android手机上运行React-native项目时 报错:unable to load script from assets 'index.android bundle' ,make sure ...
- 半导体质量管理_SQM 供应商质量管理
供应链上的质量保证 SPACE的此附加组件可帮助您与全球生产现场的供应商和分包商更紧密地合作.基于电子分析证书(eCOA,电子分析证书),您可以为整个供应链实施具有约束力的质量标准,并可以对其进行验证 ...
- linux就该这么学 第一天学习笔记
题外话 在每天的网上冲浪中,一次无意间的点击,发现了linux就该这么学的网站,然后就看了一晚上,当时还是学生的我特别想要参加培训,可是碍于眼前的经济状况,只得将这个想法深深的藏在了心里,并加了一下网 ...
- CenterOS的安装配置(配图解)
CenterOS的安装配置 一. 配置虚拟机 打开Virtual Machine(虚拟机),点击create new virtual machine 进入新建虚拟机向导页面,选择[Custom( ...
- HDFS和MR的配置和使用
一.分布式HDFS的安装和启动 ①在$HADOOP_HOME/etc/hadoop/core-site.xml文件 <configuration> <property> < ...
- linux中编写同步文件的脚本
搭集群最麻烦的就是修改配置文件,如果只用修改一个机器上的配置文件,然后用一个脚本就可以把配置文件同步到其他机器上,岂不快哉! 编写一个名为xsync的脚本文件: 作用: 将当前机器的文件,同步到集群所 ...
- opencv3.4.9 + armv7 + arm-linux-gnueabihf交叉编译
使用CMake指定交叉编译链会有很多报错,原因可能是其找交叉编译的库或这头文件会自动链接到本地的库或者头文件. 可以使用Qt设置好交叉编译环境后,将CMakeLists.txt文件放入,直接编译通过即 ...
- Mac OS下安装mysqlclient遇到的一些坑
在玩django的同时,必须需要mysqlclient和pillow包,想在本地Mac上装上mysqlclient,但着实遇到不少坑,最终还是在github issue中找到了解决方法,这里记录一下, ...
- 测试必备工具之抓包神器 Charles 如何抓取 https 数据包?
之前发过一篇文章讲解了Charles抓包工具的基本使用(有需要的小伙伴可以去看上一篇文章), 讲的数据包主要是http协议,大家可以看到数据包并直接显示具体详细的内容: 但是如果抓到的是https的 ...