目錄
壹、計算機基礎知識
計算機的基本原理------------------------------- Week1
1. 從數學危機到圖靈機
2. 圖靈機的基本構成
3. 圖靈機的運行機理
4. 數的二進制表示
5. 二進制的布林運算
計算機的歷史與未來----------------------------- Week2
1. 關於計算機
2. 早期的計算機
3. 現代計算機發展與分類
4. 從巨型機的比拚到綠色計算
程序運行的基本原理----------------------------- Week2
1. 問題的提出
2. 馮諾依曼式計算機
3. 儲存器的種類與特點
4. 儲存器的原理與種類
64bit 與 32bit 的分別5. CPU 指令的執行
作業1
1. 找出CPU、內存、顯示器及硬碟的相關資訊
電腦訊息樓上的可以看到一小部分,我告訴你一個完美的辦法:進入cmd,然後使用下面的命令,你可以看到一切。 1.查看磁盤信息:freedisk 可以查看每一個盤的剩餘空間 wmic diskdrive
可以看出來牌子和大小.
wmic logicaldisk
可以看到有幾個盤,每一個盤的文件系統和剩餘空間
wmic volume
每個盤的剩餘空間量,其實上一個命令也可以查看的
fsutil volume diskfree c:
這個命令查看每一個卷的容量信息是很方便
2.CPU信息
wmic cpu
上面顯示的有位寬,最大始終頻率, 生產廠商,二級緩存等信息
3.內存信息 wmic memorychip 可以顯示出來三條內存,兩條256,一條1G的,速度400MHz
4.BIOS信息 wmic bios 主板型號
BIOS 版本
6.至於CDROM輸入wmic cdrom,其他的大家可以研究。
再說一個最長用的,可以查看基本的信息:
Systeminfo
2. 程序的執行
貳、程序設計基礎
週期一:感性認識計算機程序
感性認識計算機程序------------------------- Week3
1. 說在前面的話
2. 程序是妳告訴計算機的話
3. 如果你的大腦是台計算機
4. 如果妳來設計一門編程語言
- 是不是我們在程序中說甚麼單詞,計算機都能明白?
- 非也。只有關鍵字
- 是不是我們在程序中寫甚麼"數"和"計算符號",計算機都能明白?
- 非也。
- 數據的類型
- 基本數據類型
- 布爾型 bool
- 字符型 char
- 整型 int
- 實型(浮點型)
- 自定義數據類型
- 數組型(類型[])
- 指針型(類型 *)
- 構造數據類型
- 類(class)
- 空類型(void)
- 基本數據類型
- 運算的種類
- 數據的類型
- 非也。
- 程式裡需要多少種"句式"才夠用?
- 三種即可
- 順序語句
- 分支語句
- 循環語句
- 三種即可
5. 快步走進C程序語言之一
例子自然對數 1. 為什麼自然對數這麼重要? 2. 自然對數漫談
順序結構
#include<iostream>
using namespace std;
int main()
{
float a = 0, b = 0, temp = 0;
cout << "Input a and b:"<<endl;
cin >> a >> b;
cout << "a = "<< a << ", b = " << b<<endl;
temp = a; a = b; b = temp;
cout << "a = " << a << ", b = " << b<<endl;
return 0;
}
6. 快步走進C程序語言之二
分支語句x 跟 y 誰大
#include<iostream>
using namespace std;
int main()
{
int x = 0, y = 0;
cin >> x >> y;
if (x > y)
cout << "Max number is: " << x << endl;
else
cout << "Max number is: " << y << endl;
return 0;
}
循環語句 輸出 20 以內的奇數
#include<iostream>
using namespace std;
int main()
{
int i = 0;
cout << "20以内的奇数:" << endl;
for (i = 0; i < 20; i++)
{
if (i % 2 != 0)
cout << i << endl;
}
return 0;
7. 快步走進C程序語言之三
數組打印出 字母表中,序號是奇數 的前五個字母
#include<iostream>
using namespace std;
int main()
{
int i = 0;
char a[10] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };
cout << “字母表中序号为奇数的前五个字母:" << endl;
for (i = 0; i < 10; i=i+2)
{
cout << a[i] << endl;
}
return 0;
}
綜合 - 要添加相應的注釋
- 注重可讀性:排版、縮進
#include<iostream>
using namespace std;
int main()
{
char a = ' '; //用于存放用户输入的字母
cout << "猜猜我是哪个字母,最多猜5次哦:" << endl;
int i = 0; //用于记录猜过多少次了
for (i = 0; i < 5; i++)
{
cin >> a;
if (a == 'G') //如果猜中
{
cout << "被你猜中了!" << endl;
break; //终止循环
}
else //如果没有猜中
cout << "你猜错了!接着猜吧!" << endl;
}
return 0;
}
8. 甚麼樣的程序是好程序
我们重视:荀子勸學篇:
“我的程序运行结果正确,解决了问题!” * * * “我的程序更容易被别人看懂!”
“我的程序结构更清楚,更美!”
我们不重视:
ⅹ“我少使用了几个变量!”
ⅹ“我的程序行数比较少!”
ⅹ“我的程序运行起来快了一些!”
不積蹞步,無以致千里;不積小流,無以成江海。
從現實問題到計算機程序--------------------- Week3
週期二:理性認識程序設計語言
C++語言的基本成分–數據成分---------------- Week4
C++語言的基本成分–運算成分---------------- Week5
C++語言的基本成分–控制成分---------------- Week5
C++程序中的數組---------------------------- Week6
字符數組與字符串---------------------------- Week6
程序設計習題課(1)------------------------- Week7
週期三:學會使用——函數
C++程序中的函數---------------------------- Week7
函數 - 嵌套、遞推、遞歸-------------------- Week8
函數 - 遞歸(1)--------------------------- Week8
函數 - 遞歸(2)--------------------------- Week9
週期四:學習使用C程序中的複雜成分
可愛的 指針(1)--------------------------- Week10
可愛的 指針(2)--------------------------- Week10
結構體與鏈表------------------------------- Week11
程序設計習題課(2)------------------------ Week12
程序設計基礎總結 -------------------------- Week12
計算概論A是針對「信息科學技術學科一年級本科生」開設的一門專業基礎主幹課程。本課程的教學目標有二:其一,幫助學習者建立起「學習計算機科學技術知識所需的基本知識背景」;其二,幫助學習者「掌握計算機程序設計的基礎知識」,培養學習者「獨立設計計算機程序解決問題」的基本技能。
本課程的內容主要分為兩個部分:(1)計算機基礎知識,約占課時量的15%;(2)C程序設計基礎,約占課時量的85%;
在計算機基礎知識部分,我們將為大家解答一些與計算機程序設計相關的基礎問題,例如,「計算機為什麼能夠進行計算?」,「計算機程序在計算機中是如何運行的?」,「計算機的發展規律是什麼?」,「下一代的計算機將會是什麼樣子?」等等。我們希望通過對這些問題的解答,達到兩個目的:A 培養起大家對計算機科學的興趣;B 幫助大家建立起學習計算機科學所需要的「背景知識框架」。
在C程序設計基礎部分,我們將以「C 語言」為主要學習對象,以典型的C++編程環境(如Visual Studio C++, Eclipse等)為工具,學習計算機程序設計的相關知識,並培養程序設計的基本技能。通俗講,在這個部分,我們將教會大家「如何使用C語言編寫計算機程序,甚至編寫具有一定技術難度的程序」。
對於第一次學習計算機程序設計的同學而言,通常會覺得學習過程比較困難。在這裡,我們特別提示大家:「對於難學的東西,更要循序漸進,更要遵循學習規律——先打好基礎,逐步進階!」為此,我們把「程序設計基礎」部分的學習劃分為四個迭代週期:
週期一: 感性認識計算機程序; 週期二: 理性認識程序設計語言; 週期三: 學會使用——函數; 週期四: 學習使用C程序中的複雜成分(指針、結構體、鏈表、文件等);
之所以稱為「迭代週期」,是因為我們希望在每個週期中,同學們都能夠編寫出完整、可運行、能解決問題的計算機程序,而不是僅僅學習計算機程序設計語言的某個部分!所以,學習程序設計的過程,應該是一個「在實戰中進階」的過程,而不是一個「知識堆砌」的過程。希望這個迭代進階的學習過程可以幫助大家順利達成學習目標。
計算機概論