============2014/09/23============
0-0 閒聊
馬上開始第一篇騙訂閱拉!!哈哈=
其實"重頭打基礎-C/C++"這個學習紀錄是我在上Coursera課程時的筆記,
有興趣的同學可以上https://www.coursera.org/去選取課程,
我修的是計算機程序設計(C)和程序設計實習(C++)
雖然現在修的話有些作業要遲交了XD
那麼開始吧!
1-1 What is a program?
[*]ideone
課程使用的程式線上編譯環境-ideone.com
先去申請個帳號練個Hello吧!
/*
* 完全不知道有ideone這種東西...真好用阿~
* 但是女朋友說這東西很慢,這傢伙不知道環境建置的痛啊...
* 想當初建置JNI的時候...算了...想了就痛..
*/
然後使用ideone的時候
如果程式有input要先打好input在submit才會正確呦~
/*
* 雖然很難以置信...
* 不過今天先到這邊啦...
*/
============2014/09/24============
1-2 How to write programs
內容滿簡單的~就不記錄拉
1-3 basic program structure and variables
[*]main
C程式的出發點-main
[*]變數的基本元素
變數的類別.名稱.位址.值
/*
*名稱-可以是大小寫英文和數字和_
*現在還是習慣命名一長串名稱的變數...
*沒辦法啊...久了就忘記了
*隨堂考:請問aladd是什麼意思呢? 答案是AlreadyAdd
*還是抓不到命名的精隨阿...
*/
1-4 program input and output
[*]printf
%d是decimal的意思~也就是要印10進位整數拉
[*]#include <stdio.h>
stdio stdio stdio stdio stdio....
standard input output!!!!
//之後會有一個stdlib呦^.<
1-5 variable assignment
[*]=
=是給值的意思喔,把右邊的值給左邊
/*
*之後有一個==才是判斷兩者是否相等
*在看一些程式習慣養成會說
*如果你常常把=和==寫錯
*不妨把if(i ==1)改成if(1==i)
*把常數(數字)放左邊這樣就比較不容易出錯囉
*/
如果是 k = j = i又是什麼意思呢?
就是把i的值給j和k的意思
/*
*本來想探究是不是j拿到i的值
*然後k再拿j的值
*反骨如我,就會想寫出k = j++ = i
*哈哈...天真如我就編譯錯誤了..
*/
1-6 arithmetic operator
[*]運算子
就是加減乘除等運算符號拉~
mod(求餘數) 是 % 喔
更詳細的看後面會不會說吧~
然後再進階知識就是二元運算子和一元運算子分別是什麼意思呢?
像是k = i - j 等號右邊有兩個數所以就是二元運算子拉
那像k = -j這個是求負數的意思喔不是減號,所以是一元運算子
[*]i++ ++i
這邊記錄一下,
i++的i在前面,所以
int i = 0;
printf("%d\n",i++);
i會顯示0喔
int i = 0;
printf("%d\n",++i);
i才是顯示1
那兩者有什麼差別呢?
i++在編譯成機器馬的時候會需要一個temp來存原本的值
所以比較慢一點~
[*]sizeof
計算變數所佔的位元值大小,
有號或無號整數的範圍和溢位就是跟這個有關係。
1-7 comparison and logical operator
[*]true/false
在C語言中,非零整數都是真,零是假
[*]C的運算順序
一元運算子>算術運算>比較運算>邏輯運算>調整運算
(1) ++、--、-i、!
(2) *、/、%、+、-
(3) ==、!=、>、<、>=、<=
(4) &&、||
(5) +=、-=、*=、/=、%=
覺得難記嗎??我也是...那就加個括號就好XDDD
/*
*今天就先到這邊拉~~
*快被這編輯器搞死了...
*晚安囉
*/