版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章
數據結構與算法
一.選擇題
1.算法的時間復雜度是指()
A.執(zhí)行算法程序所需要的時間
B.算法程序的長度
C.算法執(zhí)行過程中所需要的基本運算次數
D.算法程序中的指令條數
2.算法的空間復雜度是指()
A.算法程序的長度
B.算法程序中的指令條數
C.算法程序所占的存儲空間
D.算法執(zhí)行過程中所需要的存儲空間
3.下列敘述中正確的是()
A.線性表是線性結構B.棧與隊列是非線性結構
C.線性鏈表是非線性結構D.二叉樹是線性結構
4.數據的存儲結構是指()
A.數據所占的存儲空間量
B.數據的邏輯結構在計算機中的表示
C.數據在計算機中的順序存儲方式
D.存儲在外存中的數據
5.下列關于隊列的敘述中正確的是()
A.在隊列中只能插入數據B.在隊列中只能刪除數據
C.隊列是先進先出的線性表D.隊列是先進后出的線性表
6.下列關于棧的敘述中正確的是()
A.在棧中只能插入數據B.在棧中只能刪除數據
C.棧是先進先出的線性表D.棧是先進后出的線性表
8.在深度為5的滿二叉樹中,葉子結點的個數為()
A.32
B.31
C.16
D.15
9.對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數為()
A.N+1
B.N
C.(N+1)/2
D.N/2
10.設樹T的度為4,其中度為1,2,3,4的結點個數分別為4,2,1,1.則T的葉子結點數為
A.8
B.7
C.6
D.5
二.填空題
1.對長度為n的有序線性表中進行二分查找,需要的比較次數為()
2.設一棵完全二叉樹共有700個結點,則在該二叉樹中有()個葉子結點
3.設一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則后序遍歷結果為()
4.在最壞情況下,冒泡排序的時間復雜度為()
5.在一個容量為15的循環(huán)隊列中,若頭指針front=6,尾指針rear=9,則該循環(huán)隊列中共有(
)個元素第一章參考答案
一.選擇題
1.C
2.
D
3.
A
4.
B
5.
C
6.
D
7.
B
8.
B
9.
B
10.
A
二.
填空題
1)
log2n
2)
350
3)
DEBFCA
4)
N(N-1)/2
5)
3
第二章程序設計基礎
一.選擇題
1.結構化程序設計主要強調的是()
A.程序的規(guī)模B.程序的易讀性
C.程序的執(zhí)行效率D.程序的可移植性
2.對建立良好的程序設計風格,下面描述正確的是()
A.程序應簡單、清晰、可讀性好B.符號名的命名只要符合語法
C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無
3.在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發(fā)送()
A.調用語句B.命令C.口令D.消息
4.信息隱蔽的概念與下述哪一種概念直接相關?()
A.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件結構定義B.模塊獨立性
C.模塊類型劃分D.模塊耦合度
5.下面對對象概念描述錯誤的是()
A.任何對象都必須有繼承性B.對象是屬性和方法的封裝體C.對象間的通訊靠消息傳遞D.操作是對象的動態(tài)屬性
二.填空題
1.結構化程序設計的三種基本邏輯結構為順序、選擇和()
2.源程序文檔化要求程序應加注釋。注釋一般分為序言性注釋和()
3.在面向對象方法中,信息隱蔽是通過對象的()性來實現的
4.類是一個支持集成的抽象數據類型,而對象是類的()
5.在面向對象方法中,類之間共享屬性和操作的機制稱為()第二章參考答案
一.選擇題
1.B
2.A
3.D
4.B
5.A
二.填空題
1)重復(或循環(huán))2)功能性3)封裝4)實例5)繼承轉貼第三章HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工程基礎
一.選擇題
1.在HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件生命令周期中,能準確地確定HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件系統必須做什么和必須具備哪些功能的階段是()
A.概要設計B.詳細設計C.可行性研究D.需求分析
2.下面不屬于HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工程的3個要素的是()
A.工具B.過程C.方法D環(huán)境
3.檢查HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件產品是否符合需求定義的過程稱為()
A.確認測試B.集成測試C.驗證測試D.驗收測試
4.數據流圖用于抽象描述一個HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是()A.控制流B.加工C.數據存儲D.源和潭
5.下面不屬于HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件設計原則的是
A.抽象B.模塊化C.自底向上D.信息隱蔽
6.程序流程圖(PFD)中的箭頭代表的是()
A.數據流B.控制流C.調用關系D.組成關系
7.下列工具中為需求分析的常用工具的是()
A.PAD
B.PFD
C.N-S
D.DFD
8.在結構化方法中,HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件功能分解屬于下列HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件開發(fā)中的階段是()A.詳細設計B.需求分析C.總體設計D.編程調試
9.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件調試的目的是()
A.發(fā)現錯誤B.改正錯誤C.改善HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件的性能D.挖掘HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件的潛能
10.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件需求分析階段的工作,可以分為四個方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及()
A.階段性報告B.需求評審C.總結D.都不正確
二.填空題
1.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件是程序、數據和()的集合.
2.Jackson方法是一種面向()的結構化方法
3.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工程研究的內容主要包括()技術和HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工程管理
4.數據流圖的類型有()和事務型
5.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件開發(fā)環(huán)境是全面支持HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件開發(fā)全過程的()集合。第三章參考答案
一.選擇題
1.D
2.D
3.A
4.A
5.C
6.B
7.D
8.C
9.B
10.B
二.填空題
1)文檔2)數據流3)HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件開發(fā)4)變換型5)HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工具轉貼第四章數據庫設計基礎
一.選擇題
1.在數據管理技術的發(fā)展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是()
A.數據庫系統B.文件系統C.人工管理D.數據項管理
2.下述關于數據庫系統的敘述正確的是()
A.數據庫系統減少了數據冗余
B.數據庫系統避免了一切冗余
C.數據庫系統中數據的一致性是指數據類型一致
D.數據庫系統比文件系統能管理更多的數據
3.數據庫系統的核心是()
A.數據庫B.數據庫管理系統C.數據模型D.HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件工具
4.用樹形結構來表示實體之間聯系的模型稱為()
A.關系模型B.層次模型C.網狀模型D.數據模型
5.關系表中的每一橫行稱為一個()
A.元組B.字段C.屬性D.碼
6.按條件f對關系R進行選擇,其關系代數表達式是()
A.R|×|R
B.R|×|R
C.σf(R)D.πf(R)
7.關系數據管理系統能實現的專門關系運包括()
A.排序、索引、統計B.選擇、投影、連接C.關聯、更新、排序D.顯示、打印、制表
8.在關系數據庫中,用來表示實體之間聯系的是()
A.樹結構B.網結構C.線性表D.二維表
9.數據庫設計包括兩個方面的設計內容,它們是()
A.概念設計和邏輯設計B.模式設計和內模式設計
C.內模式設計和物理設計D.結構特性設計和行為特性設計
10將E-R圖轉換到關系模式時,實體與聯系都可以表示成()
A.屬性B.關系C.鍵D.域
二.填空題
1.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體”項目主管”與實體”項目”的聯系屬于()的聯系.
2.數據獨立性分為邏輯獨立性和物理獨立性.當數據的存儲結構改變時,其邏輯結構可以不變。因此,基于邏輯結構的應用程序不必修改,稱為()
3.數據庫系統中實現各種數據管理功能的核心HYPERLINK"/content/10/1222/20/5160988_80494790.shtml"軟件稱為()
4.關系模型的完整性規(guī)則是對關系的某種約束條件,包括實體完整性、()和自定義完整性.
5.在關系模型中,把數據看成一個二維表,每一個二維表稱為一個()轉貼于第四章參考答案
一.選擇題
1.A
2.A
3.B
4.B
5.A
6.C
7.B
8.D
9.A
10.B
三.填空題
1)一對多(或1:N)2)邏輯獨立性3)數據庫管理系統4)參照完整性5)關系轉貼于一、選擇題(1)下列關于棧的敘述正確的是
A)棧是非線性結構B)棧是一種樹狀結構C)棧具有先進先出的特征D)棧具有后進先出的特征
(2)結構化程序設計所規(guī)定的三種基本控制結構是
A)輸入、處理、輸出B)樹形、網形、環(huán)形C)順序、選擇、循環(huán)D)主程序、子程序、函數(3)結構化程序設計的一種基本方法是A)篩選法B)遞歸法C)歸納法D)逐步求精法(4)如果對一個關系實施了一種關系運算后得到了一個新的關系,而且新的關系中屬性個數少于原來關系中屬性個數,這說明所實施的運算關系是:A)選擇B)投影C)連接D)并
二、填空題
1.對于輸入為N個數進行快速排序算法的平均時間復雜度是()2.在面向對象方法學中,直接反映了用戶對目標系統的要求的模型是()3.軟件測試方法中,黑盒測試個白盒測試法是常用的方法,其中黑盒測試法主要是用于測試()
4.關系型數據庫管理系統中存儲與管理數據的基本形式是()
C語言程序設計
一、選擇題(1)以下程序的輸入結果是
main()
{
inti=010,j=10,k=x10;
printf("%d,%d,%d",i,j,k);
}
A)8,10,16B)8,10,10C)10,10,10D)10,10,16
(2)指針s所指字符串的長度
char*s=""NameAddress";
A)說法不合法
B)19C)18D)15
(3)C語言中最簡單的數據類型包括
A)整型、實型、邏輯型
B)整型、實型、字符型
C)整型、字符型、邏輯型
D)整型、實型、邏輯型、字符型
(4)為表示關系x大于等于y大于等于z,應使用C語言表達式
A)(x>=Y)&&(Y>=z)B)(x>=Y)AND(y>=z)C)(x>=Y>=z)D)(x>=Y)&(Y>=z)
(5)下列對C語言字符數組的描述中錯誤的是
A)字符數組可以存放字符串
B)字符數組中的字符串可以整體輸入、輸出
C)可以在賦值語句中通過賦值運算符“=”對字符數組整體賦值
D)不可以用關系運算符對字符數組中的字符串進行比較
(6)以下說法中正確的是
A)C語言程序總是從第一個定義的函數開始執(zhí)行
B)在C語言程序中,要調用的函數必須在main()函數中定義
C)C語言程序總是從main()函數開始執(zhí)行
D)C語言程序中的main()函數必須放在程序的開始部分
(7)以下程序段的輸出結果是
intx=3;
do
{
printf("%3d",x-=2);}
while(!(--x));
A)1B)30C)1-2D)死循環(huán)
(8)設有如下定義:
char*aa[2]={"abcd","ABCD"};
則以下說法中正確的是
A)aa數組元素的值分別是"abcd"和"ABCD"
B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組
C)aa數組的兩個元素分別存放的是含有4個字符的一維字符數組的首地址
D)aa數組的兩個元素中各自存放了字符'a'和'A'的地址
(9)設有以下定義:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0];
則下列能夠正確表示數組元素a[1][2]的表達式是
A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)
(10)以下程序的輸出結果是
fut(int**s,intp[2][3])
{**s=p[1][1];}
main()
{
inta[2][3]={1,3,5,7,9,11},*P;
p=(int*)malloc(sizeof(int));
fut(&p,a);
print("%",*p);
}
A)1B)7C)9D)11二、填空題(1)表示條件:10
(2)下列程序的輸出結果是()
#include
main()
{
charb[]="ABCDEFG";
char*chp=&b[7];
while(--chp>&b[0])
putchar(*chp);
putchar("");
}
(3)下列程序的輸出結果是()
intast(intx,intY,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
inta,b,c,d;
a=4;b=3;
ast(a,b,&c,&d);
print("%d%dn",c,d);
}
(4)閱讀程序:
main()
{
charstr1[]="howdoyoudo",str2[10];
char*p1=str1,*p2=str2;
scanf("%s",p2);
printf("%s",p2);
printf("%s",p1);
}
運行上面的程序,輸入字符串
HOWDOYOUDO
則程序的輸出結果是()
(5)以下程序由終端鍵盤輸入一個文件名,然后把從終端鍵盤輸入的字符依次存放到該文件中,用#作為結束輸入的標志。請?zhí)羁铡?/p>
#include
main()
{
FILE*fp;
charch,fname[10];
printf("Inputthenameoffile");
gets(fname);
gets(fname);
if((fp=[5])==NULL)
{
printf("Cannotopen");exit(0);}
printf("Enterdata");
while((ch=getchar())!='#')
fputc([6],fp);
fclose(fp);
}三、上機操作題1.改錯題
下列給定程序中,函數fun的功能是:逐個比較a、b兩個字符串對應位置中的字符,把ASCII值大或相等的字符依次存放到c數組中,形成一個新的字符串。例如:若a中的字符串為:aBCDeFgH,b中的字符串為:ABcd,則c中的字符串應為:aBcdeFgH.請改正程序中的錯誤,使它能得到正確結果,注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
#include
#include
voidfun(char*p,char*q,char*c)
{
intk=1;
while(*p!=*q)
{
if(*p!<*q)c[k]=*q;
elsec[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
}
}
main()
{
chara[10]="aBCDeFfH",b[10]="ABcd",c[80]={"0"};
fun(a,b,c);
printf("Thestringa:");puts(a);
ptintf("Thestringb:");puts(b);
printf("Theresult:");puts(c);
2.編程題
請編寫函數fun,它的功能是:求出1到1000之內能被7或11整除、但不能同時被7和11整除的所有整數并將它們放在a所指的數組中,通過n返回這些數的個數。注意:部分源程序給出如下。請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(int*a,int*n)
{
}
main()
{
intaa[1000],n,k;
clrscr();
fun(aa,&n);
for(k=0;kif((k+1)%10==0)printf("");elseprintf("%5d",aa[k]);
}
二級(C語言程序設計)樣題參考答案一、選擇題
(1)D(2)C(3)D(4)B二、填空題
(1)[1]O(Nlog2N)
(2)[2]功能模型
(3)[3]軟件外部功能
(4)[4]二維表C語言程序設計一、選擇題
(1)A(2)D(3)B(4)A(5)C(6)C(7)C(8)D(9)D(10)C二、填空題
(1)[1]
(x>10&&x<100)//x<0
或(10或x<0//(x>10&&x<100)
或0>x//(10(并且括號有無都可以)
(2)[2]GFEDCB
(3)[3]71
(4)[4]HOWhowdoyoudo(說明:HOW和how之間有無空格均可)
(5)[5]fopen(fname,"w")
(說明:"w"內以w開頭的字符串均可)
[6]ch·
(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
正確答案:
B(2)樹是結點的集合,它的根結點數目是
A)有且只有1
B)1或多于1
C)0或1
D)至少2
正確答案:
A(3)如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是
A)e3,e1,e4,e2
B)e2,e4,e3,e1
C)e3,e4,e1,e2
D)任意順序
正確答案:
B(4)在設計程序時,應采納的原則之一是
正確答案:
D
A)不限制goto語句的使用
B)減少或取消注解行
C)程序越短越好
D)程序結構應有助于讀者理解
(5)程序設計語言的基本成分是數據成分、運算成分、控制成分和
A)對象成分
B)變量成分
C)語句成分
D)傳輸成分
正確答案:
D·
一
、選擇題
(1)下列數據結構中,按先進后出原則組織數據的是
A)線性鏈表
B)棧
C)循環(huán)鏈表
D)順序表
正確答案:
B(2)具有3個結點的二叉樹有
A)2種形態(tài)
B)4種形態(tài)
C)7種形態(tài)
D)5種形態(tài)
正確答案:
D(3)設有下列二叉樹:
對此二叉樹前序遍歷的結果為
A)ZBTYCPXA
B)ATBZXCYPC)ZBTACYXP
D)ATBZXCPY
正確答案:
B(4)結構化程序設計主要強調的是
正確答案:
D
A)程序的規(guī)模
B)程序的效率
C)程序設計語言的先進性
D)程序易讀性
(5)程序的3種基本控制結構是
A)過程、子過程和分程序
B)順序、選擇和重復
C)遞歸、堆棧和隊列
D)調用、返回和轉移
正確答案:
B(6)下列敘述中,不屬于測試的特征的是
A)測試的挑剔性
B)完全測試的不可能性
C)測試的可靠性
D)測試的經濟性
正確答案:
C(7)需求分析中開發(fā)人員要從用戶那里了解
A)軟件做什么
B)用戶使用界面
C)輸入的信息
D)軟件的規(guī)模
正確答案:
A(8)下列關系模型中,能使經運算后得到的新關系中屬性個數多于原來關系中屬性個數的是
A)選擇
B)連接
C)投影
D)并
正確答案:
B(9)下列敘述中,正確的是
A)用E-R圖能夠表示實體集間一對一的聯系、一對多的聯系和多對多的聯系
B)用E-R圖只能表示實體集之間一對一的聯系
C)用E-R圖只能表示實體集之間一對多的聯系
D)用E-R圖表示的概念數據模型只能轉換為關系數據模型
正確答案:
C(10)"年齡在18~25之間"這種約束是屬于數據庫當中的
A)原子性措施
B)一致性措施
C)完整性措施
D)安全性措施
正確答案:
C·
(11)以下說法錯誤的是
A)高級語言都是用接近人們習慣的自然語言和數學語言作為語言的表達形式
B)計算機只能處理由0和1的代碼構成的二進制指令或數據
C)C語言源程序經過C語言編譯程序編譯之后生成一個后綴為.EXE的二進制文件
D)每一種高級語言都有它對應的編譯程序
正確答案:
C(12)算法是指為解決某個特定問題而采取的確定且有限的步驟,下面不屬于算法的五個特性的是
A)有零個輸入或多個輸入
B)高效性
C)有窮性
D)確定性
正確答案:
B(13)已知inta=6;
則執(zhí)行a+=a-=a*a;語句后,a的值為
A)36
B)0
C)-24
D)-60
正確答案:
D(14)下面各選項中,均是C語言標識符的選項組是
A)forchinato
B)long_123short56_do
C)voidunion_342
D)text.txt_023_3ew
正確答案:
B(15)下列表達式中,結果為5的是
A)6*5%6
B)5*-2+15
C)5+75%10
D)6+-2/3
正確答案:
B(16)下列常量中,為不合法的實型常量表示的是
A).0032
B)0.0
C)0.3242E8
D).E3
正確答案:
D(17)關于C語言的主函數描述正確的是
A)C程序可以有多個main函數
B)C程序必有一個而且只能有一個main函數
C)C程序可以沒有main函數
D)C程序的執(zhí)行不一定在main函數開始執(zhí)行
正確答案:
B(18)已知inta=1,b=-1;則語句printf("%d\n",(a--,++b));的輸出結果是
A)-1
B)0
C)1
D)語句錯誤
正確答案:
B(19)已知inta,b;doublec;則以下語句中錯誤的函數調用是
A)scanf("%d,%x,%lf",&a,&b,&c);
B)scanf("%d,%d,%le",&a,&b,&c);
C)scanf("%o,%x,%o",&a,&b);
D)scanf("%d,%o,%e",&a,&b,&c);
正確答案:
D(20)已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達式x+y的值為
正確答案:
C
A)1
B)2
C)3D)4(30)閱讀下面程序,則程序執(zhí)行后的結果為
#include"stdio.h"
main()
{inta=4,b=6,c=7;
doubled,fun(int,int,int);
d=fun(a,b,c);
printf("%lf\n",d);}
doublefun(inta,intb,intc)
{doubles;
s=a%b*c;
returns;}
A)27
B)27.000000
C)28
D)28.000000
正確答案:
D(31)下列不合法的指針變量的定義是
A)int*_k;
B)char*_245;
C)int*p;
D)double*5_is
正確答案:
D(32)下列關于指針變量賦空值的說法錯誤的是
A)當賦空值的時候,變量指向地址為0的存儲單元
B)賦值語句可以表達為變量名=′\0′;
C)賦值語句可以表達為變量名=0;
D)一個指針變量可以被賦空值
正確答案:
A(33)閱讀下面程序,則執(zhí)行后輸出的結果為
#include"stdio.h"
voidfun(int*a,int*b)
{intm;
m=(*a+*b)*(*a+*b);
m+=(*a-*b)*(*a-*b);
printf("%d\n",m);}
main()
{inta=5,b=6,*x=&a,*y=&b;
fun(x,y);}
A)120
B)121
C)122
D)123
正確答案:
C(34)閱讀下面程序,則輸出結果是
#include"stdio.h"
voidfun(int*a,int*b)
{intc=20,d=25;
*a=c/3;
*b=d/5;}
main()
{inta=3,b=5;
fun(&a,&b);
printf("%d,%d\n",a,b);}
A)6,5
B)5,6C)20,25
D)3,5
正確答案:
A(35)以下對一維數組c進行正確的定義初始化的語句是
A)intc[10]=0;
B)intc[10]={0}*10;
C)intc[1]={0,0,0,0,0,0,0};
D)intc[10]={0};
正確答案:
D(36)以下二維數組c的定義形式是
A)intc[3][]
B)floatc[3,4]
C)doublec[3][4]
D)floatc(3)(4)
正確答案:
C(37)閱讀下列程序,則執(zhí)行后輸出的結果是
#include"stdio.h"
intk=1;
main()
{fun(k);
printf("%d\n",k);}
fun(intk)
{k++;
k=k*6;}
正確答案:
A
A)1
B)2
C)6
D)12
(38)已知#defineM2;的宏定義,執(zhí)行語句k=M*5;后,k的值是
A)10
B)5
C)2
D)以上答案都不對
正確答案:
D(39)已知:intc[3][4];則對數組元素引用正確的是
A)c[1][4]
B)c[1.5][0]
C)c[1+0][0]
D)以上表達都錯誤
正確答案:
C(40)現有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c)
{*c=*a+*b;}
main()
{inta[2]={12,23},c;
fun(a,a+1,&c);
printf("%d\n",c);}
則程序的輸出結果為
A)23
B)12
C)0
D)35
正確答案:
D(41)若有以下語句,則正確的描述是
chara[]="toyou";
charb[]={′t′,′o′,′y′,′o′,′u′};
A)a數組和b數組的長度相同
B)a數組長度小于b數組長度
C)a數組長度大于b數組長度
D)a數組等價于b數組
正確答案:
C(42)已知:chara[15],b[15]={"Ilovechina"};則在程序中能將字符串Ilovechina賦給數組a的正確語句是
A)a="Ilovechina";
B)strcpy(b,a);
C)a=b;
D)strcpy(a,b);
正確答案:
D(44)閱讀下面程序,則執(zhí)行后的結果為
#include"stdio.h"
main()
{
char*str="abcdefghijklmnopq";
while(*str++!=′e′);
printf("%c\n",*str);}
A)f
B)a
C)e
D)q
正確答案:
A(45)現有如下程序段
#include"stdio.h"
intfun(intk,int*m)
{if(k%3)*m=k*k;
else*m=k/3;}
main()
{int
(*p)(int,int*),m;
p=fun;
(*p)(78,&m);
printf("%d\n",m);}
則程序段的輸出結果為
A)24
B)25
C)26
D)27
正確答案:
C(46)閱讀下列程序,則執(zhí)行后的輸出結果為
#include"stdio.h"
fun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x%2);}
main()
{fun(20);
putchar(′\n′);}
A)11100
B)10100
C)10101
D)10110
正確答案:
B(47)閱讀如下程序段,則執(zhí)行后程序的輸出結果是
#include<stdio.h>
main()
{structa{intx;inty;}num[2]={{20,5},{6,7}};
printf("%d\n",num[0].x/num[0].y*num[1].y);}
A)0
B)28
C)20
D)5
正確答案:
B(48)閱讀程序段,則執(zhí)行后的輸出結果為
#include"stdio.h"
typedefunion{longx[2];
inty[4];
charz[8];}atx;
typedefstructaa{longx[2];
inty[4];
charz[8];}stx;
main()
{printf("union=%d,structaa=%d\n",sizeof(atx),sizeof(stx));}
A)union=8,structaa=8
B)union=8,structaa=24
C)union=24,structaa=8
D)union=24,structaa=24
正確答案:
B(49)閱讀下列程序段
#include"stdio.h"
typedefstructaa
{inta;
structaa*next;}M;
voidset(M*k,inti,int*b)
{intj,d=0;
for(j=1;j<i;j++)
{
k[j-1].next=&k[j];
k[j-1].a=b[d++];}
k[j].a=b[d];}
main()
{Mk[5],*p;
intd[5]={23,34,45,56,67};
set(k,5,d);
p=k+1;
printf("%d\n",table);}
則下面的表達式在table處,能使程序執(zhí)行后,打印輸出數據45的是
A)p->next->a
B)++p->a
C)(*p).a++
D)p++->a
正確答案:
A(50)閱讀下面程序,程序實現的功能是(a123.txt在當前盤符下已經存在)
#include"stdio.h"
voidmain()
{FILE*fp;
inta[10],*p=a;
fp=fopen("a123.txt","w");
while(
strlen(gets(p))>0
)
{fputs(a,fp);
fputs("\n",fp);}
fclose(fp);}
A)從鍵盤輸入若干行字符,按行號倒序寫入文本文件a123.txt中
B)從鍵盤輸入若干行字符,取前2行寫入文本文件a123.txt中
C)從鍵盤輸入若干行字符,第一行寫入文本文件a123.txt中
D)從鍵盤輸入若干行字符,依次寫入文本文件a123.txt中
正確答案:
D二
、填空題
(1)排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、
【1】
和選擇排序等。
正確答案:
1.(交換排序)(2)當循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為
【2】
。
正確答案:
1.(上溢)(3)
【3】
是一種信息隱蔽技術,目的在于將對象的使用者和對象的設計者分開。
正確答案:
1.(封裝)(4)為了便于對照檢查,測試用例應由輸入數據和預期的
【4】
兩部分組成。
正確答案:
1.(輸出結果)(5)
【5】
是從二維表列的方向進行的運算。
正確答案:
1.(關系運算)(6)定義inta=5,b=20;若執(zhí)行語句printf("%d\n",++a*--b/5%13);后,輸出的結果為
【6】
。
正確答案:
1.(9)(7)執(zhí)行程序時的輸入為123456789,則程序的運行結果為
【7】
。
#include"stdio.h"
main()
{
inta,b;
scanf("%2d%*2d%1d",&a,&b);
printf("%d\n",a-b);}
正確答案:
1.(7)(8)閱讀下面程序,則在執(zhí)行時候的輸出為
【8】
。
#include"stdio.h"
main()
{intx=1,y=2,z=0;
if(x=2)z=x,x=y,y=z;
printf("%d,%d\n",x,y);}
正確答案:
1.(2,2)(9)語句printf("%d\n",′H′-′0′+64);的執(zhí)行結果為
【9】
。
正確答案:
1.(88)(10)閱讀下面程序,則程序的執(zhí)行結果為
【10】
。
#include"stdio.h"
main()
{inta=10;
fun(a);
printf("%d\n",a);}
fun(intx)
{x=50;}
正確答案:
1.(10)(11)以下程序的輸出結果是
【11】
。
intfun(intx,inty,int*p,int*q)
{*p=x*y;
*q=x/y;}
main()
{inta,b,c,d;
a=4;b=3;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);}
正確答案:
1.(12,1)(12)下面程序是求出數組arr的兩條對角線上元素之和,請?zhí)羁铡?/p>
#include"stdio.h"
main()
{intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(
【12】
)a=a+arr[i][j];
for(i=0;i<3;i++)
for(
【13】
;j>=0;j--)
if(
【14】
)
b=b+arr[i][j];
printf("%d,%d\n",a,b);}
正確答案:
1.(i==j)2.(j=2)3.(i+j==2)(13)下面程序的功能是:對字符串從小到大進行排序并輸出,請?zhí)羁铡?/p>
#include"string.h"
#include"stdio.h"
sort(char*a[],intn)
{inti,j;
char*p;
for(j=1;j<=n-1;j++)
for(i=0;
【15】
;i++)
if(
【16】
>0)
{p=a[i];
a[i]=a[i+1];
a[i+1]=p;}}
main()
{inti;
char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};
sort(
【17】
);
for(i=0;i<6;i++)
printf("%s\n",book[i]);}
正確答案:
1.(i<n-j)2.(strcmp(a[i],a[i+1]))3.(book,6)(14)下面的函數是完成1~n的累加,完成函數。
a(intk)
{if(k<=0)printf("error\n");
if(k==1)
【18】
;
else
【19】
;}
正確答案:
1.(return1)2.(return(a(k-1)+k))(15)閱讀下列程序,則程序實現的功能是
【20】
。
#include"stdio.h"
structnode
{chardata;
structnode*next;}*head;
fun(structnode*q)
{if(head==NULL)
{q->next=NULL;
head=q;}
else
{q->next=head;
head=q;}}
main()
{charch;
structnode*p;
head=NULL;
while((ch=getchar())!=′\n′)
{p=(structnode*)malloc(sizeof(structnode));
p->data=ch;
fun(p);}
p=head;
while(p!=NULL)
{printf("%c",p->data);
p=p->next;}}
正確答案:
1.(從鍵盤輸入一行字符串,調用函數建立反序的鏈表,然后輸出整個鏈表)(1)最簡單的交換排序方法是
A)快速排序
B)選擇排序
C)堆排序
D)冒泡排序
正確答案:
D(2)棧通常采用的兩種存儲結構是
A)線性存儲結構和鏈表存儲結構
B)散列方式和索引方式
C)鏈表存儲結構和數組
D)線性存儲結構和非線性存儲結構
正確答案:
A(3)線性表的順序存儲結構和線性表的鏈式存儲結構分別是
A)順序存取的存儲結構、順序存取的存儲結構
B)隨機存取的存儲結構、順序存取的存儲結構
C)隨機存取的存儲結構、隨機存取的存儲結構
D)任意存取的存儲結構、任意存取的存儲結構
正確答案:
B(4)完全不考慮程序的內部結構和內部特征,而只是根據程序功能導出測試用例的測試方法是
A)黑箱測試法
B)白箱測試法
C)錯誤推測法
D)安裝測試法
正確答案:
A(5)在結構化設計方法中,生成的結構圖(SC)中,帶有箭頭的連線表示
A)模塊之間的調用關系
B)程序的組成成分
C)控制程序的執(zhí)行順序
D)數據的流向
正確答案:
A(6)下列選項中,不屬于模塊間耦合的是
A)數據耦合
B)同構耦合
C)異構耦合
D)公用耦合
正確答案:
C(7)一個關系中屬性個數為1時,稱此關系為
A)對應關系
B)單一關系
C)一元關系
D)二元關系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡信息服務平臺建設與運營合作協議
- 循環(huán)經濟模式下的農業(yè)合作協議
- 國際智能裝備采購合同
- 生鮮食品供應鏈管理合同
- PPC廣告投放服務合作協議
- 食品加工生產設備采購與安裝合同
- 新材料生產及綠色制造產業(yè)鏈合作協議
- 分布式能源系統投資協議
- 慈善募捐資金使用與監(jiān)管協議書
- 綠色環(huán)保工程投資合作協議
- 人教版數學四年級下冊核心素養(yǎng)目標全冊教學設計
- JJG 692-2010無創(chuàng)自動測量血壓計
- 三年級下冊口算天天100題(A4打印版)
- 徐州市2023-2024學年八年級上學期期末地理試卷(含答案解析)
- CSSD職業(yè)暴露與防護
- 飲料對人體的危害1
- 數字經濟學導論-全套課件
- 移動商務內容運營(吳洪貴)項目三 移動商務運營內容的策劃和生產
- 中考記敘文閱讀
- 產科溝通模板
- 2023-2024學年四川省成都市小學數學一年級下冊期末提升試題
評論
0/150
提交評論