第一篇:單純形法C語言程序代碼
長 春 工 業(yè) 大 學(xué)
課程設(shè)計程序代碼
課程設(shè)計名稱 運籌學(xué)課程設(shè)計 專 業(yè) 信息管理與信息系統(tǒng) 班 級 130506班 學(xué) 生 姓 名 于松南、張鑫蕊、趙改玲、趙海潮
指 導(dǎo) 教 師
王亞君、王忠吉
2015年7月3日
#include
int m;//記錄約束條件方程組的個數(shù) int n;//記錄未知量的個數(shù) float M=1000000.0;float A[100][100];
//用于記錄方程組的數(shù)目和系數(shù)
float C[100];
//用于存儲目標(biāo)函數(shù)中各個變量的系數(shù) float b[100];
//用于存儲常約束條件中的常數(shù) float CB[100];
//用于存儲基變量的系數(shù) float seta[100];
//存放出基與入基的變化情況 float cn[100];
//存儲檢驗數(shù)矩陣 float x[100];int num[100];
//用于存放出基與進(jìn)基變量的情況 float Z=0;
//記錄目標(biāo)函數(shù)值
void shuru();void print();int mincz();int find_line(int a);void exchange(int a,int b);int main(){
int i,j=0;
int p,q,temp;//q:換入,p:換出
shuru();
printf(“n------------n”);
printf(“ tCBtXBtbt”);
for(i=0;i printf(“ X(%d)t”,i+1); for(i=0;i x[i]=0; printf(“n”); while(1){ q=mincz(); if(q==-1){ print(); printf(“n所得解已經(jīng)是最優(yōu)解!n”); printf(“n最優(yōu)解為:n”); for(j=0;j temp=num[j]-1; x[temp]=b[j]; } for(i=0;i printf(“x%d=%.2f ”,i+1,x[i]); Z=Z+x[i]*C[i]; } printf(“Z=%.2f”,Z); break; } print(); p=find_line(q); printf(“np=%d,q=%d”,p,q); if(q==-1)break; exchange(p,q); } return 0;} int mincz(){ int i,k=0; int flag=0;//檢驗數(shù)標(biāo)記 float min=0; for(i=0;i if(cn[i]>=0) flag=1; else { flag=0; break; } if(flag==1) return-1; //進(jìn)行到此處,說明存在<0的檢驗數(shù) //找到最小的檢驗數(shù),作為換入變量 for(i=0;i if(min>cn[i]){ min=cn[i]; k=i; } } return k;} int find_line(int a){ int i,k,j; int flag=0; float min; k=a; for(i=0;i if(A[i][k]<=0) flag=1; else { flag=0; break; } if(flag==1){ printf(“n該線性規(guī)劃無最優(yōu)解!n”); return-1; } for(i=0;i if(A[i][k]>0) seta[i]=b[i]/A[i][k]; else seta[i]=M; } min=M; for(i=0;i if(min>=seta[i]){ min=seta[i]; j=i; } } num[j]=k+1; CB[j]=C[k]; return j;} void exchange(int p,int q){ int i,j,c,l; float temp1,temp2,temp3; c=p;//行號,換出 l=q;//列號,換入 temp1=A[c][l];//A[c][l]主元 b[c]=b[c]/temp1; for(j=0;j A[c][j]=A[c][j]/temp1;//主元化為1 for(i=0;i if(i!=c) if(A[i][l]!=0){ temp2=A[i][l]; b[i]=b[i]-b[c]*temp2; //主元所在列,其余元素化為0 for(j=0;j A[i][j]=A[i][j]-A[c][j]*temp2; } } temp3=cn[l]; for(i=0;i cn[i]=cn[i]-A[c][i]*temp3;} void print(){ int i,j=0; printf(“n------------n”); for(i=0;i printf(“%8.2ftX(%d)%8.2f ”,CB[i],num[i],b[i]); for(j=0;j printf(“%8.2f ”,A[i][j]); printf(“n”); } printf(“n------------n”); printf(“ttt”); for(i=0;i printf(“ %8.2f”,cn[i]); printf(“n------------n”);} void shuru(){ int i,j;//循環(huán)變量 int k; printf(“請輸入線性規(guī)劃問題的約束條件個數(shù)M:”); scanf(“%d”,&m); printf(“請輸入線性規(guī)劃問題的決策變量個數(shù)N:”); scanf(“%d”,&n); printf(“n請輸入方程組的系數(shù)矩陣A(%d行%d列):n”,m,n); for(i=0;i for(j=0;j scanf(“%f”,&A[i][j]); printf(“n請輸入初始基變量的數(shù)字代碼矩陣:n”); for(i=0;i scanf(“%d”,&num[i]); printf(“n請輸入方程組右邊的值矩陣b:n”); for(i=0;i scanf(“%f”,&b[i]); printf(“n請輸入目標(biāo)函數(shù)各個變量的系數(shù)所構(gòu)成的系數(shù)陣C:n”); for(i=0;i scanf(“%f”,&C[i]); for(i=0;i cn[i]=-C[i]; for(i=0;i k=num[i]-1; CB[i]=C[k]; } } C語言 程序代碼編寫規(guī)范 (初級程序員 討論版) 前言 一個好的程序編寫規(guī)范是編寫高質(zhì)量程序的保證。清晰、規(guī)范的源程序不僅僅是方便閱讀,更重要的是能夠便于檢查錯誤,提高調(diào)試效率,從而最終保證軟件的質(zhì)量和可維護性。 說明 此文擋還在完善改進(jìn)中,如有不足,歡迎指正。本文檔主要適用于剛剛開始接觸編程的初學(xué)者。 對于具有一定工程項目開發(fā)經(jīng)驗的程序員,建議學(xué)習(xí)C語言程序代碼編寫規(guī)范—高級版。 目錄 代碼書寫規(guī)范 2 注釋書寫規(guī)范 3 命名規(guī)范內(nèi)容代碼書寫規(guī)范 1.1函數(shù)定義 每個函數(shù)的定義和說明應(yīng)該從第1列開始書寫。函數(shù)名(包括參數(shù)表)和函數(shù)體的花括號(“{”和“}”)應(yīng)該各占一行。在函數(shù)體結(jié)尾的括號(“}”)后面應(yīng)該加上注釋,注釋中應(yīng)該包括函數(shù)名,這樣比較方便進(jìn)行括號配對檢查,也可以清晰地看出來函數(shù)是否結(jié)束。 范例1:函數(shù)的聲明 void matMyFunction(int n){ …… } /* matMyFunction*/ 1.2空格的使用 使用空格分割所有演算符號和操作數(shù)。 這條規(guī)則的例外是“->”,““.”, “()”和“[]”,這些操作符和操作數(shù)之間不空格。當(dāng)需要把一個程序行的內(nèi)容分成幾行寫時,操作符號應(yīng)該放在行末,而不是下一行的開頭。 1.3縮進(jìn)的設(shè)置 代碼書寫應(yīng)該遵從結(jié)構(gòu)化的要求,采用縮進(jìn)的格式。最小縮進(jìn)量為4個空格,整個文件內(nèi)部應(yīng)該統(tǒng)一,不要混用Tab鍵和4個空格這兩種情況,因為不同的編輯器對Tab鍵的處理方法不同。 1.4折行的使用 每行的長度不要超過80個字符,當(dāng)程序行太長時,應(yīng)該分行書寫。分行時應(yīng)該按照自然的邏輯關(guān)系進(jìn)行,例如:不要把一個簡單的邏輯判斷寫在兩行上。 分行后的縮進(jìn)應(yīng)該按照程序的邏輯關(guān)系進(jìn)行對齊。例如:參數(shù)表折行后,下面的行應(yīng)該在參數(shù)表左括號的下方。 范例2:折行的格式dwNewShape = matAffineTransform(coords, translation,rotation); if(((new_shape.x > left_border)&& (new_shape.x < right_border))&& ((new_shape.y > bottom_border)&& (new_shape.y < top_border))){ draw(new_shape);} 1.5嵌套語句(語句塊)的格式 對于嵌套式的語句--即語句塊(如,if、while、switch等)應(yīng)該包括在花括號中?;ɡㄌ柕淖罄ㄌ枒?yīng)該單獨占一行,并與關(guān)鍵字對齊。建議即使語句塊中只有一條語句,也應(yīng)該使用花括號包括,這樣可以使程序結(jié)構(gòu)更清晰,也可以避免出錯。建議對比較長的塊,在末尾的花括號后加上注釋以表明該語言塊結(jié)束。 范例3:嵌套語句格式 if(value < max){ if(value!= 0) { func(value); } } } else { error(“The value is too big.”);} /* if(value < max)*/ 注釋書寫規(guī)范 注釋必須做到清晰,準(zhǔn)確地描述內(nèi)容。對于程序中復(fù)雜的部分必須有注釋加以說明。注釋量要適中,過多或過少都易導(dǎo)致閱讀困難。 2.1注釋風(fēng)格 語言中使用一組(/* … */)作為注釋界定符。注釋內(nèi)容盡量用英語方式表述。 注釋的基本樣式參考范例4。 注釋應(yīng)該出現(xiàn)在要說明的內(nèi)容之前,而不應(yīng)該出現(xiàn)在其后。 除了說明變量的用途和語言塊末尾使用的注釋,盡量不使用行末的注釋方式。 范例4:幾種注釋樣式 /* * ************************************************* 強調(diào)注釋 * ************************************************ */ /* * 塊注釋 */ /* 單行注釋 */ int i;/*行末注釋*/ 2.2何時需要注釋 如果變量的名字不能完全說明其用途,應(yīng)該使用注釋加以說明。 如果為了提高性能而使某些代碼變得難懂,應(yīng)該使用注釋加以說明。對于一個比較長的程序段落,應(yīng)該加注釋予以說明。如果設(shè)計文檔中有流程圖,則程序中對應(yīng)的位置應(yīng)該加注釋予以說明。 如果程序中使用了某個復(fù)雜的算法,建議注明其出處。 如果在調(diào)試中發(fā)現(xiàn)某段落容易出現(xiàn)錯誤,應(yīng)該注明。命名規(guī)范 3.1常量、變量命名 用#define定義的符號常量全部采用大寫。 變量命名的基本原則: 可以選擇有意義的英文(小寫字母)組成變量名,使人看到該變量就能大致清 楚其含義。 不要使用人名、地名和漢語拼音。 如果使用縮寫,應(yīng)該使用那些約定俗成的,而不是自己編造的。 多個單詞組成的變量名,每個單詞的首字母應(yīng)該大寫。如:dwUserInputValue。 3.2函數(shù)命名 函數(shù)命名原則與變量命名原則基本相同。對于初學(xué)者,函數(shù)命名可以采用 “FunctionName”的形式。 漢諾塔c語言程序代碼(通過vc++6.0驗證)(附講解)讓我們先看看代碼吧 #include printf(“%d->%dn”,a,c);else {t=c;c=b;b=t;hj(a,b,c,i-1);printf(“%d->%dn”,a,b);t=a;a=c;c=t;t=b;b=c;c=t;hj(a,b,c,i-1);return 0;} } main(){ int a,b,c,i;a=1;b=2;c=3;printf(“請輸入漢諾塔的盤數(shù)”);scanf(“%d”,&i);hj(a,b,c,i);return 0;} 以上是漢諾塔的代碼,該程序主要是運用了遞歸的思想,比如數(shù)學(xué)中的f(x)=f(x-1)+f(x-2),在本程序中為:int hj(int a,int b, int c,int i){ int t;if(i==1) printf(“%d->%dn”,a,c);else {t=c;c=b;b=t;hj(a,b,c,i-1);也就是說,我們在這個函數(shù)中再次調(diào)用這個函數(shù),相當(dāng)于一個循環(huán),而在再次調(diào)用的過程中,i的值變成i-1,就類似于f(x-1),這樣層層調(diào)用,最終就變成當(dāng)i=1的時候的值,然后通過運算,計算出想要得到的值。漢諾塔的數(shù)值分析: 我們可以發(fā)現(xiàn),當(dāng)只有一個盤的時候,我們只需要做1->3(就是把第一個柱子上的最頂端的盤移動到第三根柱子,以下不再解釋)當(dāng)有兩個盤的時候,是1->2 1->3 2->3 三個盤子是:1->3 1->2 3->2 1->3 2->1 2->3 分析一下可以得出以下結(jié)論: 初始值a=1 b=2 c=3 一個盤子就是a->c 兩個盤子與一個盤子的關(guān)系是: 第一步:b與c交換值,然后打印a->c 第二步:打印a->b 第三步:a與c交換值,b與c交換值,打印a->c 進(jìn)一步分析,便可以得出以下結(jié)論 只要盤子數(shù)量為i(i大于1),那么它就有三部分 第一部分,b與c交換值,然后運行i-1 第二部分,打印a->b 第三部分,a與c交換值,b與c交換值,然后運行i-1 程序表示便是: if(i==1) printf(“%d->%dn”,a,c);else {t=c;c=b;(交換值) b=t;hj(a,b,c,i-1);printf(“%d->%dn”,a,b);t=a;a=c;c=t;(a c交換) t=b;b=c;c=t;(b c交換) hj(a,b,c,i-1);不明加QQ765233918(請寫清備注) 1->3 用c語言實現(xiàn)單純形法的編程 #include “stdio.h” #include “math.h” #include 學(xué)C語言有感 姓 名: 李文麗 學(xué) 號:034108048 班 級:083411 指導(dǎo)老師:張印 2009年12月 學(xué)C語言有感 第1頁 學(xué)C語言有感 摘要:C語言既有高級語言的特點,又具有匯編語言的特點;既能用來編寫不依賴計算機硬件的應(yīng)用程序,又能用來編寫各種系統(tǒng)程序;是一種受歡迎、應(yīng)用廣泛的程序設(shè)計語言C語言版本。首先按照學(xué)習(xí)C語言的順序分別介紹了我在學(xué)習(xí)C語言過程中所遇到的問題,敘述了在C語言學(xué)習(xí)過程,學(xué)習(xí)C語言的重點,難點,以及易出錯的地方,并且用具體的案例做解釋。然后闡述了學(xué)習(xí)C語言的體會:C語言的語法部分是學(xué)好C語言的基礎(chǔ),學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。最后總結(jié)學(xué)習(xí)c語言,既是件有趣的事情,又是件艱苦的事情。靜下心來學(xué)習(xí),我們會有所收獲,更會其樂無窮的。 關(guān)鍵詞:運算符 表達(dá)式 優(yōu)先級 語句 變量 一、C語言的學(xué)習(xí)中的問題 在這個學(xué)期里,我們工商管理專業(yè)的學(xué)生在專業(yè)老師張印的帶領(lǐng)下進(jìn)行了實用c語言簡明教程的學(xué)習(xí)。經(jīng)過這一個學(xué)期的學(xué)習(xí),我們已經(jīng)對c語言這門課程有了一定的了解。C語言是一門最基礎(chǔ)的語言,也是一門廣泛使用的語言。所以學(xué)習(xí)C語言義不容辭 首先,在學(xué)習(xí)的最初幾節(jié)課,老是主要向我們講述了C語言的特點,學(xué)習(xí)C語言的意義,以及學(xué)習(xí)C語言能給我們所帶來的方便優(yōu)越之處。 C語言是一種結(jié)構(gòu)化語言。它層次清晰,簡潔緊湊、靈活方便,便于按模塊化方式組織程序,易于調(diào)試和維護。C語言的表現(xiàn)能力和處理能力極強,語法限制不太嚴(yán)格、程序設(shè)計自由度大。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作,適用范圍大,可移植性好??傊珻語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統(tǒng)設(shè)計語言,有是一個使用的程序設(shè)計語言;既能用來編寫不依賴計算機硬件的應(yīng)用程序,又能用來編寫各種系統(tǒng)程序;是一種受歡迎、應(yīng)用廣泛的程序設(shè)計語言C語言版本。 當(dāng)然,C語言也有自身的不足,比如:C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)族下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語 學(xué)C語言有感 第2頁 言較難掌握。 下面我給大家說一說我在學(xué)習(xí)C語言過程中所遇到的問題。 在第二章,我們學(xué)習(xí)的是數(shù)據(jù)描述與基本操作。在這一章,我們主要講了數(shù)據(jù)類型,運算符與表達(dá)式,和不同類型數(shù)據(jù)間的混合運算。其中比較難以理解和掌握的是自加、自減運算符。 自加、自減運算符作用是使變量的值增1或減1;當(dāng)符號在前,變量在后,++i/--i 變量的值先加1或先減1,然后再參與其它運算。當(dāng)符號在后,變量在前,++i/--i 變量的值先參與其它運算,然后再加1或先減1。例如: # include 1.自加運算符(++)和自減運算符(--)只能用于變量,而不能用于常量或表達(dá)式,如6++或(a+b)++都是不合法的。因為5是常量,常量的值是不能改變的。(a+b)++也不可能實現(xiàn),假如a+b的值為5,那么自加后得到的6放在什么地方? 2.++和--的結(jié)合方向是“自右向左”。負(fù)號運算符和++運算符同優(yōu)先級,而結(jié)合方向為“自右向左”,即它相當(dāng)于-(i++),如果有printf(“%d”,-i++),則先取出i的值3,輸出-i的值-3,然后i增值為4。注意-(i++)是先用i的原值3加上負(fù)號輸出-3,再對i加1,不要認(rèn)為加完1后再加負(fù)號,輸出-4,這是不對的。 例如,x=a*b+c%d 無所謂; 例如,a=3;y=a*++a;不同的編譯系統(tǒng)有兩種處理方式,結(jié)果不同: A)按從左到右的順序處理為:先取a的值3,再計算++a,a的值 自增為4,子表達(dá)式++a的值也為4,所以相乘的結(jié)果為12; 學(xué)C語言有感 第3頁 B)按從右到左的順序處理為:先計算++a,a的值自增為4,子表達(dá)式++a的值也為4,再取a的值為4,所以相乘的結(jié)果為16。 在第三章我們講的是順序結(jié)構(gòu)程序設(shè)計,其中所涉及的主要問題說優(yōu)先級。 說到優(yōu)先級什么叫優(yōu)先級?比方說,我們在公交車終點站排座隊時總會遇到70歲以上的老人不需要排隊就能上車的情景,這就是優(yōu)先級的涵義。C程序在運行時也象排隊坐車一樣,首先照顧那些優(yōu)先級高的運算符,若是優(yōu)先級相同,那么就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。 下面我們通過幾個例子來說明: (1)3*20/4%10 這個表達(dá)式中出現(xiàn)3種運算符,是同級運算符,運算順序按從左至右結(jié)合,因此先計算3 * 20=60,然后被4除,結(jié)果為15,最后是%(求余數(shù))運算,所以表達(dá)式的最終結(jié)果為15%10 = 5(2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 例子中的“;”是C語言的語句分隔符,執(zhí)行順序為從左到右,第1條語句執(zhí)行后a的值為3,第2條語句執(zhí)行后b的值為5,第3條語句中有兩個運算符前置+ +和*,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運算,所以a的值4參與運算,C的值為20,最后執(zhí)行第4條語句,由于a + +為后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。這個例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20。(3)a = 3,b = 5,b+ = a,c = b* 5 例子中的“,”是逗號結(jié)合運算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。 但是C語言中的優(yōu)先級的運算并不是千篇一律的,只能說是在大多數(shù)情況下,有些運算符的優(yōu)先級有其自己的特點,因此這點大家要注意。例如條件表達(dá)式:條件?結(jié)果1:結(jié)果2,這種表達(dá)式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運算時的優(yōu)先級就不是按照C語言的規(guī)則來完成的。所以說對于優(yōu)先級各位編程愛好者一定靈活掌握,不要死記硬背。 第三四章的選擇結(jié)構(gòu)程序設(shè)計和循環(huán)結(jié)構(gòu)設(shè)計說我們這學(xué)期所學(xué)內(nèi)容的重點。在這里,學(xué)者結(jié)構(gòu)程序設(shè)計比較簡單,我們就不多說了,主要談一下循結(jié)構(gòu)環(huán)程序設(shè)計。 學(xué)C語言有感 第4頁 循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來描述重復(fù)執(zhí)行某段算法的問題,這是程序設(shè)計中最能發(fā)揮計算機特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do –while循環(huán)和for循環(huán)。四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提昌用goto循環(huán),所以下面我們重點講解另外的三種循環(huán)。 用while和do—while循環(huán)時,循環(huán)變量的初始化的操作應(yīng)在循環(huán)體之前,而for循環(huán)是在語句1中進(jìn)行的;while 循環(huán)和for循環(huán)都是先判斷表達(dá)式,后執(zhí)行循環(huán)體,而do—while循環(huán)是先執(zhí)行循環(huán)體后判斷表達(dá)式,也就是說do—while的循環(huán)體最少被執(zhí)行一次,而while 循環(huán)和for就不一定了。這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán),而goto語句與if構(gòu)成的循環(huán),不能用break和 continue語句進(jìn)行控制。這三種結(jié)構(gòu)并不是彼此孤立的,在循環(huán)中可能出現(xiàn)分支、順序結(jié)構(gòu),分支中也可能出現(xiàn)循環(huán)、順序結(jié)構(gòu)而把循環(huán)、分支看成一個語句,它又是構(gòu)成順序結(jié)構(gòu)的一個元素,因此這三種結(jié)構(gòu)相互結(jié)合,就能實現(xiàn)各種算法,設(shè)計出解題程序,但若是很大的題目,這樣編出的程序往往很長,重復(fù)結(jié)構(gòu)多,并且可閱讀性差,因此我們常將C程序設(shè)計成模塊化結(jié)構(gòu)。 二、C語言學(xué)習(xí)的重點、難點 針對我個人而言,在C語言學(xué)習(xí)過程,學(xué)習(xí)C語言的重點,難點,以及易出錯的地方主要有以下幾個方面: 如果對幾個變量賦予同一個初值,應(yīng)寫成: int a=3,b=3,c=3;表示a、b、c的初值都是3。不能寫成: int a=b=c=3;2 強制類型轉(zhuǎn)換其一般形式為(類型名)(表達(dá)式)表達(dá)式應(yīng)該用括號括起來。如(int)(x+y)表示將x+y的值轉(zhuǎn)換成整形如果寫成(int)x+y則表示將x轉(zhuǎn)換成整形,然后與y相加。使用scanf函數(shù)注意的問題: ①“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)是變量名。如 scanf(“%d”,a)是不對的,應(yīng)改為scanf(“%d”,&a);②scanf函數(shù)格式控制最后面不能有n否則將沒有結(jié)果輸出如scanf(“%dn”,&a);是不對的。③輸入數(shù)據(jù)時不能規(guī)定精度,如scanf(“%7.2f”),&a);是不合法的 ④如果在%后有一個“*”附加說明符,表示跳過它指定的列數(shù)。 學(xué)C語言有感 第5頁 三、學(xué)習(xí)c語言的體會 在經(jīng)過了一個學(xué)期的學(xué)習(xí)之后,對于學(xué)習(xí)c語言心得體會也總結(jié)了一下: 1、既然是一門語言,他就漢語,英語一樣,都有自己的語法規(guī)則,學(xué)習(xí)一門語言,就是要按照它的語法來編程。C語言的語法部分是學(xué)好C語言的基礎(chǔ),只有學(xué)好了這些語法,才會寫程序,看程序。所以對一個初學(xué)者來說,加深對課堂講授內(nèi)容的理解,要扎實地熟悉每一個語法,并能根據(jù)這些語法來編程。 2、課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。通過多次上機練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實踐中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計,缺乏程序設(shè)計的實踐所致。 3、學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。學(xué)習(xí)C語言是沒有什么捷徑的,打好基礎(chǔ),做好每章的練習(xí)才是關(guān)鍵。尤其是書本里的習(xí)題,不能因為簡單就不去實踐,學(xué)習(xí)C語言,乃至于學(xué)習(xí)所有的電腦知識都是一樣的,實踐練習(xí)永遠(yuǎn)處于最為重要的地位,須知電腦是要實際操作的,對于C語言,更是要是把這個程序自己編出來并且運行成功,知識點才記得最為深刻。 通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在程序設(shè)計領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去“掩蓋”程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調(diào)試運行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。學(xué)習(xí)c語言更為重要的是掌握編程的思想,如何用簡捷的方法解決一個問題。同樣做一個循環(huán)問題,可能有人要做300次循環(huán),而有的人要做100次,這就是差距。平時,我們學(xué)習(xí)的時候要注意掌握每個概念,當(dāng)然理論的學(xué)習(xí)是離不開實踐的,尤其是c語言,需要你編寫大量的程序,最初可以學(xué)著別人的程序打,慢慢就應(yīng)該獨立出來,把自己的想法用c語言描述出來,這是一件十分快樂的事情。建議初學(xué)者不要看高級編程,先勤寫代碼、多看代碼、培 學(xué)C語言有感 第6頁 養(yǎng)風(fēng)格、熟悉語法、最關(guān)鍵的還是把握思想。當(dāng)你能夠信手拈來的時候,你的c語言才可以說學(xué)會了。一定要養(yǎng)成自己獨立寫完一個程序的能力,這樣可以有一種成就感。不斷培養(yǎng)這種成就感,循序漸進(jìn),進(jìn)步是自然的事情。 四、總結(jié) 學(xué)習(xí)c語言,既是件有趣的事情,又是件艱苦的事情。說它有趣,是因為從中你能得到快樂,能使你的計算機整體水平上升一大步。說它艱苦,是因為學(xué)習(xí)它的過程比起學(xué)習(xí)其他計算機知識,要難得多 C語言只是一門計算機語言,說到底就是一種工具。它的用處就是可以讓你用它編出能夠運行的程序來,而這些程序可以實現(xiàn)某些人需要的功能。人通過學(xué)習(xí)c語言也可以更加深入的了解計算機,所以很多人都把c語言作為計算機入門的第一門語言來學(xué)習(xí),因為他學(xué)習(xí)起來相對簡單一些。至于實際的意義,無非是讓你多學(xué)會一門技能,讓你更加深入對計算機的了解,為學(xué)習(xí)其他計算機語言打下好的基礎(chǔ)。 學(xué)習(xí)最好抱著一種踏踏實實的心態(tài),老是想著有什么實際的好處并不會促進(jìn)我們的學(xué)習(xí),因為知識對人的影響是潛移默化的,靜下心來學(xué)習(xí)吧,我相信我們會有收獲的!而且如果你真的用心學(xué)習(xí),會發(fā)現(xiàn)學(xué)起來越來越有意思,也會給你帶來無窮的樂趣的! 學(xué)C語言有感 第7頁 參考文獻(xiàn): [1] 3 沈其益等編著,棉花病害——基礎(chǔ)理論與防治,北京:科學(xué)出版社,1992.7 [2] 3 沈其益、張三等編著,棉花病害——基礎(chǔ)理論與防治,北京:科學(xué)出版社,1992.7。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。參考文獻(xiàn)(不少于10篇,中文參考文獻(xiàn)不少于7篇,英文不少于3篇) 學(xué)C語言有感 第8頁 學(xué)C語言有感 第9頁 文檔為doc格式 如何學(xué)C語言(一)“項目驅(qū)動”式教學(xué)目前最著名、最有影響、應(yīng)用最廣泛的windows、linux和UNIX三個操作系統(tǒng)都是用C語言編寫的。0S是計算機系統(tǒng)(由軟硬件兩個子系統(tǒng)構(gòu)成)的核心...... 1. 算法(Algorithm)是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決
問題的策略機制。也就是說,能夠?qū)σ欢ㄒ?guī)范的輸入,在有限時間內(nèi)獲得所要求的輸出。
2. 算法具有...... 整形
字符型 單精度型基本類型雙精度型枚舉類型數(shù)組類型構(gòu)造類型結(jié)構(gòu)體類型
數(shù)據(jù)類型
共同體類型指針類型(C語言的精華)空類型整形:int
字符型 char
單精度實型 float雙精度實...... Home Exam List Notification Problem Ranklist Message User Information HJP-2013學(xué)期作業(yè) 程序設(shè)計題1. (10分) 一秒鐘以后題目描述 輸入某時刻的時、分...... 第十章 結(jié)構(gòu)體與共用體 10.1 選擇題 【題10. 1】已知學(xué)生記錄描述為 struct student {int no; char name[20]; char set; struct {int year; int month; int day; }bi...... Description 編寫程序,輸入三個整數(shù)變量hour(小時)、minute(分鐘)、second(秒)代表一個時間, 輸出該時間20秒以后的時間。 輸入格式 一行三個整數(shù),分別代表小時、分鐘、秒,中間使用冒...... 1.編寫一程序P111.C實現(xiàn)以下功能 x(x只考慮整數(shù)int且必須定義為int、但F(x)完全可能超過int的表示范圍)通過鍵盤輸入(輸入前給出提示Please input x:),然后計算并在屏幕上輸...... 第1章 C語言程序設(shè)計初步 本章是C語言程序設(shè)計的入門部分, 從整體上介紹C語言的起源和發(fā)展,講述C語言的特點、結(jié)構(gòu)和基礎(chǔ)語法要點。 1.1 C語言概述 1.1.1 C語言的發(fā)展 C語言是界上......第二篇:C語言 程序代碼編寫規(guī)范
第三篇:漢諾塔c語言程序代碼
第四篇:用c語言實現(xiàn)單純形法的編程
Dn[K])K=i;for(i=0;i 第五篇:c語言
聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。 如何學(xué)C語言
C語言
C語言
C語言
C語言
C語言
c語言
C語言