高效備考方法-程式填空題

  • 2020 年 2 月 24 日
  • 筆記

程式填空題

一、程式填空題答題技巧

1. 程式填空題佔18分,一般有3個空需要填寫; 2. 填空題做題之前必須弄清題目含義,抓住關鍵字,例如:要求對數組進行從小到大排序, 則將會出現大於符號,如果是從大到小排序則出現小於符號; 3. 填空題中出現頻率最高的就是函數的調用、函數的首部、函數的返回值等和函數相關的問題,因此必須牢牢掌握函數的基本特徵; 4. 填空題中有的「空」比較難,考生除了掌握必須的C語言知識之外,還需要很好的邏輯思路,如果一個空將花很多時間來解決,那麼建議使用「死記硬背」的方法來縮短複習時間;(不建議所有題死記答案) 5. 上機題庫中100多題,有部分題目是重複的或是相似的題目很多,同學們要使用比對的方法盡量去理解; 6. 多練習,多思考,多總結

二、填空題的分類

1.數學題目

(1)如果在函數中定義變數,但是沒有定義成靜態存儲變數,即變數前面沒有static ,應給變數賦初值,如果以後用到的是加減運算,則賦初0或值者為是0.0;如果以後用到的是乘除運算,則賦值為1或者是1.0; (2)循環條件的填空,分析表達式的規律,看錶達式中的最後一項的值是否到了第m項或者是第n項,如果到了第m或者第n項,則在循環中的第二個表達式中用到的是i<=m或者是i<=n; (3)循環條件中如果用的是while 語句,則循環變數的初值應該在while 的外面定義和賦初值,在循環語句中必須給變數自加或者是自減。如果沒有則一般填的是i++; (4)看錶達式中的每一項運算規則,按照運算規則把每一項中的n值替換為i,特殊情況例外。如果是表達式中用到的是間隔相加減的運算時,注意給中間變數賦初值為1或者是1.0;在後面的運算中給變數乘以一個-1,以改變中間變數的符號。 2. 字元串題目 (1)循環的條件是判斷該字元是否和結束符相等,如果相等,說明該字元串結束,否則說明沒有結束,繼續循環。 (2)把一個數字字元轉變成對應的數值的格式是:ch=ch-『0』; 把大寫字母轉變為小寫字母的格式:ch=ch+32 把小寫字母轉變為大寫字母的格式為:ch=ch-32 (3)區分好字元數組中的指針和指針所指的值的關係。在循環語句中,當指針往後走一個位置的時候,用的是指針的自加,而不是指針所指的值的自加。 (4)掌握字元數組中函數的使用格式。即:strlen、strcmp、strcpy 、sizeof 、strcat 等函數。 (5)字元數組結束時都有一個結束符:』』;在字元數組中的題目中的結束後要加上一個結束符。 3.結構體題目

(1)看清題目的意思。 (2)定義結構體變數時的格式。 (3)注意結構體中成員的調用格式。結構體中的成員分為多種類型,調用結構體成員,使用的是「.」或者是「->」運算符。 (4)如果返回的是結構體的話,函數的返回類型必須是結構體類型。調用函數的格式中,調用的若是結構體數組,則只用寫結構體數組名。 4.函數題目(重點)

(1)看函數的返回類型,函數的返回類型必須和return語句返回的表達式的類型一致。 (2)函數的調用的情況,函數調用時只用寫函數的名稱,以及函數的參數。 (3)函數指針的調用格式,類型名(*f)(); (4)函數參數傳遞時的調用格式,如果函數傳遞的是二維數組,則在函數的傳遞過程中形式參數使用的是由m個元素組成一行的指針變數。 5. 鏈表題目

鏈表題目的步驟(參考): (1)首先看清楚題目要求和意思。看清楚鏈表有沒有帶頭結點,如果帶有頭結點,第一空填的內容是p=h->next ;如果是不帶有頭結點,則第一個空填寫的是p=h; (2)如果第二個空是在循環語句while 的括弧內,裡面的內容填寫的是p或者是q,以最近出現的為主;如果是在循環語句內,填寫的是q=p->next (3)如果是排序的時候,從小到大的時候是大於號,從大到小的時候是小於號。 6.文件類型的填空(重點,絕對重點!)

(1)文件類型的題目,看清楚題目意思,定義一個文件的指針,第一個位置出現fp的時候要填FILE*; 並且是大寫! (2)掌握文件中fopen、fprintf 、fscanf、fputs 、fputc 、fgets 、fgetc 、fseek、f write 、fread 、rewind 函數的使用格式。 (3)文件打開之後要注意關閉文件,關閉文件的函數fclose (文件指針); (4)在循環語句中如果使用到的是while (!feof()),填寫的一般是文件指針,表明判斷的是文件指針是否已經指到了文件的末尾。 備註:如果文件指針指到了文件的末尾,則feof 返回的是非零值,如果沒有指在文件的末尾,返回的是0值。 7.數組題目(重點)

數組填空題在C語言考試中出現的頻率很高,數組分為一維數組和二維數組。 一維數組較二維數組來說簡單一些。 一維數組中的題目類型: (1)求一個數值數組中,所有值的平均值和把大於或者小於平均值的數複製到另外一個數組中。在電腦平均值時,首先定義一個變數來存放平均分,平均分一般用av 變數來代替,如果av 已經定義但是沒有賦初值,那麼這個空填寫的內容的為:av =0; (2)求算平均值值時有兩種方法: 第一種方法:算出總的分數,再除以總的個數即可,如算1到6之間的數的平均值,首先算出1到6的和,其次用和除以個數6,即可以得到平均值; 第二種方法:用每一個數除以6再把所有的和加起來。即1/6+2/6+3/6+4/6+5/6+6/6;所以在執行的一維數組中算平均值時存在這種情況:如果在for 語句的後面有av =av /N; 則第二個空一般的填寫時av+=s[i];如果說沒有av =av /N;則填寫的是:av +=s[i]/N; (3)對數組進行排序時:如果是從大到小的排序的時候,用的是小於符號,如果是從小到大排序時使用的是大於符號。

二維數組中的題目類型: (1)二維數組的題目,填空的時候一般是填在函數調用。函數在調用時,填空一般為數組的名字; (2)二維數組遍歷時,使用循環的嵌套 (3)交換兩個變數的值的使用的格式為:t=a;a=b;b=t; 記住交換變數的格式和順序。 (4) 如果二維數組是字元串題目時,要記住字元串中函數的使用的格式;即:strlen、strcmp 、strcopy 、sizeof 、strcat 的使用格式。