1樓:
先照抄書上例題,體會思想。然後自己做做簡單的書後習題。c語言學習,推薦 譚浩強《c語言程式設計》。
解決實際問題,是一件很複雜的事情。很多實際問題需要經過長時間的學習才能解決的~
不是光學好程式語言就能解決實際問題,需要閱讀相關的演算法和資料結構的書籍。推薦 傅清祥 王曉東《演算法與資料結構》第二版。
**:唯c世界 http://www.vcok.com/
過程心得:不要急。體會程式設計思想快則2-3月,慢則半年多。多動手,通常實踐比理論難得多。
2樓:初疏穆
要靠你自己多練!
找本書 照著例題自己做 看能不能編譯通過書嗎 很多 c程式設計類的就行 假如你在大學你去圖書館借靠人不如靠自己 實踐才是硬道理!
3樓:匿名使用者
恩,上面的**不錯!!
合乎呵呵!!
4樓:無魚之湖
譚浩強《c語言程式設計》並不是很好。有很多錯誤。
實踐最重要。
先照自己想法編,然後在tc環境下執行,出現錯誤就改,和自己結果不一樣的就看看語句有沒有問題。
不用去管那些書上的習題,那會讓你在題海里越陷越深。
自己想編什麼就去試試,最好是一些簡單的,比如自己設計一個演算法,輸入一段指令後,計算機顯示一段結果,然後編出來,執行後看看結果和自己想法是否一致,從中獲得一些啟示,如學習中的一些盲點。
這只是我自己的一些經驗,不知適合你與否。
最好準備一個筆記本,把一些自己的編錯的和編的不錯的程式記下來,一些啟示或心得記在程式後面,積少成多,很管用的。
希望你能學好!
如何學習c語言
5樓:卯永芬次凰
學習c語言的方法很多,最有效的莫過於
學習心態以及學習的順序!
心態要端正,遇到問題別懷疑自己的大腦和能力,我敢保證只要你沒有智障,任何語言對你來說絕對不是問題!
學習順序非常重要,比方說你不能在不學習普通型別變數的操作下去學習陣列……我建議你好好把基礎大好,還有一個就是
c語言在執行的過程中
他的底層是如何實現的,這個很重要,
如果你按照我說的學習,c語言對你來說
很容易!
6樓:赫微蘭羅巳
藉此希望對初學者有點幫助:
一、分號
,大括號
分號。分號是表示式結束的標誌,一般表示式後面都要有。
寫「;」的時候一定要注意:是否要結束前面的語句
。注意:if,switch,for,while語句,資料型別定義,函式定義。
if(a>b)
/*if語句,沒有分號*/
while(i+=10,i!=100);
/*while語句迴圈體為空,依靠逗號語句實現迴圈*/
struct
a/*結構體資料定義,沒有分號*/
b;/*結構體變數,要有分號*/
intsum(...)
/*函式定義,沒有分號*/
大括號。大括號是一個語句段的標誌。
寫大括號時最好一次寫一對,然後把游標移到大括號裡寫
。避免遺漏。
二、運算子號
「=」與「==」
「=」用於賦值,注意「=」左邊必須是變數,右邊可以是常量也可以是變數。「==」用於判斷兩個量的大小,左右兩邊可以是常量也可以是變數(
儘量把常量寫在左邊,這樣「==」誤寫成「=」時編譯器就會報錯
)。運算表示式有它本身的值
。「=」語句值為「=」右邊的量的大小;「==」語句值為判斷結果,無外乎兩種,0(表示「==」兩邊不等)1(「==」兩邊相等)。
(i=1)==(3==4);
/*i值為1,整個表示式值為0*/
「,」逗號語句是從左到右計算,整個逗號語句的值為最後一個語句的值
i=(j=2,j+8,j++);
/*先計算j=2,值為2,j+8不是運算表示式,跳過,計算j++得到整個括號內的值3*/
「/」「/」兩邊都是整型變數的時候結果也是整型,而且結果遵循向0靠攏的原則
。運算子的優先順序及結合方向
不多說了,**一定要背牢。
三、變數
命名不要吝惜,能說明白性質儘量在變數的名字上說明。
避免老是使用一個字母,或者難以理解的變數名
。對於較長的變數命名可以使用巨集定義、型別定義。
#deine
up0x4800
/*鍵碼的巨集定義*/
typedef
struct
mem;
/*結構體變數的型別定義*/
7樓:呼新蘭騎丙
嘿嘿,你跟我有那麼一比
當初我也是成績相當不好
但是隻要感興趣,絕對是學得好的。
有人說學c++之前一定要學c。
這倒不一定
但是如果直接學c++的話
之後最好再看看c
瞭解一下也是有好處的,
c++primer
是本好書
注意不是primer
plus
這本我沒看過
甚至你可以隨便先找本爛書看
如果你屬於很好問的人的話
你一定會有很多問題
然後再看c++primer
那樣效果會很好的
另外,多上論壇
不懂問就是
積累了一定的知識之後可以試著幫著回答別人的一些問題這樣可以加強自己對語言的理解。
有一點不同意樓上的說法
c語言是基礎,但他絕不簡單
簡單的知識語法而已
而你知道語法有什麼用呢?
就好比你知道中文的語法
你就能寫出漂亮的詩歌嗎?
答案是否定的……
語法並不太必要刻意熟記,
用多了自然就記得了
思考演算法、結構
最重要的是程式設計思想。
「物件導向」不是說說而已
如果沒理解清楚那寫出來的東西說不定就是四不象。
但是不必害怕,
雖然不簡單,但也不是難以入門。
具體的在你學的過程中是能夠慢慢體會到的。
8樓:宿夕章茶
這位網友,您好:
1.我建議您先看書吧,譚老的那本還可以,適合初學,編譯器用win-tc吧,網上搜搜
2.我推薦使用vc++6.0中文版
因為國家考試用的就是那個
當然了還有turbo
c這個也是以前國家考試用的
但是這些版本很老了
而且沒有現在的方便
對於一個初學者來說
用老版本麻煩些比如你遇到了問題想去諮詢下別人老版本的尤其是比較經典的turbo
c2.0的
你需要把原來的**在寫一遍才行
而visusl
c++6.0的則可以用滑鼠進行復制操作
很是快捷
而且vc還有自動用不同的顏色來顯示不同型別的**對初學者來說
是個很好的糾錯功能
比如你的關鍵字打錯了
顏色是會變的
其實vc不僅適合初學者
它是大眾化的軟體
正因為它的優秀所以就適合很多人群
補充:vc不僅有6.0的版本
還有2005的2008的
為什麼還是建議你用6.0的呢
還是因為國家考級就是用的6.0的
而且很多人也在用它
我們都用這個
vc++6.0
這是微軟的一個功能很強大的程式設計軟體,c語言、c++語言都適用,裡面有很多很好的功能是tc無法比擬的。
希望我的答案能幫到您!
謝謝你:朋友!
跪求!c語言程式設計問題!要交作業了!
9樓:匿名使用者
下面是我給的答案,有問題的聯絡我,再討論。從12點多一直做到現在,別忘了給我選成推薦答案哈。累傻了我了都
1、 楊輝三角形的每一項資料正好是組合 (即s(n!/m!/(n-m)!
)的值,其中n是行數(從0行開始);m是列數(從0列開始)。 請使用上述演算法得到楊輝三角形每一個位置的值並按下圖列印。 要求用函式f計算一個正整數的階乘(用遞迴函式來實現),通過主函式呼叫f完成計算。
答: 下面是我的源**,程式輸出的部分在最後的註釋裡面
/** yanghui.cc
** created on: 2010-6-14
* author: liufeng
* email: [email protected]
*/#include
#include
using namespace std;
int fac(int base)
return fac(base-1)*base;
}int tridisplay(int** a, int row, int col)
int sz=row;
printf("\n");
for(int i=0;i06/14]$ g++ -g -o3 -o tri yanghui.cc
[administrator@ /<7>06/14]$ ./tri.exe
11 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
*/2. 編寫一個函式,要求對n個學生的成績進行排序,要求用陣列名作函式引數。在陣列a中存放了10個學生某門課程的成績,呼叫上述函式,實現對10個學生的成績排序。
答: 程式的源**如下,程式的輸出在最後面的註釋裡面
/** dcsort.cc
** created on: 2010-6-14
* author: liufeng
* email: [email protected]
** g++ -g -o3 dcsort.cc -wall -o dsort
*/#include
#include
#include
typedef struct
stu;
intpartition(stu * stus, int l, int h)
q=p;
while(--b)
while(q->next)
free(q) // q point to the last node;
}(2) 閱讀下面程式說明,按註釋提示,在劃線處補充細節,使程式達到預期功能。 [程式說明]以下程式中,函式create的功能是建立一個結點型別為struct link的學生成績連結串列,main函式中,首先呼叫create函式建立一個包含n個結點的成績連結串列,然後呼叫問題(1)的演算法,將連結串列的第2個結點刪除掉,要求輸出結點刪除前、後連結串列的內容,以驗證問題(1)演算法的正確性。
#include
#define n 5
#define l sizeof(struct link)
struct link
;struct link *create(void)
return (4) ; /* 返回所建立連結串列的頭指標 */
}void printlist(struct link *head) /* 輸出連結串列 */
printf("\n");
}int
main( void)
(2)答:
【 (1) link * next; 】
【 (2) p= (link*)malloc(sizeof(struct link)); 】
【 (3) p->next = head 】
【 (4) head 】
【 (5) p=p->next 】
【 (6) base = create(); 】
【 (7) deletenode(base, new, int b); // 利用我們上一問中,寫好的函式 】
【 (8) printlist(base);】
學習C語言程式設計,如何學習C語言
個人覺得譚浩強版 c語言程式設計 很適合初學者自學,如果你能將他仔細用心地看完三遍,那麼也許你就能達到c語言的入門啦,還有就是一定要養成良好的程式設計習慣,這個是很重要的哦,c是很深奧的哦,好好努力吧! 哼哼。恕我直言,40天只能學個入門,也就是把語法學完。要想深入沒個幾年是不行的。你還是高一,我覺...
學習英語的好方法跪求,學習英語的方法 跪求
想學好英語就要做到堅持不懈!持之以恆!每天堅持讀半小時以上的英語課文或單詞,反覆閱讀,聽說讀寫,不緊要讀要記 還要寫,這樣才能全方位的記住。另外最好在清晨起床後讀個上十分鐘的英語,晚上臨睡前再讀半小時,在這兩個時間段內是記憶力最好的時候。還有記英語 要找訣竅,比如說單詞,其實大部分的單詞都是可以根據...
如何學習C語言,從和下手,以及學習的方法
卯永芬次凰 學習c語言的方法很多,最有效的莫過於 學習心態以及學習的順序 心態要端正,遇到問題別懷疑自己的大腦和能力,我敢保證只要你沒有智障,任何語言對你來說絕對不是問題 學習順序非常重要,比方說你不能在不學習普通型別變數的操作下去學習陣列 我建議你好好把基礎大好,還有一個就是 c語言在執行的過程中...