国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于漢語思維的“C語言程序設(shè)計(jì)”教學(xué)研究

2024-01-07 05:31
無線互聯(lián)科技 2023年22期
關(guān)鍵詞:C語言程序設(shè)計(jì)初學(xué)者C語言

吳 陽

(無錫太湖學(xué)院 智能裝備工程學(xué)院,江蘇 無錫 214064)

0 引言

隨著信息時代的到來,計(jì)算機(jī)技術(shù)已經(jīng)深入生活的方方面面,學(xué)習(xí)計(jì)算機(jī)編程語言十分重要。在計(jì)算機(jī)編程語言中,C語言是程序設(shè)計(jì)基礎(chǔ)課程中不可或缺的一環(huán)。尤其對應(yīng)用類本科院校非計(jì)算機(jī)類專業(yè)的學(xué)生,C語言課程的學(xué)習(xí)非常必要[1-3]。但是,對于很多初學(xué)者而言,由于C語言本身的特點(diǎn),語法和概念難以理解,加上許多初學(xué)者難以及時轉(zhuǎn)換漢語和計(jì)算機(jī)編程的不同思維模式,學(xué)習(xí)吃力,事倍功半。

在學(xué)習(xí)C語言過程中,學(xué)生需要掌握基本的語法規(guī)則、程序結(jié)構(gòu)和編程思路等,同時還需要掌握一定的算法思想和代碼能力[4]。然而,在傳統(tǒng)的“C語言程序設(shè)計(jì)”教學(xué)中存在很多問題,如學(xué)生的語言思維能力較差、計(jì)算機(jī)編程能力與日常應(yīng)用能力脫節(jié)等,這些問題都給教學(xué)工作帶來了不小的挑戰(zhàn)。為此,本文剖析C語言教學(xué)過程,引導(dǎo)學(xué)生基于漢語思維的角度轉(zhuǎn)換為編程思想學(xué)習(xí)C語言,從而用計(jì)算機(jī)語言來告訴計(jì)算機(jī)如何去做。通過改變傳統(tǒng)教學(xué)方式,引導(dǎo)學(xué)生積極主動參與到學(xué)習(xí)中來,達(dá)到更好的教學(xué)目的。本文探討基于漢語思維學(xué)習(xí)C語言的方法,旨在幫助初學(xué)者更好地理解C語言,為學(xué)生的可持續(xù)發(fā)展打下基礎(chǔ),尤其對應(yīng)用型本科院校學(xué)生的培養(yǎng)具有重要意義。

1 C語言的概述

計(jì)算機(jī)語言是一種用于與計(jì)算機(jī)進(jìn)行交流的方式,是一種人與計(jì)算機(jī)之間的溝通工具,用于編寫和運(yùn)行計(jì)算機(jī)程序。計(jì)算機(jī)語言發(fā)展至今經(jīng)歷了機(jī)器語言(由0和1組成的指令)、符號語言(用英文字母和數(shù)字表示指令)、高級語言(接近于人的自然語言和數(shù)學(xué)語言)等階段,其中,C語言是一種廣泛使用的計(jì)算機(jī)編程語言[5],被廣泛應(yīng)用于系統(tǒng)編程和應(yīng)用程序開發(fā)。C語言具有簡潔、高效、靈活和可移植等特點(diǎn),使得它成為編寫操作系統(tǒng)、嵌入式系統(tǒng)和各種應(yīng)用程序的首選語言之一。掌握C語言的基礎(chǔ)概念和語法后,開發(fā)者可以更加深入地理解計(jì)算機(jī)系統(tǒng)和算法,并且能夠編寫出高效、可靠的程序。

2 教與學(xué)中存在的問題

C語言是一種計(jì)算機(jī)編程語言。在C語言的學(xué)習(xí)過程中,除了基本的編譯器使用之外,更重要的是用計(jì)算機(jī)可以理解的程序思維來編寫程序[6]。學(xué)生需要理解和掌握大量的編程概念和術(shù)語,如變量、循環(huán)結(jié)構(gòu)、條件判斷等,這就需要較強(qiáng)的語言思維能力。但是,當(dāng)前很多學(xué)生的語言思維能力并不強(qiáng)。另外由于C語言是以英美西方國家人們的思維方式來定義的,而英語和漢語在表達(dá)順序上差異較大,對于首次接觸C語言的人來說就難以理解,思維轉(zhuǎn)換不過來,導(dǎo)致力不從心,因而影響了對C語言的理解和掌握。

