一、C语言的简介

1.C语言是一个标准,而执行标准的时候产生的自动化程序则是编译器
2.了解:1983年美国国家标准化歇会(ANSI)制定了C语言标准.
C语言的特点:
3.代码的可移植性(理想状态是代码可以不加修改,就可以移植,前提是不包括任何平台相关库)
4.写代码的时候最好把业务逻辑层和UI层分开.这样便于代码的移植
5.结构化编程(可以把问题分解成一个一个的函数去执行)
6.丰富的数据类型(相对于汇编而言是丰富的)
7.简洁高效的代码(这得看人,不是编译器的或者语言的特性,如果算法写的不好,一样执行速度慢,和语言无关.反之则相反);

二、代码和调试之间的比例

1.调试和写代码的时间比例是2比8
2.写代码占2 调试的时间占8
3.UI和逻辑分离,UI占7,逻辑占2

三、&符号的双重用法

1. 符号在C语言中的场景不一样,那么就会有不同的作用
2.列如:
3.++ + + 2个加号就和加号的意思不一样
4.+号可以看做是加好,也可以看做是数学上的±符号
5.所以不同场景用什么运算符会起到不一样的作用
6.&运算单独使用的时候可以看做是取地址符号,如果左边有操作数的时候可以看做是位与符号

四、程序的挂起状态的三种表现形式

1.Getchar()
2.Scanf(“%d”);
3.System(“pause);
4.其中system()这个函数是与平台相关的函数,所以加了这句话就不可跨平台了

五、Scanf的常见问题解析

1.scanf的用法:通过标准输入设备输入到程序中
2.第二个参数式地址变量,是放地址的.不放地址会把这个变量里面的值当做是一个地址
3.如果访问到不该访问的地址就会出错
4.分别有两个有用的信息是:
5.异常代码:c00005 意思就是访问了一个不该访问的地址
6.异常便宜:00026 可以定位到代码出错的位置
总结:如果没有填地址府,程序不崩溃那么以后可能会吃亏,程序会受影响
有隐患,如果遇到变量的值不再初始化那么会使用上次内存使用后残留的值
所以一定要给变量初始化.

六、批处理

Del *.exe 删除目录下所有的exe可执行的文件
Del *.obj 删除目录下所有的.obj文件
Cl /c /W4 /WX 文件名.c 编译文件名.c为obj文件
Link 文件名.obj 连接文件名.obj文件名为文件名.exe可执行文件
文件名.exe 运行可执行文件
Pause 暂停窗口等待进一步的操作

七、浮点数

浮点数的查看
1.浮点数后边加上f列如 3.25f代表是一个浮点数
2.如果不加的话那么默认会认为是一个双精度的小数
ZERO零在不同场合的用法
Char ch = ‘\0’;
Int n = 0;
Int *p = NULL;
Float f = 0.0f;
Double db = 0.0;
切记软件的规范
小数转化为16进制的算法
1.第一步:将小数转化为二进制
假设有一个小数是4.25
那么先转化为二进制为:100.01
2.第二步:
把小数点定位为最前位1的后面,直到遇到第一位为1的值
那么现在是1.0001总共往左移动了2位那么可以看做是1.0001*2^2次方
3.第三步:定义符号位
符号位0,因为4.25的是正数
4.第四步:定义指数为(指数为在32位系统下占8位 double 是11位)
而指数位是2^2的幂+127 他的次方(也就是幂)是2
所以就是2+127 = 129
转化为二进制是1000 0001 最后加上符号位是
0 1000 0001
5.第五步:确定尾数为(尾数位占23位不足的补零在)
直接把1.0001 把前边的1去掉放在指数为后面即可
0 1000 0001 0001 0000 0000 0000 0000 000

最后按照从右向左4位一体的分割二进制转化为16进制
0100 0000 1000 1000 0000 0000 0000 0000
4 0 8 8 0 0 0 0
按照小端模式就是00 00 88 40

十六进制转化为小数的实现

