最新真實全國二級C選擇題真題第1套 |
1.下列敘述中正確的是 A.所謂算法就是計算方法 B.程序可以作為算法的一種描述方法 C.算法設計只需考慮得到計算結果 D.算法設計可以忽略算法的運算時間 2.下列各序列中不是堆的是 A.(91,85,53,36,47,30,24,12) B.(91,85,53,47,36,30,24,12) C.(47,91,53,85,30,12,24,36) D.(91,85,53,47,30,12,24,36) 3.深度為5的完全二叉樹的結點數不可能是 A.15 B.16 C.17 D.18 4. A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA D.ABCDEFGH 5.下面描述不屬于軟件特點的是 A.軟件是一種邏輯實體,具有抽象性 B.軟件在使用中不存在磨損、老化問題 C.軟件復雜性高 D.軟件使用不涉及知識產權 6.下面對類-對象主要特征描述正確的是 A.對象唯一性 B.對象無關性 C.類的單一性 D.類的依賴性 7.在數據庫中,數據模型包括數據結構、數據操作和 A.數據約束 B.數據類型 C.關系運算 D.查詢 8.一個運動隊有多個隊員,一個隊員僅屬于一個運動隊,一個隊一般都有一個教練,則實體運動隊和隊員的聯系是 A.一對多 B.一對一 C.多對一 D.多對多 9.設循環隊列為Q(1: m),其初始狀態為front=rear=m。經過一系列入隊與退隊運算后,front=30,rear=10,F要在該循環隊列中作順序查找,最壞情況下需要比較的次數為 A.19 B.20 C.m-19 D.m-20 10. A.投影 B.交 C.選擇 D.并 11.關于C語言標識符,以下敘述錯誤的是 A.標識符可全部由數字組成 B.標識符可全部由下劃線組成 C.標識符可全部由小寫字母組成 D.標識符可全部由大寫字母組成 12.以下敘述正確的是 A.只使用三種基本結構即可解決任何復雜問題 B.C語言程序并不是必須要定義main()函數 C.只要程序包含了任意一種基本結構,就肯定是結構化程序 D.程序中的語法錯誤只能在運行時才能顯現 13.以下選項中,合法的數值型常量是 A. 3.2 B. 'X' C. 099 D.0xEH 14.有以下程序 #include main( ) { int x = 0x13; printf("INT:%d\n", x+1); } 程序運行后的輸出結果是 A. INT:14 B.INT:13 C. INT:12 D.INT:20 15.設有定義:int x=7,y=12;,則以下表達式值為3的是 A. y%=(x-x%5) B. y%=(x%=5) C.y%=x-x%5 D. (y%=x)-(x%=5) 16.以下不是合法C語言轉義字符的是 A. '\b' B. '\a' C. '\c' D. '\r' 17.有如下程序 #include main( ) { int i; for (i=0; i<5; i++) putchar('Z' - i); } 程序運行后的輸出結果是 A.ZYXWV B.VWXYZ C. 'X''Y''Z''W''V' D. 'ABCDE' 18.字符數組a和b中存儲了兩個字符串,判斷字符串a和b是否相等,應當使用的是 A.if(strcmp(a,b)==0) B. if(strcpy(a,b)) C. if(a==b) D. if(a=b) 19.以下程序段中,與其他三個功能不同的程序段是 A.s=0;i=1; for( ; ; ) {s+=i; i++; if(i<=10) break;} B. s=0,i=1; for( ; i<=10; ) {s+=i,i++;} C. s=0; for(i=1; i<=10; i++) {s+=i;} D.for(s=0,i=1; i<=10; s+=i,i++) ; 20.有以下程序 #include main( ) { int x=1, y=2, z=3; if(x>1) if(y>x) putchar('A'); else putchar('B'); else if(z else putchar('D'); } 程序的運行結果是 A.A B.C C. B D.D 21.有語句:k=x A.if(x B. if(x C.if(x D. if(x 22. 有如下程序 #include void change(int* array, int len) { for (; len>=0; len--) array[len] -= 1; } main( ) { int i, array[5] = {2,2}; change(array, 4); for (i=0; i<5; i++) printf("%d,", array[i]); printf("\n"); } 程序運行后的輸出結果是 A. 1,0,-1,1,-1, B. 1,1,-1,-1,-1, C. 1,1,1,1,1, D. 1,-1,1,-1,1, 23.有以下程序 #include main( ) { char* p1 = 0; int* p2 = 0; float* p3 = 0; printf("%d,%d,%d\n", sizeof(p1), sizeof(p2), sizeof(p3)); } 程序運行后的輸出結果是 A. 1,4,8 B. 4,4,4 C.1,2,4 D.1,1,4 24. 有以下程序段 int *p1,*p2,a[10]; p1=a; p2=&a[5]; 則p2-p1的值為 A.5 B. 10 C. 12 D. 無法確定 25.以下敘述中錯誤的是 A.字符型指針可以指向一個字符串 B.函數可以通過指針形參向所指單元傳回數據 C.基類型不同的指針可以直接相互賦值 D.指針的運用可使程序代碼效率更高 26. 有以下程序 #include main( ) { int i,j = 0; char a[] = "How are you", b[10] = {0}; for (i=0; a[i]; i++) if (a[i] == ' ') b[j++] = a[i+1]; printf("%s\n",b); } 程序運行后的輸出結果是 A. Hay B.Howareyou C. we D.ay 27. 有以下程序 #include main( ) { char w[20], a[5][10] = {"abcdef", "ghijkl", "mnopq", "rstuv", "wxyz"}; int i,j; for (i=0; i<5; i++) { j=0; while (a[i][j]!='\0') j++; w[i] = a[i][j/2+1]; } w[5]= '\0'; puts(w); } 程序運行后的輸出結果是 A.djoty B.agmrw C.flqvz D.ekpuz 28.有以下程序 #include main( ) { int i,j = 0; char a[] = "How are you!", b[10] = {0}; for (i=0; a[i]; i++) if (a[i] == ' ') b[j++] = a[i-1]; printf("%s\n", b); } 程序運行后的輸出結果是 A.we B.Howareyou! C.ay D.we! 29.以下涉及字符串數組、字符指針的程序段,沒有編譯錯誤的是 A.char* str, name[5]; str = "C/C++"; B. char* str, name[6]; name = "Hello"; C. char str1[7] = "prog.c", str2[8]; str2 = str1; D. char line[]; line = "http://////"; 30.有如下程序 #include void get_put() { char ch; ch = getchar(); if (ch != '\n') get_put(); putchar(ch); } main( ) { get_put(); } 程序運行時,輸入ABCD<回車>,則輸出結果是 A. DCDC B.DCBA C.BABA D.ABCD 31.有以下程序 #include main( ) { char name[10] = {'S', 'T', 'R'}; name[2] = '#'; name[6] = 0; printf("%s\n", name); } 程序運行后的輸出結果是 A. STR#0 B. STR# C.ST# D.STR0 32. 有以下函數 int fun(char *ps) { char *p; p=ps; if(*ps==0) return 0; while(*++p); return(p-ps); } 該函數的功能是 A.計算字符串的長度 B.實現字符串的賦值 C.將字符串逆序存放 D.計算字符串所占字節數 33.有以下函數 void fun(char *p, char *q) { while ((*p++ = *q++) != '\0'); } 該函數的功能是 A.計算字符串的長度 B.計算字符串所占字節數 C. 將字符串逆序存放 D.實現字符串的復制 34. 以下敘述錯誤的是 A. 未經賦值的auto變量值不確定 B.未經賦值的全局變量值不確定 C.未經賦值的register變量值不確定 D.未經賦值的靜態局部變量值為0 35.有以下程序 #include main( ) { int c, d; c = 10^3; d = 10+3; printf("%d,%d\n", c, d); } 程序運行后的輸出結果是 A. 13,13 B.9,13 C.10,13 D. 103,13 36.有以下程序 #include #include typedef struct stu { char name[10]; char gender; int score; } STU; void f(char *name, char *gender, int *score) { strcpy(name, "Qian"); *gender = 'f'; *score = 350; } main( ) { STU a = {"Zhao", 'm', 290}, b; b = a; f(b.name, &b.gender, &b.score); printf("%s,%c,%d,", a.name, a.gender, a.score); printf("%s,%c,%d\n", b.name, b.gender, b.score); } 程序運行后的輸出結果是 A. Zhao,m,290,Qian,f,350 B.Zhao,m,290,Zhao,m,290 C.Zhao,m,290,Qian,m,350 D. Zhao,m,290,Qian,m,290 37.有如下程序 #include main( ) { int a = 9, b; b = (a >> 3) % 4; printf("%d,%d\n", a, b); } 程序運行后的輸出結果是 A. 9,3 B. 4,0 C. 4,3 D.9,1 38. 有如下定義: struct { int num; char name[10]; struct { int y; int m; int d;} birth; } s,*ps=&s; 以下對內嵌結構體成員的引用形式錯誤的是 A.ps.birth.y B.s.birth.y C.ps->birth.y D. (*ps).birth.y 39. 函數rewind(fp)的作用是 A.使文件位置指針移至下一個字符的位置 B.使文件位置指針指向文件的末尾 C.使文件位置指針移至前一個字符的位置 D.使文件位置指針重新返回到文件的開頭 40.以下選項中錯誤的是 A.a^=b 與 a=a^b 等價 B.a!=b 與 a=a!b 等價 C.a|=b 與 a=a|b 等價 D. a&=b 與 a=a&b 等價 1.B 2.C 3.A 4.A 5.D 6.A 7.A 8.A 9.D 10.A 11.A 12.A 13.A 14.D 15.D 16.C 17.A 18.A 19.A 20.D 21.D 22.B 23.B 24.A 25.C 26.D 27.D 28.A 29.A 30.B 31.C 32.A 33.D 34.B 35.B 36.A 37.D 38.A 39.D 40.B |