2.1 教的問題

傳統(tǒng)的教學(xué)方式缺乏結(jié)合學(xué)生的實(shí)際生活情景,主要采用“滿堂灌”的方式,通常,教師先講解理論,然后讓學(xué)生上機(jī)操作,將教師作為知識的源泉,而將學(xué)生作為被動的接受者。這種方式并不能充分發(fā)揮學(xué)生的主體性和思維能力,也不利于學(xué)生對知識的理解和應(yīng)用,主體性難以發(fā)揮,并不能真正地理解問題及背后的思維,不能對知識進(jìn)行遷移[7]。

另一方面理論和實(shí)踐脫節(jié)。在C語言學(xué)習(xí)過程中,存在過于注重理論知識,而忽視實(shí)踐環(huán)節(jié)。因此,在實(shí)際應(yīng)用中,學(xué)生可能會遇到各種問題,很難真正掌握C語言的使用技巧。雖然掌握C語言的基本概念和語法是重要的,但是理論知識無法真正體現(xiàn)實(shí)踐能力。學(xué)習(xí)C語言時,需要結(jié)合實(shí)踐任務(wù)進(jìn)行學(xué)習(xí),讓學(xué)生在具體的應(yīng)用場景下進(jìn)行編碼和調(diào)試,加深對知識的理解和掌握,才能更好地掌握語言的運(yùn)用。

評價體系不完善。由于知識的多樣性,C語言評價過程過于借助分?jǐn)?shù)來評分,容易忽略學(xué)生技能和實(shí)踐經(jīng)驗(yàn)的維度,而且由于評價方法單一,會導(dǎo)致學(xué)生追求分?jǐn)?shù)而不是真正的技能。因此,對于C語言的學(xué)習(xí),應(yīng)該重視多樣化的評價方法。例如:學(xué)生的缺陷評價,成果和項(xiàng)目提交評價,綜合各項(xiàng)評價因素。

2.2 學(xué)的問題

C語言的語法和概念十分復(fù)雜,許多初學(xué)者都會遇到以下問題。語法過于復(fù)雜:初學(xué)者難以理解C語言的結(jié)構(gòu),例如:程序的入口、組成部分。理念難以掌握:對一些抽象概念的理解困難重重,例如:變量和指針。學(xué)習(xí)效率低下:學(xué)生的學(xué)習(xí)進(jìn)度和接受程度較慢。難以理解邏輯思維:在一個新語言學(xué)習(xí)中,從邏輯角度去掌握程序結(jié)構(gòu)也是非常難的。這些問題的根源在于程序語言的本質(zhì)是一種計(jì)算機(jī)語言,其編寫思想源自于英語或其他西方文化背景,而中文式的思維模式則往往富有詩意和情感,在此基礎(chǔ)上,可以嘗試從漢語角度學(xué)習(xí)C語言,來更好地理解它的語法和概念。

另外,學(xué)生在學(xué)習(xí)中還存在以下問題。沒有良好的編程習(xí)慣:編程習(xí)慣是每個程序員都需要養(yǎng)成的一個良好習(xí)慣。在學(xué)習(xí)C語言的過程中,應(yīng)該注重代碼的可讀性、可維護(hù)性和可擴(kuò)展性。缺乏耐心和毅力:C語言的學(xué)習(xí)需要耐心和毅力,因?yàn)閷W(xué)習(xí)過程中可能會遇到一些困難和挫折,需要有足夠的毅力和決心堅(jiān)持下去。C語言是一門需要不斷實(shí)踐和練習(xí)才能掌握的語言。因此,學(xué)生應(yīng)該在學(xué)習(xí)的同時,不斷練習(xí)和實(shí)踐,將所學(xué)的理論知識轉(zhuǎn)化為實(shí)際應(yīng)用的能力。沒有學(xué)習(xí)C語言的實(shí)際應(yīng)用:在學(xué)習(xí)C語言過程中,很多學(xué)生通常只關(guān)注語言本身,而忽略了C語言在現(xiàn)實(shí)生活中的應(yīng)用價值,從而影響了學(xué)習(xí)的積極性。因此,對于學(xué)生來說,應(yīng)重點(diǎn)強(qiáng)調(diào)C語言在實(shí)際應(yīng)用中的廣泛性以及對應(yīng)用的幫助。

