第一篇:Windows程序設(shè)計(jì)案例教程習(xí)題解答
《Windows程序設(shè)計(jì)案例教程》習(xí)題解答
第1章
1.1 選擇題
1..NET Framework是一種()。
A、編程語言 B、程序運(yùn)行平臺 C、操作系統(tǒng) D、數(shù)據(jù)庫管理系統(tǒng) 2.用Visual Studio.NET編寫的程序被編譯成中間語言(MSIL)后,運(yùn)行時(shí)還要再一次被編譯,這種編譯被稱為()。
A、CLR B、JIT C、GC D、GDI 3.using namespace的作用是表示()。
A、引入名字空間 B、使用數(shù)據(jù)庫 C、使用一個(gè)文件 D、使用一段程序 4.要使程序運(yùn)行,需要按()鍵。
A、F5 B、Ctrl+F5 C、F10 D、F11 5.C#中的數(shù)據(jù)類型有()和()兩種。
A.值類型
B.調(diào)用類型
C.引用類型
D.關(guān)系類型 6.以下運(yùn)算符中,()是三目運(yùn)算符。
A.?:
B.――
C.=
D.<= 7.下列不能為類的成員的是()。
A、屬性 B、方法 C、索引器 D、接口
8.下列哪一個(gè)不是類的成員的訪問修飾符()
A、private B、base C、public D、protected 9.調(diào)用構(gòu)造函數(shù)創(chuàng)建對象時(shí),通常使用()關(guān)鍵字。
A.typeof B.new C.as D.is 10.關(guān)鍵字virtual只能用來修飾類的()成員。
A.字段 B.方法 C.屬性 D.常量
11.用()關(guān)鍵字定義的方法,屬于整個(gè)類而不屬于類的某一個(gè)具體實(shí)例。
A.public B.static C.protected D.private 12.在屬性的訪問聲明中,對屬性的讀操作用()關(guān)鍵字標(biāo)出,表明屬性的值是只讀的,不能改寫。
A.set B.get C.private D.public 13.聲明了一個(gè)數(shù)組Array[13],則Array[3]表示第()個(gè)元素。
A.3 B.4 C.5 D.無法知道 14.在C#中,多繼承通過()來實(shí)現(xiàn)
A.屬性 B.接口 C.索引器 D.方法
15.采用異常處理格式編寫程序的目的在于使程序()。
A.不會(huì)引發(fā)異常 B.順利通過編譯
C.減少異常 D.在出現(xiàn)異常后能夠得到處理 16.窗體的標(biāo)題條顯示的標(biāo)題由窗體的()屬性決定。
A、BackColor B、Text C、ForeColor D、Opacity 17.關(guān)閉窗體需要調(diào)用窗體()方法。
A、Show B、Hide C、Activate D、Close 18.對文本文件寫進(jìn)一行,需要調(diào)用StreamWriter實(shí)例的()方法。
A.Write B.WriteLine C.Flush D.Close 參考答案
1.B 2.B 3.A 4.B 5.A、C 6.A 7.D 8.B 9.B 10.B 11.B 12.B 13.B 14.B 15.D 16.B 17.D 18.B
1.2 判斷題
1.類是具有相同特征和行為的事物的抽象,對象是類的實(shí)例化。2.一個(gè)類只能有一個(gè)對象,它就是this。
3.因?yàn)榻Y(jié)構(gòu)與類十分相似,所以它們的存儲(chǔ)形式是相同的。4.一個(gè)派生類只能有一個(gè)基類,但可以有多個(gè)接口。
5.當(dāng)程序運(yùn)行后有異常出現(xiàn),該段程序就應(yīng)該采用異常處理的格式來編寫。6.類File與FileInfo的功能是相同的,其方法名相同,方法的參數(shù)也相同。參考答案
1.√ 2.╳ 3.╳ 4.√ 5.╳ 6.╳
第2章
2.1 選擇題
1.窗體的標(biāo)題條顯示的文本由窗體的()屬性決定。
A、BackColor B、Text C、ForeColor D、Opacity 2.下列控件在程序運(yùn)行期間總不可見的是()。
A、TextBox B、Timer C、Label D、PictureBox 3.當(dāng)鼠標(biāo)移動(dòng)到控件上時(shí)要改變鼠標(biāo)光標(biāo)形狀需要修改控件的()屬性。
A、Font B、Icon C、Cursor D、Dock 4.要使控件不可用(呈灰色顯示)需要將()屬性設(shè)置為False。
A、Enabled B、Visible C、Locked D、CausesValidation 5.要將焦點(diǎn)設(shè)置到某控件,需要調(diào)用該控件的()方法。
A、FindForm B、Refresh C、GetNextControl D、Focus 6.當(dāng)輸入焦點(diǎn)離開控件時(shí)調(diào)用的代碼段應(yīng)寫在該控件的()事件中。
A、Enter B、Leave C、LostFocus D、Move 7.需要判明在控件上按下的是鼠標(biāo)哪個(gè)鍵時(shí)需要利用該控件的()事件。
A、KeyDown B、KeyUp C、MouseDown D、MouseUp 8.當(dāng)控件的文本(Text)屬性發(fā)生改變時(shí)會(huì)引發(fā)控件的()事件。
A、TextChanged B、SizeChanged C、StyleChanged D、LocationChanged 參考答案
1.B 2.B 3.C 4.A 5.D 6.B 7.C 8.A
2.2 判斷題
1.ComboBox控件中的Text既可以選擇,也可以輸入。
2.要使得在TextBox控件中輸入的文本顯示為一系列的“*”,必須將該控件的PasswordChar屬性設(shè)置為’*’。
3.Button控件的Dock屬性用來控制對象??吭谌萜鞯哪倪?。
4.向ListBox控件中加入一個(gè)條目需要調(diào)用其CreateControl方法。5.Timer控件的Interval屬性的單位是秒。
6.要使Label控件的大小適應(yīng)所顯示文本的大小,將其AutoSize屬性設(shè)置為True即可。
7.一組CheckBox控件的Checked屬性是互斥的。
8.在RadioButton控件上單擊會(huì)使其Checked屬性的值變得相反。
9.要使TextBox控件呈多行顯示,需要將其Multiline屬性設(shè)置為False。10.要使ListBox控件呈多列顯示,需要將其MultiColumn屬性設(shè)置為True。11.PictureBox控件既能顯示圖片又能顯示文本。參考答案
1.√ 2.√ 3.√ 4.╳ 5.╳ 6.√ 7.╳ 8.╳ 9.╳ 10.√ 11.╳
第3章
3.1 選擇題
1.要給“新建”菜單項(xiàng)設(shè)置助記符N,其屬性Text的正確值是()。A、新建(*N)B、新建(&N)C、新建(Alt+N)D、新建(Contrl+N)2.要在一個(gè)控件上擊右鍵彈出上下文菜單,需要利用控件的()事件。
A、Click B、KeyPress C、MouseDown D、MouseMove 3.當(dāng)鼠標(biāo)在某工具按鈕上停頓時(shí)欲顯示提示信息,需要設(shè)置它的()屬性。
A、Text B、ToolTipText C、ImageIndex D、Enabled 4.要將通用對話框openFileDialog1顯示出來,需調(diào)用其()方法。
A、Show B、ShowDialog C、OpenFile D、Display 5.要設(shè)置主菜單某菜單項(xiàng)的快捷鍵,需要設(shè)置其()屬性。
A、Shortcut B、ShowShortcut C、Checked D、RadioCheck 6.要將狀態(tài)欄??吭谌萜鞯捻敳?,需要將其Dock屬性設(shè)置為()。
A、Top B、Bottom C、Fill D、None 7.消息框MessageBox的Show方法的返回值是()類型。
A、DialogResult B、BorderStyle C、string D、int 參考答案
1.B 2.C 3.B 4.B 5.A 6.A 7.A
3.2 判斷題
1.要使某主菜單顯示在窗體上,必須將窗體的Menu屬性指定到該主菜單。2.工具欄按鈕的圖片可以直接來自圖片文件。
3.工具欄的ButtonSize屬性的作用是根據(jù)按鈕的大小自動(dòng)調(diào)整自身的大小。
4.狀態(tài)欄的ShowPanels屬性的作用是確定狀態(tài)欄是否顯示窗格。5.要在工具欄上增加一個(gè)按鈕,需要調(diào)用它的Insert方法。
6.打開文件和保存文件對話框的FileName屬性是用戶在對話框中指定文件的文件名,但不包括文件的位置信息。
7.字體對話框的Font屬性包含了字體的顏色信息。
8.要顯示一個(gè)消息框,必須先為MessegeBox類創(chuàng)建一個(gè)實(shí)例,然后調(diào)用其Show方法才能實(shí)現(xiàn)。參考答案
1.√ 2.╳ 3.╳ 4.√ 5.╳ 6.╳ 7.╳ 8.╳
第4章
4.1選擇題
1.ADO.NET是一種()。
A、查詢語言 B、數(shù)據(jù)庫 C、數(shù)據(jù)庫管理系統(tǒng) D、用于數(shù)據(jù)訪問的基類庫 2.數(shù)據(jù)集DataSet與SQL數(shù)據(jù)源之間的橋梁是()。
A、SqlConnection B、SqlDataAdapter C、SqlCommand D、SqlTransaction 3.將數(shù)據(jù)集中的數(shù)據(jù)同步到數(shù)據(jù)源中去,必須調(diào)用DataAdapter的()方法。
A、Fill B、Dispose C、Update D、ToString 4.向數(shù)據(jù)源插入一條記錄,需要將命令對象的CommandText屬性設(shè)置為SQL語言的Insert命令后,再調(diào)用命令對象的()方法。A、ExecuteNonQuery B、ExecuteReader C、ExecuteScalar D、ExecuteXmlReader 5.若要使 DataGrid控件的標(biāo)題條不可見,需要將控件的()屬性值設(shè)置為felse。
A、Visible B、Enabled C、RowHeadersVisible D、CaptionVisible 6.當(dāng)獲取到DataGrid控件的CurrentRowIndex屬性值為-1時(shí),說明()。
A、控件中沒有行 B、控件中的行太多已超出范圍 C、用戶選擇了第一行 D、用戶選擇了最后一行 參考答案
1.D 2.B 3.C 4.A 5.D 6.A
4.2 判斷題
1.數(shù)據(jù)集DataSet與數(shù)據(jù)源之間是離線訪問方式,而數(shù)據(jù)讀取器DataReader與數(shù)據(jù)源之間是連線訪問方式。
2.數(shù)據(jù)集DataSet是通過數(shù)據(jù)適配器DataAdapter的Update()方法將數(shù)據(jù)源中某些特定數(shù)據(jù)填充到內(nèi)存中的本地拷貝。
3.窗體的BindingContext.Position用于設(shè)置或獲取當(dāng)前綁定數(shù)據(jù)集中某個(gè)表的上下文的位置。
4.SqlConnection對象的連接字符串用來指明連接對象的數(shù)據(jù)服務(wù)器名、數(shù)據(jù)庫名、數(shù)據(jù)用戶名和用戶口令。
5.SqlCommand對象的CommandText屬性需要一個(gè)SQL語句或一個(gè)存儲(chǔ)過程名。
6.數(shù)據(jù)集中的數(shù)據(jù)與數(shù)據(jù)源中的數(shù)據(jù)總是完全相同的。參考答案
1.√ 2.╳ 3.√ 4.√ 5.√ 6.╳
第5章
5.1選擇題 1.以下代表了TabControl控件的選項(xiàng)卡數(shù)目的屬性是()。
A、TabPages B、TabCount C、Multiline D、TabIndex 2.語句tabControl1.SelectedIndex=1;的作用是()。
A、選中第一個(gè)選項(xiàng)卡 B、選中第二個(gè)選項(xiàng)卡 C、使第一個(gè)選項(xiàng)卡可見 D、使第二個(gè)選項(xiàng)卡可見 3.文本框TextBox控件的數(shù)據(jù)驗(yàn)證代碼一般寫在()事件中。
A、Validated B、Validating C、DataBindings D、Disposed 4.要停用按鈕button1的驗(yàn)證,需要將其()屬性設(shè)為false。
A、Enabled B、Visible C、CausesValidation D、AllowDrop 5.Char.IsPunctuation(a)的值為true時(shí),變量a是一個(gè)()。
A、字母 B、數(shù)字 C、字母或數(shù)字 D、標(biāo)點(diǎn)符號
6.用戶在DateTimePicker控件上選擇的日期,被保存在()屬性中。
A、Value B、Text C、MaxDate D、MinDate 參考答案
1.B 2.B 3.B 4.C 5.D 6.A
5.2判斷題
1.用戶在TabControl控件上的任何位置單擊將引發(fā)控件的Click事件。2.向數(shù)據(jù)庫插入記錄時(shí),只要采用異常處理格式編寫插入代碼,就能保證插入的數(shù)據(jù)是正確的。
3.DateTimePicker控件的Text屬性是一個(gè)日期類型。
4.當(dāng)光標(biāo)到達(dá)TextBox控件時(shí)將引發(fā)控件的GotFocus事件。5.數(shù)據(jù)驗(yàn)證的目的是為了保證程序能夠正常運(yùn)行。
6.調(diào)用DataAdapter的Update方法也可以向數(shù)據(jù)庫插入記錄。參考答案
1.╳ 2.╳ 3.╳ 4.╳ 5.╳ 6.√
第6章
6.1選擇題
1.窗體綁定上下文BindingContext中某元素的當(dāng)前位置可以通過其()屬性設(shè)置或獲取。
A、Current B、Count C、Position D、Bindings 2.要使ListView控件以詳細(xì)信息形式顯示項(xiàng)目,必須將屬性View設(shè)置為()。
A、SmallIcon B、LargeIcon C、List D、Details 3.要向ListView控件中插入一個(gè)項(xiàng)目,需要調(diào)用控件的()方法。
B、Items.Add B、Items.Insert C、Items.Remove D、Items.Clear 4.TreeView控件的節(jié)點(diǎn)集合保存在()屬性之中。
A、Items B、Nodes C、Controls D、ImageList 5.當(dāng)用戶在TreeView控件上選擇了一個(gè)節(jié)點(diǎn),其處理程序代碼應(yīng)編寫在()事件中。
A、BeforeExpand B、AfterSelect C、Click D、MouseDown 6.treeView1.Nodes[1].Nodes[0]代表了控件treeView1的()。A、第1個(gè)根節(jié)點(diǎn)的第1個(gè)子節(jié)點(diǎn) B、第1個(gè)根節(jié)點(diǎn)的第2個(gè)子節(jié)點(diǎn) C、第2個(gè)根節(jié)點(diǎn)的第1個(gè)子節(jié)點(diǎn) D、第2個(gè)根節(jié)點(diǎn)的第2個(gè)子節(jié)點(diǎn) 參考答案
1.C 2.D 3.B 4.B 5.B 6.C
6.2判斷題
1.當(dāng)Panel控件的Enabled屬性值設(shè)置為false時(shí),其內(nèi)的所有控件都不可用。
2.當(dāng)Splitter控件的Enabled屬性值設(shè)置為false時(shí),用戶不能夠通過它拖動(dòng)窗格的大小。
3.TreeView控件某個(gè)節(jié)點(diǎn)的Nodes.Count屬性值為0,說明這個(gè)節(jié)點(diǎn)沒有下級子節(jié)點(diǎn)。
4.當(dāng)TextBox控件的Text屬性綁定到數(shù)據(jù)集的某個(gè)字段后,移動(dòng)數(shù)據(jù)集綁定上下文的位置到第一條記錄,文本框?qū)⒆詣?dòng)顯示第一條記錄對應(yīng)字段的值。
5.ListView控件在顯示項(xiàng)目列表時(shí)總帶有一個(gè)圖標(biāo)。
6.C#的Windows應(yīng)用程序設(shè)計(jì)中,可以使用基類PageDataSource進(jìn)行分頁處理。參考答案
1.√ 2.√ 3.√ 4.√ 5.╳ 6.╳
第7章
7.1選擇題
1.C#的Windows應(yīng)用程序的入口點(diǎn)是()。
A、某個(gè)窗體的Main()方法 B、某個(gè)窗體的Load()事件 C、某個(gè)窗體的Init事件 D、某個(gè)窗體的構(gòu)造函數(shù) 2.窗體程序代碼中的this代表了()。
A、當(dāng)前窗體類 B、窗體的當(dāng)前實(shí)例 C、代碼所在的方法 D、代碼所在的事件
3.若沒有為窗體DialogResult屬性賦值,該窗體ShowDialog()方法的返回值將是()。
C、DialogResult.OK B、DialogResult.Yes C、DialogResult.Cancel D、null 4.關(guān)于類的虛擬方法的說法中正確的是()。
A、虛擬方法就是沒有實(shí)現(xiàn)的方法 B、不能在派生類中調(diào)用基類的虛方法 C、可以在派生類中重載基類的虛方法 D、基類中不能調(diào)用自己的虛方法 5.關(guān)于類的屬性的說法中錯(cuò)誤的是()。
A、定義類的屬性必須指明它的類型 B、只有g(shù)et塊的屬性稱為只讀屬性 C、屬性比方法的功能更強(qiáng)大 D、static屬性可以通過類名訪問 6.關(guān)于MDI窗體菜單的說法正確的是()。
A、MDI父窗體與其子窗體菜單合并后,父窗體菜單一定排在子窗體菜單的前面。
B、當(dāng)有多個(gè)MDI子窗體顯示后,所有子窗體菜單將一同合并顯示在MDI父窗體上。
C、當(dāng)MDI子窗體顯示后,子窗體上不可能顯示菜單。
D、MDI窗體菜單合并后,菜單項(xiàng)的數(shù)目等于父窗體菜單項(xiàng)與子窗體菜單項(xiàng)之和。
7.要將一個(gè)窗體設(shè)置為MDI父窗體,需要將該窗體的()屬性設(shè)置為true。
A、IsHandleCreated B、MdiParent C、MdiChildren D、IsMdiContainer 參考答案
1.A 2.B 3.c 4.C 5.C 6.C 7.D
7.2判斷題
1.窗體實(shí)例的Show()方法是以非模態(tài)方式顯示窗體,該方法顯示的窗體獨(dú)占屏幕焦點(diǎn)。
2.窗體的Show()方法和ShowDialog()方法都有返回值,這些返回值是DialogResult類型的枚舉量。
3.若窗體的FormBorderStyle屬性被設(shè)置成FixedToolWindow,該窗體實(shí)例顯示后將不能拖動(dòng)它的位置。
4.當(dāng)一個(gè)窗體的構(gòu)造函數(shù)被重載后,它原來的那個(gè)構(gòu)造函數(shù)將自動(dòng)失效。5.派生窗體中的成員不能比基窗體中的少,也就是說不能在派生窗體中刪除基窗體帶過來的控件。
6.MDI子窗體顯示在父窗體的工作區(qū)后,其工具欄將與父窗體的工具欄合并。
參考答案
1.╳ 2.╳ 3.╳ 4.╳ 5.√ 6.╳
第二篇:JSP程序設(shè)計(jì)習(xí)題解答
習(xí)題一
1.運(yùn)行startup.bat啟動(dòng)Tomcat服務(wù)器的好處是什么?
答:確保Tomcat服務(wù)器使用的是Java_home環(huán)境變量設(shè)置的JDK。
2.請?jiān)贑:下建立一個(gè)名字為book的目錄,并將該目錄設(shè)置成一個(gè)Web服務(wù)目錄,然后編寫一個(gè)簡單的JSP頁面,保存到該目錄中,讓用戶使用虛擬目錄red訪問該JSP頁面。答:屬于操作題,解答略。
3.怎樣訪問Web服務(wù)目錄子目錄中的JSP頁面?
答:Web服務(wù)目錄的下的目錄稱為該Web服務(wù)目錄下的相對Web服務(wù)目錄。瀏覽器的地址欄中鍵入:http://IP:8080/Web目錄名字/子目錄名字/JSP頁面。
4.如果想修改Tomcat服務(wù)器的端口號,應(yīng)當(dāng)修改哪個(gè)文件?能否將端口號修改為80。答:修改Tomcat服務(wù)器安裝目錄中conf文件夾中的主配置文件:server.xml,只要沒有其他應(yīng)用程序正在占用80,就可以將端口號設(shè)置為80。
習(xí)題二
1.“<%!”和“%>”之間聲明的變量與“<%”和“%>”之間聲明的變量有何不同? 答:“<%!”和“%>”之間聲明的變量在整個(gè)JSP頁面內(nèi)都有效,稱為JSP頁面的成員變量,成員變量的有效范圍與標(biāo)記符號<%!、%>所在的位置無關(guān)。所有用戶共享JSP頁面的成員變量,因此任何一個(gè)用戶對JSP頁面成員變量操作的結(jié)果,都會(huì)影響到其他用戶。
“<%”和“%>”之間聲明的變量稱為局部變量,局部變量在JSP頁面后繼的所有程序片以及表達(dá)式部分內(nèi)都有效。運(yùn)行在不同線程中的Java程序片的局部變量互不干擾,即一個(gè)用戶改變Java程序片中的局部變量的值不會(huì)影響其他用戶的Java程序片中的局部變量。當(dāng)一個(gè)線程將Java程序片執(zhí)行完畢,運(yùn)行在該線程中的Java程序片的局部變量釋放所占的內(nèi)存。
2.如果有兩個(gè)用戶訪問一個(gè)JSP頁面,該頁面中的Java程序片將被執(zhí)行幾次? 答:兩次。
3.是否允許一個(gè)JSP頁面同時(shí)含有如下兩條page指令: <%@ page contentType=“text/html;charset=GB2312” %> <%@ page contentType=“application/msword” %> 是否允許JSP頁面同時(shí)含有如下兩條指令: <%@ page import=“java.util.*” %> <%@ page import=“java.sql.*” %> 答:第一個(gè)問題的答案是不允許;第二個(gè)問題的答案是允許。
4.假設(shè)有兩個(gè)用戶訪問下列JSP頁面hello.jsp,請問第一個(gè)訪問和第二個(gè)訪問hello.jsp頁面的用戶所看到的頁面的效果有何不同?
Hello.jsp <%@ page contentType=“text/html;charset=GB2312” %> <%@ page isThreadSafe=“false” %>
<%!int sum=10;void add(int m){
sum=sum+m;} %> <% int n=600;
add(n);%>
<%=sum%>
第三篇:《C語言程序設(shè)計(jì)教程》習(xí)題參考答案
《C語言程序設(shè)計(jì)教程》習(xí)題參考答案
默認(rèn)分類 2007-09-10 12:38:44 閱讀6618 評論13 字號:大中小 訂閱
【習(xí)題1】
一、簡答題(在課本中尋找答案,略)1.1 C程序的基本結(jié)構(gòu)包括哪些內(nèi)容? 1.2 如何定義標(biāo)識符?
1.3 輸入格式、輸出格式的組成包括哪些內(nèi)容? 1.4 C語言函數(shù)分為哪兩類?
1.5 計(jì)算表達(dá)式的值應(yīng)該考慮哪些方面? 1.6 上機(jī)調(diào)試程序的步驟如何?
二、判斷并改錯(cuò)
1.7 C程序執(zhí)行的入口是main()函數(shù),所以main函數(shù)必須放在程序的開頭。錯(cuò)誤:main函數(shù)可以放在程序的任何位置。并不限定在程序的開頭。1.8 定義一個(gè)函數(shù)包括數(shù)據(jù)說明部分和執(zhí)行語句部分,兩者可以交叉出現(xiàn)。錯(cuò)誤:不可以交叉出現(xiàn),數(shù)據(jù)說明部分在執(zhí)行語句部分的前面。1.9 編輯與編譯不是一回事。
錯(cuò)誤:不是一回事。編輯完成源程序的輸入和修改;編譯是對源程序進(jìn)行語法檢查,如果無語法錯(cuò)誤,則生成目標(biāo)程序。
1.10 scanf(“%d,%d”,&x,&y);的正確輸入格式:3,4<回車>。正確
1.11 注釋內(nèi)容太多會(huì)影響程序的執(zhí)行效率。
錯(cuò)誤:不會(huì)影響程序的執(zhí)行效率。因?yàn)樵诰幾g時(shí),編譯系統(tǒng)將注釋內(nèi)容刪除或用空格代替,所以注釋內(nèi)容不會(huì)編譯到目標(biāo)程序中。
1.12 所有的數(shù)學(xué)公式可以直接出現(xiàn)在源程序中。
錯(cuò)誤:數(shù)學(xué)公式需要轉(zhuǎn)換成C語言能夠接受的公式才能出現(xiàn)在源程序中。
三、編程題
1.13 在屏幕上輸出自己名字的拼音。
提示:中文名字叫“張三”,對應(yīng)的拼音為“Zhang San”,輸出用printf()函數(shù)。1.14 輸入圓的半徑,求圓的周長,并將結(jié)果保留兩位小數(shù)輸出到屏幕上。提示:定義圓的半徑r,圓的周長:2*3.14*r,輸出結(jié)果保留2位小數(shù)可以用%.2f 1.15 輸入兩個(gè)整數(shù),輸出其中最大者。提示:模仿例1.3 1.16 輸入三個(gè)整數(shù),輸出其中最小者。提示: min(min(a,b),c);【習(xí)題2】
一、簡答題(在課本中尋找答案,略)2.1 常量與變量的區(qū)別?
2.2 C語言中的標(biāo)識符的定義規(guī)則? 2.3 變量為什么要“先定義,后使用”? 2.4 字符常量'a'與字符串常量“a”有何區(qū)別? 2.5 大小寫字母轉(zhuǎn)換的規(guī)則是什么? 2.6 變量的具有哪三種屬性?
二、單項(xiàng)選擇題
2.7 C語言中,int型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是(D)。A)ASCII碼 B)原碼 C)反碼 D)補(bǔ)碼
2.8 下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識符的選項(xiàng)是(C)。A)BA、x_0、do B)float、1a0、_Y C)x-y、goto、123 D)_123、tmp、CHAR 2.9 下列選項(xiàng)中不正確的常數(shù)的選項(xiàng)是(D)。A)0x12F B)-1.23E-2 C)12.0 D)0388 2.10 下面正確的字符常量是(B)。A)“a” B)'' C)“n” D)“376” 2.11 下面正確的字符串常量是(C)。A)'a' B)'376' C)“" D)376 2.12 表達(dá)式'A'+4*25.0-'b'的正確結(jié)果是(B)。A)67 B)67.0 C)不確定 D)67L 2.13 執(zhí)行printf(”%x“,100);后的輸出結(jié)果是(C)。A)100 B)0x100 C)0X64 D)64 2.14 int型的-1在內(nèi)存中的存儲(chǔ)形式是(A)。A)1111 1111 1111 1111 B)0000 0000 0000 0001 C)1111 1111 1111 1110 D)1000 0000 0000 0001 2.15 存儲(chǔ)字符串”'abc376“需要的字節(jié)數(shù)是(D)。A)11 B)13 C)6 D)7 【習(xí)題3】
一、計(jì)算題
3.1 2.8+7%3*11%2/4(答案:2.8)3.2 5/2+5.0/2+7%6(答案:5.5)3.3 a=12,a*=2+3(答案:a=60)3.4 a=3,b=4,c=5,a+b>c&&b= =c(答案:0)3.5 3>5?3:5<8?25:40(答案:25)3.6 設(shè)a=1,b=2,c=3,d=4,m=n=1,有表達(dá)式(m=a>b)&&(n=c>d),計(jì)算表達(dá)式后m,n的值?(答案:m=0,n=1)3.7 設(shè)int b=7;float a=2.5,c=4.7;求下面表達(dá)式的值。a+(int)(b/2*(int)(a+c)/2)%4(答案:4.5)
二、單項(xiàng)選擇題
3.8 若有代數(shù)式,則不正確的C語言表達(dá)式是(C)。A)x/b/c*y*8 B)8*x*y/b/c C)8*x*y/b*c D)x*y/c/b*8 3.9 有如下類型說明: int k,a,b;unsigned long w=8;double x=2.9 則以下不符合C語言語法的表達(dá)式是(A)。A)x%(-3)B)w*=-2 C)k=(a=6,b=4,a-b)D)a*=a+=a-=(b=4)*(a=3)3.10 有如下類型說明: float n;int m;則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位四舍五入的表達(dá)式是(B)。A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0 3.11 設(shè)k=7,x=12;則下列表達(dá)式值為3的是(D)。A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)3.12 已知m=48,ch='a',n=0;則表達(dá)式(m>=n&&ch<'b'&&!n)的值是(B)。A)0 B)1 C)真 D)非0 3.13 下面哪個(gè)式子在b為奇數(shù)時(shí)結(jié)果為假(C)。
A)a%2==1 B)!(a%2==0)C)!(a%2)D)a%2 3.13 執(zhí)行printf(”%f“,(x=3,y=5,x>y?1:1.5));后的輸出結(jié)果是(D)。A)語法錯(cuò)誤 B)1 C)1.5 D)1.500000 3.14 能表示條件0≤x≤100的表達(dá)式是(D)。A)0<=x<=100 B)x>=0,x<=100 C)0≤x≤100 D)x>=0&&x<=100 3.15 判斷char型變量ch為數(shù)字的正確表達(dá)式是(B)。A)ch>=”0“&&ch<=”9“ B)ch>='0'&&ch<='9' C)'0'≤ch≤'9' D)ch>='0'||ch<='9'
三、編程題(應(yīng)用條件運(yùn)算)
3.16 輸入一個(gè)整型成績x,3.17 如果大于等于60分,3.18 輸出“pass”,3.19 否則輸出“fail”。提示:printf(”%s“,x>60?”pass“:”fail“);3.17 輸入一個(gè)年份y,如果是閏年,輸出“y is a leap year”,否則輸出“y is not a leap year.” 提示:printf(”%d is %s“,y%4==0&&y%100!=0||y%400==0?”a leap year.“:”not a leap year.“);3.18 輸入三條邊a,b,c,如果它們能構(gòu)成一個(gè)三角形,輸出“Yes”,否則輸出“No”。提示:printf(”%s“,a+b>c&&a+c>b&&b+c>a?”Yes“:”No“);3.19 輸入三個(gè)數(shù)x,y,z,按從小到大的輸出結(jié)果。
提示:分別用max0,min0代表最大、最小值,mid0表示中間值。max0=(x>y?x:y)>z?(x>y?x:y):z;max0=(x 提示:分別用x,y代表平面上一個(gè)點(diǎn)。printf(”%s“,x*x+y*y<=0?”Yes“:”No“);【習(xí)題4】 以下的編程題目要求首先畫出程序的傳統(tǒng)流程圖或N-S流程圖,再編寫程序代碼。上機(jī)實(shí)驗(yàn)時(shí)再輸入到計(jì)算機(jī)中進(jìn)行調(diào)試,并將調(diào)試過程中出現(xiàn)的問題和測試情況記錄下來。(流程圖請讀者自己參考課本自己畫,略)4.1 編程實(shí)現(xiàn),輸入一個(gè)整數(shù),判斷它是否為偶數(shù),并顯示相應(yīng)的信息。提示:x代表輸入的整數(shù),if(x%2==0)printf(”neven“);else printf(”nodd“);4.2 編程實(shí)現(xiàn),輸入一個(gè)平面上的點(diǎn),判斷它是否落在單位圓上,并顯示相應(yīng)的信息。提示:x,y代表平面坐標(biāo),if(x*x+y*y==1)printf(”nYes“);else printf(”nNo“);4.3 編程實(shí)現(xiàn),輸入一個(gè)成績等級(A-E),顯示相應(yīng)的百分制成績段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: <60 提示:char grade;if(grade=='A')printf(”n90-100“);else if(grade=='B')printf(”n80-89“);....4.4 寫出下面程序的運(yùn)行結(jié)果: #include if((t>0)&&(t<=10))if((t>=3)&&(t<=6))x=2;else if((t>1)||(t>8))x=3;else x=1;else x=0;提示:int t;if(t<=0||t>10)c=0;else c=t;switch(t){ case 0: x=0;break;case 1: case 2: x=3;case 3:case 4:case 5: case 6: x=2;case 7:case 8: case 9: x=3;case 10: x=2;} 4.7 編程實(shí)現(xiàn)一個(gè)具有簡單四則運(yùn)算功能的計(jì)算器。 提示:參照例4.18,隨機(jī)產(chǎn)生3個(gè)數(shù),其中一個(gè)數(shù)用來判斷是哪種運(yùn)算。 4.8 編程實(shí)現(xiàn),輸入一行字符,將其中的數(shù)字字符對應(yīng)的整數(shù)值加起來并輸出結(jié)果。如: a45b8&*3 則是4+5+8+3,結(jié)果為20。提示:char c;int sum=0;while((c=getchar())!='n')if(c>='0'&&c<='9')sum=sum+c-'0';4.9 編程實(shí)現(xiàn),求 的值。 提示:先計(jì)算n!,再在計(jì)算階乘的外面套上一層循環(huán)。注意:20!是一個(gè)很大的值,float s=1;int i;例如:計(jì)算6?。?/p> for(i=1;i<=6;i++)s=s*i;4.10 編程實(shí)現(xiàn),找出1000之內(nèi)的所有完數(shù),并按下面格式輸出其因子:its factors are 1,2,3,所謂“完數(shù)”是指一個(gè)數(shù)如果恰好等于它的因子之和,因子是指能夠整除該數(shù)的數(shù)。提示:先判斷數(shù)是否為完數(shù),如果是再考慮輸出因子。以6為例輸出因子: for(i=1;i<6;i++)if(6%i==0)printf(”%d,“,i);4.11 編程實(shí)現(xiàn),計(jì)算序列的前20項(xiàng)之和,,,,...提示:這是一個(gè)累加式,每項(xiàng)是一個(gè)分式,用a、b分別表示分子、分母。注意:如果a、b都是整數(shù),則是整除。float sum=0,a=2,b=1;int i;for(i-1;i<=20;i++){sum=sum+a/b;a=a+b;b=a-b;} 4.12 編程實(shí)現(xiàn),求Sn=a+aa+aaa+...+ aa...a之值,其中a是一個(gè)數(shù)字。如:2+22+222+2222+22222(此時(shí)n=5),n,a由鍵盤輸入。 提示:這是一個(gè)累加式,后1項(xiàng)可以由前一項(xiàng)表示,譬如:第2項(xiàng)可以由第1項(xiàng)表示: 第1項(xiàng) t=a;第2項(xiàng):t=t*10+a;4.13 編程實(shí)現(xiàn),把從鍵盤輸入的金額數(shù)(以圓為單位)按人民幣面額劃分,然后顯示支付該金額的各種面額人民幣的數(shù)量。 提示:譬如:123.58元可以表示100元:1張;20元:1張;2元:1張;1元:1張;5角:1張;5分:1枚;2分:1枚;1分:1枚。 為了簡單可以只完成整數(shù)部分轉(zhuǎn)換,即輸入的金額數(shù)為整數(shù)。4.14 編程實(shí)現(xiàn),使用循環(huán)結(jié)構(gòu)打印以下圖案。 * * * * * * * * * * * * * * * * * * * * * * * * * 提示:輸出時(shí),本圖案要按向上三角形和向下三角形進(jìn)行輸出。每行輸出中包括空格輸出,?*?號輸出。輸出空格和?*?號個(gè)數(shù)要與行循環(huán)控制變量關(guān)聯(lián)起來。 4.15 編程實(shí)現(xiàn),以菜單方式實(shí)現(xiàn)猜數(shù)游戲系統(tǒng)。(功能自己設(shè)定)提示:模仿例4.14和例4.18完成。功能可以包括猜數(shù)范圍,人數(shù)等設(shè)置。4.16 編程實(shí)現(xiàn),以菜單方式實(shí)現(xiàn)四則運(yùn)算輔助教學(xué)系統(tǒng)。 提示:隨機(jī)產(chǎn)生兩個(gè)操作數(shù)和運(yùn)算符+、-、*、/,由使用者輸入一個(gè)數(shù),判斷計(jì)算結(jié)果與輸入的數(shù)是否相等,如果相等,表示正確,否則是錯(cuò)誤的。【習(xí)題5】 填空題 5.1 若有定義int a[3][5];則排列在數(shù)組中的第9個(gè)元素是(a[1][3])。5.2 strlen(”How are youn“)的值是(12)。5.3 C語言中字符串結(jié)束的標(biāo)志是('