2020年度鑽石C++C--《博學谷》提qu碼:xb2k數組
1.如下標示符中命名合法的是Amarkdown
A、A數據結構
B、ab.c函數
C、@rpoop
D、2Y_spa
V(cmL46679910)設計
2. 設 a 和 b 均爲 double 型變量,且a=5.五、b=2.5,則表達式(int)a + b / b的值是 D指針
A、6.500000code
B、6orm
C、5.500000
D、6.000000
3. C語言中的基本數據類型包括 D
A、整型、浮點型、字符型、邏輯型、枚舉
B、整型、浮點型、字符型、枚舉
C、整型、浮點型、字符型、邏輯型
D、整型、浮點型、字符型
4. 一個C程序的執行通常都是從 A
A、本程序的main()函數開始,到main()函數結束
B、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C、本程序的main()函數開始, 到本程序文件的最後一個函數結束
D、本程序文件的第一個函數開始,到本程序main()函數結束
5. 對兩個字符數組a和b進行初始化 char a[]="ABCDEF"; char b[]={'A', 'B', 'C', 'D', 'E', 'F'}; 則如下敘述正確的是 D
A、a與b數組徹底相同
B、a與b數組大小相同
C、a和b中都存放字符串
D、數組a比數組b長度長
6. 若定義int a[3][4] = { 0 }; 則對a數組元素的非法引用是 B
A、a[0][2*1]
B、a[1][4]
C、a[4-2][0]
D、a[2][3]
7. 下面不正確的字符串常量是 A
V(cmL46679910)
A、'abc'
B、"12'12"
C、"0"
D、" "
8. 在多層嵌套的條件結構語句 if-else 中, else 子句老是與( B )配對
A、其距離最近的還沒有配對的if
B、其以前最近的還沒有配對的if
C、其以後最近的還沒有配對的if
D、其同一行上的還沒有配對的if
9. x、y、z被定義爲 int 型變量,若從鍵盤給x、y、z輸入數據,正確的輸入語句是 B
A、printf("%d%d%d", &x, &y, &z);
B、scanf("%d%d%d", &x, &y, &z);
C、scanf("%d%d%d", x, y, z);
D、printf("%d%d%d", x, y, z);
10. 設 int x = 1, y = 1; 表達式 (!x || y--)的值是 B
A、0
B、1
C、2
D、-1
11. 若變量a已正肯定義,如下非法的表達式是 B
A、a /= b + c
B、a % (4.0)
C、a = 1 / 2 * ( x = y = 20, x * 3)
D、a = b = c
12. 如有數組定義int a[] = {1,3,5,4,9,2,7,6,8,10}; int i = 4; 則 a[a[i]] 元素的值等於 D
A、4
B、9
C、8
D、10
13. 程序 char c[5] = {'a', 'b', '\0', 'c', '\0'}; printf("%s", c);的運行結果是 B
A、'a''b'
B、ab
C、ab c
D、ab0c0
14. 判斷字符串 a V(cmL46679910)是否大於 b,應當使用 D
A、if (a > b)
B、if (strcmp(a, b))
C、if (strcmp(b, a) > 0)
D、if (strcmp(a, b) > 0)
15. 若是執行語句 for(int a = 0, b = 0; b != 100 && a < 5; a++) scanf("%d", &b); 那麼scanf()函數最少執行( D )次
A、0
B、6
C、5
D、1
16. 表示關係 12 <= x <= y 的C語言表達式爲 B
A、(12 <= x <= y)
B、(12 <= x) && (x <= y)
C、(12 <= x) <= y)
D、(12 <= x) || (x <= y)
17. 使用語句 scanf("a=%s,b=%d", &a, &b);輸入數據時,正確的數據輸入是 A
A、a=2.2,b=3
B、a=2.2 b=3
C、2.2 3
D、2.2,3
18. 如下關於運算符優先順序的描述中正確的是 C
A、關係運算符 < 算術運算符 < 賦值運算符 < 邏輯與運算符
B、邏輯與運算符 < 關係運算符 < 算術運算符 < 賦值運算符
C、賦值運算符 < 邏輯與運算符 < 關係運算符 < 算術運算符
D、算術運算符 < 關係運算符 < 賦值運算符 < 邏輯與運算符
19. 若 int x=0, y=3, z=3; 則如下表達式的值爲 0 的是 C
A、!x
B、 x < y ? 1 : 0
C、x / 2 && y != z
D、y = x || z % 2
20.
下列程序的輸出結果是( C )。
#include <stdio.h>
int main(void)
{
int a = 7 ,b = 5;
printf("%d\n",b=b/a)
return 0 ;
}
A、5
B、1
C、0
D、不肯定
簡答題
21. 簡述C語言程序的編譯過程和每一個階段生成的目標文件 4分
參考答案:
1)預處理:宏定義展開、頭文件展開、條件編譯等,同時將代碼中的註釋刪除,這裏並不會檢查語法
2)編譯:檢查語法,將預處理後文件編譯生成彙編文件
3)彙編:將彙編文件生成目標文件(二進制文件)
4)連接:C語言寫的程序是須要依賴各類庫的,因此編譯以後還須要把庫連接到最終的可執行程序中去
22. 簡述C語言標識符的命名規則 3分
參考答案:
1標識符使用來標識源程序中的某個對象的名字的,一個標識符由字母、數字和下劃線組成
2關鍵字能夠定義變量、表達語句功能和對一些文件進行預處理,關鍵字已被編譯系統自己使用,因此用戶編寫程序時不可以使用這些關鍵字來做爲標識符,
23. 字符數組與字符串是否相同?若不相同,有何區別? 3分
參考答案:不相同,C語言中沒有專門的字符串變量,若是要將一個字符串存放在變量中,必須使用字符數組,即用一個字符型數組來存放一個字符串,數組中每個元素存放一個字符。字符串:必須以'\0'結尾字符數組:能夠包含多個'\0'。
24. C語言中參數傳遞有什麼特色?咱們應當注意些什麼? 3分
參考答案:V(cmL46679910)
1)數值傳遞:被調用函數中對形參的操做不影響主調用函數中的實參值。
2)地址傳遞:能夠經過被調用函數中對形參的操做來修改主調用函數中的實參值。
注意事項:用malloc 申請內存以後,應該當即檢查指針值是否爲NULL。防止使用指針值爲NULL 的內存。
25. 指針與地址有什麼聯繫?在使用指針的過程當中應注意哪些細節?指針類型對於程序設計有哪些意義? 3分
參考答案:
1)指針保存了某個變量的地址,指針自己是一個變量,它也有自身的地址, 而指針的內容是某個變量的地址。注意細節: 要初始化、正確的傳遞地址方式、使用時要判斷。
2)指針能夠用來有效地表示覆雜的數據結構,能夠用於函數參數傳遞並達到更加靈活使用函數的目的.使C語言程序的設計具備靈活、實用、高效的特色。