一、 選擇題
1、 下列敘述中正確的是( ?。?。
A.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.循環(huán)隊(duì)列是一直邏輯結(jié)構(gòu)
2、 下列敘述中正確的是( )。
A.棧是一種先進(jìn)先出的線性表
B.隊(duì)列是一種后進(jìn)先出的線性表
C.棧和隊(duì)列都是非線性結(jié)構(gòu)
D.以上三種說法都不對
3、 一棵二叉樹共有25個(gè)節(jié)點(diǎn),其中5個(gè)時(shí)子節(jié)點(diǎn),那么度為1的節(jié)點(diǎn)數(shù)為( )。
A.4
B.6
C.10
D.16
4、 在下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是( ?。?。
A.內(nèi)模式
B.外模式
C.概念模式
D.邏輯模式
5、 在滿足實(shí)體完整性約束的條件下( )。
A、 一個(gè)關(guān)系中可以沒有候選關(guān)鍵詞
B、 一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵詞
C、 一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵詞
D、 一個(gè)關(guān)系中應(yīng)該有一個(gè)或者多個(gè)候選關(guān)鍵詞
6、 有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( ?。?。
A.自然連接
B.并
C.差
D.交
7、 軟件生命周期中的活動(dòng)不包括( ?。?BR> A.軟件維護(hù)
B.市場調(diào)研
C.軟件測試
D.需求分析
8、 下面不屬于需求分析階段任務(wù)的是( ?。?。
A.確定軟件系統(tǒng)的功能需求
B.確定軟件系統(tǒng)的系統(tǒng)的系能需求
B.制定軟件集成測試計(jì)劃
D.需求規(guī)格說明書審評
9、 在黑盒測試方式中,設(shè)計(jì)測試用例的主要根據(jù)是( ?。?。
A.程序外部功能
B.程序內(nèi)部邏輯
C.程序數(shù)據(jù)結(jié)構(gòu)
D.程序流程圖
10、 在軟件設(shè)計(jì)中不使用的工具是( ?。?BR> A.系統(tǒng)結(jié)構(gòu)圖
B.程序流程圖
C.PAD圖
D.?dāng)?shù)據(jù)流圖(DFD圖)
11、針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟正確的是( ?。?。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
12、關(guān)于C語言中數(shù)的表示,以下敘述正確的是( ?。?BR> A.只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實(shí)型數(shù)會(huì)有誤差
B.只要在在允許范圍內(nèi)整型和實(shí)型都能精確表示
C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會(huì)有誤差
D.只有八進(jìn)制表示的數(shù)在不會(huì)有誤差
13、以下關(guān)于算法敘述錯(cuò)誤的是( )。
A.算法可以用偽代碼、流程圖等多種形式來描述
B.一個(gè)正確的算法必須有輸入
C.一個(gè)正確的算法必須有輸出
D.用流程圖可以描述的算法可以用任何一種計(jì)算機(jī)高級語言編寫成程序代碼
14、以下敘述錯(cuò)誤的是( )。
A.一個(gè)C程序可以包含多個(gè)不同名的函數(shù)
B.一個(gè)C程序只能有一個(gè)主函數(shù)
C.C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
15、設(shè)有以下語句
Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);
若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是( ?。?。
A.A和B之間用逗號間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
16、以下選項(xiàng)中非法的字符常量是( ?。?。
A.’\102’
B.’\65’
C.’\xff’
D.’\019’
17、有以下程序
#include
Main()
{
Int A=0,B=0,C=0;
C=(A-=A-5);(A=B,B+=4);
Printf(“%d, %d, %d\n”,A,B,C)
}
程序運(yùn)行后輸出的結(jié)果是( )。
A.0,4,5
B.4,4,5
C.4,4,4
D.0,0,0
18、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語句是( ?。?。
A.x++; printf((“%d\n”,x);
B.n=++x; printf((“%d\n”,n);
C.++x; printf((“%d\n”,x);
D.n=x++; printf((“%d\n”,n);
19、以下選項(xiàng)中,能表示邏輯值“假”的是( ?。?。
A.1
B.0.000001
C.0
D.100.0
20、有以下程序
#include
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序運(yùn)行時(shí)鍵盤輸入9<回車>,則輸出的結(jié)構(gòu)是( ?。?。
A.10
B.11
C.9
D.8
21、有以下程序
#include
Main()
{int s=0,n;
For (n=0;n<3;n<++)
{switch(s)
{ case 0;
Case 1;s+=1;
Case 2;s+=2;break;
Case 3;s+3;
Case 4;s+=4;
}
printf((“%d\n”,s);
}
}
程序運(yùn)行后的結(jié)果是( ?。?。
A.1,2,4
B.1,3,6
C.3,10,14
D.3,6,10
22、若k是int類型變量,且有以下for語句
For(k=-1;k<0;k++) printf(****\n”);
下面關(guān)于語句執(zhí)行情況的敘述中正確的是( ?。?BR> A.循環(huán)體執(zhí)行一次
B.循環(huán)體執(zhí)行兩次
C.循環(huán)體一次也不執(zhí)行
D.構(gòu)成無限循環(huán)
23、有以下程序
#include
Main()
{char A,B,C;
B=’1’;C=’A’
For(A=0;A<6;A++)
{if(A%2) putchar(B+A);
Else putchar(C+A);
}
}
程序運(yùn)行后輸出的結(jié)果是( ?。?。
A.1B3D5F
B.ABCDFE
C.A2C4E6
D.123456
24、設(shè)有如下定義語句
Int m[ ]={2,4,6,8},*k=m;
以下選項(xiàng)中,表達(dá)式的值為6的是( ?。?。
A.*(k+2)
B.k+2
C.*k+2
D.*k+=2
25、fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃線處應(yīng)該填寫的是( ?。?BR> #include
#define N 5
Viod fun(int x[N])
{int m;
For(m=N-1;m>0;m--) scanf(“%d\n”, );
}
A.&x[++m]
B.&x[m+1]
C.x+(m++)
D.x+m
26、若有函數(shù)
Viod fun(double a[], int *n)
{………}
以下敘述中正確的是( ?。?。
A、 調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送
B、 形參a和n都是指針變量
C、 形參a是一個(gè)數(shù)組名,n是指針變量
D、 調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組
27、有以下程序
#include
Main()
{int a,b,k,m,*p1,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*p1-m; b=*p1+*p2+6;
printf(“%d ”,a); printf(“%d\n”,b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是( ?。?BR> A.a(chǎn)=/*p1-m
B.b=*p1+*p2+6
C.k=1,m=8;
D.p1=&k,p2=&m;
28、以下選項(xiàng)中有語法錯(cuò)誤的是( ?。?BR> A char *str[ ]={“guest”};
B.char str[10 ]={“guest”};
C.char *str[3] *str[1]={“guest”};
D.char str[3][10];str[1]={“guest”};
29、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過10,則下列函數(shù)說明語句錯(cuò)誤的是( ?。?。
A.int avg(int *a,int n);
B.int avg(int a[10],int n);
C.int avg(int a,int n) ;
D.int avg(int a[],int n);
30、有以下函數(shù)
#include
#include
main()
{ printf(“%d\n”,strren”ATS\n012\1”) );}
程序運(yùn)行后的輸出結(jié)果是( )。
A.3
B.8
C.4
D.9
31、有以下函數(shù)
#include
main()
{ char a[20],b[20],c[20];
scanf(”%s%s”,a,b);
get(c);
printf(”%s%s\n”,a,b,c);
}
程序運(yùn)行時(shí)從第一行開始輸入 this is a cat!<回車>,則輸出結(jié)果是( ?。?。
A.thisisacat!
B.this is a
C.thisis a cat!
D.thisisa cat!
32、有以下函數(shù)
#include
viod fun(char c)
{if(c>’x’) fun(c-1);
printf (“%c”,c);
}
main()
{fun”z”;}
程序運(yùn)行輸出結(jié)果是( )。
A.xyz
B.wxyz
C.zyxw
D.zyx
33、有以下函數(shù)
#include
viod func(int n)
{int i;
for(i=0;i<=n;i++) printf(“*”);
printf(“#”);
main()
{ func(3); printf(“????”); func(4); printf(“\n”); }
程序運(yùn)行輸出結(jié)果是( )。
A.****#????***#
B.***#????*****#
C.**#????*****#
D.****#????*****#
34、有以下函數(shù)
#include
viod fun(int *s)
{staic int j=0;
do {s[j]=s[j]+s[j+1];} wihle(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(K+1;k<3;k++) fun(a);
for(K+1;k<5;k++) printf(“%d”,a[k]);
printf(“\n”);
}
程序運(yùn)行輸出結(jié)果是( ?。?。
A.12345
B.23445
C.34756
D.35745
35、有以下函數(shù)
#include
#define S(x) (x)*x*2
main()
{int k=5,j=2;
printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));
}
程序運(yùn)行輸出結(jié)果是( ?。?BR> A.98,18
B.39,11
C.39,18
D.98,11
36、有以下函數(shù)
#include
Viod exch(int t[ ])
{t[0]=t[5];}
{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;
While(i<=4) {exch(&x[i])’i++;}
for(i=0;i<5;i++) printf(“%d”,x[i]);
printf(“\n”);
}
程序運(yùn)行輸出結(jié)果是( )。
A.2 4 6 8 10
B.1 3 5 7 9
C.1 2 3 4 5
D.6 7 8 9 10
37、設(shè)有以下程序段
Struct MP3
{char name[20];
Char color;
Float price;
}std,*ptr;
ptr=& std;
若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是( ?。?。
A.std.color
B.ptr-> color
C.std-> color
D.(*ptr) .color
38、有以下函數(shù)
#include
struct stu
{int mun; char name[10]; int age;};
viod fun(struct stu *p)
{ printf(“%s\n”,p->name);}
mian()
{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};
fun(x+2);
}
程序運(yùn)行輸出結(jié)果是( ?。?。
A.zhang
B.zhao
C.wang
D.19
39、有以下函數(shù)
#include
mian()
{int a=12,c;
c=(a<<2)<<1;
printf(“%d\n”,c):
}
程序運(yùn)行輸出結(jié)果是( )。
A.3
B.50
C.2
D.96
40、以下函數(shù)不能用于向文件寫入數(shù)據(jù)的是( ?。?BR> A.ftell
B.fwrite
C.fputc
D.fprintf
二、填空題
1、將長度為n的順序存儲(chǔ)在線性表中刪除一個(gè)元素,最壞情況下需要移動(dòng)表中的元素個(gè)數(shù)為( ?。?。
2、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:3),初始狀態(tài)為front=rear=30?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=16,rear=15,則循環(huán)隊(duì)列中有( ?。﹤€(gè)元素。
3、數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是( ?。?。
4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成( )。
5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,類、繼承以及多態(tài)性等概念屬于( ?。?。
6、設(shè)變量a和b已定義為int類型,若要通過scanf(”a=%d,b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是( ?。?。
7、以下程序的輸出結(jié)果是( ?。?。
#include
mian()
{ int a=37;
a+=a%=9; printf(“%d\n”,a);
}
8、設(shè)A.B.c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++||b++;語句后,變量b的值是( )。
9、有以下程序段
s=1.0;
for(k=1,k<=n;k++) s=s+1.0(k*(k+1));
printf(“%f\n”,s);
請?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。
s=1.0; k=1;
while( )
{ s=s+1.0(k*(k+1)); k=k+1;}
printf(“%f\n”,s);
10、以下程序段的輸出結(jié)果是( ?。?BR> #include
mian()
{ char a,b;
for(a=0;a<20;a+=7) { b=a; putchar(b+’0’); }
}
11、以下程序段的輸出結(jié)果是( ?。?BR> #include
mian()
{ char *ch[4]={“red”,”green”,”blue”};
Int i=0;
While(ch[i]);
{ putchar(ch[i][0]; i++; }
}
12、有以下程序
#include
mian()
{int arr[]={1,3,5,7,2,4,6,8{, i, start;
Scanf(“%d”, &start);
For(i=0,i<3,i++)
printf(“%d”,arr[(start+i)%8]);
}
若在程序運(yùn)行時(shí)輸入整數(shù)10 <回車>,則輸出結(jié)果為( )。
13、以下程序的功能是輸出a數(shù)組中的所有字符串,請?zhí)羁?BR> #include
mian()
{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
Int i=0;
For(;i<4;i++) printf(“%s\n”, );
}
14、以下程序的輸出結(jié)果是( ?。?。
#include
#include
#include
mian()
{ char *p, *q, *r;
p=q=r=(char *)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!”);
printf(“%c%c%c\n”,p[11], q[3], r[4]);
free(p);
}
15、設(shè)文件test.txt中原已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為( ?。?。
#include
mian()
{ file *fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);}
1、 下列敘述中正確的是( ?。?。
A.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.循環(huán)隊(duì)列是一直邏輯結(jié)構(gòu)
2、 下列敘述中正確的是( )。
A.棧是一種先進(jìn)先出的線性表
B.隊(duì)列是一種后進(jìn)先出的線性表
C.棧和隊(duì)列都是非線性結(jié)構(gòu)
D.以上三種說法都不對
3、 一棵二叉樹共有25個(gè)節(jié)點(diǎn),其中5個(gè)時(shí)子節(jié)點(diǎn),那么度為1的節(jié)點(diǎn)數(shù)為( )。
A.4
B.6
C.10
D.16
4、 在下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是( ?。?。
A.內(nèi)模式
B.外模式
C.概念模式
D.邏輯模式
5、 在滿足實(shí)體完整性約束的條件下( )。
A、 一個(gè)關(guān)系中可以沒有候選關(guān)鍵詞
B、 一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵詞
C、 一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵詞
D、 一個(gè)關(guān)系中應(yīng)該有一個(gè)或者多個(gè)候選關(guān)鍵詞
6、 有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( ?。?。
A.自然連接
B.并
C.差
D.交
7、 軟件生命周期中的活動(dòng)不包括( ?。?BR> A.軟件維護(hù)
B.市場調(diào)研
C.軟件測試
D.需求分析
8、 下面不屬于需求分析階段任務(wù)的是( ?。?。
A.確定軟件系統(tǒng)的功能需求
B.確定軟件系統(tǒng)的系統(tǒng)的系能需求
B.制定軟件集成測試計(jì)劃
D.需求規(guī)格說明書審評
9、 在黑盒測試方式中,設(shè)計(jì)測試用例的主要根據(jù)是( ?。?。
A.程序外部功能
B.程序內(nèi)部邏輯
C.程序數(shù)據(jù)結(jié)構(gòu)
D.程序流程圖
10、 在軟件設(shè)計(jì)中不使用的工具是( ?。?BR> A.系統(tǒng)結(jié)構(gòu)圖
B.程序流程圖
C.PAD圖
D.?dāng)?shù)據(jù)流圖(DFD圖)
11、針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟正確的是( ?。?。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
12、關(guān)于C語言中數(shù)的表示,以下敘述正確的是( ?。?BR> A.只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實(shí)型數(shù)會(huì)有誤差
B.只要在在允許范圍內(nèi)整型和實(shí)型都能精確表示
C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會(huì)有誤差
D.只有八進(jìn)制表示的數(shù)在不會(huì)有誤差
13、以下關(guān)于算法敘述錯(cuò)誤的是( )。
A.算法可以用偽代碼、流程圖等多種形式來描述
B.一個(gè)正確的算法必須有輸入
C.一個(gè)正確的算法必須有輸出
D.用流程圖可以描述的算法可以用任何一種計(jì)算機(jī)高級語言編寫成程序代碼
14、以下敘述錯(cuò)誤的是( )。
A.一個(gè)C程序可以包含多個(gè)不同名的函數(shù)
B.一個(gè)C程序只能有一個(gè)主函數(shù)
C.C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
15、設(shè)有以下語句
Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);
若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是( ?。?。
A.A和B之間用逗號間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
16、以下選項(xiàng)中非法的字符常量是( ?。?。
A.’\102’
B.’\65’
C.’\xff’
D.’\019’
17、有以下程序
#include
Main()
{
Int A=0,B=0,C=0;
C=(A-=A-5);(A=B,B+=4);
Printf(“%d, %d, %d\n”,A,B,C)
}
程序運(yùn)行后輸出的結(jié)果是( )。
A.0,4,5
B.4,4,5
C.4,4,4
D.0,0,0
18、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語句是( ?。?。
A.x++; printf((“%d\n”,x);
B.n=++x; printf((“%d\n”,n);
C.++x; printf((“%d\n”,x);
D.n=x++; printf((“%d\n”,n);
19、以下選項(xiàng)中,能表示邏輯值“假”的是( ?。?。
A.1
B.0.000001
C.0
D.100.0
20、有以下程序
#include
Main()
{ int a;
Scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
Else printf((“%d\n”,a--);
}
程序運(yùn)行時(shí)鍵盤輸入9<回車>,則輸出的結(jié)構(gòu)是( ?。?。
A.10
B.11
C.9
D.8
21、有以下程序
#include
Main()
{int s=0,n;
For (n=0;n<3;n<++)
{switch(s)
{ case 0;
Case 1;s+=1;
Case 2;s+=2;break;
Case 3;s+3;
Case 4;s+=4;
}
printf((“%d\n”,s);
}
}
程序運(yùn)行后的結(jié)果是( ?。?。
A.1,2,4
B.1,3,6
C.3,10,14
D.3,6,10
22、若k是int類型變量,且有以下for語句
For(k=-1;k<0;k++) printf(****\n”);
下面關(guān)于語句執(zhí)行情況的敘述中正確的是( ?。?BR> A.循環(huán)體執(zhí)行一次
B.循環(huán)體執(zhí)行兩次
C.循環(huán)體一次也不執(zhí)行
D.構(gòu)成無限循環(huán)
23、有以下程序
#include
Main()
{char A,B,C;
B=’1’;C=’A’
For(A=0;A<6;A++)
{if(A%2) putchar(B+A);
Else putchar(C+A);
}
}
程序運(yùn)行后輸出的結(jié)果是( ?。?。
A.1B3D5F
B.ABCDFE
C.A2C4E6
D.123456
24、設(shè)有如下定義語句
Int m[ ]={2,4,6,8},*k=m;
以下選項(xiàng)中,表達(dá)式的值為6的是( ?。?。
A.*(k+2)
B.k+2
C.*k+2
D.*k+=2
25、fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃線處應(yīng)該填寫的是( ?。?BR> #include
#define N 5
Viod fun(int x[N])
{int m;
For(m=N-1;m>0;m--) scanf(“%d\n”, );
}
A.&x[++m]
B.&x[m+1]
C.x+(m++)
D.x+m
26、若有函數(shù)
Viod fun(double a[], int *n)
{………}
以下敘述中正確的是( ?。?。
A、 調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送
B、 形參a和n都是指針變量
C、 形參a是一個(gè)數(shù)組名,n是指針變量
D、 調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組
27、有以下程序
#include
Main()
{int a,b,k,m,*p1,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*p1-m; b=*p1+*p2+6;
printf(“%d ”,a); printf(“%d\n”,b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是( ?。?BR> A.a(chǎn)=/*p1-m
B.b=*p1+*p2+6
C.k=1,m=8;
D.p1=&k,p2=&m;
28、以下選項(xiàng)中有語法錯(cuò)誤的是( ?。?BR> A char *str[ ]={“guest”};
B.char str[10 ]={“guest”};
C.char *str[3] *str[1]={“guest”};
D.char str[3][10];str[1]={“guest”};
29、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過10,則下列函數(shù)說明語句錯(cuò)誤的是( ?。?。
A.int avg(int *a,int n);
B.int avg(int a[10],int n);
C.int avg(int a,int n) ;
D.int avg(int a[],int n);
30、有以下函數(shù)
#include
#include
main()
{ printf(“%d\n”,strren”ATS\n012\1”) );}
程序運(yùn)行后的輸出結(jié)果是( )。
A.3
B.8
C.4
D.9
31、有以下函數(shù)
#include
main()
{ char a[20],b[20],c[20];
scanf(”%s%s”,a,b);
get(c);
printf(”%s%s\n”,a,b,c);
}
程序運(yùn)行時(shí)從第一行開始輸入 this is a cat!<回車>,則輸出結(jié)果是( ?。?。
A.thisisacat!
B.this is a
C.thisis a cat!
D.thisisa cat!
32、有以下函數(shù)
#include
viod fun(char c)
{if(c>’x’) fun(c-1);
printf (“%c”,c);
}
main()
{fun”z”;}
程序運(yùn)行輸出結(jié)果是( )。
A.xyz
B.wxyz
C.zyxw
D.zyx
33、有以下函數(shù)
#include
viod func(int n)
{int i;
for(i=0;i<=n;i++) printf(“*”);
printf(“#”);
main()
{ func(3); printf(“????”); func(4); printf(“\n”); }
程序運(yùn)行輸出結(jié)果是( )。
A.****#????***#
B.***#????*****#
C.**#????*****#
D.****#????*****#
34、有以下函數(shù)
#include
viod fun(int *s)
{staic int j=0;
do {s[j]=s[j]+s[j+1];} wihle(++j<2);
}
main()
{int k,a[10]={1,2,3,4,5};
for(K+1;k<3;k++) fun(a);
for(K+1;k<5;k++) printf(“%d”,a[k]);
printf(“\n”);
}
程序運(yùn)行輸出結(jié)果是( ?。?。
A.12345
B.23445
C.34756
D.35745
35、有以下函數(shù)
#include
#define S(x) (x)*x*2
main()
{int k=5,j=2;
printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));
}
程序運(yùn)行輸出結(jié)果是( ?。?BR> A.98,18
B.39,11
C.39,18
D.98,11
36、有以下函數(shù)
#include
Viod exch(int t[ ])
{t[0]=t[5];}
{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;
While(i<=4) {exch(&x[i])’i++;}
for(i=0;i<5;i++) printf(“%d”,x[i]);
printf(“\n”);
}
程序運(yùn)行輸出結(jié)果是( )。
A.2 4 6 8 10
B.1 3 5 7 9
C.1 2 3 4 5
D.6 7 8 9 10
37、設(shè)有以下程序段
Struct MP3
{char name[20];
Char color;
Float price;
}std,*ptr;
ptr=& std;
若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是( ?。?。
A.std.color
B.ptr-> color
C.std-> color
D.(*ptr) .color
38、有以下函數(shù)
#include
struct stu
{int mun; char name[10]; int age;};
viod fun(struct stu *p)
{ printf(“%s\n”,p->name);}
mian()
{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};
fun(x+2);
}
程序運(yùn)行輸出結(jié)果是( ?。?。
A.zhang
B.zhao
C.wang
D.19
39、有以下函數(shù)
#include
mian()
{int a=12,c;
c=(a<<2)<<1;
printf(“%d\n”,c):
}
程序運(yùn)行輸出結(jié)果是( )。
A.3
B.50
C.2
D.96
40、以下函數(shù)不能用于向文件寫入數(shù)據(jù)的是( ?。?BR> A.ftell
B.fwrite
C.fputc
D.fprintf
二、填空題
1、將長度為n的順序存儲(chǔ)在線性表中刪除一個(gè)元素,最壞情況下需要移動(dòng)表中的元素個(gè)數(shù)為( ?。?。
2、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:3),初始狀態(tài)為front=rear=30?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=16,rear=15,則循環(huán)隊(duì)列中有( ?。﹤€(gè)元素。
3、數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是( ?。?。
4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成( )。
5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒?,類、繼承以及多態(tài)性等概念屬于( ?。?。
6、設(shè)變量a和b已定義為int類型,若要通過scanf(”a=%d,b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是( ?。?。
7、以下程序的輸出結(jié)果是( ?。?。
#include
mian()
{ int a=37;
a+=a%=9; printf(“%d\n”,a);
}
8、設(shè)A.B.c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++||b++;語句后,變量b的值是( )。
9、有以下程序段
s=1.0;
for(k=1,k<=n;k++) s=s+1.0(k*(k+1));
printf(“%f\n”,s);
請?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。
s=1.0; k=1;
while( )
{ s=s+1.0(k*(k+1)); k=k+1;}
printf(“%f\n”,s);
10、以下程序段的輸出結(jié)果是( ?。?BR> #include
mian()
{ char a,b;
for(a=0;a<20;a+=7) { b=a; putchar(b+’0’); }
}
11、以下程序段的輸出結(jié)果是( ?。?BR> #include
mian()
{ char *ch[4]={“red”,”green”,”blue”};
Int i=0;
While(ch[i]);
{ putchar(ch[i][0]; i++; }
}
12、有以下程序
#include
mian()
{int arr[]={1,3,5,7,2,4,6,8{, i, start;
Scanf(“%d”, &start);
For(i=0,i<3,i++)
printf(“%d”,arr[(start+i)%8]);
}
若在程序運(yùn)行時(shí)輸入整數(shù)10 <回車>,則輸出結(jié)果為( )。
13、以下程序的功能是輸出a數(shù)組中的所有字符串,請?zhí)羁?BR> #include
mian()
{char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};
Int i=0;
For(;i<4;i++) printf(“%s\n”, );
}
14、以下程序的輸出結(jié)果是( ?。?。
#include
#include
#include
mian()
{ char *p, *q, *r;
p=q=r=(char *)malloc(sizeof(char)*20);
strcpy(p,”attaboy,welcome!”);
printf(“%c%c%c\n”,p[11], q[3], r[4]);
free(p);
}
15、設(shè)文件test.txt中原已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為( ?。?。
#include
mian()
{ file *fp;
fp=fopen(“test.txt”,”w+”);
fputs(“test”,fp);
fclose(fp);}