3 C語言學(xué)習(xí)中的教學(xué)方法

3.1 C語言學(xué)習(xí)基礎(chǔ)

計(jì)算機(jī)中的程序是一組指令的集合,用于告訴計(jì)算機(jī)完成特定的任務(wù)或操作。程序由編程語言編寫而成,根據(jù)特定的語法規(guī)則和語義含義來表達(dá)和控制計(jì)算機(jī)的行為。計(jì)算機(jī)執(zhí)行程序時,會按照指令的順序逐步執(zhí)行,以完成所需的任務(wù)[8]。對于初學(xué)者,首先要了解C語言程序的組成。

C語言程序是由實(shí)現(xiàn)程序功能的源文件(后綴為.c 的文件,指明是C語言開發(fā)的)以及頭文件(后綴為.h的文件,h是header的縮寫,包含源文件用到的一些聲明,如函數(shù)的聲明、全局變量的聲明、宏定義、類型的聲明)兩部分組成。

C語言程序由一個main函數(shù)和多個其他函數(shù)組成。一個C語言程序中有且僅有一個main函數(shù)。函數(shù)是程序的基本單位,用來實(shí)現(xiàn)特定的操作。每個函數(shù)是一段可以重復(fù)使用的代碼,可以接收用戶傳遞的數(shù)據(jù)或不接收數(shù)據(jù)。程序設(shè)計(jì)是解決特定問題的過程,使用計(jì)算機(jī)可理解的語言來告訴計(jì)算機(jī)如何進(jìn)行操作。計(jì)算機(jī)只認(rèn)0、1等數(shù)字代碼,因此需要編譯器將高級語言程序解釋成計(jì)算機(jī)需要的機(jī)器語言指令集。采用編譯器的好處在于可以將同一高級語言程序轉(zhuǎn)換為各種不同的機(jī)器語言程序進(jìn)行適應(yīng)。圖1顯示了高級語言程序到計(jì)算機(jī)能識別的機(jī)器語言程序的過程。通過介紹,學(xué)生對“C語言程序設(shè)計(jì)”的整體有了直觀的了解。

圖1 高級語言程序到計(jì)算機(jī)能識別的機(jī)器語言程序過程

3.2 從漢語角度學(xué)習(xí)C語言

由于中文和英語的語言特點(diǎn)存在巨大的差異,因此,從漢語的角度分析C語言的語言特點(diǎn),可以讓學(xué)生更好地理解和掌握C語言。將C語言的語法規(guī)則和漢語的語法規(guī)則進(jìn)行對比,尋找二者的相似之處和不同之處,以提高學(xué)生的語言思維能力。圖2顯示了C語言程序的基本構(gòu)成。

圖2 C語言程序基本構(gòu)成

3.2.1 對C語言的術(shù)語進(jìn)行中英文對照

對C語言的術(shù)語進(jìn)行中英對照,以方便學(xué)生建立中英語言對應(yīng)的概念體系。C語言中的術(shù)語大都是以英文單詞及縮寫組成的,例如下面所示的C語言程序“hello world!”中。

#include //包含頭文件

/*int表示整個函數(shù)返回值的類型與下面的return 0相呼應(yīng) */

int main() //main為程序運(yùn)行的入口,也叫主函數(shù)

{

/*一對大(花)括號即包含代碼段,為實(shí)現(xiàn)程序的主體*/

printf("hello world!");//打印出hello world!

return 0; //返回0,與main前面的int相呼應(yīng)

}

在這個程序里,包含以下單詞include(包含)、main(主要的)、return(返回)等,還包括int(整形),它是integer的縮寫。另外,還有一些組合單詞,如stdio.h是由standard(標(biāo)準(zhǔn)的)、input(輸入)、output(輸出)、header(頭文件)組成的,printf是由print(打印)、format(格式化)組成的。從這里也可以看出,C語言非常注重語法規(guī)則,在scanf及printf中也都體現(xiàn)了格式化,也就是要嚴(yán)格按照設(shè)定的格式來輸入輸出對應(yīng)的信息。另外,其他術(shù)語的對應(yīng)關(guān)系如下所示。

