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