c語言六要素
A. c語言知識總結
c語言概要
第一章、 概述
1、 c語言的基本知識
1.1、 c語言的執行步驟
編輯-程序代碼的錄入,生成源程序*.c
編譯-語法分析查錯,翻譯生成目標程序*.obj
(語法或邏輯錯誤,從第一個開始改,變數定義,語句格式,表達式格式等)
鏈接-與其他目標程序或庫鏈接裝配,生成可執行程序*.exe
執行
1.2、 main函數的基本知識
main()函數的位置
c程序總是從main( )函數開始執行
一個c程序可以包含一個主函數,即main()函數;也可以包含一個main()函數和若干其它函數
1.3、 c程序的結構
函數與主函數
程序由一個或多個函數組成
必須有一個且只能有一個主函數main()
程序執行從main開始,在main中結束,其他函數通過嵌套調用得以執行
程序語句
C程序由語句組成
用「;」作為語句終止符
注釋
//
或
/* */ 為注釋,不能嵌套
不產生編譯代碼
1.4、c 程序書寫的規則
習慣用小寫字母,大小寫敏感
不使用行號,無程序行概念:通常一個語句佔一行
可使用空行和空格
常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。
第二章、基本數據類型與運算
2.1、c程序的數據類型
注意類型和變數含義的不同(類型是固定好的名字,變數是自己起的名字)
變數佔用的存儲空間
數據類型
基本類型:整型、字元型、浮點型(單精度型,雙精度型)
構造類型:數組類型、結構體類型
指針類型
空類型
注意基本類型賦初值的方式
基本數據類型的表示形式
整形數據
十進制:以非0數字開頭,如:123,-9,0
八進制;以0數字開頭,如:0123,067
十六進制:以0x開頭,如:0x123,0xff
實型數據
十進制:必須帶小數點,如:123.0,-9.0
指數形式;如:1.23E3,0.9e-2,5e2
字元型數據
普通字元:如:』a』,』2』,』H』,』#』
轉義字元:如:』\n』,』\167』,』\xlf,』\\』
(實現幾列的對齊:指定寬度。如%100\ 『\t』製表位)
(字元串長度。「abc\n\t\\」 strlen 6; sizeof 7)
基本數據類型的存儲長度
整型
Int 位元組數 2 位數 16 數的表示範圍 -32768—32767
Short 2 16 -32768—32767
Long 4 32 -2147483648—2147483647
實型
Float 4 32 3.4e-38---3.4e38
Double 8 64 1.7e-308---1.7e308
字元型
Char 1 8 -128----127
2.2、標識符命名規則
C語言標志符命名規則
標識符有數字,字母,下劃線組成
標識符的首字元必須為字母和下劃線
標識符不能為c語言的保留字(關鍵字)
如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed
算術運算符 + - * / %
關系運算符 > < == >= <= !=
邏輯運算符 ! && ||
位運算符 << >> ~ | ^ &
賦值運算符 = 及其擴展賦值運算符
條件運算符 ? :
逗號運算符 ,
指針運算符 * &
求位元組數運算符 sizeof
強制類型轉換運算符 (類型)
分量運算符 . ->
下標運算符 [ ]
其他 如函數調用運算符()
運算符的優先順序
由高到低:單目運算符,算數運算符,關系運算符,賦值運算符
說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左
如:++--I 先—i.。
算術運算 結合方向自左至右
2.3基本運算和表達式
關系表達式和邏輯表達式
(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b)
A&&b.a為0.不執行b
A||b a為1.不執行b
在 c 中邏輯運算結果:1代表「真」,0代表「假」;
判斷一個表達式是否真:0代表「假」,非0代表「真」
條件表達式 逗號表達式
如:k=5,k++
逗號值為5;k為6.
表達式1?表達式2 :表達式3
K=5>6 ? 1 : 0
2.4、混合運算的數據類型轉換
2/3+0.5 雙精度浮點型
第三章、順序結構程序設計
3.1、c語句的分類
簡單語句
表達式語句 表達式+分號
空語句 只有分號的語句
復合語句 用花括弧將若干語句括起來
流程式控制制語句
選擇語句 if ,switch
循環語句 while, do while , for
轉移語句 break ,continue ,return goto
3.2、格式輸入函數scanf
一般形式:scanf(「格式控制字元串「,地址列表);
使用scanf函數時,需要注意:
格式字元的個數必須與輸入項的個數相同,數據類型必須一一對應,非格式字元串(說明性的)要原封不動的輸入。
輸入實行數據時,可以不帶小數點,即按整型數據輸入
數值型數據與字元或字元串混合輸入時,需要注意輸入方式。
3.3、格式輸出函數printf
Printf(「格式控制字元串「,輸出列表);
指定輸出格式,由格式字元串和非格式字元串兩種組成,非格式字元串照原樣輸出。
%[標志][輸出最小寬度][.精度][長度]類型
標志:- 左對齊;+ 右對齊;
%f, %d, %c, %s
3.4、其他輸入輸出函數
Putchar getchar puts gets
第四章、選擇結構程序設計
If選擇結構
單分支
If(表達式)
語句
雙分支
If(表達式)
語句1
Else
語句2
多分支
If (表達式1)
語句1
Else if(表達式2)
語句2
。。。
Else if(表達式m)
語句m
Else
語句n
Switch(表達式)
{
Case 常量表達式1:語句1;break;
Case 常量表達式2:語句2;break;
。。。
Case 常量表達式m:語句m;break;
Default:語句n;break;
}
注意break的使用
第五章、循環結構程序設計
循環三要素
初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環體)
While(表達式)
語句
Do
語句
While(表達式);
For(循環體變數賦初值;循環條件;循環變數增量)
( for( ) ; // ; 進行時間延遲。在信息交換等時用。如for(i=0,i<100) ; 互相通訊的時間延遲。 Delay )
Break語句 :不能用於循環語句和switch語句之外的任何其他語句;跳出循環。
Continue語句 :跳過循環體中剩餘的語句而強行執行下一次循環;跳出本次循環。
第六章、函數與編譯預處理
6.1、函數的定義和調用
類型標識符 函數名 (形式參數列表)
{ 聲明部分
語句
}
例:
Int max (int x,int y)
{int z;<br>Z=x>y?x:y;<br>Return(z);}
6.2、局部變數和全局變數
注意函數中靜態變數的定義和使用
6.3、變數的存儲類型
局部變數的存儲類型
自動變數(auto) 動態存儲
局部靜態變數(static) 靜態存儲
寄存器變數(register) 靜態存儲
全局變數的存儲類型
自動變數(auto) 動態存儲
外部變數 (extern) 靜態存儲
全局靜態變數(static )靜態存儲
Extern 外部引用
Static 不能用extern 引用。
第七章、數組
7.1、一維數組的定義和使用
特別需要注意循環體的初值,終止條件
例:
Main()
{
Int I,a[10];
For(i=0;i<=9;i++)
A=I;
For(i=9;i>=0;i--)
Printf(「%d」,a);
}
注意下標問題
7.2、二維數組的定義和使用
二維數組的初始化
例如:
Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};
例如:int a[3][3]={{1},{2},{3}};
是對每一行的第一列元素賦值,未賦值的元素取0
7.3、字元數組和 字元串
字元串用字元數組來處理,結束標志符 『\0』
如:char c[ ]={「I am happy」};
用字元串常量使字元數組初值化
Char c[ ]={『I』,』 『,』a』,』m』,』 『,』h』,』a』,』p』,』p』,』y』,』\0』};
第八章、指針
8.1、地址和指針的概念
Int I;
Int *i_point;
8.2、指針變數和變數的地址
操作符:* &
8.3、指針和一維數組
若有定義
Int a[10];
Int *p=a;
分析下面表達式的含義:
A, &a,
*(a+i), a+I,
*(p+i), p+i
A=*(a+i)=*(P+i)
&a=a+i=p+i
8.4、指針與字元串
Main()
{
Char string[ ]=」I love china!」;
Printf(「%s\n」,string);
}
Main()
{ char *string=」I love china!」;
Printf(「%s\n」,string);
}
8.5、指針變數作為函數參數
形參的定義方式;實參的形式;參數的傳遞方式。
第九章、結構體
9.1、結構體類型和變數的定義
Struct 結構體名
{成員列表};
Struct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Stuct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Struct student stu1, stu2;
9.2、結構體變數的引用
一般形式為:
結構體變數名.成員名
9.3、結構體數組
結構體數組 結構體數組元素.成員名
指向結構體的指針變數
(*p).成員名
p->成員名
其他
Strcpy(字元數組1,字元串2)
Strcat(字元數組1,字元數組2)
Strcmp(字元串1,字元串2)
Strlen(字元數組)
B. 我是個菜鳥,求學習方法!
經驗一:
1、不妨給自己定一些時間限制。連續長時間的學習很容易使自己產生厭煩情緒,這時可以把功課分成若干個部分,把每一部分限定時間,例如一小時內完成這份練習、八點以前做完那份測試等等,這樣不僅有助於提高效率,還不會產生疲勞感。如果可能的話,逐步縮短所用的時間,不久你就會發現,以前一小時都完不成的作業,現在四十分鍾就完成了。
2、不要在學習的同時干其他事或想其他事。一心不能二用的道理誰都明白,可還是有許多同學在邊學習邊聽音樂。或許你會說聽音樂是放鬆神經的好辦法,那麼你盡可以專心的學習一小時後全身放鬆地聽一刻鍾音樂,這樣比帶著耳機做功課的效果好多了。
3、不要整個晚上都復習同一門功課。我以前也曾經常用一個晚上來看數學或物理,實踐證明,這樣做非但容易疲勞,而且效果也很差。後來我在每晚安排復習兩三門功課,情況要好多了。
除了十分重要的內容以外,課堂上不必記很詳細的筆記。如果課堂上忙於記筆記,聽課的效率一定不高,況且你也不能保證課後一定會去看筆記。課堂上所做的主要工作應當是把老師的講課消化吸收,適當做一些簡要的筆記即可。
經驗二:
學習效率這東西,我也曾和很多人談起過。我們經常看到這樣的情況:某同學學習極其用功,在學校學,回家也學,不時還熬熬夜,題做得數不勝數,但成績卻總上不去其實面對這樣的情況,我也是十分著急的,本來,有付出就應該有回報,而且,付出的多就應該回報很多,這是天經地義的事。但實際的情況卻並非如此,這里邊就存在一個效率的問題。效率指什麼呢?好比學一樣東西,有人練十次就會了,而有人則需練一百次,這其中就存在一個效率的問題。
如何提高學習效率呢?我認為最重要的一條就是勞逸結合。學習效率的提高最需要的是清醒敏捷的頭腦,所以適當的休息,娛樂不僅僅是有好處的,更是必要的,是提高各項學習效率的基礎。那麼上課時的聽課效率如何提高呢?以我的經歷來看,課前要有一定的預習,這是必要的,不過我的預習比較粗略,無非是走馬觀花地看一下課本,這樣課本上講的內容、重點大致在心裡有個譜了,聽起課來就比較有針對性。預習時,我們不必搞得太細,如果過細一是浪費時間,二是上課時未免會有些鬆懈,有時反而忽略了最有用的東西。上課時認真聽課當然是必須的,但就象我以前一個老師講的,任何人也無法集中精力一節課,就是說,連續四十多分鍾集中精神不走神,是不太可能的,所以上課期間也有一個時間分配的問題,老師講有些很熟悉的東西時,可以適當地放鬆一下。另外,記筆記有時也會妨礙課堂聽課效率,有時一節課就忙著抄筆記了,這樣做,有時會忽略一些很重要的東西,但這並不等於說可以不抄筆記,不抄筆記是不行的,人人都會遺忘,有了筆記,復習時才有基礎,有時老師講得很多,在黑板上記得也很多,但並不需要全記,書上有的東西當然不要記,要記一些書上沒有的定理定律,典型例題與典型解法,這些才是真正有價值去記的東西。否則見啥記啥,勢必影響課上聽課的效率,得不償失。
作題的效率如何提高呢?最重要的是選"好題",千萬不能見題就作,不分青紅皂白,那樣的話往往會事倍功半。題都是圍繞著知識點進行的,而且很多題是相當類似的,首先選擇想要得到強化的知識點,然後圍繞這個知識點來選擇題目,題並不需要多,類似的題只要一個就足夠,選好題後就可以認真地去做了。作題效率的提高,很大程度上還取決於作題之後的過程,對於做錯的題,應當認真思考錯誤的原因,是知識點掌握不清還是因為馬虎大意,分析過之後再做一遍以加深印象,這樣作題效率就會高得多。
經驗三:
學習效率是決定學習成績的重要因素。那麼,我們如何提高自己學習效率呢?
第一點,要自信。很多的科學研究都證明,人的潛力是很大的,但大多數人並沒有有效地開發這種潛力,這其中,人的自信力是很重要的一個方面。無論何時何地,你做任何事情,有了這種自信力,你就有了一種必勝的信念,而且能使你很快就擺脫失敗的陰影。相反,一個人如果失掉了自信,那他就會一事無成,而且很容易陷入永遠的自卑之中。
提高學習效率的另一個重要的手段是學會用心。學習的過程,應當是用腦思考的過程,無論是用眼睛看,用口讀,或者用手抄寫,都是作為輔助用腦的手段,真正的關鍵還在於用腦子去想。舉一個很淺顯的例子,比如說記單詞,如果你只是隨意的瀏覽或漫無目的地抄寫,也許要很多遍才能記住,而且不容易記牢,而如果你能充分發揮自己的想像力,運用聯想的方法去記憶,往往可以記得很快,而且不容易遺忘。現在很多書上介紹的英語單詞快速記憶的方法,也都是強調用腦筋聯想的作用。可見,如果能做7到集中精力,發揮腦的潛力,一定可以大大提高學習的效果。
另一個影響到學習效率的重要因素是人的情緒。我想,每個人都曾經有過這樣的體會,如果某一天,自己的精神飽滿而且情緒高漲,那樣在學習一樣東西時就會感到很輕松,學的也很快,其實這正是我們的學習效率高的時候。因此,保持自我情緒的良好是十分重要的。我們在日常生活中,應當有較為開朗的心境,不要過多地去想那些不順心的事,而且我們要以一種熱情向上的樂觀生活態度去對待周圍的人和事,因為這樣無論對別人還是對自己都是很有好處的。這樣,我們就能在自己的周圍營造一個十分輕松的氛圍,學習起來也就感到格外的有精神。
經驗四:
很多學生看上去很用功,可成績總是不理想。原因之一是,學習效率太低。同樣的時間內,只能掌握別人學到知識的一半,這樣怎麼能學好?學習要講究效率,提高效率,途徑大致有以下幾點:
一、每天保證8小時睡眠。
晚上不要熬夜,定時就寢。中午堅持午睡。充足的睡眠、飽滿的精神是提高效率的基本要求。
二、學習時要全神貫注。
玩的時候痛快玩,學的時候認真學。一天到晚伏案苦讀,不是良策。學習到一定程度就得休息、補充能量。學習之餘,一定要注意休息。但學習時,一定要全身心地投入,手腦並用。我學習的時侯常有陶淵明的"雖處鬧市,而無車馬喧囂"的境界,只有我的手和腦與課本交流。
三、堅持體育鍛煉。
身體是"學習"的本錢。沒有一個好的身體,再大的能耐也無法發揮。因而,再繁忙的學習,也不可忽視放鬆鍛煉。有的同學為了學習而忽視鍛煉,身體越來越弱,學習越來越感到力不從心。這樣怎麼能提高學習效率呢?
四、學習要主動。
只有積極主動地學習,才能感受到其中的樂趣,才能對學習越發有興趣。有了興趣,效率就會在不知不覺中得到提高。有的同學基礎不好,學習過程中老是有不懂的問題,又羞於向人請教,結果是鬱郁寡歡,心不在焉,從何談起提高學習效率。這時,唯一的方法是,向人請教,不懂的地方一定要弄懂,一點一滴地積累,才能進步。如此,才能逐步地提高效率。
五、保持愉快的心情,和同學融洽相處。
每天有個好心情,做事干凈利落,學習積極投入,效率自然高。另一方面,把個人和集體結合起來,和同學保持互助關系,團結進取,也能提高學習效率。
六、注意整理。
學習過程中,把各科課本、作業和資料有規律地放在一起。待用時,一看便知在哪。而有的學生查閱某本書時,東找西翻,不見蹤影。時間就在忙碌而焦急的尋找中逝去。我認為,沒有條理的學生不會學得很好。
評:學習效率的提高,很大程度上決定於學習之外的其他因素,這是因為人的體質、心境、狀態等諸多因素與學習效率密切相關。
總結
學習必須講究方法,而改進學習方法的本質目的,就是為了提高學習效率。
可以這樣認為,學習效率很高的人,必定是學習成績好的學生。因此,對大部分學生而言,提高學習效率就是提高學習成績的直接途徑。
提高學習效率並非一朝一夕之事,需要長期的探索和積累。前人的經驗是可以借鑒的,但必須充分結合自己的特點。影響學習效率的因素,有學習之內的,但更多的因素在學習之外。首先要養成良好的學習習慣,合理利用時間,另外還要注意"專心、用心、恆心"等基本素質的培養,對於自身的優勢、缺陷等更要有深刻的認識。總之,"世上無難事,只怕有心人。"
漫談學習方法
下面主要談五個方面的學習方法。
(一)抓好預習環節
預習,即課前的自學。指在教師講課之前,自己先獨立地閱讀新課內容。初步理解內容,是上課做好接受新知識的准備過程。有些學生由於沒有預習習慣,對老師一堂課要講的內容一無所知,坐等教師講課。老師講什麼就聽什麼,老師叫干什麼就干什麼,顯得呆板被動,缺乏學習的積極性和主動性。有些學生雖能預習,但看起書來似走馬觀花,不動腦、不分析。這種預習一點也達不到效果。
1.預習的好處
(1)能發現自己知識上的薄弱環節,在上課前補上這部分的知識,不使它成為聽課時的「拌腳石」。這樣,就會順利理解新知識。
(2)有利於聽課時跟著老師講課的思路走。對聽課內容選擇性強。明確哪些知識應該放上主要精力,加強理解和消化;哪裡應該重點記筆記,做到心中有數。
(3)預習有利於弄清重點、難點所在,便於帶著問題聽課與質疑。注意力集中到難點上。這樣,疑惑易解,聽起來輕松、有味,思起來順利主動,學習效果高。
(4)預習可以提高記筆記水平。由於課前預習過,講的內容和板書,心中非常清楚。上課時可以不記或少記書上有的,著重記書上沒有的或自己不太清楚的部分,以及老師反復提醒的關鍵問題。從而可以把更多的時間用在思考理解問題上。
2.預習要注意的幾個問題
(1)預習時要讀、思、問、記同步進行。對課本內容能看懂多少就算多少,不必求全理解,疑難也不必鑽深,只需順手用筆作出不同符號的標記。把沒有讀懂的問題記下來,作為聽課的重點。但對牽涉到已學過的知識以及估計老師講不到的小問題,自己一定要搞懂,以消滅「攔路虎。」
(2)若以前沒有預習的習慣,現在想改變方法,先預習後上課,但不能一下子全面鋪開,每門功課都搞提前預習。這樣做會感到時間不夠用。顯得非常緊張,不能達到預習效果。因此,剛開始預習時,要先選一兩門自己學起來感到吃力的學科進行預習試點,等到嘗到甜頭,取得經驗後,並在時間允許的條件下,再逐漸增加學科,直到全面鋪開。
(3)預習應在當天作業做完之後再進行。時間多,就多預習幾門,鑽得深一點;反之,就少預習幾門,鑽得淺一點。切不可以每天學習任務還未完成就忙著預習,打亂了正常的學習秩序。
(4)學習差的學生,課前不預習,上課聽不懂,課後還需花大量的時間去補缺和做作業,整天忙得暈頭轉向,擠不出一點時間去預習。其實,這種學生差的根本原因就在不預習上。學習由預習、上課、整理復習、作業四個環節組成。缺了預習這個環節就會影響下面環節的順利運轉。這些學生必須作好在短期內要多吃點苦的思想准備。在完成每天的學習任務後,要安排一點時間預習。這樣做雖然費了時間,但上課能聽得懂,減少了因上課聽不懂而浪費的時間,同時,還可以減少花在課後整理、消化、作業上的時間。時間一長,運轉正常了,學習的被動局面也就會改變,就再也不需加班加點了。
3.預習的要求
(1)要注重講究實效,不搞形式。要根據學習計劃安排時間,不能顧此失彼。預習一般要安排在新課的前一天晚上進行。這樣,印象會較深。新課難度大,就多預習一些時間,難度小就少預習一些時間。應重點選擇那些自己學起來吃力,又輪到講授新課的科目進行預習,其他科目只需一般性的預習。某些學科,也可以利用星期天,集中預習下一周要講授的課程,以減輕每天預習的負擔。
(2)預習的任務是通過初步閱讀,先理解感知新課的內容(如概念、定義、公式、論證方法等),為順利聽懂新課掃除障礙。具體任務是:①復習、鞏固和補習有關已學的舊知識,找出新課中自己不理解的問題,並把理解不透的記下來。②初步弄清新課中的基本內容是什麼?這些知識內容在原有的基礎上向前發展了什麼?並找出書中的重點、難點和自己費解的地方。③預習時要看、思、做結合進行。看:一般是把新課通讀一遍,然後用筆勾劃出書上的重要內容。需要查的就去查一查;需要想的就應該認真想一想;需要記的就應該記下來。思:指有的時候要想,做到低頭看書,抬頭思考,手在寫題,腦在思考。做:在看的過程中,需要動手做的准備工作以及對課本後的練習題要進行嘗試性的做一做。問答題答一答。不會做,不會答可以再預習,也可以記下來。等教師在授課時集中注意聽講或向老師提出。預習以後,還要合上書本,小結一下。這樣做能使自己對新教材有更深刻的印象。
(二)注重聽課環節
學生的大部分時間是在課堂中度過的。因此,聽課是學生接受教師指導,掌握知識,發展智力的中心環節。是獲取知識的重要途徑。是保證高效率學習的關鍵。聽課時,有的學生全神貫注,專心聽講;有的分心走神,萎靡不振,打瞌睡。有的像錄音機,全聽全錄;有的邊聽邊記,基本上能把教師講的內容都記下來;有的以聽為主,邊聽邊思考,有了問題記下來;有的乾脆不記,只顧聽講;有的邊聽邊劃邊思考。思考時,有的思考當堂內容,有的思考與本課相關的知識體系,有的思考教師的思路,有的拿自己的思路與教師的思路比較。
那麼,怎樣才能達到聽好課的目的呢?總的要求是要抓住各學科的不同特點,帶著問題聽,聽清內容,記住要點,抓住關鍵,著重聽老師的講課方法與思路,釋疑的過程與結論。具體要求:
1.要充分認識老師在上課時的重要作用。因為教師在課堂教學中起著主導的作用。他在課堂中的分析講解遠比課後輔導要詳細得多,這也是學生自已看書無法比較的。課堂教學是老師指導學生掌握知識的一條最簡捷的路。因此,每個學生都應該虛心向老師學習。在老師的啟發誘導下上好每一節課。
2.要集中注意力,全神貫注地聽老師講解,跟著老師的講課思路走,千萬不能思想開小差。如果在老師啟發下,自己有了比較好的想法,可以在筆記本上記下來,等下課後再去深入思考或請教老師和同學。總之,課堂上的「分心」,是學習的大敵。
3.聽課中可以嘗試在老師沒有作出判斷、結論之前,自己試作判斷、試下結論。看看自己想的與老師講的是否一致。找出對與不對的原因。
4.要力求當堂理解。理解是掌握事物本質、內部聯系及規律的思考過程。那麼,怎樣才能做到當堂理解呢?在課堂上,你想的應與老師講的統一,你思考的問題應與老師講的問題統一。在教師的啟發下,你要始終開動腦筋,積極思考。如果在思考中出現不理解或理解不透的地方,應舉手提出問題。如果課堂上老師沒有時間解答你的問題,應繼續聽老師的講解。課後再去請教老師。
5.要跟著老師的思路跑。聽課是為了增長知識和發展智力。因此,不能把知識聽懂了就算課聽好了等同起來。高水平的聽課應該不僅注意老師傳授的具體知識,更應該注意老師講課的思路。追著老師的思路跑,目的在於把老師講課過程中運用的各種思維方式,思維過程搞清楚。學習老師是如何進行周密科學思考的,從而提高自己的思維能力和智力水平。有的學生不注意老師的講課思路,而偏重於記憶老師的推導,總結出來的公式或結論,認為這是聽課的主要目的。其實,這樣掌握的知識,是知其然而不知其所以然的死知識。這種死知識忘得快,又不能用於解決實際問題,更談不上發展智力。
6.要抓住一節課的知識內容和學科特點的關鍵。知識內容的關鍵一般指基本概念、基本原理、基本關系式以及公式、定義。當老師講解這些關鍵知識時,你一定要特別注意,抓住不放。同樣,不抓住學科特點的關鍵學習,也會影響你的學習效果。實際上,各門學科的內容體系、發展思路、訓練要求以及教的方法各有特點。學習中非抓住這些特點不可。如物理、化學、生物課要特別注意觀察和實驗,在獲得感性知識的基礎上,通過思考來掌握科學概念和規律。數學要通過大量演算,證明等練習獲得數學知識,培養出數學思維能力。語文和外語在聽課時,主要抓住字、詞、句、篇等方面的知識點,並且通過聽、說、讀、寫來提高閱讀和寫作能力。以便更好地理解和掌握語言和文字。
(三)緊抓復習環節
復習是對前面已學過的知識進行系統再加工,並根據學習情況對學習進行適當調整,為下一階段的學習做好准備。因此,每上完一節課,每學完一篇課文,一個單元,一冊書都要及時復習。若復習適時恰當,知識遺忘就少。早在1885年,德國的心理學家艾濱浩斯,通過實驗發現剛記住的材料,一小時後只能保持44%;一天後能記住33%;兩天後留下的只有28%;六天後為25%。所有的人,學習的知識都會發生先快後慢的遺忘過程。一些記性好的學生是因為能經常從不同的角度、不同的層次上進行復習,做到「每天有復習,每周有小結,每章有總結」,從而形成了驚人的記憶力。因此,很多學生對所學知識記不住,並不是腦子笨,而是不善於復習,或復習功夫不深。
1.復習的要求
(1)課後應及時把老師講的和板書的知識像放電影一樣,在腦子里過一遍。看看能想起多少,忘了多少。然後翻開筆記,查找漏缺。
(2)看教材時,應邊看邊思,深思重點、難點。分析疑點、深化理解。
(3)看閱必要的參考書,充實課堂所學的內容。
(4)整理與充實筆記,對知識進行歸類,使知識深化、簡化、條理化,並按規律去加強記憶。
(5)加強練習。練習一般應在復習後進行,也可邊復習邊練習。在復習過程中,加強練習,能提高復習效果。
(1)及時復習。當天學的知識,要當天復習清,決不能拖拉。做到不欠「帳」。否則,內容生疏了,知識結構散了就要花費加倍時間重新學習。要明白「修復總比重建倒塌了的房子省事得多」。
(2)要緊緊圍繞概念、公式、法則、定理、定律復習。思考它們是怎麼形成與推導出來的?能應用到哪些方面?它們需要什麼條件?有無其他說法或證明方法?它與哪些知識有聯系?通過追根溯源、牢固掌握知識。
(3)要反復復習。學完一課復習一次,學完一章(或一個單元),復習一次。學習一階段系統總結一遍。期末再重點復習一次。通過這種步步為營的復習,形成的知識聯系就不會消退。
(4)復習要有自己的思路。通過一課、一節、一章的復習,把自己的想法,思路寫成小結、列出圖表、或者用提綱摘要的方法,把前後知識貫穿起來,形成一個完整的知識網。
(5)復習中遇到問題,不要急於看書或問人,要先想後看(問)。這對於集中注意力、強化記憶、提高學習效率很有好處。每次復習時,要先把上次的內容回憶一下。這樣做不僅保持了學習的連貫性,而且對記憶有很好的效果。
(6)復習中要適當看點題、做點題。選的題要圍繞復習的中心來選。在解題前,要先回憶一下過去做過的有關習題的解題思路,在這基礎上再做題。做題的目的是檢查自己的復習效果,加深對知識的理解,培養解決問題的能力。做綜合題能加深知識的完整化和系統化的理解,培養綜合運用知識的能力。
(四)獨立完成作業環節
獨立完成作業是深化知識,鞏固知識,檢查學習效果的重要手段,也是復習與應用相結合的主要形式。然而,有些學生沒有真正利用好這個環節。他們一下課就搶著做作業,作業一完,萬事大吉。更有些學生課上根本沒聽懂,下課後也不問,作業抄襲後向老師交差完事。其實,做好作業有以下意義:
1.可以檢查自己的學習效果。通過做作業可以發現問題,以便及時補救。
2.通過做作業時的思考,可以加深對知識的理解,把易混淆的概念搞清楚,把公式的變換搞熟練。總之,有利於把書本上的知識轉化成自己的知識。
3.可以培養思維能力。因為作業中提出的各種問題,必然會促使自己積極思考,增強分析問題和解決問題的能力。
4.做完作業後,不能把它一扔了事,而應當定期進行分類整理,為總復習積累資料。復習時,翻閱一下記錄的作業,既方便省事,又印象深刻。
做作業的基本要求和方法:
1.審題。審題是做作業十分重要的一步。拿到一個題目,首先應判斷它屬於哪一類,難易的程度如何?分清題目的條件和要求。已知條件是什麼?從題目提供的信息中還能挖掘出什麼條件?它的要求是什麼?同時要讓自己的思路順著題目的路子思考。通過思考、准確、透徹地理解題目的意思,分清已知條件有哪些,題目要求的結論是什麼。在審題過程中,還要注意哪些地方沒有直接用語言表示出來,而隱含在題目中的其他形式條件,即注意隱含條件的挖掘。
2.尋找解題途徑。方法一般有三種:一種是「由因導果」,可以表述為:「已知→可知→可知……」,最後到達結論。第二種是「執果索因」,即結論←需知←需知←……」。這樣一層一層的追下去,直到追到已知條件全部有了為止。這樣。已知條件和要求結論之間的道路就打通了。第三種是對於一些比較復雜的題目,就需要我們用前兩種的綜合辦法,以盡量縮短條件與結論的距離。即一方面從已知條件推出一些可知的中間結果,另一方面根據題目的要求分析出一些需知的中間結果。需知與已知一旦統一,則可得到解題的途徑。
在尋找解題途徑中,要廣泛聯想與這些條件和結論有關的概念、公式、法則和方法等。聯想過去是否解過和與此相同或相近的題目。那時是怎樣解的?如果能聯想起有關的舊知識,即與此題相應的規律原理、原則、公式就會浮現在腦海中,使解題的思路更加開闊。聯想越廣,跨度越大,得到的解題效果也越佳。
有時因為題目較復雜,為了思考方便,也可以把審題的過程畫成簡圖。這實際上是一個運用學過的知識,把題目加工、改造的過程。經過加工,思路明了,解題捷徑就會出現在眼前。
3.正確解題,經過①②兩個步驟,已經尋得解題的途徑,判定了解題的方案。但在實施時還要注意解題的保質保量。要做到這點,解題的步驟必須按部就班,一步步演算。書寫規范化,格式明了,表達准確。要做到這點,必須要有扎實的基礎。除此以外,在解題中,重要的知識點應寫出來,繁題要簡寫,簡題要詳寫。
4.注意檢查。就是回過頭來再檢查一遍,看看是否題目要求的解都求出來了,有沒有漏解。是否求出的解均符合題目的要求,有沒有錯解。檢查是培養學生獨立思考能力的重要一環。檢查的方法很多。①步步檢查法。即從審題開始,一步步檢查。這種方法可以檢查出計算、表達上的錯誤。②重做法。即重做一遍,看結果是否一樣。③代入法。將計算結果代入公式或式子看看是否合理。同時,還要注意鍛煉一題多解、一題多想。比較歸類的解題習慣,不斷提高自己分析問題和解決問題的能力。
(五)認真記好課堂筆記
記筆記是為了學,為了懂,為了用。記筆記的原則是以聽為主,以記為輔。簡練明白,提綱挈領,詳略得當。難點不放過,疑點有標記。不亂,不混,條理明。對聯想、發現的問題,要及時記。筆記要留有空白處,便於復習時補缺。
C. C語言2級都考什麼啊
C語言二級復習綱要
一、基本知識
1.c是高級語言,結構化程序設計語言
2.程序設計的五個部分
二、變數、常量、表達式
1.常量的值是不能改變的
2.標識符的定義方法
3.c語言中二進制和八進制、十六進制的表示方法
4.算術運算符的優先順序別(++和--放在變數前後的區別)
5.c程序的基本構成結構(由函數構成,函數由基本結構構成)
三、順序結構
1.printf的格式控制串中的格式控制字元和後面的數據在數量上要一一對應,類型要匹配
2.scanf的格式控制串中不要有多餘字元,後面的數據是地址,如果是變數,前面要有&(取地址符)
3.兩個%代表一個%
4.復合語句以及空語句
四、選擇結構
if (表達式) 語句1;
else 語句2;
switch (表達式)
{ case….:……..;
.
.
.
case…:…….;}
1.關系表達式及優先順序別
2.邏輯表達式及優先順序別
3.關系,邏輯,算術優先順序別的問題
4.if後面跟的表達式是判斷真假的,switch是計算值的
5.if表達式後只能跟一個語句,如果要跟多個語句,必須用{ }括起來構成復合語句
6.switch裡面的語句後面一定要跟break才能跳出switch,否則會一致執行下去
7.if語句中,語句1和語句2兩個語句裡面只能有一個語句被執行
五、循環結構
1.三種循環結構及其區別(while和do….while多用於循環次數未知的情況,for用於循環次數已知的情況)
2.循環中的三要素:初始值,結束條件,自增語句
3.break和continue的區別
六、字元
1.字元量是用單引號』引起來的一個字元,用雙引號」引起來的字元是字元串
2.字元量等同於整形量
3.要使用putchar和getchar這兩個函數,就必須在程序的開頭使用#include 「stdio.h」
4.連續輸入
七、函數
1. 函數可以沒有返回值,也可以有返回值,但是只能返回一個值,在函數中,一碰到return語句,函數立即結束,返回調用的地方
2. 函數的返回值也是有類型的,函數的首部要加以說明
3. 函數也必須遵循先定義後使用的原則
4. 函數的實際參數和形式參數必須一一對應,類型也要匹配,同時,參數是變數的,只能進行單向傳遞,即,參數值只能從主函數傳遞給函數,而不能從函數返回主函數,這種稱之為:傳值傳遞
八、指針
1. 存放地址的變數稱為指針
2. 「*」號在數據定義的時候作為指針定義符,在語句中作為間接引用
3. 指針一定要有指向,不能沒有指向,指向空是有意義的]
4. 通過把指針作為函數參數,可以在主函數和函數之間傳遞數據,稱之為:傳地址傳遞
5. 指針每次移動,都移動一個單元,每個單元的長度是由指針的基類型確定的
6. 指向指針的指針是指:這個變數中存放的是指針的地址
7. 函數也可以返回指針,同樣,要在函數首部定義
九、數組
1. 數組是一連串連續的存儲單元的集合,他們是連續的
2. 把數組傳遞給函數,並且希望能改變其值,那麼在函數的首部,用指針定義參數
3. 二維數組是一維數組的特殊形式,可以把二維數組看成每一個一維數組,每個元素都是一個一維數組。
4. 要把二維數組傳遞給函數,並且希望能改變其值,那麼,在函數的首部,用一個行指針{(*sp)[ ]}來定義參數
5. 行指針和指針數組是不同的
行指針 指針數組
十、字元串
1. 字元串其實就是字元數組,一維字元數組可以存放一行字,而二維字元數組可以存放若干行搭亂字
2. 字元串的結束標志是\0,並且包含在字元串長度之內
3. 可以用字元指針指向一個字元串,其實就是指向字元數組的首地址
4. 字元串的輸入輸出使用puts和gets函數
十一、結構
1. 結構是一種特殊的用戶自定義數據類型,他由若干個成員構成
2. 要引用成員,就要看使用什麼來引用。用數據的話:結構體變數名.成員名。是指針的話:結構體指針-〉成員名
3. 成員符優先順序別問題:高於++ ――
4. 傳遞結構體變數給函數,並且希望能改變其值,那麼把該結構體變數的地址傳遞給函數,函數用該類型指針來接受結構體
5. 鏈表:在定義結構體變數的時候,知畢檔在其中增加指向自己的指針,使得這種結構體變數能夠指向同類型結構體變數,由這種變數首尾相連,就能數歷構成鏈表。
6. 鏈表的建立、刪除節點、增加節點,查找節點都要使用動態內存分配malloc和calloc,區別在於前者動態分配一個單元,而後者動態分配一系列單元
十一、文件
1. 文件的打開方法和打開方式及如何關閉
2. 如何對文件進行輸入和輸出
3. 文件指針及其操作函數
D. C語言指針**p是什麼意思
**p表示p也表示地址,簡單的說,這個地址對應的存儲單元存儲的數也是一個地址,而不是數值,而這個被存儲的地址對應的存儲單元存儲的數據才是真正的相應類型的數值!
例如:
int i=10; //定義了一個整型變數
int *p=&i; //定義了一個指針指向這個變數
int **p1=&p; //定義了一個二級指針指向p指針
那麼取出10的值方式為:
printf(「i=[%d] 」,*p);
printf(「i=[%d] 」,**p1);
(4)c語言六要素擴展閱讀:
指針與數組關系
指針數組:就是一個由指針組成的數組,那個數組的各個元素都是指針,指向某個內存地址。char *p[10];//p是一個指針數組
數組指針:數組名本身就是一個指針,指向數組的首地址。注意這是一個常數。
example:
char (*p)[10]//p是一個數組指針
函數指針:本身是一個指針,指向一個函數入口地址,通過該指針可調用其指向的函數,使用函數指針可實現回調函數。