void空 true真 false假

print輸出 scan掃描 format格式 long長的 short短的

float浮點(diǎn)數(shù) double雙 char字符 unsigned無符號的

if如果 else否則 get獲取 string字符串

switch開關(guān) case示例 default 默認(rèn)

for使得 while當(dāng) do…while做…當(dāng)

3.2.2 借用漢語的思維增加代碼可讀性

在使用語言時,可以多運(yùn)用象征性的漢字代替英文,這樣更有助于理解程序的結(jié)構(gòu)。雖然這種方式顯得有些略顯幼稚,但當(dāng)需要表述的內(nèi)容超出了初學(xué)者的邏輯思維范疇時,可以較好地幫助初學(xué)者理解代碼。另外,多采用注釋,這是思維轉(zhuǎn)換的一種有效方式。

int max(int x,int y) //返回x,y中最大的,由于x和y為整型,函數(shù)值也為整型

{

if(x>y) return x; //return用來返回較大者

else return y;

}

如上述代碼中,max函數(shù)是返回兩個整數(shù)中的大者,可以直接用漢語的思維方式來進(jìn)行判斷,如果x和y兩個整數(shù)x大,那應(yīng)該返回x(if(x>y) return x;),如果y大,應(yīng)該返回y(else return y;),從而更好地理解上述代碼。

3.2.3 將程序的邏輯和漢語類比

通過將程序和漢字相對應(yīng),可以更好地理解程序的邏輯,從而提高學(xué)習(xí)效率。例如:

在C語言中,if語句通常有3種用法,單獨(dú)使用,和else配合使用以及多分支時使用。以if…else配合使用為例,如下

if (age >= 18)

printf("成年 "); //如果年齡大于等于18,輸出“成年”

else

printf("未成年 ");//否則,輸出“未成年”

在上述代碼中,通過判斷年齡是否大于等于18歲,從而輸出“成年”還是“未成年”。此時就可以將程序的邏輯和漢語漢字進(jìn)行類比。在漢語中,如果一個人的年齡大于等于18歲,那他就是成年人,對應(yīng)程序

if (age >= 18) printf("成年 ");

如果不滿足這個條件,那就是未成年人,對應(yīng)程序

else printf("未成年 ");

通過類比,可以讓初學(xué)者更好地理解C語言邏輯的抽象性質(zhì)。

3.2.4 采用中文語義解析概念

可以采用中文翻譯方式來解釋C語言的概念和常用函數(shù),向初學(xué)者詳細(xì)地解析C語言的語法和概念。例如:

printf("hello world!");//printf函數(shù) 輸出 hello world !

其中,printf為輸出函數(shù),用于輸出字符串或者是數(shù)值。而"hello world"即為所要輸出的內(nèi)容。

這種中文翻譯方式可以把C語言的概念用最簡單的語言舉例闡述,并且可以幫助學(xué)生更好地理解相關(guān)原理。

4 結(jié)語

C語言是計(jì)算機(jī)程序設(shè)計(jì)中非常重要的一門課程,但在傳統(tǒng)教學(xué)中存在一些問題,針對這些問題,本文提出基于漢語思維的學(xué)習(xí)方法,將漢語轉(zhuǎn)換為計(jì)算機(jī)語言,提高學(xué)生的編程能力和思維能力?;跐h語思維方式,初學(xué)者可以更好地理解抽象概念,理解C語言的語法和概念,從而更好地理解和掌握C語言。這為初學(xué)者更快地掌握C語言編程奠定了基礎(chǔ),也提高了學(xué)生的學(xué)習(xí)效率和動力??傊?這些方法都可以為“C語言程序設(shè)計(jì)”的教學(xué)提供新思路和新方法。

猜你喜歡
C語言程序設(shè)計(jì)初學(xué)者C語言
初學(xué)者,趕緊看過來
基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
基于C語言的計(jì)算機(jī)軟件編程
淺談如何提高初學(xué)者的鋼琴演奏能力
初學(xué)者如何臨寫《九成宮醴泉路》
高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用