【好题分享】适合c++初学者(从易到难)
1.字符串的結束標志是:( )
????????A.是'0'
????????B.是EOF
????????C. 是'\0'
????????D.是空格
答案解析
C語言規定:以'\0'作為有效字符串的結尾標記
A:錯誤,是'\0'不是字符0
B:EOF一般用來作為檢測文本文件的末尾
C:正確
D:明顯錯誤
因此:選擇C
2. 關于數組描述錯誤的是:( )
????????A.數組是一組相同類型元素的集合
????????B.數組的下標是從1開始的
????????C.數組的下標是從0開始
????????D.數組如果初始化,可以不指定數組的大小
答案解析
數組的下標是從0開始的。
需要注意的是D:int a[] = {1,2,3},數組可以通過初始化確定大小。
因此:選擇B
?3.下面程序的結果是:( )
#include <stdio.h> #include <string.h> int main() {printf("%d\n", strlen("c:\test\121"))return 0; }????????A.7
????????B.8
????????C.9
????????D.10
答案解析
strlen:獲取字符串的有效長度,不包括'\0'
"c:\test\121": 在該字符串中,\t是轉移字符,水平制表,跳到下一個tab的位置;而\121表示一個字符,是講121看做8進制數組,轉換為10進制后的81,作業為ASCII碼值的字符,即:字符'Q' ,故上述字符串實際為:"c:??esty",只有7個有效字符
因此:選擇A
4.下面那個不是轉義字符?
????????A.'\n'
????????B.'\060'
????????C.'\q'
????????D.'\b'
答案解析
A:'\n' 轉義字符,代表換行
B:'\060' 轉義字符,060八進制數據,十進制為48,表示ASCII碼為48的'0'
C:'\q' 什么都不是
D:'\b' 轉義字符,表示退格
因此:選擇C
5.下面代碼的結果是:( )
#include <stdio.h> #include <string.h>int main() {char arr[] = {'b', 'i', 't'};printf("%d\n", strlen(arr));return 0; }????????A.3
????????B.4
????????C.隨機值
????????D.5
答案解析
strlen是用來獲取字符串的有效長度的,結尾標記'\0'不包含在內。
strlen獲取的規則非常簡單:從前往后依次檢測,直到遇到'\0'是就終止檢測。
而上體中arr是一個字符數組,不是一個有效的字符串,因為后面沒有放置'\0',因此strlen在求解時,將有效字符檢測完之后,還會繼續向后檢測,直到遇到'\0'是才終止,因此答案為不確定,就看緊跟在't'之后的第一個'\0'在什么位置。
因此:答案選C
6.C語言中下面哪個數組的創建錯誤的:( )
????????A.int arr[10] = {0}
????????B.int n = 10; int arr[n] ={0}
????????C.int arr[] = {1,2,3,4,5,6,7,8,9,0}
????????D.char ch[10] = "hello bit"
答案解析
?數組的大小必須是常量,答案選B
總結
以上是生活随笔為你收集整理的【好题分享】适合c++初学者(从易到难)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构练习题——树和二叉树(含应用题)
- 下一篇: qt 实现MVC Api控制器开发 we