1. 浮点数
a,b
比较是否相等
|a-b| <=0.00001
(根据精度决定)
2. 编码:电子设备只能实现加法、逻辑运算
3. A | 0 = 0 A & 1=A A or 0 = A A or 1 =1
A & ~A = 0 A or ~A =1 A xor 0 =A A xor 1 = !A
A xor A = 0 A xor ~A =1
4. (
以下都为二进制
)
乘法运算
10010011*A
=(1000000+10000+10+1)*A
=2^7*A + 2^4*A+2*A+A
=A<<7 + A<<4 + A<<1 + A
5.求补运算
A\B
都是一字节
a) B+~B =FFH
b) B+~B+1 =100H
c) ~B+1 = 100H-B
A-B = A+(100H-B)-100H
=A+~B+1 (100H
进位丢失
)
6.补码是规则,求补是运算
7. neg A = -A neg neg A = A neg
为求补
8. cl /c
源码 只编译不链接
link
文件名
.obj
链接
9. cl
源码 编译链接 (只适合单个文件的链接)
第三天笔记
1.详解helloworld
#include <stdio.h> //找到
stdio.h
文件并用其中的全部内容替换掉
#include <stdio.h>
这一行
void main()//只是用户入口而不是程序入口
{
printf("hello world");//向标准输出设备按规定格式输出
}
---------------------------------------------------------------------
文件包含include有三种形式的控制指令
1:#include <文件名>
将把该行替换为文件名指定的文件的内容。文件名不能包含>或换行符。
如果文件名包含字符 " ' \ 或 /* 则行为没有定义。
预处理器将在某些特定的位置查找指定的文件
如:在tc下 Options->Directories->Include directories:
可以设置include目录 (如:c:\TURBOC2\INCLUDE)
2:#include "文件名"
首先从原文件的位置开始搜索指定文件,如果没有找到指定的文件则按第一种的方式处理。
如果文件名包含字符 ' \ 或 /* 则行为没有定义。可以使用字符>
3:#include 记号序列
它将按照扩展普通文本的方式扩展记号序列进行解释。记号序列必须被解释为<..>或".."
两种形式之一,然后再按照上述方式进行处理。
#define SSS <stdio.h>
#include SSS
void main()
{
printf("Hello!\n");
}
#include文件可以嵌套。
1:#include <文件名>
将把该行替换为文件名指定的文件的内容。文件名不能包含>或换行符。
如果文件名包含字符 " ' \ 或 /* 则行为没有定义。
预处理器将在某些特定的位置查找指定的文件
如:在tc下 Options->Directories->Include directories:
可以设置include目录 (如:c:\TURBOC2\INCLUDE)
2:#include "文件名"
首先从原文件的位置开始搜索指定文件,如果没有找到指定的文件则按第一种的方式处理。
如果文件名包含字符 ' \ 或 /* 则行为没有定义。可以使用字符>
3:#include 记号序列
它将按照扩展普通文本的方式扩展记号序列进行解释。记号序列必须被解释为<..>或".."
两种形式之一,然后再按照上述方式进行处理。
#define SSS <stdio.h>
#include SSS
void main()
{
printf("Hello!\n");
}
#include文件可以嵌套。
main()函数是程序倒数第二个执行的函数
在main函数执行之前会执行很多初始化工作具体可以查看
X:\Program Files (x86)\Microsoft Visual Studio\VC98\CRT\SRC
目录下的CRT0.C文件。
使用命令行编译链接下面源码,用winHex(其他的工具也可以)查看m,n在内存中的值
[C]
纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int
main()
{
int
n = 0;
int
m = 0x18FF40;
//这个值大家可能和我的不一样,自己改一下
printf
(
"%p\n "
, &n);
printf
(
"%p\n"
, &m);
scanf
(
"%d"
,m);
printf
(
"%d %p\n"
, n, &n);
printf
(
"%d %p\n"
, m, &m);
getchar
();
getchar
();
return
0;
}
|
作业:自己用WinHex查看上面的程序在内存中的状态
求三角形的面积(用户输入三边),注意输入三边各种的错误检查
一个程序有可能80%以上的代码在进行错误检查和UI,而核心代码不到20%