![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2014年3月全國(guó)計(jì)算機(jī)二級(jí)C選擇題真題第2套 |
25 1.設(shè)循環(huán)隊(duì)列為Q(1:m),其初始狀態(tài)為front=rear=m。經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=20,rear=15,F(xiàn)要在該循環(huán)隊(duì)列中尋找最小值的元素,最壞情況下需要比較的次數(shù)為 A.5 B.6 C.m-5 D.m-6 2.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后序序列為 A.EFGDCBA B.DCBEFGA C.BCDGFEA D.DCBGFEA 3.下列敘述中正確的是 A.在鏈表中,如果每個(gè)結(jié)點(diǎn)有兩個(gè)指針域,則該鏈表一定是非線性結(jié)構(gòu) B.在鏈表中,如果有兩個(gè)結(jié)點(diǎn)的同一個(gè)指針域的值相等,則該鏈表一定是非線性結(jié)構(gòu) C.在鏈表中,如果每個(gè)結(jié)點(diǎn)有兩個(gè)指針域,則該鏈表一定是線性結(jié)構(gòu) D.在鏈表中,如果有兩個(gè)結(jié)點(diǎn)的同一個(gè)指針域的值相等,則該鏈表一定是線性結(jié)構(gòu) 4.下列敘述中錯(cuò)誤的是 A.在帶鏈隊(duì)列中,隊(duì)頭指針和隊(duì)尾指針都是在動(dòng)態(tài)變化的 B.在帶鏈棧中,棧頂指針和棧底指針都是在動(dòng)態(tài)變化的 C.在帶鏈棧中,棧頂指針是在動(dòng)態(tài)變化的,但棧底指針是不變的 D.在帶鏈隊(duì)列中,隊(duì)頭指針和隊(duì)尾指針可以指向同一個(gè)位置 5.軟件生命周期中,確定軟件系統(tǒng)要做什么的階段是 A.需求分析 B.軟件測(cè)試 C.軟件設(shè)計(jì) D.系統(tǒng)維護(hù) 6.下面對(duì)軟件測(cè)試和軟件調(diào)試有關(guān)概念敘述錯(cuò)誤的是 A.嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性 B.程序調(diào)試通常也稱為Debug C.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤和改正錯(cuò)誤 D.設(shè)計(jì)正確的測(cè)試用例 7.下面屬于系統(tǒng)軟件的是 A.財(cái)務(wù)管理系統(tǒng) B.編譯軟件 C.編輯軟件Word D.殺毒軟件 8.將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),E-R圖中的實(shí)體和聯(lián)系都可以表示為 A.屬性 B.鍵 C.關(guān)系 D.域 9.有兩個(gè)關(guān)系R與S如下,由關(guān)系R和S得到關(guān)系T,則所使用的操作為 A.并 B.自然連接 C.笛卡爾積 D.交 10.在數(shù)據(jù)管理的三個(gè)發(fā)展階段中,數(shù)據(jù)的共享性好且冗余度最小的是 A.人工管理階段 B.文件系統(tǒng)階段 C.數(shù)據(jù)庫(kù)系統(tǒng)階段 D.面向數(shù)據(jù)應(yīng)用系統(tǒng)階段 11.以下敘述中錯(cuò)誤的是 A.書寫風(fēng)格良好的程序執(zhí)行效率高 B.書寫風(fēng)格良好的程序易讀性好 C.C程序可以在一行上寫多條語(yǔ)句 D.C程序允許將一條語(yǔ)句分寫在多行上 12.在C語(yǔ)言中,以下選項(xiàng)中不能正確表示10×1000 之值的是 A.1.0E4.0 B.1.E4 C.10E3 D.1.0e4 13.設(shè)有定義:int a=0,b=1,c=1; 以下選項(xiàng)中,表達(dá)式值與其它三個(gè)不同的是 A.b=a==c B.a=b=c C.a=c==b D.c=a!=c 14.設(shè)有兩行定義語(yǔ)句: int scanf; float case; 則以下敘述正確的是 A.第2行語(yǔ)句不合法 B.兩行定義語(yǔ)句都合法 C.第1行語(yǔ)句不合法 D.兩行定義語(yǔ)句都不合法 15.設(shè)有定義:double x=2.12;,以下不能完整輸出變量x值的語(yǔ)句是 A.printf("x=%5.0f\n",x); B.printf("x=%f\n",x); C.printf("x=%lf\n",x); D.printf("x=%0.5f\n",x); 16.設(shè)有定義:int a,b; float x,y; ,則以下選項(xiàng)中對(duì)語(yǔ)句所作的注釋敘述錯(cuò)誤的是 A.scanf("%d%d%f",&a,&b); /* 多余的格式符%f完全不起作用 */ B.scanf("%d%d",&a,&b,&x); /* 多余的輸入項(xiàng)不能獲得輸入數(shù)據(jù) */ C.scanf("%d%f%d",&a,&b,&x); /* 輸入項(xiàng)與格式符類型不匹配,變量b和x得不到正確的輸入數(shù)據(jù) */ D.scanf("Input:%d%d",&a,&b); /* 格式串中允許加入格式符以外的字符串 */ 17.有如下程序 #include main() { int a = 0, b = 1; if (++a == b++) printf("T"); else printf("F"); printf("a=%d,b=%d\n", a, b); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.Ta=1,b=2 B.Fa=1,b=2 C.Ta=0,b=1 D.Fa=0,b=2 18.有如下程序 #include main() { int i = 1; for (printf("%d", i); i<4; i++) printf("%d", i); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.1123 B.123 C.0123 D.001 19.有如下程序 #include main() { char ch = 'A'; while (ch < 'D') { printf("%d", ch - 'A'); ch++; } printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.012 B.ABC C.abc D.123 20.有如下程序 #include main() { if ('\0' == 0) putchar('X'); if ('0' == 0) putchar('Y'); if ('a' > 'b') putchar('Z'); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.X B.XYZ C.YZ D.Y 21.有如下程序 #include main() { char ch = 'M'; while (ch != 'K') { ch --; putchar(ch); } printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.LK B.MN C.OP D.MM 22.有以下程序段 scanf("%d%d%d",&a,&b,&c); if(a>b) a=b; if(a>c) a=c; printf("%d\n",a); 該程序段的功能是 A.輸出a、b、c中的最小值 B.輸出a、b、c中的最大值 C.輸出a的原始值 D.輸出a、b、c中值相等的數(shù)值 23.以下關(guān)于函數(shù)的敘述中正確的是 A.函數(shù)形參的類型與返回值的類型無關(guān) B.函數(shù)必須要有形參 C.函數(shù)必須要有返回值 D.函數(shù)調(diào)用必須傳遞實(shí)參 24.設(shè)有定義:int a,b[10],*c=NULL,*p;,則以下語(yǔ)句錯(cuò)誤的是 A.p=a; B.p=b; C.p=c; D.p=&b[0]; 25.有以下程序 #include void fun(int *x,int s,int e) { int i,j,t; for(i=s,j=e; i { t=*(x+i); *(x+i)=*(x+j); *(x+j)=t;} } main() { int m[]={0,1,2,3,4,5,6,7,8,9},k; fun(m,0,3); fun(m+4,0,5); fun(m,0,9); for(k=0; k<10;k++) printf("%d",m[k]); } 程序的運(yùn)行結(jié)果是 A.4567890123 B.3210987654 C.9876543210 D.0987651234 26.設(shè)有n個(gè)數(shù)按從大到小的順序存放在數(shù)組x中,以下能使這n個(gè)數(shù)在x數(shù)組中的順序變?yōu)閺男〉酱蟮氖?o:p> A.for(i=0;i { t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t; } B.for(i=0;i { t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t; } C.for(i=0;i { t=x[i]; x[i]=x[n-i+1]; x[n-i+1]=t; } D.for(i=0;i { t=x[i]; x[i]=x[n-i-1]; x[n-i-1]=t; } 27.設(shè)有一個(gè)M*N的矩陣已經(jīng)存放在一個(gè)M行N列的數(shù)組x中,且有以下程序段 sum=0; for(i=0;i for(j=1;j 以上程序段計(jì)算的是 A.矩陣所有靠邊元素之和 B.矩陣所有不靠邊元素之和 C.矩陣所有元素之和 D.矩陣兩條對(duì)角線元素之和 28.有以下程序 #include main() { int s[3][2]={ 1,2,3,4,5,6},*ps[3],k; for(k=0;k<3;k++) { ps[k]=s[k]; printf("%d ",*(ps[k]+1)); } } 程序的運(yùn)行結(jié)果是 A.2 4 6 B.1 3 5 C.1 2 3 D.4 5 6 29.設(shè)有以下定義 char s1[]="0123"; char s2[]={'0','1','2','3'}; 則以下敘述正確的是 A.數(shù)組s1的長(zhǎng)度大于s2的長(zhǎng)度 B.數(shù)組s1和s2的長(zhǎng)度相同 C.數(shù)組s1的長(zhǎng)度小于s2的長(zhǎng)度 D.數(shù)組s1和s2完全等價(jià) 30.以下能正確進(jìn)行字符串賦值的語(yǔ)句組是 A.char *ch; ch="abc"; B.char ch[ ]={'a','b','c'}; C.char ch[3]="abc"; D.char ch[4]; ch="abc"; 31.有以下程序 #include int fun(char *s) { char *p=s; while( *p++ != '\0'); return(p-s); } main() { char *p="01234"; printf("%d\n",fun(p)); } 程序的運(yùn)行結(jié)果是 A.6 B.5 C.4 D.3 32.有以下程序 #include main() { char *mm[4]={"abcd","1234","mnop","5678"}; char **pm=mm; int i; for(i=0; i<4; i++) printf("%s",pm[i]+i); printf("\n"); } 程序的運(yùn)行結(jié)果是 A.abcd234op8 B.abcd1234mnop5678 C.a2o8 D.a1m5 33.有以下程序 #include void fac2(int ); void fac1(int n) { printf("*"); if(n>0) fac2(n-1); } void fac2(int n) { printf("#"); if(n>0) fac2(--n); } main() { fac1(3); } 程序的運(yùn)行結(jié)果是 A.*### B.*##* C.**## D.*#*# 34.有以下程序 #include int fun(int n) { static int t=1; int i=1; for( ; i<=n; i++) t*=i; return t; } main() { int t=1,i; for(i=2;i<4; i++) t+=fun(i); printf("%d\n",t); } 程序的運(yùn)行結(jié)果是 A.15 B.11 C.8 D.4 35.有以下程序 #include #include #include main() { char *p1,*p2; p1=p2=(char *)malloc(sizeof(char)*10); strcpy(p1,"malloc"); strcpy(p2,p1+1); printf("%c%c\n",p1[0],p2[0]); } 程序的運(yùn)行結(jié)果是 A.aa B.ma C.am D.mm 36.設(shè)有定義:struct { int n; float x;} s[2],m[2]={{10,2.8},{0,0.0}}; 則以下賦值語(yǔ)句中正確的是 A.s[0]=m[1]; B.s=m; C.s.n=m.n; D.s[2].x=m[2].x; 37.有以下程序 #include struct S{ int a; int *b;}; main() { int x1[ ]={3,4},x2[ ]={6,7}; struct S x[ ]={1,x1,2,x2}; printf("%d,%d\n",*x[0].b,*x[1].b); } 程序的運(yùn)行結(jié)果是 A.3,6 B.1,2 C.4,7 D.變量的地址值 38.有以下程序 #include #include typedef struct { char name[10]; char sex; int age;} STU; void fun(STU *t) { strcpy((*t).name,"Tong"); (*t).age++; } main() { STU s[2]={"Hua",'m',18,"Qin",'f',19}; fun(s+1); printf("%s,%d,%s,%d\n",s[0].name,s[0].age,s[1].name ,s[1].age ); } 程序運(yùn)行后的輸出結(jié)果是 A.Hua,18,Tong,20 B.Hua,18,Qin,19 C.Tong,19,Qin,19 D.Hua,19,Tong,19 39.以下不屬于C語(yǔ)言位運(yùn)算符的是 A.! B.| C.^ D.~ 40.有以下程序段 FILE *fp; if( (fp=fopen("test.txt","w")) == NULL) { printf("不能打開文件!"); exit(0);} else printf("成功打開文件!"); 若指定文件test.txt不存在,且無其他異常,則以下敘述錯(cuò)誤的是 A.輸出"不能打開文件!" B.輸出"成功打開文件!" C.系統(tǒng)將按指定文件名新建文件 D.系統(tǒng)將為寫操作建立文本文件 1.D 2.D 3.B 4.B 5.A 6.C 7.B 8.C 9.C 10.C 11.A 12.A 13.A 14.A 15.A 16.A 17.A 18.A 19.A 20.A 21.A 22.A 23.A 24.A 25.A 26.A 27.A 28.A 29.A 30.A 31.A 32.A 33.A 34.A 35.A 36.A 37.A 38.A 39.A 40.A
|