摘要:《C語言程序設(shè)計》[1]是我校鐵道機車、智能產(chǎn)品開發(fā)與應(yīng)用專業(yè)開設(shè)的一門專業(yè)必修課??紤]我校學(xué)情,同時結(jié)合學(xué)院人才培養(yǎng)方案、課程標(biāo)準(zhǔn)選取了本學(xué)期的教學(xué)內(nèi)容:順序結(jié)構(gòu)程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、C語言函數(shù)等,本文中所涉及的知識點均來自于此。挖掘此門課程的思政元素,以期能打造有情懷、有溫度的課堂;增添學(xué)生的學(xué)習(xí)興趣;幫助學(xué)生德智技并進;發(fā)揮其滲透功能、實施價值引領(lǐng)、提高該門課程的教學(xué)質(zhì)量。
關(guān)鍵詞:C語言程序設(shè)計;思政元素
一、沒有規(guī)矩不成方圓
C語言算法設(shè)計時允許使用變量,給變量取名至關(guān)重要。C語言中明確規(guī)定了變量命名規(guī)則:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線[2]。對此規(guī)則,同學(xué)們能做到爛熟于心,但在應(yīng)對各種類型的考題時常常出錯。例如,請識別下列標(biāo)識符的正誤:sum,average,_3a , a3_,a_3,azhongguo(6個命名均正確);M.D.John,¥123,#33, a>b,3-a,a中國(6個命名中分別出現(xiàn)了非法字符:.,¥,#,>,-,中國);3D64,3_a(命名均因第一個字符是數(shù)字而錯誤)。變量的命名規(guī)則使用是否得當(dāng)直接會影響到程序編譯過程能否順利通過,這就如同身在校園、單位、社會中的每個人,我們都必須遵紀(jì)守法,遵守各項規(guī)章制度,這樣既能順其道而行之又能明白規(guī)則守得方圓。
二、做事需分清緩急、條理清明
C語言常用運算符有:算術(shù)運算符、關(guān)系運算符、賦值運算符、逗號運算符、等[3],當(dāng)同一個表達式中出現(xiàn)多個運算符時,應(yīng)考慮運算符優(yōu)先級別次序。常見運算符從高到低依次是:!(邏輯非)、算術(shù)運算符、關(guān)系運算符、&&和||、賦值運算符?,F(xiàn)階段的C程序編譯軟件大多帶有運算符優(yōu)先級別次序表,需要時直接查詢使用即可?,F(xiàn)舉例如下:已知a=3,求z=(a=a+3,3*4,a=4*a,a+6)的值。分析:問題轉(zhuǎn)化為求逗號表達式(a=a+3,3*4,a=4*a,a+6)的值。計算過程:a=a+3a=6;a=4*a=4*6a=24;a+6=24+6=30;3*4對計算逗號表達式的值沒有意義,因為其中沒有a,所以z=30。這個計算過程體現(xiàn)了:當(dāng)多個運算符出現(xiàn)時,我們應(yīng)先算高優(yōu)先級運算符再算低優(yōu)先級運算符連接的表達式。同理,在生活或工作中我們難免會同時接到多項任務(wù),這就需要我們對各項任務(wù)進行梳理,把任務(wù)按輕重緩急進行標(biāo)注,重要的事情、緊迫的事情先完成,這樣既能條理清晰、有條不紊,又能保證高效率、高質(zhì)量。
三、凡事貴在堅持
C語言中常常采用循環(huán)結(jié)構(gòu)進行程序設(shè)計,而循環(huán)程序的編程思想:對給定的條件進行判斷。當(dāng)給定的條件成立時,重復(fù)執(zhí)行給定的程序段,知道條件不成立時為止?,F(xiàn)以for循環(huán)為例說明其運算過程。請用程序?qū)崿F(xiàn)在屏幕中用*字符顯示如圖所示菱形圖案。
#include<stdio.h>
#include <math.h>
int main()
{int i,j,k;
for(i=-3;i<=3;i++)//當(dāng)i=-3時,-3<=3真;當(dāng)i=-2時,-2<=3真;當(dāng)i=-1時
{for(j=1;j<=abs(i);j++)//當(dāng)i=-3時:j=1,1<=3真,顯示第一個空格,j=2,2<=3真,顯示第二個空制,j=3,3<=3真,顯示第三個空格,j=4,4<=3假,第一個內(nèi)循環(huán)第1次結(jié)束;當(dāng)i=-2時:j=1,1<=2真,顯示第一個空格,j=2,2<=2真,顯示第二個空格,j=3,3<=2假,第一個內(nèi)循環(huán)第2次結(jié)束;
printf("");
for (k=1;k<=7-2*abs(i);k++)//當(dāng)i=-3時:k=1,1<=1真,第一次顯示星形,k=2,2<=1假,第二個內(nèi)循環(huán)第1次結(jié)束;當(dāng)i=-2時:k=1,1<=3真,第一次顯示星形,k=2,2<=3真,第二次顯示星形;k=3,3<=3真,第三次顯示星形,k=4,4<=3假,第二個內(nèi)循環(huán)第2次結(jié)束;
printf("*");
printf("\n");//當(dāng)i=-3時第一次換行;當(dāng)i=-2時第二次換行
}return 0;}
從該例中我們使用了for循環(huán)語句,在編譯器中運行時瞬間可顯示結(jié)果,但要理清程序運行的過程還是很繁瑣的,需要我們一遍又一遍的運行程序,為了最后的結(jié)果,需要耐心堅持到底。貴在堅持的精神不僅理清循環(huán)結(jié)構(gòu)有用,在我們生活或?qū)W習(xí)中遇到困難時也必不可少,只有我們保持積極向上的勢頭,生活才會更美好。
四、化繁為簡分而治之
函數(shù)是我們在程序設(shè)計時常常使用的程序模塊,C語言中一個程序常常由一個主函數(shù)main()和若干個模塊化的子函數(shù)構(gòu)成,按功能劃分成各個模塊,這樣可以減低難度,各個擊破,容易達到目標(biāo)?,F(xiàn)以求兩個整數(shù)中的較大者為例加以說明。
#include <stdio.h>
int main()
{int max(int x,int y);
int a,b,c;scanf("%d,%d",&a,&b);
c=max(a,b);printf("max=%d\n",c);return 0;}
int max(int x,int y)//定義max函數(shù),函數(shù)值為整型,形參x和y為整型
{int z;if(x>y)z=x;else z=y;return(z);}
這個例子中用到了子函數(shù)max()讓整數(shù)比較變得簡單直觀,初學(xué)者對算法思路容易理解編寫程序時也容易實現(xiàn)。同理,我們在生活中遇到困難棘手的事情時也不能一味彷徨,需要發(fā)揮我們的聰明才智想辦法,把困難化繁為簡,分而治之。
C語言知識點融入思政元素并與生活中的示例相結(jié)合,豐富了課堂內(nèi)容,避免了說教的尬尷,用淺顯易懂的方式讓學(xué)生提升思想意識,反之亦能更好的理解課程中的知識點。從實施前后來看:學(xué)生興趣濃厚、積極上進,做事條理清楚、遇事胸有成竹;同時,教師不斷分析整理信息、創(chuàng)新設(shè)計教案、嚴(yán)格把控思政元素,為青少年的德智技發(fā)展指明了方向。C語言的思政元素還有很多,不再一一贅述,不足之處請批評指正。
參考文獻:
[1]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2017.
[2]陳良銀,游洪躍,李旭偉.C語言教程.北京:高等教育出版社,2018.
[3]李國和.C語言及其程序設(shè)計.北京:電子工業(yè)出版社,2018.
作者簡介:蒲靈巧(1979-),女,四川鹽亭人,講師,碩士,研究方向:計算機科學(xué)與技術(shù)單位:四川鐵道職業(yè)學(xué)院。