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