第一步:把给定的十六进制转化为二进制
44 22 00 00
0100 0100 0 010 0010 0000 0000 0000 0000
第二步:去掉符号位,取指数位(32位下是8位)
0是符号位去掉之后的值是
1000 1000 128 +8 = 136
第三步:用指数得出的值减去127 然后尾数从指数后面的前面加1然后往右移动 >>(指数减去127得出的值的位数)
结果是136 - 127 = 7; 那么小数点就从刚才取出指数位
的后面往后移动7位
结果为:
注意:取出指数后,在后边指数后的位置加个1点(1.XXX为尾数)
(移动位置的时候也从1.后面开始算)
1.010 0010 0000 0000 0000 0000 (一.1.不算,从尾数开始移动
1 010 0010.0000 0000 0000 0000 (二.移动后
第四步:把移动后的结果转化为10进制的数即可.
如果小数位有那么就是乘以2^1...(尾数有多少就乘以多少)
正确结果是:16进制的162.00

C语言_第一讲_C语言入门的更多相关文章

  1. 【书籍下载链接】_1_第一轮_C语言书籍

    各位朋友,如果您觉得下载的电子书,看的还可以,请购买纸质版的图书,如果您觉得 您下载的书,不值得一看请在下载后直接删除. Windows汇编:http://dl.vmall.com/c0jk1v970 ...

  2. 网易云课堂_程序设计入门-C语言_第一周:简单的计算程序_1逆序的三位数

    1 逆序的三位数(5分) 题目内容: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3 ...

  3. C语言_第二讲_规范以及常用数据类型

    一丶编码规范基本数据类型 编码规范 任何程序员,都应该有良好的的编码习惯,便于以后的代码可读性和维护 常见了编码规范有 匈牙利命名法 驼峰式大小写 匈牙利命名法: 是电脑程序设计中的一种变量命名规则, ...

  4. C语言_第一章

    1. 计算机能直接识别和接受的二进制代码称为     机器指令——>(集合) 机器语言. 2. 输出C #include<stdio.h> int main(){ printf(&q ...

  5. 北京大学Cousera学习笔记--3-计算导论与C语言基础-第一讲.计算机的基本原理-计算机怎么计算-数的二进制

    思考问题 1.“数”在计算机中是如何表示的? 2.逻辑上“数”是怎么运算的? 3.物理上“数”的计算是怎么实现的? 从图灵机计算问题得出: 1.字母表中的符号越多(几进制),读入移动次数减少,但程序数 ...

  6. 北京大学Cousera学习笔记--2-计算导论与C语言基础-第一讲.计算机的基本原理-图灵机

    有限状态读写头从一个初始状态开始,对存储器上的输入数据进行读或写操作,经过有限步操作之后停机,此时存储器上的输出数据就是计算结果 (1) 图灵机的构成: 1.一条存储带:双向无限延长:上有一个个的小方 ...

  7. COM编程_第一讲_深入COM框架以及实现简单的COM

    一丶我们要理解COM是什么(为什么理解) 现在很多人会用com(也就是ALT)但是不知道原理,如果改一点东西,那么整体的框架重来,因为你不懂改哪里,如果懂了,那么遇到问题,那么就会知道我要怎么做,是什 ...

  8. Lucene第一讲——概述与入门

    一.概述 1.什么是Lucene? Lucene是apache下的一个开源的全文检索引擎工具包. 它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能. 2.能干什 ...

  9. C语言_了解一下C语言中的四种存储类别

    C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. C语言中的四种存储类别:auto ...

随机推荐

  1. javascript对象创建方式

    工厂模式 在ECMAscript中无法创建类,所以开发人员就发明了一种函数,用函数来封装,以特定接口创建对象的细节,如下面的例子所示: function createPerson(name,age,j ...

  2. AS与.net的交互——详解UrlRequest

    在.net中我们知道有一个叫做WebHttpRequest的东西,用它我们可以实现各种网络偷窥,监控,采集和机器人,如果外加一 个模式识别,那真是吊爆了... 在as中我们也可以实现同样的功能,而且我 ...

  3. datagridview下拉框

    下面介绍Winform中DataGridView的DataGridViewComboBoxColumn的使用方法: //首先获取数据源 //自己建立的静态数据源,你也可以从数据库读取 DataTabl ...

  4. bzoj 3033 太鼓达人

    思路:首先一定是2^m次方的总数.用二进制从 000 一直到 111总过m个数,然后暴搜. #include<cstdio> #include<cstring> #includ ...

  5. 原生JS实现jquery的ready

    function ready(fn){ if(document.addEventListener){ //标准浏览器 document.addEventListener('DOMContentLoad ...

  6. 数据库事务的隔离以及spring的事务传播机制

    数据库的事务隔离: MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”RR(REPEATABLE READ). oracle默认的是提交读.RC 未提交读(READ UNCOMMITTE ...

  7. Ajax实现的城市二级联动二

    上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1.HTML <select id="province"> <option> ...

  8. 51nod 1103 N的倍数 (鸽巢原理)

    1103 N的倍数 题目来源: Ural 1302 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 一个长度为N的数组A,从A中选出若干个数,使得这 ...

  9. [OpenGL红宝书]第一章 OpenGL概述

    第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向Op ...

  10. 数据结构:K-D树

    K-D树实际上是一棵高维二叉搜索树,与普通二叉搜索树不同的是,树中存储的是一些K维数据 普通的二叉搜索树是一维的,当推广到K维后,就是我们的K-D树了 在K-D树中跟二叉搜索树差不多,也是将一个K维的 ...