c语言getchar_二级C语言试题刷题录
2020.9 計算機二級C語言科目
選擇題
標(biāo)黑的為正確選項
- 程序流程圖中帶有箭頭的線段表示的是
==控制流== 圖元關(guān)系、數(shù)據(jù)流、調(diào)用關(guān)系
當(dāng)圖為數(shù)據(jù)流圖的時候,標(biāo)有名字的箭頭表示數(shù)據(jù)流
- 結(jié)構(gòu)化程序設(shè)計的基本原則不包括
==多態(tài)性== 自頂向下、模塊化、逐步求精
- 軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是
==高內(nèi)聚低耦合== 低內(nèi)聚低耦合、低內(nèi)聚高耦合、高內(nèi)聚高耦合 軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則應(yīng)該是高內(nèi)聚低耦合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系適當(dāng)?shù)取?/p>
- 在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是
==軟件需求規(guī)格說明書== 可行性分析報告、概要設(shè)計說明書、集成測試計劃
- 算法的有窮性是指
==算法程序的運行時間是有限的== 算法程序所處理的數(shù)據(jù)量是有限的、算法程序的長度是有限的、算法只能被有限的用戶使用、
- 對長度為的線性表排序,在最壞情況下,比較次數(shù)不是的排序方法是
==堆排序== 快速排序、冒泡排序、直接插入排序
堆排序
堆排序(Heapsort)是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法。堆積是一個近似完全二叉樹的結(jié)構(gòu),并同時滿足堆積的性質(zhì):即子結(jié)點的鍵值或索引總是小于(或者大于)它的父節(jié)點。堆排序可以說是一種利用堆的概念來排序的選擇排序。分為兩種方法:
大頂堆:每個節(jié)點的值都大于或等于其子節(jié)點的值,在堆排序算法中用于升序排列; 小頂堆:每個節(jié)點的值都小于或等于其子節(jié)點的值,在堆排序算法中用于降序排列;堆排序的平均時間復(fù)雜度為 Ο(nlogn)
算法步驟
創(chuàng)建一個堆 H[0……n-1];把堆首(最大值)和堆尾互換;把堆的尺寸縮小 1,并調(diào)用 shift_down(0),目的是把新的數(shù)組頂端數(shù)據(jù)調(diào)整到相應(yīng)位置;重復(fù)步驟 2,直到堆的尺寸為 1。堆排序?qū)W習(xí)擴展網(wǎng)址
五分鐘弄懂有點難度的排序:堆排序?www.jianshu.com- 下列關(guān)于棧的敘述正確的是
==棧按先進后出組織數(shù)據(jù)== 棧按先進先出組織數(shù)據(jù)、只能在棧底插入數(shù)據(jù)、不能刪除數(shù)據(jù)
- 在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于
==邏輯設(shè)計階段== 需求分析階段、概念設(shè)計階段、物理設(shè)計階段
- 由關(guān)系R和S通過運算得到關(guān)系T,使用的運算為
==交== 并、自然連接、笛卡爾積
自然連接是一種特殊的等值連接,要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性去掉 笛卡爾積是用R集合中元素為第一元素,S集合中元素為第二元素構(gòu)成的有序?qū)?關(guān)系T可以很明顯的看出是R與S中取得相同的關(guān)系組,所以是交運算
- 下列敘述中錯誤的是
==C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令==
C語言中的非執(zhí)行語句不會被編譯,不會生成二進制的機器指令
C程序經(jīng)過編譯、連接步驟后才能真正成為一個可執(zhí)行的二進制機器指令文件、
用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中、
C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
- 下列合法的一組C語言數(shù)值常量的是
==12. 0Xa23 4.5e0==
028 .5e - 3 -0xf、 028錯誤,8進制沒有8
177 4e1.5 0abc、4e1.5錯誤,e后需為整數(shù)
0x8A 10,000 3.e5 10,000錯誤,不能有逗號隔開
- 若有定義:double a = 22; int i=0,k=18;則不符合C語言規(guī)定的賦值語句是
==i = a % 11== %為二元運算符,具有左結(jié)合性,參與運算的量均為整形,而a為double型 i = (a + k) <= (i + k)、
a = a++, i++、
i = !a
- 有以下程序,執(zhí)行完后輸出
==12
3== scanf函數(shù)不能讀入回車,而getchar函數(shù)可以
12 34、
12、
1234
- 有以下程序
==編譯錯誤==
因為if 和 else 語句中插入了一句 c = 2,因此會出現(xiàn)else的位置報錯
1120、 0003、 0120
- 以下程序段中的變量已正確定義,程序輸出的結(jié)果是
==*==
printf語句在for外面,所以只會打印一個符號
**、
****、
********、
- 以下敘述錯誤的是
==可以給指針變量賦一個整數(shù)作為地址值==
通常來說,地址的值為16進制,并非為整數(shù)
函數(shù)可以返回地址值、
改變函數(shù)形參的值,不會改變對應(yīng)實參的值、
當(dāng)在程序的開頭包含頭文件stdio.h 時,可以給指針變量賦NULL NULL即為空
- char p[] = {'1','2','3'}, *q = p; 以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是
==sizeof(p)== 這計算的是一整個p數(shù)組的所占字節(jié)數(shù)
sizeof(char)、
sizeof(*q)、
sizeof(p[0])
- 有以下程序
==3== 當(dāng)遇到 0 時程序識別為結(jié)束語句,于是只統(tǒng)計0 1 2
- 在C語言中,只有在使用時才占有內(nèi)存單元的變量,其存儲類型是
==auto 和 register==
auto:函數(shù)中的局部變量,動態(tài)分配內(nèi)存空間,只有在函數(shù)調(diào)用時才會分配內(nèi)存 register:為了提高效率,C語言允許將局部變量的值放在CPU的寄存器中,這種變量叫“寄存器變量”
auto和static、 extern和register、 static和register
- 下面結(jié)構(gòu)體定義語句錯誤的是
==struct ord {int x; int y;} struct ord a;==
不能在定義結(jié)構(gòu)體的同時,又用結(jié)構(gòu)體類型名定義變量
struct ord {int x; int y;} ;
struct ord a; struct ord {int x; int y;} a;
struct {int x; int y;} a;
- 有以下程序,輸出的是
==1==
>>位運算符號,8的二進制表示為00001000,右移三位為00000001,即為十進制的1
16、 32、 0
總結(jié)
以上是生活随笔為你收集整理的c语言getchar_二级C语言试题刷题录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA——必备插件指南
- 下一篇: 域内计算机如何同步网络t时间,网络节点的