![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
最新全國(guó)計(jì)算機(jī)二級(jí)C選擇題第3套 |
1.下列敘述中正確的是 A.結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表一定是二叉鏈表 B.結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表可以是線性結(jié)構(gòu),也可以是非線性結(jié)構(gòu) C.二叉樹(shù)只能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) D.循環(huán)鏈表是非線性結(jié)構(gòu) 2.某二叉樹(shù)的前序序列為ABCD,中序序列為DCBA,則后序序列為 A.BADC B.DCBA C.CDAB D.ABCD 3.下面不能作為軟件設(shè)計(jì)工具的是 A.PAD圖 B.程序流程圖 C.數(shù)據(jù)流程圖(DFD圖) D.總體結(jié)構(gòu)圖 4.邏輯模型是面向數(shù)據(jù)庫(kù)系統(tǒng)的模型,下面屬于邏輯模型的是 A.關(guān)系模型 B.謂詞模型 C.物理模型 D.實(shí)體-聯(lián)系模型 5.運(yùn)動(dòng)會(huì)中一個(gè)運(yùn)動(dòng)項(xiàng)目可以有多名運(yùn)動(dòng)員參加,一個(gè)運(yùn)動(dòng)員可以參加多個(gè)項(xiàng)目。則實(shí)體項(xiàng)目和運(yùn)動(dòng)員之間的聯(lián)系是 A.多對(duì)多 B.一對(duì)多 C.多對(duì)一 D.一對(duì)一 6.堆排序最壞情況下的時(shí)間復(fù)雜度為 A. B. C. D. 7.某二叉樹(shù)中有15個(gè)度為1的結(jié)點(diǎn),16個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中總的結(jié)點(diǎn)數(shù)為 A.32 B.46 C.48 D.49 8.下面對(duì)軟件特點(diǎn)描述錯(cuò)誤的是 A.軟件沒(méi)有明顯的制作過(guò)程 B.軟件是一種邏輯實(shí)體,不是物理實(shí)體,具有抽象性 C.軟件的開(kāi)發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性 D.軟件在使用中存在磨損、老化問(wèn)題 9. A.0 B.1 C.2 D.3 10.設(shè)有表示公司和員工及雇傭的三張表,員工可在多家公司兼職,其中公司C(公司號(hào),公司名,地址,注冊(cè)資本,法人代表,員工數(shù)),員工S(員工號(hào),姓名,性別,年齡,學(xué)歷),雇傭E(公司號(hào),員工號(hào),工資,工作起始時(shí)間)。其中表C的鍵為公司號(hào),表S的鍵為員工號(hào),則表E的鍵(碼)為 A.公司號(hào),員工號(hào) B.員工號(hào),工資 C.員工號(hào) D.公司號(hào),員工號(hào),工資 11.算法應(yīng)當(dāng)具有的特性不包括 A.可行性 B.有窮性 C.確定性 D.美觀性 12.若想給已定義為int型的變量a、b、c、d賦整數(shù)1,以下選項(xiàng)中錯(cuò)誤的語(yǔ)句是 A.d=c, c=b, b=a, a=1; B. d=c=b=a=1; C.d=(b=c=(a=1)); D.d=1, c=d, b=c, a=b; 13.以下選項(xiàng)中,合法的C語(yǔ)言常量是 A.21.84 B. 'CPP' C. "\1.0 D.2MB 14.下面敘述正確的是 A. C語(yǔ)言程序的語(yǔ)句經(jīng)過(guò)編譯和鏈接轉(zhuǎn)換成二進(jìn)制機(jī)器指令后才能執(zhí)行 B.任何算法需要包含三種基本結(jié)構(gòu)中的兩種以上 C.復(fù)雜算法是不能用三種基本結(jié)構(gòu)來(lái)表達(dá)的 D. 只要是簡(jiǎn)單算法,它的操作步驟都不會(huì)超過(guò)20步 15.若已有定義語(yǔ)句:int a, b, c;,且變量已正確賦初值,則以下選項(xiàng)中正確的賦值表達(dá)式是 A.a = (b = c) + 8; B.(a = b) = c = 9; C.a = (b == c) = 'A'; D.a + b = c + 1; 16. 以下表達(dá)式的值與x無(wú)關(guān)、其值恒為真的是 A.0 < x < 5 B. x>10 && x<5 C. x>10 && x<5 D.x<10 && x>5 17. 以下非法的字符常量是 A.'\x21' B.'\101' C.'\\n' D. '\0' 18.若有定義:int a=0,b=0,c=0,d=0;,以下關(guān)于C語(yǔ)言表達(dá)式:(++a || ++b) ? ++c : ++d 執(zhí)行順序的敘述正確的是 A.先執(zhí)行++b,表達(dá)式++b的值為1;再執(zhí)行++a,表達(dá)式++a的值為1,由此可確定(++a || ++b)值為1,因此執(zhí)行++c B.先執(zhí)行++a,表達(dá)式++a的值為1;再執(zhí)行++b,表達(dá)式++b的值為1,由此可確定(++a || ++b)值為1,因此執(zhí)行++c C.先執(zhí)行++b,表達(dá)式++b的值為1;再執(zhí)行++a,表達(dá)式++a的值為1,由此可確定(++a || ++b)值為1,因此執(zhí)行++c D.先執(zhí)行++a,表達(dá)式++a的值為1,由此可確定(++a || ++b)值為1,因此執(zhí)行++c 19.有如下程序 #include <stdio.h> main( ) { int i, data; scanf("%d", &data); for (i=0; i<10; i++) { if (i > data) break; printf("%d,", i); } } 程序運(yùn)行時(shí),從鍵盤輸入:3<回車>后,程序輸出結(jié)果為 A. 2,3,4, B. 1,2,3, C.0,1,2,3, D.3,4,5, 20. 有以下程序 #include <stdio.h> main( ) { int i = 4; for ( printf("%d", i); i<2; i++) printf("%d", i); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.4 B.12 C.1 D.0 21. 有以下程序 #include <stdio.h> main( ) { if ('\0' == 0) putchar('1'); if ('0' == 0) putchar('2'); if ('a' > 'b') putchar('3'); } 程序運(yùn)行后的輸出結(jié)果是 A. 3 B.123 C.23 D.1 22. 有如下程序段 int k; for(k=2;k==0;) printf("%d",k--); 則for循環(huán)體執(zhí)行的次數(shù)是 A. 1次 B.0次 C.2次 D.無(wú)限次 23.有以下程序 #include <stdio.h> int k=5; void f(int *s) { s=&k; *s=7; } main( ) { int m=3; f(&m); printf("%d,%d\n", m, k); } 程序運(yùn)行后的輸出結(jié)果是 A. 3,7 B. 7,7 C. 5,7 D.3,5 24.有以下程序 #include <stdio.h> void fun(int a[ ], int n) { int i; for (i=0; i<n; i++) { if (i % 3 == 0) a[i] -= n; else a[i] += n; } } main( ) { int c[5] = {6,7,8,9,10},i; fun(c, 5); for (i=0;i<5; i++) printf("%d,", c[i]); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.10,9,8,7,6, B. 1,12,13,4,15, C.1,7,13,9,15, D. 10,12,8,4,6, 25.有以下程序 #include <stdio.h> int sub(double a, double b) { return (int)(a - b - 1.3); } main( ) { printf("%d\n", sub(3.2, 4.1)); } 程序運(yùn)行后的輸出結(jié)果是 A. -2 B. 1.7 C.-3 D.2.0 26.有以下程序 #include <stdio.h> main( ) { int i, *ptr; int array[4] = {1,1,3,4}; for (ptr=array, i=0; i<3; i++) printf("%d,", *ptr++); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A.2,4,8, B. 1,3,4, C. 1,2,4, D.1,1,3, 27.有以下程序 #include <stdio.h> main( ) { int x[ ] = {8,2,6,12,5,15}, f1, f2; int *p = x; f1 = f2 = x[0]; for( ; p<=x+5; p++) { if( f1<*p ) f1 = *p; if( f2>*p ) f2 = *p; } printf("%d,%d\n", f1, f2); } 程序的運(yùn)行結(jié)果是 A.8,8 B. 15,15 C.2,15 D. 15,2 28. 有以下程序 #include <stdio.h> main() { int x[3][4] = {1,3,5,7,9,11,2,4,6,8,10,12} ; int (*p)[4] = x, k = 1, m, n = 0; for(m=0; m<2; m++) n += *(*(p+m)+k); printf("%d\n",n); } 程序的運(yùn)行結(jié)果是 A.14 B.20 C.10 D. 16 29.有以下程序 #include <stdio.h> main( ) { char b[4][10], c; int i,j; for (i=0; i<4; i++) { j = 0; while ((c=getchar())!=' ' && c!='\n') b[i][j++] = c; b[i][j] = '\0'; } printf("%s%s%s%s\n", b[0], b[1], b[2], b[3]); } 程序運(yùn)行時(shí)從第一列開(kāi)始輸入: Peach flower is pink.<回車> 則輸出結(jié)果是 A. Peachflower is pink. B.Peachfloweris pink. C.Peachflowerispink. D.Peach flower is pink. 30.有如下程序 #include <stdio.h> void convert(char ch) { if (ch < 'X') convert(ch+1); printf("%c", ch); } main( ) { convert('W'); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A. YZ B.VW C.XY D. XW 31.有以下程序 #include <stdio.h> #include <string.h> main( ) { char a[20]="ab",b[20]="cdef"; int k=0; strcat(a,b); while(a[k]!='\0') { b[k]=a[k]; k++;} puts(b); } 程序的運(yùn)行結(jié)果是 A.abcdef B. cbcdef C. cdef D.ab 32.以下使指針指向一個(gè)字符串的選項(xiàng)錯(cuò)誤的是 A.char str[ ] = "string", *ps; *ps = str; B.char str[ ] = "string", *ps; *ps = str; C. char str[ ] = "string", *ps; ps = str; D.char *ps; ps = "string"; 33.有以下程序 #include <stdio.h> typedef struct stu { char name[10]; char gender; int score; } STU; void f(STU a, STU *b) { *b = a; printf("%s,%c,%d,", b->name, b->gender, b->score); } main( ) { STU a={"Zhao", 'm', 290}, b={"Qian", 'f', 350}; f(a,&b); printf("%s,%c,%d\n", b.name, b.gender, b.score); } 程序運(yùn)行后的輸出結(jié)果是 A.Zhao,m,290,Zhao,m,290 B. Qian,f,350,Zhao,m,290 C. Qian,f,350,Qian,f,350 D.Zhao,m,290,Qian,f,350 34. 若有定義 typedef int *T; T a[20]; 則以下與上述定義中a類型完全相同的是 A.int a[20]; B.int (*a)[20]; C. int *a[20]; D. int **a[20]; 35.有如下程序 #include <stdio.h> struct person { char name[10]; int age; }; main( ) { struct person room[2] = {{"Wang", 19}, {"Li", 20}}; printf("%s:%d\n", (room+1)->name, room->age); } 程序運(yùn)行后的輸出結(jié)果是 A. Li:20 B. Wang:19 C.Li:19 D.Wang:17 36.以下關(guān)于編譯預(yù)處理的敘述中錯(cuò)誤的是 A.預(yù)處理命令是在程序正式編譯之前被處理的 B.源程序中凡是以#開(kāi)始的控制行都是預(yù)處理命令行 C. 一行上只能有一條有效的預(yù)處理命令 D.預(yù)處理命令行必須位于源程序的開(kāi)始 37.以下關(guān)于宏的敘述錯(cuò)誤的是 A.宏替換不具有計(jì)算功能 B.宏替換不具有類型 C.宏名必須用大寫字母構(gòu)成 D.宏替換不占用運(yùn)行時(shí)間 38. 有以下程序 #include <stdio.h> struct S { int x, y; }; main( ) { struct S data[3] = {4, 3, 2, 0, 8, 1}; int i; for (i=0; i<3; i++) printf("%d%d;", data[i].x, data[i].y >> 1); printf("\n"); } 程序運(yùn)行后的輸出結(jié)果是 A. 43;20;81; B.41;22;64; C.40;21;80; D. 41;20;80; 39.以下敘述正確的是 A.文件指針是指針類型的變量 B.文件指針變量的值是文件的當(dāng)前讀取位置 C.文件指針變量的值是文件的當(dāng)前讀取位置 D. 調(diào)用fscanf函數(shù)能向所有類型的文件中寫入任意字符 40.有以下程序 #include <stdio.h> typedef struct stu { char name[10]; char gender; int score; } STU; void f(STU a, STU *b) { a = *b; printf("%s,%c,%d,", a.name, a.gender, a.score); } main( ) { STU a = {"Zhao", 'm', 290}, b = {"Qian", 'f', 350}; f(a,&b); printf("%s,%c,%d\n", a.name, a.gender, a.score); } 程序運(yùn)行后的輸出結(jié)果是 A. Qian,f,350,Zhao,m,290 B.Zhao,m,290,Qian,f,350 C.Qian,f,350,Qian,f,350 D.Zhao,m,290,Zhao,m,290 1.B 2.B 3.C 4.A 5.A 6.B 7.C 8.D 9.C 10.A 11.D 12.A 13.A 14.A 15.A 16.A 17.C 18.D 19.C 20.A 21.D 22.B 23.A 24.B 25.A 26.D 27.D 28.A 29.C 30.D 31.A 32.A 33.A 34.B 35.C 36.D 37.C 38.D 39.A 40.A |