教女友学编程-1-好奇心害死喵

39 篇文章 0 订阅
27 篇文章 0 订阅

前因

女友在我的建议下,打算接受我的计算机培训,目标是成为一个能通过写程序赚钱的妹子

一切皆加法

你知道ENIAC吗,上百科,上面有

每秒加法运算5000次

有加法运算够了吗?可以算乘法吗?可以算减法吗?

a+b = a+ (-b)

其实计算机知懂得1和0的:

逻辑

&且与
|或 任意一条都可以,没有一条就不可以
!非

用下图表示:

逻辑

女友非让我表示!非的关系,表示电路也够呛啊,用唱反调来表示。

开始写程序

掏出记事本边描述边写:

硬盘存在{
if(aaaaaa)
return 存在
else
return 不存在

}


开机{

if(硬盘存在)
{
    启动;

}
else
{
    弹窗口“硬盘丢失”

}
}

直接上硬盘识别……
表明逻辑关系,函数的必要-分块管理。结构清楚。
调用的关系和返回值的问题,后者比较难理解。

她提出非用0和1吗?

0:false : 假
1:true : 真

赋值顺序

a=true
b=false
a=b; 此时a是0还是1?

直接上VS调试查看逻辑关系,验证猜想结果:

简单叙述了什么是断点.

开始一个示例程序:

    //这是爱的宣言,是我今天写的
    bool is_Success = true;

is_Success = (MB_OKCANCEL==MessageBoxA(0,"你爱李吗","爱的宣言",MB_OKCANCEL))&&
        (MB_OKCANCEL==MessageBoxA(0,"你爱他吗","爱的宣言",MB_OKCANCEL));

    //变量,常量

     if(is_Success)
     {
         MessageBoxA(0,"恭喜","",MB_OK);
     }
     else
     {
         MessageBoxA(0,"牵手失败","",MB_OK);
     }

她提问:bool 是什么? a 是什么?

a是变量
变量引出常量**const,以及**staticextern

extern

封装的意义:
她问:所有的源码都是能看到的吗?
答:并不是,商业保护引出DLL

可执行程序的扩展名都可以有哪些?
这些可执行程序的扩展名是谁定的?微软。

API概念。
她:惊叹微软很厉害

扩展名和内容之间的关系。

可执行程序都是相同的,只是扩展名不同。
举例,某同学问.dat文件为何打不开?
原来.dat是date的缩写,而错被显示为视频文件.

DAT

怎么才能知道一个文件到底是什么文件呢?看来后缀不靠谱。
讲起自己U盘坏了修复后都成了没有后缀名的文件。
提出问题:
如何区分没有后缀名的文件到底是什么文件?

她提出jpg是可执行文件吗?为何可以打开?
解释注册机制。

用exe做示范.找规律:

程序

MZ是个标记。顺带讲其中逸事。

她问:左边的数字字母是什么?是ASCII码吗?

开始查一下即可!发现正是。

继续看jpg文件,寻找易识别的标记。

我们发现了扩展名和内容没有必然关系。正确决定性的是内容。

继续讲:特征码和早期病毒查杀的关系。
以及有些作者为了保护自己的作品会使用扩展名欺诈的手法。

End

她依然兴趣盎然!
整个过程是她的好奇心在带动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值