一.编程语言与解释语言

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语言概述的更多相关文章

  1. Go语言学习笔记(一) [Go语言的HelloWorld]

    日期:2014年7月18日   1.简介     Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...

  2. C语言学习笔记01——C语言概述

    作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...

  3. C语言学习笔记---1.C语言概述

    1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...

  4. 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

  5. go语言学习笔记-初识Go语言

    Go语言是怎样诞生的? Go语言的创始人有三位,分别是图灵奖获得者.C语法联合发明人.Unix之父肯·汤普森(Ken Thompson).Plan 9操作系统领导者.UTF-8编码的最初设计者罗伯·派 ...

  6. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  7. C语言学习笔记:15_c语言中的进制操作.c

    /* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...

  8. C语言学习笔记---2.C语言数据类型

    1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...

  9. C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

随机推荐

  1. 逻辑式编程语言极简实现(使用C#) - 1. 逻辑式编程语言介绍

    相信很多朋友对于逻辑式编程语言,都有一种最熟悉的陌生人的感觉.一方面,平时在书籍.在资讯网站,偶尔能看到一些吹嘘逻辑式编程的话语.但另一方面,也没见过周围有人真正用到它(除了SQL). 遥记当时看&l ...

  2. Django迁移命令无法生成mysql表

    数据库迁移问题:在执行python manage.py makemigrations迁移命令之后,正常输出并生成迁移文件,但执行python manage.py migrate之后显示,No migr ...

  3. java语言基础(三)_数组

    数组 是引用类型 1. 容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2. 数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 特点: 数组是一种引用数据类型 数组当 ...

  4. 机器学习入门:极度舒适的GBDT原理拆解

    机器学习入门:极度舒适的GBDT拆解 本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDT Boosting→Gradient Boosting Boosting是集成 ...

  5. JavaScript之DOM的增删改查

    JavaScript的组成: 1. ECMAScript-语法规范 2. Web APIs(浏览器提供的工具) (1).BOM (浏览器对象模型) (2).DOM (文档对象模型) 今天就来讲讲DOM ...

  6. c# 操作Redis的五种基本类型总结

    在我们的项目中,通常会把数据存储到关系型数据库中,比如Oracle,SQL Server,Mysql等,但是关系型数据库对于并发的支持并不是很强大,这样就会造成系统的性能不佳,而且存储的数据多为结构化 ...

  7. Layui数据表格加入自定义扩展方法(重新渲染Render当前页数据)

    具体开发中遇到的问题如下, 数据表格的重新渲染或重新加载会导致当前操作的分页 或 配置被清空.我正在操作第5页,重新渲染后就回到了最原始第1页. 需要达到的效果是: 不调用接口,仅仅只是从table. ...

  8. 「疫期集训day13」雾天

    我们千里迢迢赶来这里支援协约国----与德军正面交锋的美国士兵 今天考试签到题都没A,失误重大,T1几周前做过的拓扑排序板子都没写,T2失误在没敢调试,对自己信心不足,30分钟写了个DP,几分钟没调出 ...

  9. BJDCTF-2020-WRITEUP---TiKi小组

    title: BJDCTF 2020 刷题记录categories: CTFtags: BJDCTF CTF2020 BJDCTF Web duangShell 根据提示,输入.index.php.s ...

  10. 利用docker部署oxidized网络设备备份系统

    随着网络设备的增多,通过人手备份网络设备倍感压力,而且效率低.有编程基础的人可能会通过Python的parimiko 或者netmiko 连接到设备操作 把文件通过ftp 上传到FTP服务器, 在通过 ...