第一篇:KM教學理論下C程序設計課程改革論文
摘要:21世紀是信息化大發展的時代,任何一個領域和行業都離不開計算機信息技術的幫助,在市場競爭日漸激烈的今天,已然發展成為人才的競爭,因此隨著KM教育理論的問世,為計算機課程教學提供了新的改革思路。文章以“C#程序設計”課程為例,探討在KM教學理論的指導下,其改革方法,以期克服以往“C#程序設計”課程存在的不足之處,引起學生學習的興趣,提高學生的編程能力,改善教學效果。
關鍵詞:KM教學理論;C#程序設計;課程改革方法
自從第三次工業革命結束后,計算機開始逐漸出現在人們的生產生活中,提高了工作效率,為國家和社會創造了大量的財富,促進了國家經濟的發展,社會的進步以及為國家的安全提供了一個堅實的堡壘。C語言程序設計是計算機技術中一個重要的分支,它既具有高級語言的特點,又具有匯編語言的特點。自1972年,C語言被D.M.Ritchie發明后,由于其強大的數據處理能力就被廣泛應用在各個行業和領域中[1]。隨著社會的發展,對C語言人才的需求越來越大,因此各大高校紛紛把“C#程序設計”課程加入到學校教學中,希望學生能掌握一門生存技能,在將來的就業競爭中占據優勢,但是由于C語言程序設計涉及的內容眾多,且難度較大,學生掌握起來很困難,再加上受中國傳統應試教育的影響,在課程安排,教學內容,講課模式上都使得學生對C語言的學習缺乏興趣,甚至在對C語言課程產生畏懼感,以致完全無法達到教學目的和教學效果。因此急需對“C#程序設計”課程進行改革。而隨著KM理論的興起,為其課程改革提供新的改革思路。KM教學理論是將知識的邏輯結構和思維導圖相結合的一種教學理論,其中K是指“知識邏輯結構”(KnowledgeLogicStructure),M是指“思維導圖”(MindMap)[2]。KM教學理論的宗旨是在教師的幫助下,以學生為主體,發揮教師“傳道受業解惑”的本職,讓學生快速掌握知識,提升其創新能力,從而提高教學質量。本文針對傳統C語言教學課程中存在的問題,探討在KM教學理論的指導下,“C#程序設計”課程的改革方法,以期引起學生學習的興趣,提高學生的編程能力,改善教學效果。
一傳統“C#程序設計”課程存在的不足
受我國傳統教學思想、教學觀念和教學方法的影響,“C#程序設計”課程的教學效果并不理想,許多學生缺乏學習興趣。
(一)教學重點錯誤
中國自古以來奉行科舉考試制度,發展到現在形成了中國的應試教育模式。受這種傳統教育模式的影響,我國的教育重點放在了學科知識的學習上,“C#程序設計”課程也不例外。因此教師在教授C語言時,也是按照一般教學流程來教授,課堂講授、布置作業及實驗,最后把學生期末考試成績看作評判學生能力的標準[3]。這種把理論知識學習當作學習重點,從而忽略學生實踐操作能力的做法,使得大部分教師的教學模式存在問題。教師習慣以自我為中心,站在講臺上口若懸河的講解對學生難以理解的C語言知識,忽視學生的主體性,讓學生的學習始終處于被動狀態,師生之間缺少互動,無法發揮學生的主觀能動性,削減了學生的學習興趣。而且更嚴重的是學生“高分低能”的情況,學生對C語言的學習只停留在知識點學習以及問題的解答上,無法把學到的知識運用到實際操作上,使得學生一旦踏入職業生涯就會發現自己幾年來辛苦的學習無法滿足自己的工作需求,幫助自己實現人生價值,會帶來極大的心理落差,影響自己的心理健康。
(二)教材選用不當
一場教學活動包括教師、學生、以及教學內容,而教學內容主要是通過教材獲得的,可以說教材是學生獲得知識的主要途徑。教材中的內容是教學重點的直接反應,在C語言教材中,如果理論多于實踐,那么相對的,教師也會把教學重點放在理論知識的介紹上,反之則會重點關注學生的實踐應用能力[4]。受中國傳統教學模式的影響,學校及教師歷來重視理論知識的傳授,且理論知識還不能順應時事的發展,落后于時代的發展需求,最終影響到學生能力和興趣的培養。
(三)教學方式落后
隨著我國人口數量的持續增長,每年進入學校的學生人數必然有所增長,造成一個班級人數過多,且課堂教學學時有限,為完成學習進度,使得老師無暇關注每個學生的學習情況。此外,無論是什么樣的課程,大多數教師的教學方式都是在講臺上講解,不管這科是否需要學生更多實踐,學生在考試制度的影響下,也習慣了重點關注理論知識的學習,因此無論老師在強調什么,學生把注意力都集中在記筆記上面,認為這些理論知識是考試的重點內容。長此以往下去,學生的C語言實際編寫能力自然不會提高,理論知識也會毫無用武之地。
二“C#程序設計”課程的改革方法
(一)正確認識教學重點
針對教學重點錯誤的問題,首先我們要做的是明確教學重點,但在此之前,我們要先確定一個“C#程序設計”課程教學目標,即通過該課程的教學,使學生掌握C#程序設計的一些基本概念和語法規則,程序設計的一般方法,過程化程序設計與面向對象程序設計方法,進一步培養學生的軟件開發能力[5]。在這個大的教學目標指揮下,學習模塊眾多,內容復雜的C語言設計必須找準它的要點和關鍵點,然后圍繞重點內容進行擴充和豐容,最后再把理論知識應用到實踐中去,突出實用性。
(二)正確選用教材
針對教材選用不當的問題,我們在明確教學重點的基礎上,選用符合C語言特點的教材,且對教學內容進行合理科學的安排。對C語言程序設計感興趣的學生,教師在幫助學生掌握C語言基礎知識的基礎上,更多的應該是鼓勵他們嘗試進行程序設計。“授人以魚不如授人以漁”,因此在C語言程序設計教材的選擇上,要選擇內容更偏向實踐與理論相結合的教材,這樣有利于加強素質教育,從而提高教學質量。此外在C語言教材內容的講解上,教師可以根據教材內容創設一個情景案例,在解析C語言程序設計案例的同時,把理論知識自然而然的融入其中,讓C語言設計的相關知識通過一個案例都串聯起來,在學生腦海中形成一個大的理論框架,方便學生在編寫程序時,更靈活的運用。最后教師還要向學生推薦適當的參考資料和文獻,作為教材的有益補充。讓教材為教學服務,最大程度地提高學生的理論水平和實踐能力。
(三)改變教學方式
針對教學方式落后的問題,我們首先要做的是轉變教師傳統的思想觀念,把學生作為教學的主體。在C語言程序設計課堂上教師可以多進行一些以學生為主體的活動,給學生思考問題、提出問題、討論問題的時間,鼓勵學生自己嘗試用C語言設計程序,充分調動學生的主觀能動性。例如以小組的形式設計一個程序,小組成員之間相互交流自己的設計想法,讓每個學生充分發揮想象力,表達自己的觀點,老師在旁進行輔助,解決學生在程序設計中出現的實在難以解決的問題,例如比較難的數組、指針、繼承、多態性等問題[6]。這種以學生為主體的教學方法,不僅可以幫助學生很好的掌握C語言程序設計的理論知識,還能有效鍛煉學生的實踐操作能力。
三結語
綜上所述,在現代飛速發展的社會,計算機技術在人們的工作、學習、生活中發揮了極大的作用。而作為其中一個重要的分支——C語言程序設計在許多領域得到應用,但由于受中國傳統教育模式的影響,以及C語言本身特點的影響,使得在“C#程序設計”課程的安排設置上存在很多問題,導致大部分學生對其學習缺乏興趣。因此在KM教育理論的指導下,改革課程設置,具體方法有要正確認識教學重點,要正確選用教材,要改變教學方式,以期提高學生的編程能力和應用能力。此外,教師在今后的教學工作中,還要繼續關注課程的發展方向和趨勢,選擇適當教材,更新知識體系和教學手段,使學生適應編程的實際需要。
參考文獻
[1]周穎,李葆萍,馬超,等.基于KM教學法的知識圖開發、教學及評估研究——以《C語言》為例[J].中國電化教育,2016,14(8):87-92.[2]程鋼,楊杰,吳志強,等.SAKAI平臺下程序設計與開發課程混合式學習的研究與應用——以測繪工程“C語言程序設計”為例[J].測繪通報,2016,19(9):133-136.[3]蔣寧.基于混合式教學的計算機“C#程序設計”課程教學改革研究[J].職教通訊,2016,35(3):11-15.[4]秦桂英,朱葛俊,朱利華.翻轉課堂教學模式在高職C#程序設計課程教學中的實踐研究[J].常州信息職業技術學院學報,2015,14(1):36-40.[5]曹曉麗,邢玉娟,賀元香,等.多元交叉教學模式下《C語言程序設計》課程教學改革與探討[J].蘭州文理學院學報(自然科學版),2015,29(3):106-111.[6]馬海峰,秦桂英.基于MOOCs的混合教學模式在高職C#程序設計課程教學實踐研究[J].常州信息職業技術學院學報,2016,15(1):50-53.
第二篇:C程序設計課程作業
(4分)C語言是解釋性語言
? ?
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 錯誤
解析 C語言程序設計/C語言概述
(4分)C語言程序中,一個文件中的函數可以引用另一個文件中的函數和變量
? ?
糾錯
得分: 0
知識點: 文件
收起解析
答案 正確
解析 C語言程序設計/文件
(4分)下面是對s的初始化,其中不正確的是()? ? ? ? A.char s[5]={'abc'} B.char s[5]={'a','b','c'} C.char s[5]=''
D.char s[5]='abcde'
糾錯
得分: 0
知識點: 數組
收起解析
答案 D
解析 C語言程序設計/數組/字符數組初始化
(4分)函數ftell的作用是()? ? ? ? A.取得當前文件指針的位置,該位置為相對于文件開頭的位移量表示
B.取得當前文件指針的位置,該位置為相對于文件末尾的位移量表示
C.出錯時返回值為0 D.以上敘述都不正確
糾錯 得分: 0
知識點: 文件
收起解析
答案 A
解析 C語言程序設計/文件/文件的定位
(4分)表達式a ? ? ? ? A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
糾錯
得分: 0
知識點: 位運算
收起解析
答案 D
解析 C語言程序設計/位運算/位運算符優先級
(4分)若x,y均定義為int型,z定義為double型,以下不合法的scanf函數調用語句是()? ? ? ? A.scanf('%d%lx,%le',&x,&y,&z)B.scanf('%2d*%d%lf',&x,&y,&z)C.scanf('%x%*d%o',&x,&y)
D.scanf('%x%o%6.2f',&x,&y,&z)
糾錯
得分: 0
知識點: 順序程序設計
收起解析
答案 D
解析 C語言程序設計/順序程序設計/整型和實型數據的格式輸入
(4分)寫出下面程序的輸出結果()main(){int x;x=-3+4*5-6;printf('%d',x);x=3+4%5-6;printf('%d',x);x=-3*4%6/5;printf('%d',x);x=(7+6)%5/2;printf('%d',x);} ? ? ? ? A.11 1 0 1 B.11-3 2 1 C.12-3 2 1 D.11 1 2 1
糾錯
得分: 0
知識點: 順序程序設計
收起解析 答案 A
解析 C語言程序設計/順序程序設計/整型變量的輸出格式綜合(4分)C語言中while和do while循環的主要區別是()? ? ? ? A.do-while的循環至少無條件執行一次
B.while循環控制條件比do-while的循環控制條件嚴格
C.do-while允許從外部轉入到循環體內
D.do-while的循環體不能是復合語句
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 A
解析 C語言程序設計/循環程序設計/while語句與do-while語句
(4分)C語言規定,函數返回值的類型是由()所決定。
? ? ? ? A.return語句中的表達式類型
B.調用該函數時的主調函數類型
C.調用該函數是系統臨時指定
D.在定義該函數時所指定的函數類型
糾錯
得分: 0
知識點: 函數
收起解析
答案 D
解析 C語言程序設計/函數/函數返回值
(4分)下面程序的輸出是()main(){enum team {my, your=4,his,her=his+10};printf('%d%d%d%d ',my,your,his,her);} ? ? ? ? A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.l 4 5 15
糾錯
得分: 0
知識點: 結構體與共同體
收起解析
答案 C
解析 C語言程序設計/結構體與共同體/枚舉類型(4分)已有定義int k=2;int *p1,*p2;且p1,p2均指向變量k,下面不能正確執行的賦值語句是()? ? ? ? A.k=*p1+*p2 B.p2=k C.p1=p2
D.k=*p1*(*p2)
糾錯
得分: 0
知識點: 指針
收起解析
答案 B
解析 C語言程序設計/指針/指針變量的定義
2.(4分)以下程序的運行結果為()#include main(){struct date{int year,month,day;}today;printf('%d ',sizeof(struct date));} ? ? ? ? A.6 B.8 C.10 D.12
糾錯
得分: 0
知識點: 結構體與共同體
收起解析
答案 A
解析 C語言程序設計/結構體與共同體/結構體變量初始化
(4分)若有定義:int(*p)[4];則標識符p()? ? ? ? A.是一個指向整型變量的指針
B.是一個指針數組名
C.是一個指針,它指向一個含有四個整型元素的一維數組
D.定義不合法
糾錯
得分: 0
知識點: 指針
收起解析
答案 C
解析 C語言程序設計/指針/指針數組
(4分)若使用一位數組名作為函數實參,則以下正確的說法是()? ? ? ? A.必須在主調函數中說明此數組的大小
B.實參數組類型與形參數組類型可以不匹配
C.在被調函數中,不需要考慮形參數組的大小
D.實參數組名與形參數組名必須一致 糾錯
得分: 0
知識點: 函數
收起解析
答案 C
解析 C語言程序設計/函數/數組作為函數參數
(4分)設有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf('%d',s);則()? ? ? ? A.運行程序段后輸出0 B.運行程序段后輸出1
C.循環的控制表達式不正確
D.程序段執行無限次
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 B
解析 C語言程序設計/循環程序設計/while語句
(4分)有int x=3,y=4,z=5;則下面表達式中值為0的是()? ? ? ? A.x'&&'y' B.x<=y
C.x||y+z&&y-z D.!((x
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析
答案 D
解析 C語言程序設計/選擇結構程序設計/邏輯運算符
(4分)若數組a有m列,則ali][j]之前的數組元素個數為()? ? ? ? A.(i-1)*(i-1)B.i*m+j+1 C.i*m+j-1 D.i*m+j
糾錯
得分: 0
知識點: 數組
收起解析
答案 D
解析 C語言程序設計/數組/二維數組的引用
.(4分)表達式a ? ? ? ? A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
糾錯
得分: 0
知識點: 位運算
收起解析
答案 D
解析 C語言程序設計/位運算/位運算符優先級
(4分)下面對typedef不正確的敘述是
? ? ? ? ? A.用typedef可以定義各種類型名,但不能用來定義變量
B.用typedef可以增加新的基本數據類型
C.用typedef只是將已存在的類型用一個新的標識符表示
D.使用typedef有利于程序的通用和移植
E.糾錯
得分: 0
知識點: 結構體與共用體
收起解析
答案 B
解析 C語言程序設計/結構體與共用體
(4分)設有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);請問執行后的輸出結果是()? ? ? ? A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 A
解析 C語言程序設計/數據類型與運算/整型變量
2.(4分)關于fseek函數,以下有關操作的敘述不正確的是()? ? ? ? A.可以改變文件的位置指針
B.可以實現文件的順序讀寫
C.可以實現文件的隨機讀寫
D.只可以順序定位文件的位置指針
糾錯
得分: 4 知識點: 文件
收起解析
答案 D
解析 C語言程序設計/文件/文件的定位
3.(4分)putchar函數可以向終端輸出一個()? ? ? ? A.整型變量表達式
B.實型變量值
C.字符串
D.字符或字符型變量值
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 D
解析 C語言程序設計/順序程序設計/putchar函數
4.(4分)關于聯合體,下面敘述不正確的是()? ? ? ? ? A.聯合體變量中成員項共用同一存儲空間,因此,聯合體變量的地址和每一個成員項的地址是同一地址
B.聯合體變量中成員項所占存儲空間量不同,因此,聯合體中每一個成員項的地址不是同一地址
C.C語言規定不能對聯合體變量賦值
D.也不能通過直接引用變量名來得到成員項,這與結構體是相同的
E.不允許將聯合體變量作為函數參數,也不允許用聯合體變量作為函數的返回值
糾錯
得分: 4
知識點: 結構體與共同體
收起解析
答案 B
解析 C語言程序設計/結構體與共同體/共用體變量定義
5.(4分)以下程序 的運行結果是()void sub(int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf('%4d,%4d,%4d',a,b,c);} ? ? ? ? A.5, 2, 3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7
糾錯
得分: 0
知識點: 函數
收起解析
答案 A 解析 C語言程序設計/函數/函數的調用
6.(4分)判斷char型變量c1是否小寫字母的正確表達式為
? ? ? ? A.'a'<=c1<='z'
B.(c1>='a')&&(c1<='z')C.(c1>=a)&&(c1<=z)D.('a'<=c1)||('z'>=c1)
糾錯
得分: 0
知識點: 數據類型及運算
收起解析
答案 B
解析 C語言程序設計/數據類型及運算
7.(4分)有以下程序:#includemain(){int x,y;printf('Enter an integer(x):');scanf('%d',&x);if(x++<0)y=-1;else if(x==0)y=0;else y=1;printf('%d',y);}現從鍵盤上輸入-1,則程序的輸出是()? ? ? ? A.0 B.-1 C.1
D.不確定的值
糾錯
得分: 0
知識點: 選擇程序設計
收起解析
答案 B
解析 C語言程序設計/選擇程序設計/if語句嵌套
8.(4分)在C語言中運算符的優先級從高到低的排列順序是
? ? ? ? A.關系運算符 算術運算符 賦值運算符
B.算術運算符 賦值運算符 關系運算符
C.賦值運算符 關系運算符 算術運算符
D.算術運算符 關系運算符 賦值運算符
糾錯
得分: 4
知識點: 數據類型及運算
收起解析
答案 D
解析 C語言程序設計/數據類型及運算
9.(4分)函數rewind的作用是()? ? ? ? A.使位置指針指向文件的末尾
B.將位置指針指向文件中所要求的特定位置
C.使位置指針重新返回文件的開頭
D.使位置指針自動移到下一個字符位置
糾錯
得分: 4
知識點: 文件
收起解析
答案 C
解析 C語言程序設計/文件/文件的定位
10.(4分)有以下程序#include main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf('%d,%d',*p,a[3]);},請問執行后的輸出結果是()? ? ? ? A.1,4 B.0,4 C.1,6 D.0,6
糾錯
得分: 0
知識點: 指針
收起解析
答案 C
解析 C語言程序設計/指針/數組指針的引用
11.(4分)已知函數的調用形式:fread(buffer, size, count, fp);其中buffer代表
? ? ? ? A.一個整型變量,代表要讀入的數據項總數
B.一個文件指針變量,指向要讀的文件
C.一個儲存區,存放要讀的數據項
D.一個指針變量,它存放數據緩沖區的地址
糾錯
得分: 4
知識點: 文件
收起解析
答案 D
解析 C語言程序設計/文件
12.(4分)字符串“China”在內存中占用幾個字節
? ? ? ? A.3 B.4 C.6 D.8
糾錯 得分: 4
知識點: 數據類型及運算
收起解析
答案 C
解析 C語言程序設計/數據類型及運算
13.(4分)10+’a’+1.5-567.345/’b’的結果是()型數據
? ? ? ? A.long B.double C.int
D.unsigned float
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 B
解析 C語言程序設計/數據類型與運算/數據類型的混合運算
14.(4分)判斷char型變量ch是否為大寫字母的正確表達式為()? ? ? ? A.A'<=ch<='Z'
B.(ch>='A')&(ch<='Z')C.(ch>='A')&&(ch<='Z')D.('A'<=ch)AND('Z'>=ch)
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析
答案 C
解析 C語言程序設計/選擇結構程序設計/關系運算符與邏輯運算符
15.(4分)C語言中調用printf進行輸出時需要注意,在格式控制串中,格式說明與輸出項的個數必須相同。如果格式說明的個數小于輸出項的個數,多余的輸出項將();如果格式說明的個數多于輸出項的個數,則對于多余的格式將輸出不定值(或0)
? ? ? ? A.不予輸出
B.輸出空格
C.照樣輸出
D.輸出不定值或0
糾錯
得分: 0
知識點: 順序程序設計
收起解析
答案 A 解析 C語言程序設計/順序程序設計/格式輸出
16.(4分)下面的程序main(){int x=3;do{printf(“%d ”,x-=2);}while(!(--x));},描述正確的是()? ? ? ? A.輸出的是1 B.輸出的是1和-2 C.輸出的是3和0 D.是死循
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 B
解析 C語言程序設計/循環程序設計/do-while語句
17.(4分)根據下面的定義,能打印出字母“M”的語句是()struct person{char name[9];int age;};struct person class[10]={'John',17,'Paul',19,'Mary',18,'adam',16 };? ? ? ? A.printf('%cn',class[3].name)B.printf('%cn',class[3].name[l])C.printf('%cn',class[2].name[l])D.printf('%cn',class[2].name[0])
糾錯
得分: 0
知識點: 結構體與共同體
收起解析
答案 D
解析 C語言程序設計/結構體與共同體/結構體變量引用
18.(4分)設整型變量a和b的值分別為8和9。printf('%d,%d',(a++,++b),b--);的輸出是()? ? ? ? A.8,8 B.8,7 C.9,9 D.10,9
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 C
解析 C語言程序設計/順序程序設計/格式輸入輸出綜合19.(4分)a為0111,b為0123,a、b、c均為無符號短整型變量,則語句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a|b,c=a∧b)的輸出結果為()? ? ? ? A.177666,101,133,32 B.0177666,0123,0333,032 C.0177666,0101,0133,032 D.177666,0123,0133,034
糾錯
得分: 0
知識點: 位運算
收起解析
答案 A
解析 C語言程序設計/位運算/異或運算符
20.(4分)若有定義typedef char STRING[255];STRING s;則s是
? ? ? ? A.字符指針數組變量
B.字符指針變量
C.字符變量
D.字符數組變量
糾錯
得分: 4
知識點: 結構體與共用體
收起解析
答案 D
解析 C語言程序設計/結構體與共用體
21.(4分)下面哪個表達式的值為4: ? ? ? ? A.11/3 B.11.0/3 C.(float)11/3
D.(int)(11.0/3+0.5)
糾錯
得分: 0
知識點: 數據類型及運算
收起解析
答案 D
解析 C語言程序設計/數據類型及運算
二、判斷
1.(4分)int k=0;do{++k;}while(k>=0);是無限循環的語句
? ?
糾錯
得分: 4
知識點: 循環程序設計 收起解析
答案 錯誤
解析 C語言程序設計/循環程序設計/do-while語句
2.(4分)在計算機內部,unsigned int 和 int類型的數據所占存儲空間大小是一樣的.? ?
糾錯
得分: 4
知識點: 數據類型及運算
收起解析
答案 正確
解析 C語言程序設計/數據類型及運算
3.(4分)對for(表達式1;;表達式3)可理解為for(表達式1;1;表達式3)? ?
糾錯
得分: 4
知識點: 循環程序設計
收起解析
答案 正確
解析 C語言程序設計/循環程序設計/for語句
4.(4分)C語言中沒有真正的多維數組
? ?
糾錯
得分: 4
知識點: 數組
收起解析
答案 正確
解析 C語言程序設計/數組
(4分)以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的輸出結果是()? ? ? ? A.10 10 B.9 9 C.9 10 D.10 9
糾錯 得分: 0
知識點: 順序程序設計
收起解析
答案 D
解析 C語言程序設計/順序程序設計/整型變量的輸出格式和算術運算符
2.(4分)下列有關字符數組與字符串的說法中正確的是()? ? ? ? A.字符數組中存放的一定是—個字符串
B.所有的字符數組都可以被當作字符串處理
C.對存放字符串的字符數組可以象一般數組一樣對數組中的單個元素進行操作
D.一個字符數組可以認為就是一個字符串
糾錯
得分: 4
知識點: 數組
收起解析
答案 C
解析 C語言程序設計/數組/關字符數組與字符串
3.(4分)設E為表達式,以下與do…while(E);不等價的語句是
? ? ? ? A.do…while(!E==0)B.do…while(E>0||E<0)C.do…while(E==0)D.do…while(E!=0)
糾錯
得分: 0
知識點: 循環控制
收起解析
答案 C
解析 C語言程序設計/循環控制
4.(4分)C語言中,邏輯真表示為()? ? ? ? A.TRUE B.'y'或'Y' C.1
D.非零值
糾錯
得分: 0
知識點: 選擇程序設計
收起解析
答案 C
解析 C語言程序設計/選擇程序設計/邏輯運算符
5.(4分)以下描述中正確的是()? ? ? ? A.由于do-while循環中循環體語句只能是一條可執行語句,所以循環體內不能使用復合語句
B.do-while循環由do開始,用while結束,在while(表達式)后面不能寫分號
C.在do-while循環體中,一定要有能使while后面表達式的值變為零('假')的操作
D.do-while循環中,根據情況可以省略while。
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 C
解析 C語言程序設計/循環程序設計/do-while語句
6.(4分)以下程序的輸出結果是? #include main(){ int x=020,y=0x20,z=20;printf('%d,%d,%d ',x,y,z);} ? ? ? ? A.20,20,20 B.32,16,20 C.16,32,20 D.20,32,20
糾錯
得分: 0
知識點: 數據類型及運算
收起解析
答案 C
解析 C語言程序設計/數據類型及運算
7.(4分)以下敘述中不正確的是()? ? ? ? A.預處理命令都必須以#開始
B.在C程序中凡是以#開始的語句行都是預處理命令行
C.C程序在執行過程中對預處理命令行進行處理
D.以下是正確的宏定義 #define IBM_PC
糾錯
得分: 0
知識點: 編譯預處理
收起解析
答案 C
解析 C語言程序設計/編譯預處理/預處理命令
8.(4分)在ASCII碼表中可以看到每個小寫字母的ASCII碼比它相應的大寫字母的ASCII碼()? ? A.大32 B.大64 ? ? C.小32 D.小64
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 A
解析 C語言程序設計/數據類型與運算/字符常數比較
9.(4分)設有說明:char *str[10];則標識符str的意義是()? ? ? ? A.str是一個指向有10個元素的數組的指針
B.str是一個有10個元素的數組,數組元素的數據類型是指向char型的指針型
C.str是一個指向char型函數的指針
D.str是具有10個指針元素的一維指針數組,每個元素都只能指向整型變量
糾錯
得分: 0
知識點: 指針
收起解析
答案 B
解析 C語言程序設計/指針/字符串指針
10.(4分)在C語言中,每個語句和數據定義是用()結束
? ? ? ? A.句號
B.逗號
C.分號
D.括號
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 C
解析 C語言程序設計/C語言概述/C程序的組成11.(4分)設有:int a=1,b=2,c=3,d=4,m=2,n=2;執行(m=a>b)&&(n=c>d)后n的值為()? ? ? ? A.1 B.2 C.3 D.4
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析 答案 B
解析 C語言程序設計/選擇結構程序設計/關系運算符與邏輯運算符
12.(4分)若有以下定義:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;則值為5的表達式是()? ? ? ? A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
糾錯
得分: 0
知識點: 指針
收起解析
答案 A
解析 C語言程序設計/指針/字符串指針的引用
13.(4分)在C語言中運算符的優先級從高到低的排列順序是
? ? ? ? A.關系運算符 算術運算符 賦值運算符
B.算術運算符 賦值運算符 關系運算符
C.賦值運算符 關系運算符 算術運算符
D.算術運算符 關系運算符 賦值運算符
糾錯
得分: 0
知識點: 數據類型及運算
收起解析
答案 D
解析 C語言程序設計/數據類型及運算
14.(4分)若x、i、j和k都是int型變量,則計算下面表達式后,x的值為()x=(i=4,j=16,k=32)? ? ? ? A.4 B.16 C.32 D.52
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 C
解析 C語言程序設計/數據類型與運算/逗號表達式
15.(4分)對說明語句int a[10]={6,7,8,9,10};的正確理解是()? A.將5個初值依次a[1]至a[5] ? ? ? B.將5個初值依次a[0]至a[4] C.將5個初值依次a[5]至a[9] D.將5個初值依次a[6]至a[10]
糾錯
得分: 0
知識點: 數組
收起解析
答案 B
解析 C語言程序設計/數組/一維數組的引用
16.(4分)在C語言程序中,下面哪一個是正確的? ? ? ? ? A.函數的定義可以嵌套,但函數的調用不可以嵌套
B.函數的定義不可以嵌套,但函數的調用可以嵌套
C.函數的定義可以嵌套,函數的調用也可以嵌套
D.函數的定義和函數的調用都不可以嵌套
糾錯
得分: 0
知識點: 函數
收起解析
答案 B
解析 C語言程序設計/函數
17.(4分)執行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y;變量a,b,c的值分別是()? ? ? ? A.a=9,b=9,c=9 B.a=8,b=8,c=10 C.a=9,b=10,c=9 D.a=8,b=8,c=9
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析
答案 B
解析 C語言程序設計/選擇結構程序設計/條件與算術運算符
18.(4分)設以下變量均為int類型,則值不等于7的表達式是()? ? ? ? A.x=y=6,x+y,x+1 B.x=y=6,x+y,y+1 C.x=6,x+1,y=6,x+y D.y=6,y+1,x=y,x+1
糾錯
得分: 0 知識點: 數據類型與運算
收起解析
答案 C
解析 C語言程序設計/數據類型與運算/算術表達式
19.(4分)下面程序的運行結果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} ? ? ? ? A.3,-1 B.8,-1 C.3,0 D.8,-2
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 D
解析 C語言程序設計/循環程序設計/循環的嵌套
20.(4分)若有以下定義int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,則對數組元素地址的正確引用是()? ? ? ? A.&p B.a++ C.&(p+1)D.&p[i]
糾錯
得分: 0
知識點: 指針
收起解析
答案 D
解析 C語言程序設計/指針/數組指針的引用
21.(4分)寫出下面程序的輸出結果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} ? ? ? ? A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
糾錯
得分: 0
知識點: 順序程序設計
收起解析
答案 C 解析 C語言程序設計/順序程序設計/整型變量的輸出格式和算術運算符
二、判斷
1.(4分)在C 語言中,共用體類型屬于構造類型
? ?
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 正確
解析 C語言程序設計/數據類型與運算/構造數據類型
2.(4分)main(){short i;i=-4;printf(' i:dec=%d, oct=%o, hex=%x, unsigned=%u ',i,i,i,i);}以上程序的輸出結果為i:dec=-4, oct=177774, hex=fffc, unsigned=65532 ? ?
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 正確
解析 C語言程序設計/數據類型與運算/數據類型輸出格式
3.(4分)C語言中沒有真正的多維數組
? ?
糾錯
得分: 0
知識點: 數組
收起解析
答案 正確
解析 C語言程序設計/數組
4.(4分)已有定義int i,j;float x;為將-10賦給i,12賦給j,410.34賦給x;則對應以下scanf函數scanf('%o%x%e',&i,&j,&x);調用語句的數據輸入形式是-12ucu4.1034e2(u代表空格)? ? 糾錯
得分: 0
知識點: 順序程序設計
收起解析
答案 正確
解析 C語言程序設計/順序程序設計/格式輸入
(4分)以下程序的運行結果是()typedef union {long a[2];int b[4];char c[8];}TY;TY our;main(){printf('%d ',sizeof(our));} ? ? ? ? A.32 B.16 C.8 D.24
糾錯
得分: 4
知識點: 結構體與共同體
收起解析
答案 C
解析 C語言程序設計/結構體與共同體/共用體變量存儲
2.(4分)下列選項中,不合法的C語言關鍵字是
? ? ? ? A.auto B.default C.static D.var
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 D
解析 C語言程序設計/C語言概述
3.(4分)若有定義typedef char STRING[255];STRING s;則s是
? ? ? ? A.字符指針數組變量
B.字符指針變量
C.字符變量
D.字符數組變量
糾錯
得分: 4
知識點: 結構體與共用體
收起解析
答案 D 解析 C語言程序設計/結構體與共用體
4.(4分)以下不正確的定義語句是()? ? ? ? A.double x[5]={2.0,4.0,6.0,8.0,10.0} B.int y[5]={0,1,3,5,7,9} C.char c1[]={'1','2','3','4','5'} D.char c2[]={'x10','xa','x8'}
糾錯
得分: 4
知識點: 數組
收起解析
答案 B
解析 C語言程序設計/數組/一維數組的綜合5.(4分)表達式-l?(10?10:1):(0?0:-1)的值為()? ? ? ? A.10 B.1 C.0 D.-1
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 A
解析 C語言程序設計/數據類型與運算/逗號表達式
6.(4分)設有程序段int k=10;while(k=0)k=k-1;則下面描述中正確的是()? ? ? ? A.while循環執行10次
B.循環是無限循環
C.循環體語句一次也不執行
D.循環體語句執行一次
糾錯
得分: 4
知識點: 循環程序設計
收起解析
答案 C
解析 C語言程序設計/循環程序設計/while語句
7.(4分)以下read函數的調用形式中,參數類型正確的是()? ? A.read(int fd,char *buf,int count)B.read(int *buf,int fd,int count)? ? C.read(int fd,int count,char *buf)D.read(int count,char *buf,int fd)
糾錯
得分: 0
知識點: 文件
收起解析
答案 A
解析 C語言程序設計/文件/文件的讀和寫
8.(4分)對說明語句int a[10]={6,7,8,9,10};的正確理解是()? ? ? ? A.將5個初值依次a[1]至a[5] B.將5個初值依次a[0]至a[4] C.將5個初值依次a[5]至a[9] D.將5個初值依次a[6]至a[10]
糾錯
得分: 4
知識點: 數組
收起解析
答案 B
解析 C語言程序設計/數組/一維數組的引用
9.(4分)以下敘述正確的是()? ? ? ? A.在C程序中,main函數必須位于程序的最前面
B.在C程序的每一行只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進行編譯的過程中,可發現注釋中的拼寫錯誤
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 C
解析 C語言程序設計/C語言概述/主函數
10.(4分)在“文件包含”預處理語句的使用形式中,當#include后面的文件名用<>括起時,尋找被包含文件的方式是()? ? ? ? A.僅僅搜索當前目錄
B.僅僅搜索源程序所在目錄
C.直接按系統設定的標準方式搜索目錄
D.先在源程序所在目錄搜索,再按系統設定的標準方式搜索
糾錯
得分: 4
知識點: 編譯預處理 收起解析
答案 C
解析 C語言程序設計/編譯預處理/文件包含處理
11.(4分)設有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的輸出結果是()? ? ? ? A.運行錯誤
B.100 C.i的地址
D.j的地址
糾錯
得分: 4
知識點: 指針
收起解析
答案 B
解析 C語言程序設計/指針/引用與地址
12.(4分)關于fseek函數,以下有關操作的敘述不正確的是()? ? ? ? A.可以改變文件的位置指針
B.可以實現文件的順序讀寫
C.可以實現文件的隨機讀寫
D.只可以順序定位文件的位置指針
糾錯
得分: 4
知識點: 文件
收起解析
答案 D
解析 C語言程序設計/文件/文件的定位
13.(4分)在位運算中,操作數每左移2位,相當于()? ? ? ? A.操作數*2 B.操作數/2 C.操作數*4 D.操作數/4
糾錯
得分: 4
知識點: 位運算
收起解析
答案 C
解析 C語言程序設計/位運算/左移運算符
14.(4分)有枚舉類型的定義: enum color1 { yellow,green,blue=5,red,brown};則枚舉常量yellow 和 red的值分別是
? ? ? ? A.3,6 B.1,6 C.0,6 D.0,3
糾錯
得分: 4
知識點: 結構體與共用體
收起解析
答案 C
解析 C語言程序設計/結構體與共用體
15.(4分)有程序:main(){int a=5,b=1,c=0;if(a=b+c)printf('*** ');else printf('$$$ ');}該程序()? ? ? ? A.有語法錯誤不能通過編譯
B.可以通過編譯,但不能通過連接
C.輸出:*** D.輸出:$$$
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析
答案 C
解析 C語言程序設計/選擇結構程序設計/if-else語句
16.(4分)系統的標準輸入文件是指()? ? ? ? A.鍵盤
B.顯示器
C.軟盤
D.硬盤
糾錯
得分: 4
知識點: 文件
收起解析
答案 A
解析 C語言程序設計/文件/文件的定義
17.(4分)設有程序段t=0;while(printf('*')){t++;if(t<3)break;}下面描述正確的是()? ? ? A.其中循環控制表達式與0等價
B.其中循環控制表達式與'0'等價
C.其中循環控制表達式是不合法的 ? D.以上說法都不對
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 B
解析 C語言程序設計/循環程序設計/break語句
18.(4分)以下敘述中不正確的是()? ? ? ? A.預處理命令都必須以#開始
B.在C程序中凡是以#開始的語句行都是預處理命令行
C.C程序在執行過程中對預處理命令行進行處理
D.以下是正確的宏定義 #define IBM_PC
糾錯
得分: 0
知識點: 編譯預處理
收起解析
答案 C
解析 C語言程序設計/編譯預處理/預處理命令
19.(4分)以下關于運算符優先順序的描述中正確的是()? ? ? ? A.關系運算符<算術運算符<賦值運算符<邏輯運算符
B.邏輯運算符<關系運算符<算術運算符<賦值運算符
C.賦值運算符<邏輯運算符<關系運算符<算術運算符
D.算術運算符<關系運算符<賦值運算符<邏輯運算符
糾錯
得分: 4
知識點: 選擇結構程序設計
收起解析
答案 C
解析 C語言程序設計/選擇結構程序設計/關系運算符與邏輯運算符
20.(4分)已知函數的調用形式:fread(buffer, size, count, fp);其中buffer代表
? ? ? ? A.一個整型變量,代表要讀入的數據項總數
B.一個文件指針變量,指向要讀的文件
C.一個儲存區,存放要讀的數據項
D.一個指針變量,它存放數據緩沖區的地址
糾錯
得分: 0
知識點: 文件
收起解析 答案 D
解析 C語言程序設計/文件
21.(4分)若有以下定義:char s[10]='include',*p=s;則不能代表字符u的表達式是()? ? ? ? A.s[4] B.s+4 C.*(p+4)D.p+=4,*p
糾錯
得分: 0
知識點: 指針
收起解析
答案 B
解析 C語言程序設計/指針/字符串指針的引用
二、判斷
1.(4分)在C 語言中,共用體類型屬于構造類型
? ?
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 正確
解析 C語言程序設計/數據類型與運算/構造數據類型
2.(4分)int k=0;do{++k;}while(k>=0);是無限循環的語句
? ?
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 錯誤
解析 C語言程序設計/循環程序設計/do-while語句
3.(4分)main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的運行結果是1,1 ? ? 糾錯
得分: 4
知識點: 選擇結構程序設計
收起解析
答案 錯誤
解析 C語言程序設計/選擇結構程序設計/邏輯表達式
4.(4分)C語言中,共用體類型的變量在程序運行期間,所有成員都在內存中.? ?
糾錯
得分: 0
知識點: 結構體與共用體
收起解析
答案 錯誤
解析 C語言程序設計/結構體與共用體
(4分)已有以下數組定義和f函數調用語句,int a[3][4];f(a);則在f函數的說明中,對形參數組array的錯誤定義方式為()? ? ? ? A.f(int array[][6])B.f(int array[3][])C.f(int array[][4])D.f(int array[2][5])
糾錯
得分: 4
知識點: 函數
收起解析
答案 B
解析 C語言程序設計/函數/數組作為函數參數
2.(4分)設有說明:char *str[10];則標識符str的意義是()? ? ? ? A.str是一個指向有10個元素的數組的指針
B.str是一個有10個元素的數組,數組元素的數據類型是指向char型的指針型
C.str是一個指向char型函數的指針
D.str是具有10個指針元素的一維指針數組,每個元素都只能指向整型變量
糾錯
得分: 4
知識點: 指針
收起解析
答案 B
解析 C語言程序設計/指針/字符串指針 3.(4分)下面程序main(){int x=4,y=0,z;x*=3+2;printf(“%d”,x);x*=y= =(z=4);printf(“%d”,x);}的輸出結果是()? ? ? ? A.14 40 B.20 0 C.20 4 D.14 4
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 B
解析 C語言程序設計/數據類型與運算/算術表達式
4.(4分)下列選項中,不合法的C語言關鍵字是
? ? ? ? A.auto B.default C.static D.var
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 D
解析 C語言程序設計/C語言概述
5.(4分)定義一個聯合體變量時,系統分配給它的內存是()? ? ? ? A.聯合體中第一個成員所需內存量
B.聯合體中最后一個成員所需內存量
C.成員中占內存量最大者所需的容量
D.各成員所需內存量的總和
糾錯
得分: 4
知識點: 結構體與共同體
收起解析
答案 C
解析 C語言程序設計/結構體與共同體/共用體變量定義
6.(4分)以下有關宏替換的敘述不正確的是()? ? A.宏替換不占用運行時間
B.宏名無類型 ? ? C.宏替換只是字符替換
D.宏名必須用大寫字母表示
糾錯
得分: 4
知識點: 編譯預處理
收起解析
答案 D
解析 C語言程序設計/編譯預處理/宏定義
7.(4分)寫出下面程序的輸出結果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} ? ? ? ? A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
糾錯
得分: 0
知識點: 順序程序設計
收起解析
答案 C
解析 C語言程序設計/順序程序設計/整型變量的輸出格式和算術運算符
8.(4分)若有以下定義,int a,b;float x;則正確的賦值語句是()? ? ? ? A.a=1,b=2 B.b++ C.a=b=5 D.b=int(x)
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 B
解析 C語言程序設計/數據類型與運算/變量賦初值
9.(4分)下面四個選項中,均是不合法的用戶標識符的選項是()? ? ? ? A.A,P_0,do B.float,la0,_A C.b-a,goto,int D._123,temp,INT
糾錯
得分: 4
知識點: 數據類型與運算 收起解析
答案 C
解析 C語言程序設計/數據類型與運算/標識符
10.(4分)設有下面的程序段,char s[]='china';char *p;p=s;則下列正確的是()? ? ? ? A.s和p完全相同
B.數組s中的內容和指針變量p中的內容相等
C.s數組長度和p所指向的字符串長度相等
D.*p與s[0]相等
糾錯
得分: 4
知識點: 指針
收起解析
答案 D
解析 C語言程序設計/指針/數組與指針
11.(4分)設有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);請問執行后的輸出結果是()? ? ? ? A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 A
解析 C語言程序設計/數據類型與運算/整型變量
12.(4分)下列有關字符數組與字符串的說法中正確的是()? ? ? ? A.字符數組中存放的一定是—個字符串
B.所有的字符數組都可以被當作字符串處理
C.對存放字符串的字符數組可以象一般數組一樣對數組中的單個元素進行操作
D.一個字符數組可以認為就是一個字符串
糾錯
得分: 4
知識點: 數組
收起解析
答案 C
解析 C語言程序設計/數組/關字符數組與字符串
13.(4分)在一個C源程序文件中,若要定義一個只允許本源文件中所有函數使用的全局變量,則該變量需要使用的存儲類別是()? ? ? ? A.extern B.register C.auto D.static
糾錯
得分: 4
知識點: 函數
收起解析
答案 D
解析 C語言程序設計/函數/變量的存儲類型
14.(4分)以下程序#include main(){printf('%d ',NULL);}的輸出結果是()? ? ? ? A.不確定的值(因變量無定義)B.0 C.-1 D.1
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 B
解析 C語言程序設計/順序程序設計/NULL的輸出
15.(4分)printf函數中用到格式符'%4s',其中數字4表示輸出的字符串站用4列。如果字符串長度大于4,則按原字符長從左向右全部輸出;如果字符串長度小于4,則輸出方式為()? ? ? ? A.從左起輸出該字符串,右補空格
B.按原字符長從左向右全部輸出
C.右對齊輸出該字符,左補空格
D.輸出錯誤信息
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 C
解析 C語言程序設計/順序程序設計/字符串的輸出格式
16.(4分)C語言允許函數值類型缺省定義,此時該函數值隱含的類型是()? ? A.float型
B.int型 ? ? C.long型
D.double型
糾錯
得分: 4
知識點: 函數
收起解析
答案 B
解析 C語言程序設計/函數/函數返回值
17.(4分)下列字符串不屬于標識符的是()? ? ? ? A.total
B.lutos_1_2_3 C._night D.$ 123
糾錯
得分: 4
知識點: C語言概述
收起解析
答案 D
解析 C語言程序設計/C語言概述/C程序標識符
18.(4分)若有以下定義, int k=7,x=12, 則能使值為3的表達式是()? ? ? ? A.x%=k%=5 B.x%=k-k%5 C.x%=(k-k%5)D.(x%=k)-(k%=5)
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 D
解析 C語言程序設計/數據類型與運算/算術表達式
19.(4分)表達式-l?(10?10:1):(0?0:-1)的值為()? ? ? ? A.10 B.1 C.0 D.-1
糾錯
得分: 0
知識點: 數據類型與運算
展開解析 20.(4分)不屬于面向機器語言的是()? ? ? ? A.符號語言
B.二進制語言
C.匯編語言
D.C語言
糾錯
得分: 4
知識點: C語言概述
收起解析
答案 D
解析 C語言程序設計/C語言概述/C程序特點
21.(4分)下列字符串是標識符的是()? ? ? ? A._HJ
B.9_student C.long D.LINE 1
糾錯
得分: 4
知識點: C語言概述
收起解析
答案 A
解析 C語言程序設計/C語言概述/C程序標識符
二、判斷
1.(4分)C語言中形參到實參傳遞是雙向的
? ?
糾錯
得分: 4
知識點: 函數
收起解析
答案 錯誤
解析 C語言程序設計/函數
2.(4分)若有說明int *p1,*p2,m=5,n;則p1=&m;p2=&p1;是正確的程序段
? ? 糾錯
得分: 4
知識點: 指針
收起解析
答案 錯誤
解析 C語言程序設計/指針/指針變量的定義
3.(4分)在C 語言中,指針類型屬于構造類型
? ?
糾錯
得分: 4
知識點: 數據類型與運算
收起解析
答案 錯誤
解析 C語言程序設計/數據類型與運算/構造數據類型
4.(4分)C語言中的main函數必須位于程序的最前面
? ?
糾錯
得分: 4
知識點: C語言概述
收起解析
答案 錯誤
解析 C語言程序設計/C語言概述
(4分)以下對二維數組a的正確說明是()? ? ? ? A.int a[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)
糾錯
得分: 4
知識點: 數組
收起解析
答案 C
解析 C語言程序設計/數組/二維數組的定義
2.(4分)若有以下定義:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;則值為5的表達式是()? ? ? ? A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
糾錯
得分: 4
知識點: 指針
收起解析
答案 A
解析 C語言程序設計/指針/字符串指針的引用
3.(4分)putchar函數可以向終端輸出一個()? ? ? ? A.整型變量表達式
B.實型變量值
C.字符串
D.字符或字符型變量值
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 D
解析 C語言程序設計/順序程序設計/putchar函數
4.(4分)下列有關字符數組與字符串的說法中正確的是()? ? ? ? A.字符數組中存放的一定是—個字符串
B.所有的字符數組都可以被當作字符串處理
C.對存放字符串的字符數組可以象一般數組一樣對數組中的單個元素進行操作
D.一個字符數組可以認為就是一個字符串
糾錯
得分: 4
知識點: 數組
收起解析
答案 C
解析 C語言程序設計/數組/關字符數組與字符串
5.(4分)若要求表示a不等于0的關系,錯誤的表達式是()? ? ? ? A.a<>0 B.a!=0 C.a
D.a<0| |a>0
糾錯
得分: 0 知識點: 選擇程序設計
收起解析
答案 A
解析 C語言程序設計/選擇程序設計/關系表達式
6.(4分)閱讀以下程序,int w=1,x=2,y=3,z=4,m;m=w ? ? ? ? A.1 B.2 C.3 D.4
糾錯
得分: 4
知識點: 選擇結構程序設計
收起解析
答案 A
解析 C語言程序設計/選擇結構程序設計/條件運算符嵌套
7.(4分)定義一個結構體變量時,系統分配給它的內存是()? ? ? ? A.結構體中第一個成員所需內存量
B.結構體中最后一個成員所需內存量
C.成員中占內存量最大者所需內存量
D.各成員所需內存量的總和
糾錯
得分: 4
知識點: 結構體與共同體
收起解析
答案 D
解析 C語言程序設計/結構體與共同體/結構體變量定義
8.(4分)若有定義typedef char STRING[255];STRING s;則s是
? ? ? ? A.字符指針數組變量
B.字符指針變量
C.字符變量
D.字符數組變量
糾錯
得分: 4
知識點: 結構體與共用體
收起解析
答案 D
解析 C語言程序設計/結構體與共用體
9.(4分)下面程序的運行結果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} ? ? ? ? A.3,-1 B.8,-1 C.3,0 D.8,-2
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 D
解析 C語言程序設計/循環程序設計/循環的嵌套
10.(4分)判斷字符串a和b是否相等,應當使用()? ? ? ? A.if(a==b)B.if(a=b)
C.if(strcmp(a,b))D.if(strcmp(a,b)==0)
糾錯
得分: 0
知識點: 數組
收起解析
答案 D
解析 C語言程序設計/數組/字符串處理函數
11.(4分)設有程序段int k=10;while(k=0)k=k-1;則下面描述中正確的是()? ? ? ? A.while循環執行10次
B.循環是無限循環
C.循環體語句一次也不執行
D.循環體語句執行一次
糾錯
得分: 4
知識點: 循環程序設計
收起解析
答案 C
解析 C語言程序設計/循環程序設計/while語句
12.(4分)以下敘述中正確的是()? ? ? ? A.在程序的一行上可以出現多個有效的預處理命令行
B.使用帶參的宏時,參數的類型應與宏定義時的一致
C.宏替換不占用運行時間,只占用編譯時間
D.以下定義中C R是稱為宏名的標識符#define C R 045 糾錯
得分: 4
知識點: 編譯預處理
收起解析
答案 C
解析 C語言程序設計/編譯預處理/宏定義
13.(4分)設有說明:double y=0.5,z=1.5;int x=10;則能夠正確使用C語言庫函數的賦值語句是()? ? ? ? A.z=exp(y)+fabs(x)B.y=log10(y)+pow(y)C.z=sqrt(y-z)
D.x=(int)(atan2((double)x,y)+exp(y-0.2))
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 D
解析 C語言程序設計/數據類型與運算/賦值表達式
14.(4分)若有int w=1,x=2,y=3,z=4;則表達式w ? ? ? ? A.4 B.3 C.2 D.1
糾錯
得分: 0
知識點: 選擇結構程序設計
收起解析
答案 D
解析 C語言程序設計/選擇結構程序設計/條件運算符嵌套
15.(4分)設整型變量a和b的值分別為8和9。printf('%d,%d',(a++,++b),b--);的輸出是()? ? ? ? A.8,8 B.8,7 C.9,9 D.10,9
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 C 解析 C語言程序設計/順序程序設計/格式輸入輸出綜合16.(4分)在C語言程序中,下面哪一個是正確的? ? ? ? ? A.函數的定義可以嵌套,但函數的調用不可以嵌套
B.函數的定義不可以嵌套,但函數的調用可以嵌套
C.函數的定義可以嵌套,函數的調用也可以嵌套
D.函數的定義和函數的調用都不可以嵌套
糾錯
得分: 0
知識點: 函數
收起解析
答案 B
解析 C語言程序設計/函數
17.(4分)以下描述中正確的是()? ? ? ? A.由于do-while循環中循環體語句只能是一條可執行語句,所以循環體內不能使用復合語句
B.do-while循環由do開始,用while結束,在while(表達式)后面不能寫分號
C.在do-while循環體中,一定要有能使while后面表達式的值變為零('假')的操作
D.do-while循環中,根據情況可以省略while。
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 C
解析 C語言程序設計/循環程序設計/do-while語句
18.(4分)定義一個聯合體變量時,系統分配給它的內存是()? ? ? ? A.聯合體中第一個成員所需內存量
B.聯合體中最后一個成員所需內存量
C.成員中占內存量最大者所需的容量
D.各成員所需內存量的總和
糾錯
得分: 0
知識點: 結構體與共同體
收起解析
答案 C
解析 C語言程序設計/結構體與共同體/共用體變量定義
19.(4分)C語言提供的合法關鍵字是()? A.break ? ? ? B.print C.funtion D.end
糾錯
得分: 4
知識點: C語言概述
收起解析
答案 A
解析 C語言程序設計/C語言概述/C程序關鍵字
20.(4分)設整型變量a值為9,則下列表達式中使b的值不為4的表達式()? ? ? ? A.b=a/2 B.b=a%2 C.b=8-(3,a-5)D.b=a>5?4:2
糾錯
得分: 0
知識點: 數據類型與運算
收起解析
答案 B
解析 C語言程序設計/數據類型與運算/整型算術表達式
21.(4分)不屬于面向機器語言的是()? ? ? ? A.符號語言
B.二進制語言
C.匯編語言
D.C語言
糾錯
得分: 0
知識點: C語言概述
收起解析
答案 D
解析 C語言程序設計/C語言概述/C程序特點
二、判斷
1.(4分)對for(表達式1;;表達式3)可理解為for(表達式1;1;表達式3)? ?
糾錯
得分: 4
知識點: 循環程序設計 收起解析
答案 正確
解析 C語言程序設計/循環程序設計/for語句
2.(4分)若有說明int c;則while(c=getchar());是錯誤的C語句.? ?
糾錯
得分: 0
知識點: 數據類型及運算
收起解析
答案 錯誤
解析 C語言程序設計/數據類型及運算
3.(4分)已有定義int i,j;float x;為將-10賦給i,12賦給j,410.34賦給x;則對應以下scanf函數scanf('%o%x%e',&i,&j,&x);調用語句的數據輸入形式是-12ucu4.1034e2(u代表空格)? ?
糾錯
得分: 4
知識點: 順序程序設計
收起解析
答案 正確
解析 C語言程序設計/順序程序設計/格式輸入
4.(4分)int k=0;do{++k;}while(k>=0);是無限循環的語句
? ?
糾錯
得分: 0
知識點: 循環程序設計
收起解析
答案 錯誤
解析 C語言程序設計/循環程序設計/do-while語句
下列有關字符數組與字符串的說法中正確的是()(4分)
? ? ? ? A.字符數組中存放的一定是—個字符串
B.所有的字符數組都可以被當作字符串處理
C.對存放字符串的字符數組可以象一般數組一樣對數組中的單個元素進行操作
D.一個字符數組可以認為就是一個字符串 正確C 3.putchar函數可以向終端輸出一個()(4分)
? ? ? ? A.整型變量表達式
B.實型變量值
C.字符串
D.字符或字符型變量值
正確D 以下是對二維數組的正確說明的是()A.int[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)正確 C 1.20701、以下正確的說法是。C A)用戶若需要調用標準庫函數,調用前必須重新定義 B)用戶系統根本不允許用戶重新定義標準庫函數
C)用戶可以重新定義標準庫函數,若如此,該函數將失去原有意義 D)用戶若需要調用庫函數,調用前不必使用預編譯命令將該函數所在文件包括到用戶源文件中,系統自動尋找該文件。2.20702、按照C語言規定,以下不正確的說法是。B A)實參可以是常量、變量或表達式 B)形參可以是常量、變量或表達式
C)實參可以是任意類型 D)實參應與其對應的形參類型一致 3.20703、C語言規定,簡單變量做實參時,它和對應形參之間的數據傳遞方式是。B A)地址傳遞 B)單向值傳遞
C)由實參傳給形參,再由形參傳回實參 D)調用時指定傳遞方式 4.20704、以下程序有語法性錯誤,有關錯誤原因的正確說法是 C。void main(){int G=5,k;void prt_char();......k=prt_char(G);......} A)語句void prt_char();有錯,它是函數調用語句,不能用void說明 B)變量名不能使用大寫字母
C)函數說明和函數調用語句之間有矛盾 D)函數名不能使用下劃線 5.20705、C語言規定,函數返回值的類型是由所決定。D A)return語句中的表達式類型 B)調用該函數時的主調函數類型 C)調用該函數是系統臨時指定 D)在定義該函數時所指定的函數類型 6.20706、若函數定義為: int data(){ float x=9.9;return(x);} 則函數返回的值是。B A)9.9 B)9 C)10 D)出現錯誤 7.20707、C語言允許函數值類型缺省定義,此時該函數值隱含的類型是。B A)float型 B)int型 C)long型 D)double型 8.20708、以下正確的描述是。B A)函數的定義可以嵌套,但函數的調用不可以嵌套 B)函數的定義不可以嵌套,但函數的調用可以嵌套 C)函數的定義和函數的調用均不可嵌套 D)函數的定義和函數的調用均可以嵌套 9.20709、已有以下數組定義和f函數調用語句:B int a[3][4];f(a);則在f函數的說明中,對形參數組array的錯誤定義方式為。A)f(int array[][6])B)f(int array[3][])C)f(int array[][4])D)f(int array[2][5])10.20710、以下錯誤的描述是。D A)函數調用可以出現在執行語句中 B)函數調用可以出現在表達式中 C)函數調用可以作為函數的實參 D)函數調用可以作為函數的形參 11.20711、以下不正確的說法為。D A)在不同函數中可以使用相同名字的變量 B)形式參數是局部變量
C)在函數內定義的變量只在本函數范圍內有效
D)在函數內的復合語句中定義的變量在本函數范圍內有效 12.20712、凡是函數中未指定存儲類別的局部變量,其隱含的存儲類別為。A A)auto B)static C)extern D)register 13.20713、以下程序的正確運行結果是。C #include
歷次成績 1.56.0 完成時間
2015-02-23 11:30:27
查看詳情
C語言程序設計課程作業_C 0,0,0 1,2,3 1,2,1 2,2,2
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 0.0 1,2,3 2,2,2 8.C語言規定:在一個源程序中,main函數的位置()可以任意 必須在最后 必須在最開始
必須在系統調用的庫函數的后面
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 4.0 可以任意 可以任意
9.函數rewind的作用是()使位置指針指向文件的末尾
將位置指針指向文件中所要求的特定位置 使位置指針重新返回文件的開頭 使位置指針自動移到下一個字符位置
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 4.0 使位置指針重新返回文件的開頭 使位置指針重新返回文件的開頭
10.設有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);請問執行后的輸出結果是()16,10,8 8 10 16 10,10,10 8,10,16
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 0.0 8 10 16 16,10,8
11.C語言源程序的最小單位是()程序行 語句 函數 字符
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 0.0 函數 字符
12.以下函數的功能對應于 int fun(char *s,char *t){ while(*s)&&(*t)&&(*t==*s)} { t++;s++;} return(*s-*t);} strlen(s)+strlen(t)strcmp(s,t)strcpy(s,t)
strcat(s,t)
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 4.0 strcmp(s,t)strcmp(s,t)
13.若fp已正確定義并指向某個文件,當未遇到該文件結束標志時,函數feof(fp)值 0 1-1
一個非0值的
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 0.0-1 一個非0值的
14.以下敘述中正確的是()在程序的一行上可以出現多個有效的預處理命令行 使用帶參的宏時,參數的類型應與宏定義時的一致 宏替換不占用運行時間,只占用編譯時間
以下定義中C R是稱為宏名的標識符#define C R 045
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 4.0 宏替換不占用運行時間,只占用編譯時間 宏替換不占用運行時間,只占用編譯時間
15.根據下面程序及數據的輸入和輸出形式,main(){char ch1,ch2,ch3;輸入語句printf('%c%c%c',ch1,ch2,ch3);}, 輸入形式:AuBuC輸出形式:AuB, 程序中輸入語句的正確形式應該為()(u代表空格)scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c,%c,%c',&ch1,&ch2,&ch3)scanf('%c %c %c',&ch1,&ch2,&ch3)scanf('%c%c',&ch1,&ch2,&ch3)
本題分值: 用戶得分: 用戶解答: 標準答案:
4.0 4.0 scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c%c%c',&ch1,&ch2,&ch3)
16.若有以下定義,int a,b;float x;則正確的賦值語句是()a=1,b=2 b++ a=b=5 b=int(x)
本題分值:
4.0 用戶得分:
0.0
第三篇:C語言程序設計課程教學設計
C語言程序設計課程教學設計
蘇小紅
一 課程內容體系 :
基本描述
課程名稱: C 語言程序設計
英文譯名 : C PROGRAMMING LANGUAGES 總 學 時: 50 ; 講課學時: 30 ; 實驗學時 : 0 ; 上機學時 : 30 授課對象 :非計算機專業 本科生 授課單位 :計算機科學與技術學院 主講教師 :蘇小紅等
先修課程 :高等數學,計算方法 課程要求 :必修課 課程分類 :專業基礎課 開課學期 : 2
教學定位 :
本課程為專業基礎課,屬我校所有理工科專業本科教學計劃中的主要必修課程之一。在計算機教育方面,C 語言是為數不多的與國外保持內容同步的課程之一,可見,它在本科生教學中的地位之重要不言而喻。由于 C 語言是許多后續專業課程的基礎,因此,在本科生教學體系中中,C 語言教學僅是起點,而非終點。本著面向未來的精神,本課程的教學宗旨是要努力把 C 語言從應試課程轉變為一種實踐工具,主要目的不再局限于使學生單純地了解和掌握 C 語言的基本語法規范,而是要致力于培養學生運用 C 語言解決實際問題的編程能力,以 C 語言為工具,介紹程序設計的基本思想和方法,培養學生無論以后在學習、工作中使用什么語言編程,都能靈活應用這些思想和方法的能力。
知識點與學時分配 :
第 1 章 程序設計 ABC(1 學時)
計算機與人之間的關系、計算機與程序設計語言之間的關系、程序設計語言的故事、程序設計語言的工作機理。
第 2 章 數據類型、運算符與表達式(3 學時)
為什么引入數據類型、C 語言基本數據類型、常量、變量、算術運算符、關系運算符、邏輯運算符、賦值運算符、增 1 減 1 運算符、強制類型轉換運算符、位運算符、逗號運算符、運算符的優先級和結合性、各種運算表達式。
第 3 章 簡單的 C 程序設計(2 學時)
C 語句分類、表達式語句、復合語句和空語句、字符輸入輸出函數、格式輸入輸出函數。第 4 章 程序的控制結構(5 學時)
算法的概念及其描述方法、條件語句、循環語句、流程轉移控制語句(goto、continue 和 break)、自頂向下、逐步求精的結構化程序設計方法。第 5 章 函數(4 學時)
程序結構的藝術、函數定義、函數調用、函數返回值、函數原型、參數傳遞、變量的作用域和存儲類,函數封裝、模塊分解原則、模塊化程序設計方法。第 6 章 數組(4 學時)
一維數組、二維數組、向函數傳遞一維數組、向函數傳遞二維數組、字符數組、字符串處理函數。第 7 章 指針(4 學時)
指針的概念、為什么引入指針的概念、變量的指針作函數參數、字符指針做函數參數、指針和數組之間的關系、指針數組、代碼風格、防御性程序設計。第 8 章 結構體和共用體(4 學時)
結構體類型、結構體變量、結構體數組、向函數傳遞結構體指針、共用體類型。第 10 章 文件操作(2 學時)
計算機中的流、文件、基本文件操作、高級文件操作。復習總結(1 學時)
第四篇:《C語言程序設計》課程教學設計
《C語言程序設計》課程教學設計
理學院電子科學系計算機基礎教研室 趙永梅
《C語言程序設計》是大學計算機基礎教學系列中的核心課程之一,是計算機及信息類專業本科生必修的一門專業基礎課。它講述了C語言的語法、數據類型、結構化程序設計方法等方面的內容,從而形成一個比較完整的、系統的計算機及信息類專業計算機程序設計基礎教學內容,是學員從技術的角度學習計算機的主要基礎課,具有不可替代的基礎性、先導性和全局性作用。
一、課程教學對象分析
本課程的教學對象是培訓部計算機類專業一、二年級本科層次學員。所有教學對象都應該已經學習過《大學計算機基礎》,但由于學員的計算機基礎的較大差異,針對教學對象的實際情況,應當根據教育部高等學校計算機科學與技術教學指導委員會《關于進一步加強高等學校計算機基礎教學的意見》暨計算機基礎課程教學基本要求,給以適當的分類、分層次教學,即一般要求和較高要求,使學員掌握C語言的簡單程序設計的基本技術和方法。
二、課程基本理念
本課程以培養復合型的專業技術人才為目標,全面貫徹素質教育和創新教育思想,著力提高人才培養質量。通過本課程的學習應使學員掌握正確的程序設計方法與思想。具有初步的利用計算機分析問題、解決問題的意識與能力,為學員將來到社會從事專業應用軟件的開發打下重要基礎。
三、課程設計思路
以本課程的基本理念為指導,對課程目標分別從知識與技能、過程與方法、情感態度與價值觀等方面進行了具體明確的闡述。課程內容與教學要求主要闡述學員學習本課程必須掌握的內容要點及達到的基本要求,并注明了重點和難點。在實施建議部分,分別對課程教學實施、課程考核評價、教材選編使用、課程資源開發與利用以及教學保障等提出了明確建議。本課程是一門實踐性很強的課程,應改變傳統的注重語法規則的應試型教學模式,合理安排教學實踐環節,加強程序設計技能的教學,以培養學員的專業技能,突出學員學習的主體地位。可通過與實際應用結合緊密的例題,增設小型工程應用項目的研究或運用案例式教學,提高學員編程的技巧。
四、課程教學目標
以《計算機程序設計》的課程標準為參考,根據教育部新的精神和要求,通過課堂教學與實踐教學,讓學員了解《C語言程序設計》這門課程的性質、地位和在工程應用中的價值;熟練掌握C語言的語法,掌握程序設計的基本思想和方法,具備良好的程序設計風格和程序的調試技能。能夠利用軟件工程的思想,運用數據結構基本知識和算法,解決實際生活中或者專業課中涉及到的實際問題,從而培養學員分析問題、解決問題的能力。
五、課程教學內容
(一)教學內容
根據《C語言程序設計》課程標準,參照相關專業人才培養方案以及后續課程的開設情況,講授8個教學單元的教學內容。
第一單元:C語言概述
教學內容:C語言的特點、C語言源程序簡介、C語言源程序的基本結構、C程序的編輯、編譯、鏈接和運行
學時分配:講課2學時,實習2學時
目的和要求:了解C語言及其特點、掌握C語言源程序基本結構、掌握C語言源程序集成開發環境
重 點:C語言源程序的基本結構。難 點:C語言源程序集成開發環境。第二單元:基本數據類型及其運算 教學內容:C語言的基本數據類型及其分類、變量與常量、各種運算符及其表達式
學時分配:講課4學時,實習2學時
目的和要求:了解C語言的數據類型、掌握常量與變量的概念和使用方法、掌握C語言中的整型數據、浮點型數據和字符型數據的表示方法、掌握各種運算符和表達式的使用方法、掌握各類數值型數據之間混合運算的方法
重 點:基本數據類型及其分類 難 點:各種運算符和表達式的使用 第三單元: 結構化程序設計
教學內容:算法的概念及特性、算法的描述、結構化程序設計方法、C的語句、賦值語句、數據的輸入與輸出、順序結構程序設計、關系運算、邏輯運算和條件運算、if語句、switch語句、while、do?while、for、break、continue語句、循環結構程序設計
學時分配:講課22學時,實習6學時
目的和要求:理解算法的概念和特性、掌握用N-S圖描述算法、初步了解結構化程序設計的思想、掌握用N-S圖描述三種基本結構、掌握C語句的種類和特點、掌握數據輸入、輸出的方法、掌握順序結構程序設計方法、掌握關系運算、邏輯運算和條件運算、掌握if語句和switch語句的執行過程、掌握選擇結構程序設計方法、掌握三種循環語句的執行過程和區別、掌握break和continue語句的用法、掌握循環結構程序設計方法。
重 點:算法的概念及特性、C的語句、邏輯運算,if語句和switch語句構成選擇結構、三種循環語句
難 點:掌握用N-S圖描述算法、數據的輸入與輸出、switch語句的執行過程、循環結構程序設計
第四單元:函 數
教學內容:函數的定義與聲明、函數的調用與返回、數組作為函數的參數、變量的存儲類別、內部函數和外部函數
學時分配:講課4學時、實習2學時
目的和要求:理解函數的基本概念、掌握函數的定義、聲明、調用和返回、掌握數組作為函數的參數的特性、掌握變量的作用域及存儲方式、了解內部函數和外部函數的使用方法及區別
重 點: 函數的定義和調用,數組作函數的參數 難 點: 函數的遞歸調用和嵌套調用 第五單元:數 組
教學內容:數組的概念、一維數組的定義、引用和初始化、二維數組的定義、引用和初始化、字符數組的定義、引用和初始化、字符串處理函數
學時分配:講課6學時、實習2學時
目的和要求:理解數組的基本概念、掌握數組的定義、初始化和數組元素的引用方法、掌握字符數組和字符串處理函數的使用、掌握與數組有關的常用算法(冒泡排序和選擇排序)
重 點:數組的定義、初始化和數組元素的引用 難 點:二維數組和字符數組的應用 第六單元:結構體和共用體
教學內容:結構體類型及其使用方法、指向結構體類型數據的指針、用指針處理鏈表、共用體類型及其使用方法、枚舉類型及其使用方法、用typedef定義新類型
學時分配:講課4學時、實習2學時
目的和要求:理解結構體、共用體類型和枚舉類型的概念、掌握結構體、共用體和枚舉類型數據的使用、了解用指針處理鏈表的方法和意義、掌握typedef命令的使用方法
重 點:結構體、共用體類型和枚舉類型數據的使用方法 難 點:指針處理鏈表的方法 第七單元:指 針 教學內容:指針的概念、指針與變量、指針與數組、指針與字符串、指針與函數
學時分配:講課6學時、實習2學時
目的和要求:理解指針的概念、掌握指針變量的定義、引用方法及運算、掌握通過指針訪問數組的方法、掌握通過指針處理字符串的方法、掌握使用指針作為函數的參數、掌握函數指針、掌握指針數組和指向指針的指針
重 點:指針的概念、指針作函數的參數、數組的指針和字符串的指針
難 點:函數的指針、指針數組和指針的指針 第八單元:文 件
教學內容:文件類型指針、文件的打開與關閉、文件的讀寫 學時分配:講課2學時,實習2學時
目的和要求:掌握文件概念及文件的打開與關閉、掌握文件的順序和隨機讀寫、了解文件的出錯檢測
重 點:文件的打開、關閉和讀寫函數的使用 難 點:文件類型指針
(二)教學實踐
本課程是一門實踐性很強的課程,上機實習是教學過程中的一個重要環節,目的是使學員熟練掌握C程序編輯、編譯、鏈接和運行的基本步驟,提高學員在TURBOC環境下,運用C語言對具體問題進行程序設計的能力。按照課程標準,本課程共安排20 學時的上機實習。
為了更好地開展教學實踐,給每位學員統一發放了與主講教材配套的上機指導書《C程序設計上機實踐指導書》,以輔助理論教學,提高學員的程序設計的能力。
實踐教學內容與課時分配如下: 實驗1: TURBOC 2.0環境下的基本操作 課時分配:2學時 實驗目的:
(1)掌握TURBOC 2.0的基本操作;
(2)掌握TURBOC 2.0環境下編輯、編譯、鏈接和運行程序的基本方法;
(3)初步了解C語言源程序的基本結構。實驗2 :基本數據類型及其運算 課時分配:2學時 實驗目的:
(1)掌握C語言的基本數據類型,學會變量的定義和賦值;(2)熟練掌握C語言有關運算符、表達式的使用方法;
(3)進一步熟悉C語言程序的編輯、編譯、鏈接和運行的基本步驟。實驗3: 順序結構程序設計 課時分配:2學時 實驗目的:
(1)熟練掌握各種基本類型數據的輸入、輸出方法;(2)熟練掌握賦值語句的使用方法;
(3)熟練掌握格式輸入、輸出函數的使用方法。實驗4 :選擇結構程序設計 課時分配:2學時 實驗目的:
(1)掌握關系表達式、條件表達式以及邏輯表達式;(2)熟練運用if語句的不同形式編寫程序;(3)掌握switch語句的使用方法。實驗5: 循環結構程序設計 課時分配:2學時 實驗目的:
(1)熟練掌握while,do?while,for語句的使用;(2)掌握在程序設計中用循環方法實現的一些常用算法;(3)進一步熟悉調試程序的方法。實驗6: 函數 課時分配:2學時 實驗目的:
(1)掌握實參和形參在函數間進行“值傳遞”的對應關系和傳遞方法;
(2)掌握函數的嵌套調用和遞歸調用;(3)理解變量的存儲類別和作用域。實驗7: 數組 課時分配:2學時 實驗目的:
(1)掌握數值型數組的初始化和輸入、輸出的方法;(2)掌握字符數組的初始化和字符串的輸入、輸出方法;(3)掌握數組下標的表示方法。實驗8: 結構體與共用體 課時分配:2學時 實驗目的:
(1)掌握結構體類型和結構體變量的定義和使用方法;(2)學會構造合理的數據結構解決實際問題的方法;(3)理解動態內存分配的概念;(4)掌握簡單鏈表的定義和操作;(5)掌握共用體數據的定義和使用方法;(6)掌握枚舉類型數據的定義和使用方法。實驗9: 指針 課時分配:2學時 實驗目的:
(1)理解指針和地址的概念;掌握指針變量的定義和使用方法;(2)掌握用指針處理數組的方法;(3)掌握字符串指針的使用方法;(4)掌握函數的指針的使用方法;(5)掌握指針數組和指針的指針的使用方法;(6)掌握指針變量的運算。實驗10: 文件 課時分配:2學時 實驗目的:
(1)掌握文件的打開和關閉方法以及文件的讀寫方法;(2)了解文件的定位以及出錯的檢測。
六、教學方法手段
(一)教學方法
通過對基礎知識的講解,突出基本概念、基本思想的講授和基本技能的訓練,結合案例精講多練,注重講解與實際應用結合緊密的例題,加強實踐練習。在教學過程中,貫穿“講授式”、“啟發式”、“案例式”、和“研討式” 等教學方法。
注意教學方法的靈活性,教學過程中,借助現有的多媒體設備,靈活運用教學方法,再現問題情景,增加互動氛圍,培養學員分析問題、解決問題的能力和探究意識。
作業量每次3-5題,難度應當適中,教員應做到定時批閱,及時講評。
注重實踐環節。實習課(20學時),在教員指導下,單人單機自主進行。實習內容根據程序設計基本技能中的要求合理設計,依次實施。
適當增加一些小型項目或以大作業的形式,使學員進一步加強學習的自主性,培養解決綜合問題的能力。
(二)備課與課堂設計 1.備課
按照人才培養方案、課程標準和教學基本要求,在開課前需要深刻理解本課程各單元的主要教學內容,以課程教學組為基本單位組織集體備課,統一教學要求、統一授課標準、統一課程進度。認真撰寫教案、制作課件并對針對重點如何突出、難點如何突破進行討論與試教練講。
2.課堂設計
將課程的全部教學內容分解落實到有限的25次課堂面授(50學時)和10次自主上機實習(20機時)之中去。在開課之前適當時候組織學員進行摸底考試,并且在開課后的兩周之內及時組織召開教學聯系會,全面了解學員對C語言的掌握情況和掌握程序設計方法的情況,以便因材施教,有的放矢。
七、教學評價
本門課程采用筆試與上機考試(機試)成績相結合的方式評價。筆試成績占70%,上機考試成績占30%。
第五篇:C語言程序設計教學探究論文
[摘要]文章主要針對高職高專院校中《C語言程序設計》教學中出現的聽得懂、編不出的現象,分析問題存在的原因,從教學的課程目標定位、教學內容和方法改革方面進行了探討,提出只有教師的教學內容和教學方法進行合理的組合,提高學生的學習興趣才能達到良好的教學效果。
[關鍵詞]教學方法 案例教學 教學效果
《C語言程序設計》作為計算機專業的基礎課,已經成為一門必修的課程,在整個課程體系中占有重要地位。在C語言教學過程中,從客觀上講,教師的教法和學生的學法的差異,對教學效果都會產生直接的影響。針對學生學習語言類課程的一般思維規律和思維模式,筆者結合多年來的教學經驗和教學體會,把一些經驗和方法總結出來,希望能對C語言教學有所幫助。
一、教學中存在的問題
《C語言程序設計》是一個邏輯性很強的課程。學生在畢業設計時會面臨具體的設計要求的問題,它與任何一本教材中的內容相距甚遠,這使大多數同學感到無從下手。這其中的原因可以分成兩類:一方面目前高校使用的教材中,絕大多數結構都基本相同。在每一章介紹完了概念之后,提供一些例題解釋相關概念的使用方法,并在章節結束后針對本章中出現的內容提供一些練習題。考試普遍采用單選、判斷及簡答等方式測試學生對于教材內容的掌握程度。從實際效果分析,實際上是測試學生對各章節中的基本概念記憶程度而不是理解程度。另一方面是在考試壓力下,特別是目前的應試考試方式中,學生更多注意的是教材中的典型例題與老師指定的重點內容,對于程序的系統概念沒有真正理解,特別是沒有整體設計的概念。通過對各類考試結果的分析,可以注意到一個現象,在考試中涉及的綜合編程部分,學生的得分率很低。為了確保學生的課程通過率,在考試時盡可能將綜合測試部分的比例壓低或提供學生統一復習提綱,這樣做的結果就是學生在學習時一切圍繞任課老師講課的內容,特別是老師講授的例題。學生在學習的過程中,沒有注意如何綜合運用相關內容解決具體問題,導致學生在學完程序設計課程進入應用階段時,面對具體的專業設計要求無從下手。
二、提高程序設計課程教學效果的途徑
1.明確課程目標
通過學習,學生應能正確理解語言的基本概念、語法、語義并得到充分的程序設計訓練。C語言課程一般是為應用性教學而設置的,因此,強調實踐性是計算機語言課程教學中特別要注意的問題。對于計算機語言課程的教授不應僅僅是傳授知識,應該以培訓能力為主。過分強調該語言的系統性和完整性可能會轉移學生對課程重點的注意力。C語言的內容繁多,在有限的課時內不可能也不必要面面俱到,所以必須突出重點,突出實用性,關鍵在于教會學生正確運用C語言編寫程序,一些細節、具體規則和進一步的知識可以讓學生在今后的應用中查閱有關書籍。教師應始終堅持以應用為中心,以算法為基礎,以培養學生的實踐能力為核心,突出技術實用性和再學習能力的培養。
2.進行教學改革
(1)教學內容改革
程序設計課程具有很強的實踐性,要以社會對編程能力的需求和技術發展為依據,調整教學大綱和教學內容,以適應技術崗位能力要求,設計模塊化課程體系。在課程設置與建設中,要充分體現教學內容在訓練和提高學生培養學生實踐能力方面的要求。適當增加實訓教學內容,以強化學生的實際開發和應用能力,實現“零距離就業”。
(2)改變教學思想
①由整體到具體,培養學生對C語言的興趣及正確的思維模式。《C語言程序設計》注重由設計算法到書寫程序并進行調試的整個過程,顯得抽象、復雜,這也是大多數學生抱怨程序設計太難、太深奧、不好學的主要原因。在教學過程中,應該先介紹一個較完整的程序例子,該例子包含了該語言中的主要語句,目的是使學生先對程序有個初步的印象,再簡單介紹該例子中用到的語句,讓學生對該語言的學習有一個大概的了解,避免學生對學習語言望而生畏。整個教學過程中應該把“解題思路、方法和步驟”當作授課的重點,從而讓學生明白如何分析、解決實際問題,逐漸培養學生進行程序設計的正確思維模式。
②一題多解,注重算法是程序設計的靈魂,是教學重點,也是教學難點,而語言只是表示形式。沒有正確的算法,計算機將解決不了任何問題。對于C語言所涉及到的算法,應進行部分精講多練。
(3)教學方法改革
①案例分析教學。通過案例分析,重點講解程序設計的思想和方法,輔以語言知識的介紹,將課程內容分為若干個主題,以程序設計做為貫穿各主題的主線。每個主題的教學過程由“要點講解”、“練習/上機實踐”和“疑難解答”三個階段組成。
②基于問題的教學。提出問題,以學生獨立完成為主,教師只提供必要的輔導,培養學生探索問題和解決問題的能力,更有利于創新能力的培養。
③“項目驅動”教學。在理論教學中采用“項目驅動”教學法,整個課程教學圍繞一個“工程項目”進行,通過逐步拓展的實訓項目和設計,將每一階段的學習進行小結性的貫穿與能力提高。將C 的知識點都溶化到一個個實訓項目的程序編寫中。在課程初期,主要是進行單項的編程練習,重在掌握C 語言的基本語句、數據類型與程序結構等。在進入數組、函數、結構、指針和文件內容教學時,開始實訓項目的編程實踐,逐步組建“教師管理系統”,并且添加文本菜單,整合擴展記錄添加、排序、查詢、統計和記錄瀏覽等內容形成課程設計。
(4)課程考核方式改革
①平時上機訓練時給學生留一些編程習題,每次根據學生編寫情況進行測評并占據期末總成績30%。
②期末前,給學生留一個綜合實訓題考核學生綜合解決問題的能力,要求同學們在一周內完成,占據期末總成績30%。
③期末進行理論考試,占期末總成績的40%。
3.展示學生作品,激發學生的學習欲望
計算機軟件課程具有多樣性、復雜性和求異性特點,我們要針對每個學生任務完成的情況,讓同學們展示自己的勞動成果,及時肯定學生的成績,這樣會有利于激發學生們的學習熱情,保持濃厚的學習興趣,對學生的后續學習將產生強大的動力和自信心,也可以對每次任務的完成情況進行積分制度,算入期末成績中,以激發學生們的興趣。
4.自始至終培養學生的自學能力
學生學習軟件的最終目的是編寫滿足需求的程序,所以我們在教學中教授的不僅僅是具體語言的語法知識,更重要的是通過這門語言學習,培養學生遇到實際問題自己分析問題、解決問題的能力。我們可以通過給學生布置作業的形式讓同學們自學,初始階段往往會遇到因為學生自學能力差而帶來的困難,所以在學生完成任務時,老師既要要求學生獨立思考、自主學習,又要鼓勵學生間進行協作學習。教師可以分配一些比較復雜的問題,由幾個學生組成一個小組合作解決,這樣同學們可以互相探討學習方法,協作解決一些遇到的問題,通過解決問題,鍛煉學生綜合應用知識的能力、培養其創造性和合作精神。
參考文獻:
[1]郭芹.對高職高專計算機專業程序設計教學的思考.中國科技信息,2008(1).[2]于麗杰,王育平,董楠萍等.面向對像程序設計綜合實踐課程教學模式的探索[J].高教論壇,2007.01.