亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言字符串類型缺陷及影響分析

        2019-05-23 10:45:26徐曉
        中國管理信息化 2019年10期

        徐曉

        [摘 要]二本院校計(jì)算機(jī)專業(yè)學(xué)生普遍感覺C語言難學(xué),學(xué)習(xí)效果差,不能為后續(xù)語言學(xué)習(xí)奠定基礎(chǔ)。本文從數(shù)據(jù)類型角度分析這種狀況產(chǎn)生的原因,提出C語言的數(shù)據(jù)類型存在的缺陷,其中字符串部分尤其突出,并提出相關(guān)解決方案,旨在為相關(guān)研究提供借鑒。

        [關(guān)鍵詞]C語言;字符串缺陷;二本院校

        doi:10.3969/j.issn.1673 - 0194.2019.10.088

        [中圖分類號]TP312 [文獻(xiàn)標(biāo)識碼]A [文章編號]1673-0194(2019)10-0-02

        1 二本院校計(jì)算機(jī)專業(yè)選擇C語言作為入門語言的原因

        大學(xué)計(jì)算機(jī)專業(yè)編程教學(xué)的入門語言多年來一直以C語言為主,不過近年來一些學(xué)校開始選擇Java或Python作為入門語言。但是對于二本院校計(jì)算機(jī)專業(yè)來說,大多數(shù)還是選擇C語言作為入門語言,原因如下。第一,如果選擇Python作為入門語言,雖然入門容易,也很容易學(xué)會,但是二本計(jì)算機(jī)專業(yè)學(xué)生畢業(yè)后很多還是從事前端、后端、客戶端等方面的開發(fā)工作,其主要語言是Java、C#、Javascript、php等,其基礎(chǔ)語法都是基于C語言的語法,而Python的語法則與這些語言完全不同。同時(shí),二本學(xué)生的學(xué)習(xí)能力和應(yīng)用能力不如一本學(xué)生,學(xué)習(xí)Python后轉(zhuǎn)到Java、C#等語言的難度大。第二,如果選擇Java語言作為入門語言,雖然可以一步到位,但是零編程基礎(chǔ)的二本學(xué)生一開始就要接觸大量編程知識,學(xué)習(xí)難度很大。

        2 C語言數(shù)據(jù)類型的缺陷

        2.1 數(shù)據(jù)類型應(yīng)具備最低要求

        在軟件編程過程中,最長的數(shù)據(jù)類型有兩大類:①數(shù)值類型,包括整數(shù)與浮點(diǎn)數(shù),用于表示多少或大小,如工資、價(jià)格、產(chǎn)量等;②字符串類型,用于表示是什么內(nèi)容,如姓名、品牌、部門、地點(diǎn)等。其中,字符串在數(shù)據(jù)庫中出現(xiàn)的頻率甚至超過了數(shù)值類型。雖然在C#、Java等語言中沒有把字符串作為最基本的類型,但是都提供了string類,讓開發(fā)者把字符串作為基本類型。對于一個(gè)有經(jīng)驗(yàn)的程序員來說,在編程時(shí)認(rèn)為以下兩個(gè)語句都很基礎(chǔ),通常并不區(qū)分其中哪個(gè)更加基礎(chǔ)。

        int num=10;

        string name="phone";

        由此可見,一門語言至少要提供數(shù)值類型和字符串類型,才能構(gòu)建完整的數(shù)據(jù)類型。但是C語言只提供數(shù)值類型,沒有提供字符串類型。

        2.2 C語言的數(shù)據(jù)類型缺陷及影響

        仔細(xì)研究C語言中的各種數(shù)據(jù)類型可以發(fā)現(xiàn),C語言在數(shù)據(jù)類型方面存在很多問題,幾乎所有的數(shù)據(jù)類型都是數(shù)值類型。例如:char與int可以通用;沒有邏輯類型,邏輯值用0和1表示;沒有字符串類型,存放字符串需要用數(shù)組,而數(shù)組名本質(zhì)上是指針,而指針就是地址,實(shí)際也是一個(gè)長整型數(shù)。教師可以在教學(xué)中給學(xué)生強(qiáng)調(diào)char和int的不同,但是從標(biāo)準(zhǔn)C提供的庫函數(shù)編譯系統(tǒng)并沒有嚴(yán)格區(qū)分char和int。例如下面的庫函數(shù)無論是形參還是返回值均應(yīng)該是char類型,但在標(biāo)準(zhǔn)C中都聲明為int類型。

        int toupper(int ch)

        這樣會導(dǎo)致學(xué)生在編寫函數(shù)時(shí)很難正確理解和使用數(shù)據(jù)類型,也給教師講解函數(shù)編寫帶來困難。例如編寫一個(gè)返回字符的函數(shù)和返回整數(shù)的函數(shù)時(shí),學(xué)生用如下形式都是行得通的。

        int fun(....){......}

        另外,變量在賦值時(shí)應(yīng)該賦同一類型的值,這是基本編程訓(xùn)練中被反復(fù)強(qiáng)調(diào)的知識點(diǎn),但是在標(biāo)準(zhǔn)C中,明顯不一致的語句卻能暢通無阻運(yùn)行,導(dǎo)致學(xué)生對知識點(diǎn)產(chǎn)生困惑。C語言這種數(shù)據(jù)類型的設(shè)計(jì)最初是為了讓C語言具備最大的靈活性,充分發(fā)揮C語言作為中級語言的特長。但是這種數(shù)據(jù)類型的單一性和靈活性對二本學(xué)生學(xué)習(xí)編程帶來了很大的問題。

        (1)無法培養(yǎng)學(xué)生數(shù)據(jù)類型的意識。作為編程人員,看到一個(gè)變量會很自然地去想其屬于什么類型。C語言這種類型的單一性使學(xué)生很難培養(yǎng)對類型的敏感性,尤其是在編寫函數(shù)以及后續(xù)語言中的類時(shí),對數(shù)據(jù)類型的感覺顯得尤其重要。

        (2)編程教學(xué)及練習(xí)題目單一,題型大多局限于數(shù)論或數(shù)值分析問題,如素?cái)?shù)問題、位數(shù)問題、圓周率問題等,類似一門數(shù)值分析的課程,而目前的應(yīng)用軟件大多數(shù)是數(shù)據(jù)處理功能,在這種情況下,學(xué)習(xí)C語言很難為學(xué)生開發(fā)后續(xù)軟件奠定良好的基礎(chǔ)。

        3 C語言中字符串存在的問題

        數(shù)據(jù)類型應(yīng)該包括數(shù)值和字符串兩大類,但C語言幾乎所有類型都?xì)w結(jié)為數(shù)值類型。C語言沒有專門的字符串類型,字符串是通過數(shù)組來存放,這樣的處理方式對二本學(xué)生來說存在諸多問題。

        3.1 C語言與后續(xù)語言關(guān)于字符串的差異性

        以目前常用的Java和C#為例,與C語言進(jìn)行關(guān)于字符串的用法對比,結(jié)果如表1所示。

        從上述比較可以看出,Java、C#等語言關(guān)于字符串的用法與C語言完全不同。換句話說,學(xué)習(xí)了C語言中的字符串方面的知識在后續(xù)語言中幾乎用不上。二本院校的學(xué)生學(xué)習(xí)能力稍弱,沒有必要花大力氣去學(xué)習(xí)后面幾乎用不上的字符串的

        知識。

        3.2 學(xué)習(xí)C語言字符串難度大

        二本學(xué)生普遍感覺C語言中的字符串難學(xué)。因?yàn)镃語言沒有字符串類型,而是使用數(shù)組存放字符串,在編程時(shí)需要考慮存儲問題。例如,下面兩個(gè)語句前面的是正確的,后面的是錯(cuò)誤的。

        char x[5]="ok"; //正確

        char y[5]="hello" //錯(cuò)誤,數(shù)組存放不下字符串

        此外,學(xué)生常常搞不清楚將上述語句中的x理解為數(shù)組還是理解為字符串,在概念上的困惑會直接影響編程。

        3.3 學(xué)習(xí)指針的難度大

        二本學(xué)生普遍感覺指針難學(xué)。由于C語言用數(shù)組存放字符串,而數(shù)組名其實(shí)是指針,當(dāng)字符串作為函數(shù)參數(shù)時(shí)通常要寫成指針形式。這樣一來,學(xué)生為了學(xué)習(xí)C語言的字符串,需要先搞明白數(shù)組和指針,這樣就抬高了學(xué)生使用字符串的門檻。尤其是難學(xué)的指針攔在字符串的前面,導(dǎo)致二本學(xué)生覺得指針難學(xué),不能完全掌握并應(yīng)用自如。

        4 學(xué)習(xí)C語言字符串?dāng)?shù)的簡單描述

        (1)C語言數(shù)據(jù)類型單一,各種類型幾乎都?xì)w結(jié)為數(shù)值類型,急需一種完全不同的類型(如字符串類型)來培養(yǎng)學(xué)生對數(shù)據(jù)類型的感覺。

        (2)C語言提供的字符串處理是通過數(shù)組、指針來實(shí)現(xiàn),對學(xué)生難度大,而且指針本身也是數(shù)值,不僅沒有起到豐富數(shù)據(jù)類型的作用,而且還十分難學(xué)。

        雖然學(xué)生學(xué)習(xí)C語言比較困難、學(xué)習(xí)效果差,但是目前尚未看到二本院校從上述角度去解決問題,更多只是針對學(xué)生情況修改教學(xué)方案,但實(shí)際上,基于標(biāo)準(zhǔn)C的語法框架限制,這種修改沒有多少可以變動的空間,往往是降低難度的同時(shí)降低了對學(xué)生的要求。對于一本學(xué)生而言,較強(qiáng)的自學(xué)能力和學(xué)習(xí)自主性能夠彌補(bǔ)C語言的缺陷;但是對于二本院校學(xué)生,這些缺陷卻能讓學(xué)生在學(xué)習(xí)過程中不知不覺地把主要精力陷入C語言語法知識中,疲于概念理解,不能掌握基本編程能力。一般而言,二本學(xué)生的及格率并不是很低,但這不表示學(xué)生已經(jīng)奠定了編程基礎(chǔ),只是教師降低了課程要求。換句話說,教師對此現(xiàn)狀沒有制定相應(yīng)對策,導(dǎo)致教師教得痛苦、學(xué)生學(xué)得痛苦,難以培養(yǎng)學(xué)生對專業(yè)的興趣。

        5 結(jié) 語

        對于二本學(xué)生來說,C語言在數(shù)據(jù)類型尤其是字符串上存在缺陷,導(dǎo)致二本學(xué)生學(xué)習(xí)C語言的效果不佳。因此,學(xué)校應(yīng)彌補(bǔ)這個(gè)缺陷,讓學(xué)生理解C語言,為后續(xù)課程的學(xué)習(xí)奠定扎實(shí)的基礎(chǔ)。

        主要參考文獻(xiàn)

        [1]王宇哲.C語言與Java對比下的優(yōu)點(diǎn)[J].電子世界,2018(2).

        [2]馬乾頡.程序設(shè)計(jì)語言C與Java之探討[J].信息技術(shù),2010(10).

        [3]車萬翔,蘇小紅,袁永峰,等.計(jì)算機(jī)專業(yè)高級語言程序設(shè)計(jì)課程改革探索[J].計(jì)算機(jī)教育,2014(13).

        [4]胡國柱.基礎(chǔ)課程C語言與Java語言的優(yōu)劣漫談[J].福建電腦,2011(11).

        [5]蔣曉明,徐啟振.用C語言字符串實(shí)現(xiàn)多位整數(shù)的高精度計(jì)算[J].福建電腦,2004(6).

        [6]申定保.C語言考試中的語法結(jié)構(gòu)和算法分析[J].電腦知識與技術(shù),2004(2).

        [7]周建儒.C語言與C++語言幾點(diǎn)差異的應(yīng)用實(shí)例分析[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2016(1).

        [8]白春霞,張維寶.基于C語言中字符串長度計(jì)算問題的探討[J].電腦知識與技術(shù),2010(29).

        [9]倪瑞曉.C語言編程技術(shù)的分析研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(12).

        [10]張盼盼.C語言之如何判斷回文串[J].現(xiàn)代計(jì)算機(jī),2016(31).

        [11]雷金,彭秋生.淺談C語言字符串格式化[J].湖南生態(tài)科學(xué)學(xué)報(bào),2012(1).

        国产情侣久久久久aⅴ免费| 久99久精品视频免费观看v| 久久精品国产亚洲AV成人公司| 国产精品自产拍在线观看免费| 久久99亚洲综合精品首页| 亚洲乱码中文字幕第一页| 色综合天天综合欧美综合| 亚洲欧美激情在线一区| 久久青青草原亚洲AV无码麻豆| 中文字幕人妻丝袜成熟乱| 成人av资源在线播放| 国产精品自拍午夜伦理福利| 国产精品久久久久一区二区三区| 一本无码人妻在中文字幕免费| av一区二区三区亚洲| 亚洲av男人的天堂在线| 免费国产黄网站在线观看视频| 国产95在线 | 欧美| 亚洲综合性色一区| 日韩丝袜人妻中文字幕| 丁香花五月六月综合激情| 亚洲狠狠婷婷综合久久久久图片| 男人j进女人p免费视频| 亚洲综合在线一区二区三区| 黑人巨大精品欧美| 狠狠色丁香久久婷婷综合蜜芽五月| 国产欧美亚洲另类第一页| 亚洲色图偷拍自拍在线| 成年女人黄小视频| 久久久www成人免费无遮挡大片| 久久这里只有精品9| 国产精品亚洲专区无码不卡| 日本一区二区三区区视频| 亚洲国产精品久久人人爱| 一本久道久久综合久久| 久久夜色精品国产三级| 国产日产在线视频一区| 国产人妻大战黑人20p| 免费xxx在线观看| 国内精品视频成人一区二区| 亚洲无人区一码二码国产内射|