欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語言程序設(shè)計題庫

      時間:2019-05-12 18:38:01下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言程序設(shè)計題庫》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言程序設(shè)計題庫》。

      第一篇:C語言程序設(shè)計題庫

      鄭州大學(xué)現(xiàn)代遠程教育

      《C語言程序設(shè)計》課程

      學(xué)習(xí)指導(dǎo)書

      柳宏川 編

      第1章

      緒論

      (一)本章學(xué)習(xí)目標

      掌握結(jié)構(gòu)化程序設(shè)計的思想,結(jié)構(gòu)化流程圖描述,算法設(shè)計基礎(chǔ)和良好程序設(shè)計風(fēng)格。

      (二)本章重點、要點

      C語言特點,算法概念及NS圖形描述,結(jié)構(gòu)化程序設(shè)計思想,三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),使用良好的程序設(shè)計風(fēng)格。

      (三)練習(xí)題

      1_1.什么是低級語言? 1_2.什么是高級語言?

      1_3.面向過程語言的特點是什么? 1_4.什么是算法? 1_5.算法有什么特點?

      1_6.結(jié)構(gòu)化算法的基本結(jié)構(gòu)有哪些? 1_7.結(jié)構(gòu)化程序設(shè)計的標準有哪些?

      第2章

      C語言程序的開發(fā)過程

      (一)本章學(xué)習(xí)目標

      熟悉C程序開發(fā)環(huán)境,熟練掌握調(diào)試工具的使用,掌握C語言程序結(jié)構(gòu)與語法規(guī)則。

      (二)本章重點、要點

      C程序開發(fā)環(huán)境工具的使用,C語言程序結(jié)構(gòu)與語法規(guī)則。

      (三)Turbo C 的操作指南

      開發(fā)一個C語言程序一般包括3個主要步驟:編輯,編譯和連接。掌握調(diào)試C語言程序的全過程。

      ? 編輯:根據(jù)求解算法,開發(fā)人員使用文本編輯器編輯代碼,生成源程序代碼,擴展

      ?

      ? ? ? 1)2)? ? 名為.C。

      編譯:編譯時,編譯器首先檢查源程序中每條語句的詞法和語法。當(dāng)發(fā)現(xiàn)錯誤時,在屏幕上顯示錯誤的位置、錯誤類型等相關(guān)信息。根據(jù)錯誤信息,重新使用編輯器進行查錯并修改,然后重新編譯直到所有的詞法和語法錯誤都被排除。正確編譯后產(chǎn)生二進制目標文件,擴展名為.OBJ。

      連接:編譯后產(chǎn)生的目標文件是可重定位的程序模塊,但不能直接運行。連接是將目標程序、庫函數(shù)和其它目標程序連接到一起,生成可執(zhí)行的程序。擴展名為.EXE。運行:源代碼經(jīng)過編譯、連接,生成可執(zhí)行程序后,就可以進行程序的運行了。編譯過程發(fā)現(xiàn)的錯誤可分為兩類。

      一類是局部語法錯誤。例如,缺失了分號、逗號,或者引用了錯誤的數(shù)據(jù)對象。另一類是程序內(nèi)部上下文關(guān)系方面的錯誤。例如,需要使用的數(shù)據(jù)對象沒有定義。連接時,也可能產(chǎn)生錯誤。例如,連接文件找不到等,具體不再敘述。

      源代碼經(jīng)過編譯、連接,生成可執(zhí)行程序后,還需要進行測試。測試的目的是發(fā)現(xiàn)程序的錯誤。一般通過輸入一些實際數(shù)據(jù)來驗證程序執(zhí)行結(jié)果的正確性。如果程序執(zhí)行中出現(xiàn)問題,或發(fā)現(xiàn)程序的輸出結(jié)果不正確,需要設(shè)法找到出錯的原因,并修改源程序,重新進行編譯、連接,再測試和調(diào)試,不斷反復(fù),直到程序正確無誤。

      第3章

      基本數(shù)據(jù)類型

      (一)本章學(xué)習(xí)目標

      熟練掌握標識符的概念,基本數(shù)據(jù)(整型、實型、字符型等),常量,轉(zhuǎn)義符,變量,變量的賦值。

      (二)本章重點、要點

      標識符的組成規(guī)則,基本數(shù)據(jù)類型及對應(yīng)的名稱(整型、實型、字符型等),常量,轉(zhuǎn)義符,變量,變量名,變量的賦值等。

      (三)練習(xí)題

      3_1.基本整型數(shù)據(jù)的輸出。3_2.實型數(shù)據(jù)的輸出。3_3.字符型數(shù)據(jù)的輸出。

      3_4.C語言標識符的命名規(guī)則如何? 3_5.C語言的基本數(shù)據(jù)類型有哪些? 3_6.什么是常量? 3_7.什么是變量?

      3_8.轉(zhuǎn)義字符有什么作用?舉例說明。

      3_9.字符串常量與字符常量的表示有什么不同?

      (二)本章重點、要點

      循環(huán)控制語句:while語句,do…while語句,for語句,循環(huán)初始條件、循環(huán)終止條件、循環(huán)體和循環(huán)變量,循環(huán)的嵌套,輔助控制語句,continue語句,break語句,goto語句。

      (三)練習(xí)題

      7_1.用while語句,求連加式1 + 2 +...+ n(n > 2)的值。7_2.用do…while語句,求連加式1 + 2 +...+ n(n > 2)的值。7_3.求解奇數(shù)的連加式1 + 3 + 5 +...+ n(n > 10)的值。7_4.將如圖所示的三角形圖案顯示到屏幕上。

      7_5.判斷一個整數(shù)是否為素數(shù)。

      第8章

      函數(shù)

      (一)(一)本章學(xué)習(xí)目標

      熟知函數(shù)的結(jié)構(gòu),正確進行函數(shù)定義,掌握函數(shù)頭部,函數(shù)體,函數(shù)的返回值等概念,理解函數(shù)的功能,理解函數(shù)參數(shù)的意義,掌握有參函數(shù)的調(diào)用和無參函數(shù)的調(diào)用,掌握運用函數(shù)調(diào)用的方式,掌握函數(shù)的聲明方法,理解函數(shù)的原型的概念。

      (二)本章重點、要點

      函數(shù)的定義,函數(shù)頭部,函數(shù)體,函數(shù)的值,返回語句,函數(shù)的功能,函數(shù)的調(diào)用,有參函數(shù)的調(diào)用,無參函數(shù)的調(diào)用,函數(shù)調(diào)用的方式,函數(shù)的聲明與函數(shù)的原型。

      (三)練習(xí)題

      8_1.編寫程序,通過調(diào)用函數(shù)imin,求兩個表達式的最小值。

      8_2.編寫程序,通過調(diào)用PtrStar函數(shù),輸出4行“@”號,每行10個。

      8_3.編寫程序,輸入一個年份,通過調(diào)用函數(shù)判斷其是否為閏年。

      8_4.編寫程序,輸入兩個數(shù),輸出其中絕對值最大的數(shù)。要求:求絕對值和求最大值分別使用函數(shù)完成,在求最大值的函數(shù)中調(diào)用求絕對值的函數(shù)。8_5.編寫函數(shù),完成顯示下列所示的三角形圖案,行數(shù)由函數(shù)參數(shù)決定。

      8_6.編寫程序,通過調(diào)用【實例8_5】中的函數(shù),輸出三個三角形的圖案。

      第9章

      數(shù)組

      (一)本章學(xué)習(xí)目標

      張確使用一維數(shù)組和二維數(shù)組去解決問題。學(xué)會使用數(shù)組作為函數(shù)參數(shù)、數(shù)組元素作為函數(shù)的參數(shù)和數(shù)組名作為函數(shù)參數(shù)的方法。

      (二)本章重點、要點

      一維數(shù)組,一維數(shù)組的定義,一維數(shù)組元素的引用,一維數(shù)組在內(nèi)存中的存儲,一維字符數(shù)組的說明。二維數(shù)組,維數(shù)組的定義,二維數(shù)組元素的引用,二維數(shù)組在內(nèi)存中的存儲。數(shù)組作為函數(shù)參數(shù),數(shù)組元素作為函數(shù)的參數(shù),數(shù)組名作為函數(shù)參數(shù)。

      (三)練習(xí)題

      9_1.用隨機函數(shù)產(chǎn)生15個100以內(nèi)的隨機整數(shù)存入一維數(shù)組,然后分三行輸出,每行5個數(shù)

      9_2.將一個一維數(shù)組a[9]中各元素值按行的順序放入二維數(shù)組b[3][3]中。9_3.將一個二維數(shù)組b[5][5]中各元素值列優(yōu)先的順序放入一維數(shù)組a[25]中。9_4.有一個m×n矩陣,各元素值由隨機數(shù)產(chǎn)生,求其轉(zhuǎn)置矩陣并輸出。

      9_5.有一個m×n矩陣,找出最大元素值及其最大元素值所在的行、列位置。9_6.將矩陣M(n,n)對角線上的元素置為1,其余元素置為0。

      第10章

      結(jié)構(gòu)體與共用體

      (一)本章學(xué)習(xí)目標

      掌握并正確使用結(jié)構(gòu)體類型、結(jié)構(gòu)體與數(shù)組,共用體,共用體類型。

      (二)本章重點、要點

      結(jié)構(gòu)體類型的定義,結(jié)構(gòu)體變量的定義,結(jié)構(gòu)體變量的引用,結(jié)構(gòu)體成員變量的引用,結(jié)構(gòu)體變量的初始化。結(jié)構(gòu)體與數(shù)組,共用體,共用體類型和共用體變量的定義,共用體變量的引用。

      (三)練習(xí)題

      10_1.設(shè)有學(xué)生信息如下:學(xué)號(長整型)、姓名(字符串型)、年齡(整型)、課程1成績(實型)、課程2成績(實型)、課程3成績(實型)、課程4成績(實型)、課程5-6

      讀寫。

      (三)練習(xí)題

      12_1.利用文本編輯軟件在磁盤上建立一個有n個學(xué)生的學(xué)號、姓名及英語、數(shù)學(xué)和計算機三門課程成績的數(shù)據(jù)文件。編寫程序?qū)⒔⒌臄?shù)據(jù)文件讀出且求出每個學(xué)生的平均成績。12_2用定義結(jié)構(gòu)類型的方法,編寫程序建立一個具有學(xué)生學(xué)號、姓名、總分和聯(lián)系電話的記錄文件。12_3編寫程序,利用第12_2建立的記錄文件,從鍵盤上輸入一個學(xué)號,查尋該位同學(xué)信息。12_4編寫程序,將第12_3題建立的文件復(fù)制到另一個文件。

      第13章

      運算符與表達式

      (一)本章學(xué)習(xí)目標

      深入理解運算符和表達式,掌握位運算方法。

      (二)本章重點、要點

      運算符與表達式,賦值運算符,復(fù)合賦值運算符,賦值表達式,賦值運算符的優(yōu)先級和結(jié)合方向。逗號運算符與逗號表達式,逗號表達式的求解順序,逗號運算符的優(yōu)先級,逗號運算符的擴展形式。條件運算符與條件表達式,條件運算符的求解順序,條件運算符的優(yōu)先級,條件運算符的結(jié)合方向,條件表達式的其它形式。自增自減運算符,前置運算,后置運算,自增自減運算符的優(yōu)先級與結(jié)合方向,位運算,位運算符,位運算的功能,與位運算有關(guān)的復(fù)合賦值運算符,不同長度的數(shù)據(jù)的位運算,表達式的求解。

      (三)練習(xí)題

      13_1.利用條件運算符實現(xiàn)大小寫字母的轉(zhuǎn)換。

      13_2.使用for循環(huán)求1至100的和。要求將所有的命令放入一個for循環(huán)結(jié)構(gòu)。13_3.將下列符號函數(shù)使用一個條件表達式完成。

      13_4.若int a=0,b=1,c=2,判斷下列表達式執(zhí)行后a,b,c及表達式的值(1)邏輯表達式

      a++&&b++&&c++(2)邏輯表達式

      ++a&&b++&&c++(3)邏輯表達式

      ++a&&--b&&c++(4)邏輯表達式

      a++||b++||c++(5)邏輯表達式

      ++a||b++||c++(6)邏輯表達式

      a++||--b||c++(7)邏輯表達式

      a++||b++&&(c-=2)(8)邏輯表達式

      a++&&b++||(c-=2)(9)邏輯表達式

      ++a&&b++||(c-=2)

      13_5.若a=1,b=2,c=3,d=4,m=1,n=3,則邏輯表達式(m=a>b)&&(n=c>d)13_6.解釋x!= 0.0 && y/x > 1.0的功能。

      第14章

      變量的存儲

      (一)本章學(xué)習(xí)目標

      掌握變量的存儲概念,理解變量的類別和作用域。

      (二)本章重點、要點

      變量的存儲單元,整型變量在內(nèi)存中的存儲,字符型變量在內(nèi)存中的存儲,實型變量在內(nèi)存中的存儲。變量的作用域,內(nèi)部變量,外部變量,變量的生存期,auto變量,全局變量,static變量,register變量。

      (三)練習(xí)題

      14_1.在C語言中,變量的存儲類別有哪4種? 14_2.什么是外部變量?其特點有哪些? 14_3.寄存器變量有什么特點? 14_4.什么是變量的作用域? 14_5.什么是變量的生存期?

      第15章

      指針

      (二)(一)本章學(xué)習(xí)目標

      深入理解指針,掌握高層次指針應(yīng)用,掌握鏈表的使用。

      (二)本章重點、要點

      指針與數(shù)組,一維數(shù)組與一維數(shù)組指針,二維數(shù)組的指針及數(shù)組元素的訪問,字符串指針。指針數(shù)組,指針數(shù)組,指向指針的指針,main函數(shù)的參數(shù),函數(shù)指針。結(jié)構(gòu)體指針,指向結(jié)構(gòu)體的指針,指向結(jié)構(gòu)體數(shù)組的指針,存儲管理函數(shù)。鏈表,鏈表的概念,單鏈表的基本操作。

      (三)練習(xí)題

      15_1.編寫一個程序,用12個月份的英文名稱初始化一個字符指針數(shù)組,當(dāng)鍵盤輸入整數(shù)為1到12 時,顯示相應(yīng)的月份名,鍵入其他整數(shù)時顯示錯誤信息。15_2.調(diào)用MaxMin函數(shù),返回數(shù)組的最大值和最小值。

      第16章

      函數(shù)

      (二)(一)本章學(xué)習(xí)目標

      深入理解函數(shù),從存儲方面解釋函數(shù)的調(diào)用。

      (二)本章重點、要點

      函數(shù)調(diào)用時的內(nèi)存,函數(shù)的活動,程序運行時存儲空間的劃分,函數(shù)的活動記錄。參數(shù)的傳遞機制,C語言參數(shù)傳遞,指針參數(shù),數(shù)組參數(shù)。遞歸函數(shù),直接遞歸與間接遞歸,遞歸函數(shù)的調(diào)用過程。

      (三)練習(xí)題

      16_1.設(shè)計一個函數(shù)把兩個整數(shù)形參中較大的那個數(shù)的地址作為函數(shù)值返回,并編寫主函數(shù)實現(xiàn)調(diào)用。

      16_2.編寫函數(shù),比較兩個字符串大小。若相等返回0,大于時返回1,否則返回-1。

      第17章

      預(yù)處理命令

      (一)本章學(xué)習(xí)目標

      正確理解預(yù)處理命令的概念,掌握預(yù)處理命令的使用方法。

      (二)本章重點、要點

      宏定義,無參宏定義,帶參宏定義,宏的作用域。帶參的宏與函數(shù)的區(qū)別,文件包含,條件編譯,“# ifdef”命令,“# ifndef”命令,“# if”命令,條件編譯和條件語句的比較。

      (三)練習(xí)題

      17_1.C語言的預(yù)處理有哪些?

      17_2.預(yù)處理命令在書寫格式上有什么要求?

      17_3.#include <文件名>和#include “文件名”有什么不同? 17_4. 條件編譯和條件語句有什么區(qū)別?

      參考答案

      第1章 緒論

      1_1.什么是低級語言?

      答:低級語言較依賴于所在的計算機系統(tǒng),也稱為面向機器的語言。使用低級語言編寫的程序,移植性較差。低級語言主要包括機器語言和匯編語言。

      機器語言是由二進制代碼“0”和“1”組成的若干個數(shù)字串。用機器語言編寫的程序,稱為機器語言程序。機器語言程序能夠被計算機直接識別并執(zhí)行。但是,程序員直接編寫或維護機器語言程序是很難完成的。

      匯編語言是一種借用助記符表示的程序設(shè)計語言。匯編語言的每條指令都對應(yīng)著一條機器語言代碼。匯編語言也是面向機器的,即不同類型的計算機系統(tǒng)使用的匯編語言也不同。1_2.什么是高級語言?

      答:高級語言編寫的程序易讀,易修改,移植性好。但使用高級語言編寫的程序不能直接在機器上運行,必須經(jīng)過語言處理程序的轉(zhuǎn)換,才能被機器識別。按照轉(zhuǎn)換方式的不同,可將高級語言分為解釋型和編譯型兩大類。1_3.面向過程語言的特點是什么?

      答:(1)采用模塊分解與功能抽象的方法,自頂向下,逐步求精。(2)按功能劃分為若干個基本的功能模塊,形成一個樹狀結(jié)構(gòu)。各模塊間的關(guān)系盡可能簡單,功能上相對獨立。每一個功能模塊內(nèi)部都是由順序、選擇或循環(huán)三種基本結(jié)構(gòu)組成。1_4.什么是算法?

      答:問題的求解過程,是對數(shù)據(jù)對象的加工過程。問題的求解過程包括兩個方面的內(nèi)容,即對問題涉及的“數(shù)據(jù)”進行描述和對“加工過程”進行描述。對“數(shù)據(jù)”的描述,稱為“數(shù)據(jù)結(jié)構(gòu)”,對“加工過程”的描述,稱為算法。1_5.算法有什么特點? 答:算法具有以下特點:

      (1)有窮性。一個算法包含的操作步驟是有窮的,而不能是無窮的,并且操作時一般還要求是合理可行的。

      (2)確定性。算法的每個操作都是確定的,而不應(yīng)該具有二義性。

      (3)有零個或多個輸入。“輸入”指的是執(zhí)行算法時,需要從外界獲取的必要信息。

      (4)有一個或多個輸出。算法的目的是為了得到計算的結(jié)果。一般地,計算結(jié)果即為輸出。沒有輸出的算法是沒有意義的。

      (5)有效性。算法的每一個操作都應(yīng)能有效地執(zhí)行,并得到確定的結(jié)果。1_6.結(jié)構(gòu)化算法的基本結(jié)構(gòu)有哪些?

      答:(1)順序結(jié)構(gòu)。(2)選擇結(jié)構(gòu)。(3)循環(huán)結(jié)構(gòu)。

      1121314num2 * num2;printf(“%d ^ 2 + %d ^ 2 = %dn”, num1, num2, SquareSum);printf(“%d ^ 264)% 26 + 65;printf(”%c's back is %cn“, ch, BackCh);return 0;} 第5章 C語言程序的輸出與輸入

      325_1.編寫程序求多項式 ax+bx+c的值(鍵盤輸入a=2, b=3, c=4, x=1.414)。# include int main(){ float a,b,c,x,y;printf(”Input a,b,c,x: “);scanf(”%f%f%f%f“, &a,&b,&c,&x);/*數(shù)據(jù)之間以空格分隔*/

      y = a*x*x+b*x*c;printf(”%fx^2+%fx+%f=%fn“, a,b,c,y);getchar();getchar();return 0;} 變化二:

      # include int main(){ float a,b,c,x,y;printf(”Input a,b,c,x: “);scanf(”%f%f%f%f“, &a,&b,&c,&x);/*數(shù)據(jù)之間以空格分隔*/ y = a*x*x+b*x*c;printf(”%.0fx^2+%.0fx+%.0f=%fn“, a,b,c,y);getchar();getchar();return 0;} 變化三:

      # include int main(){ int a,b,c;float x,y;printf(”Input a,b,c,x: “);scanf(”%d%d%d%f“, &a,&b,&c,&x);/*數(shù)據(jù)之間以空格分隔*/ y = a*x*x+b*x*c;printf(”%dx^2+%dx+%d=%fn“, a,b,c,y);getchar();getchar();return 0;} 運行結(jié)果參見變化二的結(jié)果圖。

      5_2.已知華氏溫度,根據(jù)公式:C = 5/9(F-32),求攝氏溫度C(結(jié)果保留兩位小數(shù))。#include int main(){ float f,c;printf(”Input f: “);scanf(”%f“, &f);c = 5.0/9*(f-32);/* 因為整除的原因,使用了5.0,而不是5 */ printf(”C=%fn“, c);return 0;} 5_3.使用宏定義定義符號常量 PI,其值為3.14159,并使用符號常量,求圓半徑r=2.456時的圓周長、圓面積。

      #include #define PI 3.14159 int main(){ float r,c,s;printf(”Input r: “);scanf(”%f“, &r);c = 2*PI*r;s = PI*r*r;printf(”C=%fnS=%fn“, c,s);return 0;} 注:也可以采用賦值的方式對r賦值2.456。

      5_4.用getchar()分別輸入‘A’,‘B’,‘C’,并賦值給a,b,c, 然后將其轉(zhuǎn)換成對應(yīng)的小寫字母,用putchar()將其輸出。#include #include int main(){ char a,b,c;printf(”Input Upper Characters A,B,C: “);/* 輸入時ABC之間不能有空格!*/ a=getchar();b=getchar();c=getchar();a = a+32;b = b-'A'+'a';c = tolower(c);printf(”a=“);putchar(a);putchar('n');printf(”b=“);putchar(b);putchar('n');printf(”c=“);putchar(c);putchar('n');return 0;} 5_5.若a=3,b=4,c=5,編寫程序,要求用一個scanf()函數(shù)完成輸入,按以下要求的格式輸出:

      x1=a+b+c= 3+ 4+ 5= 12 x2=a-b-c= 3-4-5=-6 #include #include int main(){ int a,b,c;printf(”a=“);scanf(”%d“,&a);

      printf(”b=“);scanf(”%d“,&b);printf(”c=“);scanf(”%d“,&c);printf(”x1=a+b+c=%d+%d+%d=%dn“,a,b,c,a+b+c);printf(”x1=a-b-c=%d-%d-%d=%dn“,a,b,c,a-b-c);return 0;}

      第6章 流程控制—選擇控制結(jié)構(gòu)

      6_1.使用if語句,求解兩個數(shù)中的最大值。/*程序功能:輸入兩個數(shù),輸出其中的大者*/ # include int main(){ int num1, num2;printf(”Input two numbers: “);scanf(”%d %d“, &num1, &num2);if(num1 >= num2){ printf(”max num is %d“, num1);} else { printf(”max num is %d“, num2);} return 0;} 6_2.使用switch語句,求解簡單算術(shù)表達式的值。int main(){ int num1, num2, result;char ch;printf(”Input a expression(e.g.3 + 5): “);scanf(”%d%c%d“, &num1, &ch, &num2);switch(ch)/*根據(jù)ch的值,選擇分支執(zhí)行*/ {case '+': result = num1 + num2;

      break;/*求和完畢,退出當(dāng)前switch語句*/ case '-': result = num1181932;

      break;

      } break;case 1: /*是大寫英文字母*/ ch2 = ch1 + 32;break;} printf(”Input: %cnOutput: %cn“, ch1, ch2);return 0;} 6_6.編寫程序,輸入一個年份,判斷其是否為閏年。

      分析:一個年份,當(dāng)且僅當(dāng)符合下列兩個條件之一的,即是閏年。能被4整除,但不能被100整除的年份。例如,1992年、2008年。能被400整除的年份。例如,2000年、2400年。

      用flag的值,表示是否為閏年。如果flag的值為1,表示閏年;如果是0,表示非閏年。# include

      int main(){ int year, flag;printf(”Input a year: “);scanf(”%d“, &year);if(year % 4 == 0){ if(year % 100!= 0)flag = 1;else { if(year % 400 == 0)flag = 1;else flag = 0;} } else flag = 0;if(flag)printf(”%d is a leap yearn“, year);else printf(”%d is not a leap yearn“, year);return 0;} 第7章 流程控制—循環(huán)控制結(jié)構(gòu)

      7_1.用while語句,求解連加式1 + 2 + ?+ n(n > 2)的值。# include int main(){ int i = 1,sum = 0,n;

      printf(“Input a number: ”);

      scanf(“%d”,&n); while(i <= n){ sum = sum + i;i=i+1;} printf(“1 + 2 +...+ %d = %dn”,n,sum); return 0; } 7_2.用do?while語句,求連加式1 + 2 +...+ n(n > 2)的值。# include int main(){ int i = 1, n;long product = 1;printf(”Input a number: “);

      scanf(”%d“, &n);do { product = product * i;i = i + 1;} while(i <= n);/*累乘i,直到i超過n為止*/ printf(”1 * 2 *...* %d = %ldn“, n, product);return 0;} 7_3.求解奇數(shù)的連加式1 + 3 + 5 +...+ n(n > 10)的值。# include int main(){ int i, sum = 0;int n;printf(”Input a number: “);scanf(”%d“, &n);for(i = 1;i <= n;i = i + 2){ sum = sum + i;} printf(”1 + 3 + 5 +...+ %d = %dn“, ii;){ printf(” “);j = j + 1;} /*第i行輸出31)

      { printf(”*“);j = j + 1;} /*第i行輸出2 * i23242526i;){ printf(” “);j = j + 1;} /*第i行輸出n1){ printf(”*“);j = j + 1;} /*第i行輸出2 * ii;){ printf(” “);j = j + 1;} /*第i行輸出n271){ printf(”*");j = j + 1;} /*第i行輸出2 * i2829303******4

      若要求x1、x2、y1、y2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入是()。(注:└┘代表空格)

      A.10A└┘20B

      B.10└┘A20B C.10 └┘A└┘20└┘ B

      D.10A20└┘B 43.若變量已正確說明為float類型,要通過語句scanf(”%f %f%f”, &a, &b, &c);給a賦予10.0,b賦予22.0,c賦予33.0,不正確的輸入形式為()。

      A.10<回車>

      B.10.0,22.0,33.0<回車>

      22<回車>

      C.10.0<回車>

      D.10

      22<回車> 22.0

      33.0<回車>

      33<回車> 44.有如下程序,若要求x1、x2、y1、y2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入是()。(注:└┘代表空格)int x1,x2; char y1,y2;

      scanf(”%d%d”,&x1,&x2);scanf(”%c%c”, &y1,&y2);A.1020AB

      B.10└┘20└┘ABC C.10└┘20

      D.10└┘20AB AB 45.已有定義int a=-2;和輸出語句:printf(”%8lx”,a);以下正確的敘述是()。A.整型變量的輸出格式符只有%d一種

      B.%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù) C.%x是格式符

      D.%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度 46.有如下程序段,對應(yīng)正確的數(shù)據(jù)輸入是()。float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A.2.04<回車>

      B.2.04,5.67<回車>

      5.67<回車> C.A=2.04,B=5.67<回車>

      D.2.055.67<回車> 47.有如下程序段,從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)是()。(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123

      B.x=1,y=2,z=3 C.1,2,3

      D.x=1└┘ y=2└┘ z=3 48.以下說法正確的是()。

      A.輸入項可以為一個實型常量,如scanf(”%f”,3.5);B.只有格式控制,沒有輸入項,也能進行正確輸入,如scanf(”a=%d,b=5d”);C.當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanf(”%4.2f”,&f);D.當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(”%f”,&f);49.根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為:()。(注:└┘代表空格)已有定義:float x,y;

      數(shù)據(jù)的輸入方式:1.23<回車>

      4.5<回車> A.scan(”%f,%f”,&x,&y);

      B.scanf(”%f%f”,&x,&y);C.scanf(”%3.2f└┘%2.1f”,&x,&y);

      D.scanf(”%3.2f%2.1f”,&x,&y);50.根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語句的正確形式應(yīng)該為()。#include ”stdio.h” main(){char s1,s2,s3;輸入語句;

      printf(”%c%c%c”,s1,s2,s3);} 輸入形式:A└┘B└┘C<回車>

      (注:└┘代表空格)輸出形式:A└┘B A.scanf(”%c%c%c”,&s1,&s2,&s3);B.scanf(”%c└┘%└┘c%c”,&s1, &s2,&s3);C.scanf(”%c,%c,%c”,&s1,&s2,&s3);D.scanf(”%c%c”, &s1, &s2,&s3);51.以下程序的執(zhí)行結(jié)果是:()。#include ”stdio.h” main(){ int x=2,y=3;printf(”x=%%d,y=%%dn”,x,y);} A.x=%2,y=%3

      B.x=%%d,y=%%d C.x=2,y=3

      D.x=%d,y=%d 52.以下程序的輸出結(jié)果是()。(注:└┘代表空格)#include ”stdio.h” main(){ printf(”nstring1=%15s*”, ”programming”);printf(”nstring2=%-5s*”, ”boy”);printf(”string3=%2s*”, ”girl”);} A.string1=programming└┘└┘└┘└┘*

      B.string1=└┘└┘└┘└┘programming*

      string2=boy*

      string2=boy└┘└┘*string3=gi*

      string3=gi*

      C.string1=programming└┘└┘└┘└┘*

      D.string1=└┘└┘└┘└┘programming*

      string2=└┘└┘boy*string3=girl*

      string2=boy└┘└┘*string3=girl* 53.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入輸出語句的正確內(nèi)容是()。#include ”stdio.h” main(){ int a;

      float b;

      748

      第二篇:C語言程序設(shè)計試題題庫

      第一章 基礎(chǔ)知識 一.填空

      1.每個C程序都必須有且僅有一個________ 函數(shù)。

      2.C語言程序開發(fā)到執(zhí)行通常要經(jīng)過6個階段即編輯、預(yù)處理、________、鏈接、加載 和執(zhí)行。

      3.軟件是程序,以及______、使用和維護所需要的所有文檔。4.國標中規(guī)定:“計算機程序是按照具體要求產(chǎn)生的適合于計算機處理的_________”。

      5.程序設(shè)計語言按照書寫形式,以及思維方式的不同一般分為低級語言和________兩大類。6.C語言是由________組成的。

      7.C語言的函數(shù)可分為主函數(shù)main、標準庫函數(shù)和_________。8.一個函數(shù)是由兩部分組成的,即:________和 函數(shù)體。

      9..編譯是將C語言所編寫的源程序________成機器代碼,也稱為建立目標代碼程序的過程。10.程序是由某種程序設(shè)計語言編制出來,體現(xiàn)了編程者的控制思想和對計算機執(zhí)行操作 的要求。不同的任務(wù)功能,就會需求不同的軟件程序,如:控制計算機本身軟硬件協(xié)調(diào)工作,并使其設(shè)備充分發(fā)揮效力,方便用戶使用的系統(tǒng)軟件程序,稱為操作系統(tǒng);而為辦公自動 化(OA)、管理信息系統(tǒng)(MIS)、人工智能、電子商務(wù)、網(wǎng)絡(luò)互聯(lián)等等應(yīng)用而開發(fā)的軟件程序,統(tǒng)稱為_________。

      11.機器語言是以__________形式表示的機器基本指令的集合,是計算機系統(tǒng)唯一不需要翻 譯可以直接識別和執(zhí)行的程序設(shè)計語言。12.與機器語言相比,使用匯編語言來編寫程序可以用_______來表示指令的操作碼和操作對 象,也可以用標號和符號來代替地址、常量和變量。

      13.在編譯程序之前,凡以____開頭的代碼行都先由預(yù)處理程序預(yù)處理。14.C程序的執(zhí)行均是由執(zhí)行_________開始。

      15.函數(shù)體即為包含在{ }內(nèi)的部分。它分為________和為完成功能任務(wù)由若干個C語句 組成的執(zhí)行部分。

      16.C語言程序中一條簡單語句是以________字符作為結(jié)束符的。17.C語言是結(jié)構(gòu)化、________的程序設(shè)計語言。

      18.由于計算機硬件不能直接識別高級語言中的語句,因此,必須經(jīng)過“_______程序”,將用高級語言編寫的程序翻譯成計算機硬件所能識別的機器語言程序方可執(zhí)行。

      19.用高級語言編寫的程序需翻譯成計算機硬件所能識別的機器語言程序方可執(zhí)行。所以 說,用高級語言進行程序設(shè)計,其編程效率高,方便易用,但_______沒有低級語言高。20.第一個系統(tǒng)體現(xiàn)結(jié)構(gòu)化程序設(shè)計思想的教學(xué)工具語言是_______語言。解答: 1.main()2.編譯

      3.開發(fā)

      4.指令序列

      5.高級語言

      6.函數(shù)

      7.自定義函數(shù)

      8.函數(shù)首部

      9.翻譯

      10.應(yīng)用軟件

      11.二進制代碼

      12.助記符

      13.# 14.main函數(shù)

      15.聲明部分

      16.;(或分號)

      17.模塊化

      18.翻譯

      19.執(zhí)行速度

      20.PASCAL 二.閱讀程序?qū)懡Y(jié)果;三.補充程序;四.改錯題;五.編程一;六.編程二; 第二章 常量、變量和表達式 一.填空

      1.以16位計算機為例,若定義long int a;則變量a占______個字節(jié)的內(nèi)存空間。2.以16位計算機為例,若定義double a;則變量a占______個字節(jié)的內(nèi)存空間。3.以16位計算機為例,若定義long double;則變量a占______個字節(jié)的內(nèi)存空間。4.在______位機,int型占4個字節(jié)。

      5.C語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、______、空類型。6.在C語言中,基本數(shù)據(jù)類型有:______。

      7.整型常量046轉(zhuǎn)換為十進制數(shù)等于______。

      8.整型常量054轉(zhuǎn)換為十進制數(shù)等于______

      。9.整型常量0x125轉(zhuǎn)換為十進制數(shù)等于_____。

      10.整型常量0x7C轉(zhuǎn)換為十進制數(shù)等于______。

      11.整型常量39轉(zhuǎn)換為八進制等于______。

      12.實數(shù)473.468寫成規(guī)范化指數(shù)形式,則應(yīng)為______。

      13.實數(shù)0.0453寫成規(guī)范化指數(shù)形式,則應(yīng)為_____。

      14.將0x123轉(zhuǎn)換為二進制等于______。

      15.字符’A’表示成十六進制等于_____。

      16.在C語言中,稱代表常量的標識符為______。

      17.C語言中是用編譯預(yù)處理命令______來定義符號常量

      18.在C語言中,以反斜杠符()開頭,后跟字符的字符序列,稱之為_____,主要用來表示控制及不可見的字符或者一些圖形符號。

      19.語句printf(“106”)執(zhí)行的結(jié)果輸出是______。

      20.語句printf(“b”)執(zhí)行的結(jié)果輸出是______。

      21.語句printf(“b”)執(zhí)行的結(jié)果輸出是______。

      22.語句printf(“102”)執(zhí)行的結(jié)果輸出是______。

      23.若有char ch1;ch1='a'+4;則語句printf(“%c”,x)的輸出結(jié)果為______。

      24.字符串常量“Hello, everyone!”占據(jù)的內(nèi)存空間為______個字節(jié) 25.字符串常量“Hello,Bob!”占據(jù)的內(nèi)存空間為 ______個字節(jié)。

      26.十進制整型常量由0~9個數(shù)據(jù)組成,但不能以______開始,沒有小數(shù)部分 27.十六進制常量由0~9和______組成

      28.unsigned long類型常量通常以______為后綴

      29.實型常量通常有小數(shù)形式和______兩種表達方式

      30.C語言中是用編譯預(yù)處理命令______來包含其他源文件

      31.為了表示字符串的結(jié)束,系統(tǒng)自動在字符串的最后加一個______,但不被輸出 32.C語言中,其值可被改變的量稱為變量,它具有三個基本要素:變量名、______和變量值。33.C語言規(guī)定,變量的標識符只能由字母、數(shù)字和下劃線組成,且不能以______開頭。34.在16位機中,sizeof(“hellon”)等于______。

      35.在16位機中,printf(““hello””)等于_____。

      36.字符變量在內(nèi)存中占用______個字節(jié)的存儲空間。37.若有定義int x=27, y=6;則表達式 x/y的值為______。38.若有定義int x=47, y=8;則表達式 x%y的值為______。

      39.若有定義char ch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf(“ch1=%c, ch2=% c”,ch1,ch2);則輸出為______。

      40.若有定義char ch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf(“ch2=%c, ch3=% c”,ch2,ch3);則輸出為______。

      41.若有定義int i=5, j, k;執(zhí)行j=i--;k=--i;printf(“i=%d, j=%dn”, i, j);則輸 出為______。

      42.表達式(int)(13.7+25.6)/4%5的值是______。

      43.表達式 3.6-5/2+1.2+5%3的值是______。

      44.表達式54%10/2+4.0*(8/5)的值是______。

      45.若定義int x;double b=5.45;執(zhí)行x=b后,則x的值為______。

      46.若定義int y;char c='A';執(zhí)行y=c后,則y的值為______。

      47.若定義 int a=8;float b=2.5;則a/(int)(b)的值為______。

      48.若a=5,則執(zhí)行a*=7-3語句后,a的值是______。

      49.若int a=1,b=0,c=4,d=2;則表達式(a>b ? a:b)&&(c-d)的值為______。

      50.已知a = 0,表達式 a = 1?b = 1:b = 0;執(zhí)行后,b的值是_____。

      51.若定義int m=7,n=12;則表達式n%=m-m%5的值是______。

      52.若定義int a=8;float b=4.5;執(zhí)行a*=a/=a-b后,a的值為______。

      53.int a=2;!a++的值為_____。

      54.int a=0;!++a的值為______。

      55.int a=7;float b=4.5;則printf(“%d”,a*=a/=a-b)的值為______。

      56.int k=7;float a=2.5,b=4.7;則表達式a+k%3*(int)(a+b)%2/4的值為______。

      57.#define MM(a,b)(a-b)?a:b int a=2,b=6;printf(“%dn”,MM(a,b))的值為______。

      58.在32位機中,int a=4,b=7;printf(“%0x”,a-b)的值為:______。

      59.int x,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值為: ______。

      60.int i=2,j;printf(“%d”,j=i<1)的值為:______。

      解答: 1.4;2.4;3.10;4.32;5.指針類型;6.int、float、double、char;7.38;8.44;9.293; 10.124;11.047;12.4.734680e+002;13.4.530000e-002;14.100100011;15.x41/41H; 16.符號常量;17.#define;18.轉(zhuǎn)義字符常量;19.F;20.b;21.b;22.B;23.e;24.16; 25.11;26.0;27.A~F;28.U;29.指數(shù)形式;30.#include;31.“