笑話一則GG
妻子叫程序員小明上街買桃子颤介,對小明說:“你去買4個桃子期贫,如果看到賣西瓜的跟匆,買1個”過了一會,小明拿著1個桃子回來了通砍,妻子問你怎么就買了1個桃子玛臂,小明說,因為我看到賣西瓜的了封孙。
要學(xué)習(xí)編程迹冤,我們先來了解一下程序的流程和一些基本概念。
程序流程分為順序虎忌、選擇和循環(huán)泡徙。
順序:
順序是最好理解的,我們知道一個程序其實(shí)就是一條條的指令呐籽,順序?qū)τ诔绦騺碚f锋勺,就是從上到下一條一條執(zhí)行指令。和我(ke)們(ji)下樓梯要一級一級下是一樣一樣的狡蝶。
邏輯運(yùn)算:
在介紹選擇之前庶橱,我們先來了解一下邏輯運(yùn)算,邏輯運(yùn)算有3種贪惹,與 或 非苏章。在計算機(jī)的世界,所有的東西都用0和1表示奏瞬,0代表假枫绅,1代表真,因此邏輯運(yùn)算實(shí)際上是0和1的運(yùn)算硼端。
與運(yùn)算:
當(dāng)A和B都為1時并淋,運(yùn)算結(jié)果為1
當(dāng)A和B任何一個為0,或都為0時珍昨,運(yùn)算結(jié)果為0
例如:
條件A: 我前天中了500萬
條件B: 我昨天中了500萬
A 與 B 結(jié)果為 0
因為我到現(xiàn)在也沒中過500萬县耽。句喷。。
再例如:
條件A: 我前天沒中500萬
條件B: 我昨天沒中500萬
A 與 B 結(jié)果為 1 (哎兔毙,說多了都是淚)
或運(yùn)算:
當(dāng)A和B任意一個為1或都為1時唾琼,運(yùn)算結(jié)果為1
當(dāng)A和B都為0時,結(jié)果為0
例如:
條件A: 我前天沒中500萬
條件B: 我明天不上班 (明天周三怎么可能不上班)
A 或 B 結(jié)果為 1
再例如:
條件A: 我明天不上班
條件B: 我后天不上班
A 或 B 結(jié)果為 0 (周三周四怎么可能不上班)
思考題:我啥時候可以不上班澎剥。锡溯。。
非運(yùn)算:
非運(yùn)算就是對當(dāng)前條件取反哑姚,
如果條件A為0祭饭,非A為1,
如果條件A為1蜻懦,非A為0
例如:
條件A: 我是一個程序員 (我真的是)
非A 結(jié)果是 0甜癞,也就是我不是一個程序員
下來說說選擇
選擇:
選擇結(jié)構(gòu)通常由2-3部分組成,分別為條件宛乃,條件為真(成立)時執(zhí)行的語句悠咱,條件為假(不成立)時執(zhí)行的語句(可以沒有),一個典型的選擇結(jié)構(gòu)如下所示:
如果?條件
條件為真(成立)時執(zhí)行的語句
否則
條件為假(不成立)時執(zhí)行的語句
例如最開始的笑話征炼,
正常人的邏輯應(yīng)該是這樣的
買4個桃子析既,
如果 看到賣西瓜的
買1個(西瓜)
而程序員小明的腦回路是這樣的:
如果?看到賣西瓜的
買1個(桃子)
否則
買4個桃子
因為小明看到了賣西瓜的,所以最后就只買了一個桃子谆奥,哈哈哈哈
此外眼坏,還有簡單的選擇結(jié)構(gòu)和復(fù)雜的選擇結(jié)構(gòu)
一個簡單的選擇結(jié)構(gòu)如下:
如果?條件
條件為真(成立)時執(zhí)行的語句
例如:
如果?我中了500萬
我明天就辭職,哈哈哈
當(dāng)然很大概率我是中不了的酸些,所以宰译,就不要否則啦,中不了該干啥干啥魄懂!
復(fù)雜的選擇結(jié)構(gòu)如下:
如果?條件1
條件1 為真(成立)時執(zhí)行的語句
否則?如果?條件2
條件2 為真(成立)時執(zhí)行的語句
否則 如果?條件3
條件3 為真(成立)時執(zhí)行的語句
否則
條件123都為假(不成立)時執(zhí)行的語句
例如:
如果?明天下雨
我就去上班
否則 如果?明天下雪
我就去上班
否則 如果?明天下刀子
我就去上班
否則
我還是得上班啊 (領(lǐng)導(dǎo)看見是不是要給我漲工資沿侈,哈哈哈)
循環(huán):
還是小明的例子,一天市栗,程序員小明和小剛相約去吃飯缀拭,小明遲到了,發(fā)短信給小剛填帽,說:“我五分鐘后到蛛淋,如果沒到,把這句話再念一遍”篡腌,簡簡單單的一句話褐荷,就是一個循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)包含條件嘹悼,循環(huán)體兩部分诚卸,小明沒到就是一個條件葵第,把這句話再念一遍的就是一個循環(huán)體绘迁,這句話得效果就是如果小明沒到就讓他再等5分鐘合溺,如果5分鐘之后還是沒有到,再念一遍缀台,再等5分鐘棠赛,但是小剛也不傻,當(dāng)然自己去吃飯啦膛腐。
循環(huán)結(jié)構(gòu):
如果?條件
循環(huán)體
當(dāng)條件為真(成立)時睛约,會一直執(zhí)行循環(huán)體,直到條件為假(不成立)哲身。上面的例子:
如果?小明沒到
等小明5分鐘
把這句話再讀一遍
小明想讓小剛一直等他直到他來辩涝,但是小剛才沒那么傻!
下面這個叫做死循環(huán)或者無限循環(huán):
很多時候勘天,我們的程序都是在一個無限循環(huán)里運(yùn)行的怔揩,比如我們的電腦,開機(jī)之后脯丝,操作系統(tǒng)就一直在等著用戶輸入商膊,不斷檢測用戶有沒有輸入,沒有就一直等待宠进。
了解完了程序的流程晕拆,我們來了解兩個程序里必不可少的概念:變量和事件
變量
變量就是一個變化量的名字,例如你早上起來材蹬,你麻麻給你留了一張字條实幕,飯在冰箱里,自己熱熱吃堤器,你打開冰箱一看昆庇,麻麻給你做了你最愛吃的蛋炒飯。第二天吼旧,麻麻又留了相同的字條凰锡,你打開冰箱一看,麻麻給你下了餃子圈暗。在這里掂为,“飯”就是一個變量,它是變化的值员串,既可以代表蛋炒飯勇哗,又可以代表餃子。雖然你不打開冰箱并不知道具體是啥飯寸齐,但是你知道你麻麻給你留了飯欲诺,你可以吃它抄谐。對于程序來說,一個變量代表了一個變化的值扰法,你可以對這個變量進(jìn)行操作蛹含,但是并不需要知道這個變量具體是多少,例如你可以對變量a和變量b進(jìn)行加和操作塞颁, 用a+b表示浦箱,但是這個時候其實(shí)你并不知道a b具體的值是什么,等到程序真正運(yùn)行時祠锣,才能確定酷窥。
事件
事件代表了一件事情發(fā)生時,應(yīng)該如何處理伴网,由事件體和事件發(fā)生時運(yùn)行的語句兩部分組成蓬推,通常表述為
當(dāng)?事件體?發(fā)生時
運(yùn)行語句
例如:
當(dāng)我按下了關(guān)機(jī)鍵
電視關(guān)閉
當(dāng)我中了500萬
辭職
今天就到這里吧,是不是看的暈fufu的澡腾,沒關(guān)系沸伏,我們慢慢來
最后,祝所有程序員都找到女朋友