第1題
下列有關(guān)棧論述正確的是( )
棧頂元素最先能被刪除
棧頂元素最后才被刪除
棧底元素永遠(yuǎn)不能被刪除
以上三種說法都不對
第2題
下列論述中正確的是( )
有一種以上根結(jié)點的數(shù)據(jù)構(gòu)造不一定是非線性構(gòu)造
只有一種根結(jié)點的數(shù)據(jù)構(gòu)造不一定是線性構(gòu)造
循環(huán)鏈表是非線性構(gòu)造
雙向鏈表是非線性構(gòu)造
第3題
某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)( )
3
4
6
7
第4題
在軟件開發(fā)中,需求分析階段產(chǎn)生的重要文檔是( )
軟件集成測試籌劃
軟件具體設(shè)計闡明書
顧客手冊
軟件需求規(guī)格闡明書
第5題
構(gòu)造化程序所規(guī)定的基本構(gòu)造不涉及( )
順序構(gòu)造
GOTO跳轉(zhuǎn)
選擇(分支)構(gòu)造
反復(fù)(循環(huán))構(gòu)造
第6題
下面描述中錯誤的是( )
系統(tǒng)總體構(gòu)造圖支持軟件系統(tǒng)的具體設(shè)計
軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表達(dá)的過程
數(shù)據(jù)構(gòu)造與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一
PAD圖是軟件具體設(shè)計的表達(dá)工具
第7題
負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )
數(shù)據(jù)定義語言
數(shù)據(jù)管理語言
數(shù)據(jù)操縱語言
數(shù)據(jù)控制語言
第8題
一種教師可講授多門課程,一門課程可由多種教師講授,則實體教師和課程間的聯(lián)系是( )
1:1聯(lián)系
1:m聯(lián)系
m:1聯(lián)系
m:n聯(lián)系
第9題
有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )
自然連接
交
除
并
第10題
定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是( )
-369
369
0.369
整數(shù)集合{1,2,3,4,5}
第11題
計算機(jī)高檔語言程序的運(yùn)營措施有編譯執(zhí)行和解釋執(zhí)行兩種,如下論述中正確的是( )
C語言程序僅可以編譯執(zhí)行
C語言程序僅可以解釋執(zhí)行
C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行
以上說法都不對
第12題
如下論述中錯誤的是( )
C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
用C語言編寫的源程序不能直接在計算機(jī)上運(yùn)營
通過編譯得到的二進(jìn)制目的程序需要連接才可以運(yùn)營
在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)營C源程序生成的.exe文獻(xiàn)
第13題
如下選項中不能用作C程序合法常量的是( )
1,234
“123”
123
“\x7G”
第14題
如下選項中可用作C程序合法實數(shù)的是( )
.1e0
3.0e0.2
E9
9.12E
第15題
若有定義語句:int a=3,b=2,c=1;,如下選項中錯誤的賦值體現(xiàn)式是( )
a=(b=4)=3;
a=b=c+1;
a=(b=4)+c;
a=1+(b=c=4);
第16題
有如下程序段:
char name[20]; int num; scanf("name=%s num=%d",name,&num);
當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為( )
Lili
name=Lili
Lili num=
name=Lili num=1001
第17題
if語句的基本形式是:if(體現(xiàn)式)語句,如下有關(guān)“體現(xiàn)式”值的論述中正確的是( )
必須是邏輯值
必須是整數(shù)值
必須是正數(shù)
可以是任意合法的數(shù)值
第18題
有如下程序:
#include<stdio.h> main() { int x=011; printf("%d\n",++x); }
程序運(yùn)營后的輸出成果是( )
12
11
10
9
第19題
#include<stdio.h> main() { int s; scanf("%d",&s); while(s>0) { switch(s) { case1:printf("%d",s+5); case2:printf("%d",s+4); break; case3:printf("%d",s+3); default:printf("%d",s+1);break; } scanf("%d",&s); } }
運(yùn)營時,若輸入1 2 3 4 5 0<回車>,則輸出成果是( )
6566456
66656
66666
6666656
第20題
int i,n; for(i=0;i<8;i++) { n=rand()%5; switch(n) { case 1: case 3:printf("%d\n",n); break; case 2: case 4:printf("%d\n",n); continue; case 0:exit(0); } printf("%d\n",n); }
如下有關(guān)程序段執(zhí)行狀況的論述,正確的是( )
for循環(huán)語句固定執(zhí)行8次
當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)操作
當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時不做任何操作
當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運(yùn)營
第21題
#include<stdio.h> main() { char s[]="012xy\08s34f4w2"; int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>= "0"&&s[i]<= "9")n++; printf("%d\n",n); }
0
8
第22題
若i和k都是int類型變量,有如下for語句:
for(i=0,k=1;k=1;k++) printf("*****\n");
下面有關(guān)語句執(zhí)行狀況的論述中正確的是( )
循環(huán)體執(zhí)行兩次
循環(huán)體執(zhí)行一次
循環(huán)體一次也不執(zhí)行
構(gòu)成無限循環(huán)
第23題
#include<stdio.h> main() { char b,c; int i; b="a"; c="A"; for(i=0;i<6;i++) { if(i%2)putchar(i+b); else putchar(i+c); } printf("\n"); }
ABCDEF
AbCdEf
aBcDeF
abcdef
第24題
設(shè)有定義:double x[10],*p=x;,如下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確的語句是( )
scanf("%f",&x[6]);
scanf("%lf",*(x+6));
scanf("%lf",p+6);
scanf("%lf",p[6]);
第25題
有如下程序(闡明:字母A的ASCII碼值是65)
#include<stdio.h> void fun(char *s) { while(*s) { if(*s%2) printf("%c",*s); s++; } } main() { char a[]="BYTE"; fun(a); printf("\n"); }
程序運(yùn)營后旳輸出成果是( )
BY
BT
YT
YE
第26題
#include<stdio.h> main() { … while(getchar()!="\n"); … }
如下論述中正確的是( )
此while語句將無限循環(huán)
getchar()不可以出目前while語句的條件體現(xiàn)式中
當(dāng)執(zhí)行此while語句時,只有按回車鍵程序才繼續(xù)執(zhí)行
當(dāng)執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行
第27題
#include<stdio.h> main() { int x=1,y=0; if(!x) y++; else if(x==0) if (x) y+=2; else y+=3; printf("%d\n",y); }
2
1
第28題
若有定義語句:char s[3][10],(*k)[3],*p;,則如下賦值語句正確的是( )
p=s;
p=k;
p=s[0];
k=s;
第29題
#include<stdio.h> void fun(char *c) { while(*c) { if(*c>="a"&&*c<="z") *c=*c-("a"-"A"); c++; } } main() { char s[81]; gets(s); fun(s); puts(s); }
當(dāng)執(zhí)行程序時從鍵盤上輸入Hello Beijing〈回車〉,則程序的輸出成果是( )
hello beijing
Hello Beijing
HELLO BEIJING
hELLO Beijing
第30題
如下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#include<stdio.h> #define N 10 void fun(int x[N]) { int i=0; while(i<N) scanf("%d", ); }
在程序中下劃線處應(yīng)填入的是( )
x+i
&x[i+1]
x+(i++)
&x[++i]
第31題
#include<stdio.h> main() { char a[30],b[30]; scanf("%s",a); gets(b); printf("%s\n %s\n",a,b); }
程序運(yùn)營時若輸入:
how are you? I am fine〈回車〉
則輸出成果是( )
how are you? I am fine are you?
how? I am fine
how are you? I am fine
row are you?
第32題
設(shè)有如下函數(shù)定義:
int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; }
若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是( )
5
第33題
#include<stdio.h> int fun(int x,int y) { if(x!=y) return((x+y)/2); else return(x); } main() { int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); }
程序運(yùn)行后的輸出成果是( )
第34題
#include<stdio.h> int fun() { static int x=1; x*=2; return x; } main() { int i,s=1; for(i=1;i<=3;i++)s*=fun(); printf("%d\n",s); }
30
64
第35題
#include<stdio.h> #define S(x) 4*(x)*x+1 main() { int k=5,j=2; printf("%d\n",S(k+j)); }
197
143
33
28
第36題
設(shè)有定義:struct {char mark[12];int num1;double num2;}t1,t2;,若變量均已對的賦初值,則如下語句中錯誤的是( )
t1=t2;
t2.num1=t1.num1;
t2.mark=t1.mark;
t2.num2=t1.num2;
第37題
#include<stdio.h> struct ord { int x,y; } dt[2]={1,2,3,4}; main() { struct ord *p=dt; printf("%d,",++(p->x)); printf("%d\n",++(p->y)); }
1,2
4,1
3,4
2,3
第38題
#include<stdio.h> struct S { int a,b; } data[2]={10,100,20,200}; main() { struct S p=data[1]; printf("%d\n",++(p.a)); }
20
21
第39題
#include<stdio.h> main() { unsigned char a=8,c; c=a>>3; printf("%d\n",c); }
32
16
第40題
設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,如下針對文本文獻(xiàn)file操作論述的選項中正確的是( )
寫操作結(jié)束后可以從頭開始讀
只能寫不能讀
可以在原有內(nèi)容后追加寫
可以隨意讀和寫
第41題
給定程序中,函數(shù)fun的功能是:在形參s所指字符串中尋找與參數(shù)c相同的字符,并在其后插入一個與之相同的字符,若找不到相同的字符則函數(shù)不做任何處理。
例如,s所指字符串為:baacda,c中的字符為:a,執(zhí)行后s所指字符串為:baaaacdaa。
請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include<stdio.h> void fun(char *s, char c) { int i, j, n; for(i=0; s[i]!=___1___ ; i++) if(s[i]==c) { n=___2___ ; while(s[i+1+n]!='\0') n++; for(j=i+n+1; j>i; j--) s[j+1]=s[j]; s[j+1]=___3___ ; i=i+1; } } main() { char s[80]="baacda", c; printf("\nThe string: %s\n",s); printf("\nInput a character: "); scanf("%c",&c); fun(s,c); printf("\nThe result is: %s\n",s); }
第42題
在主函數(shù)中從鍵盤輸入若干個數(shù)放入數(shù)組中,用0結(jié)束輸入并放在最后一個元素中。給定程序MODI1.C中函數(shù)fun的功能是:計算數(shù)組元素中值為正數(shù)的平均值(不包括0)。
例如:數(shù)組中元素中的值依次為:39,-47,21,2,-8,15,0,則程序的運(yùn)行結(jié)果為:19.250000。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
#include<stdio.h> double fun ( int x[]) { ____1____ int c=0, i=0; while (x[i] != 0) { if (x[i] > 0) { sum += x[i]; c++; } i++; } ____2____ return sum; } main() { int x[1000]; int i=0; printf( "\nPlease enter some data (end with 0): " ); do { scanf("%d", &x[i]); } while (x[i++] != 0); printf("%f\n", fun ( x )); }
第43題
編寫函數(shù)fun,函數(shù)的功能是:根據(jù)以下公式計算s,計算結(jié)果作為函數(shù)值返回;n通過形參傳入。
1 1 1
S=1 + ── + ─── + … + ──────
1+2 1+2+3 1+2+3+…+n
例如:若n的值為11時,函數(shù)的值為:1.833333
注意:部分源程序在文件PROG1.C中。
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
#include<stdio.h> float fun(int n) { ____1____ ____2____ for(____3____) { ____4____ for(____5____) t+=j; ____6____ } return s; } main() { int n; float s; printf("\nPlease enter N:"); scanf("%d", &n); s = fun(n); printf("the result is: %f\n", s); NONO(); }
選擇題(0 - 40題,共計40分) 填空題(包括程序填空題,程序修改題,程序設(shè)計題)(41-43題,共計60分)