4.1 單項選擇題
1.若有下列說明,則數(shù)值為4的表達式是( )
int a[12]={ l,2,3,4,5,6,7,8,9,10,11,12 };
char c=’a’,d, g;
①a[g-c] ②a[4]
③a[’d’-’c’] ④a[’d’-c]
【解】數(shù)組元素的下標自0開始順序編號,值為4的元素是a[3]。所以只有下標表達式的值為3的才是正確的。下標表達式g-C中的的變量g和c的值是還未被設定的,其值不確定。a[4]的值為5,下標為4是不對的!痙’-’c’的值為1,a[l]的值是2,所以也是不對的。變量c的值為’a’ ,’d’-c=3,所以正確解答是④。
2.設有定義:"char s[12]={"string"};" 則printf("%d\n",strlen(s));的輸出是( )
① 6 ② 7
③11 ④ 12
【解】在C語言中,字符串是指在有效字符之后有字符率結(jié)束標記符的字符列,并約定字符串的長度是指字符率中有效字符個數(shù),不包括字符串的結(jié)束標記符。存放于字符數(shù)組s中的字符串是“string”,該字符串的長度為6,所以輸出該字符串的長度應是6。正確的解答是①。
3.下列語句中,正確的是( )
① char a[3][]={’abc",’1’}; ② char a[][3]={’abc’,’l’};
③char a[3][]={’a’,"1"}; ④char a[][3]={"a","1"};
【解】如定義數(shù)組時有初始化,其最高維的長度可以省缺,由系統(tǒng)根據(jù)初始化時的初值個數(shù)確定,而其它維的長度是不可以缺省的。對二維字符數(shù)組的初始化,可以按行用字符串對其初始化,也可以按二維數(shù)組元素的存儲順序逐一用字符對其元素初始化。在供選擇解答①和③中,有不是最高維的長度被缺省,所以是錯誤的。在供選擇解答①和②中,還將字符串常量寫作’abc’,這也是錯誤的。只有④,用字符率按行給二維字符數(shù)組初始化,這才是正確的。正確構(gòu)解答是④。
4.合法的數(shù)組定義是( )
①int a[]={"string"} ②int a[5]={0,1,2,3,4,5};
③char a={"string"} ④char a[]={0,1,2,3,4,5};
【解】①錯誤的原因是整數(shù)數(shù)組不可以用字符串對其初始化。②錯誤的原因是,數(shù)組初始化時,初始化指定的值的個數(shù)多于數(shù)組的元素個數(shù)。③錯誤的原因是,能用字符串初始化的只;有字符指針變量,或字符數(shù)組。字符率不能對其它類型的變量初始化,包括字符變量。④是正確的,因為字符數(shù)組可以用小整數(shù)(作為字符的ASCII代碼值)對其元素初始化。
5.語句"printf("%d\n"strlen("ats\nol2\1\\"));"的輸出結(jié)果是( )
①11 ②10 ③ 9 ④ 8
【解】字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符開頭的轉(zhuǎn)義字符。在字符串"abs\no12\11\\" 中,有三個轉(zhuǎn)義字符,它們是\n、\1、\\,所以該字符串的有效字符個數(shù)是9。所以正確的回答是③。
6.函數(shù)調(diào)用“strcat(strcpy(strl,str2),str3)”的功能是( )
①將字符串strl復制到字符串str2中后再連接到字符串str3之后
②將字符串strl連接到字符串str2中后再復制到字符率str3之后
③將字符串str2復制到字符串strl中后再將字符串str3連接到字符串strl之后
④將字符串str2連接到字符率strl之后再將字符串strl復制到字符串str3中
【解】函數(shù)調(diào)用strcat(s1,s2)是將s2字符串復制連接到s1字符串之后,使s1字符串變得更長。函數(shù)調(diào)用strcpy(s1,s2)是將s2字符串復制到s1,使s1字符串的內(nèi)容與s2字符串的內(nèi)容相同。函數(shù)調(diào)用strcat(strcpy(strl,str2) ,str3) 是先執(zhí)行strcpy(strl,str2),然后再執(zhí)行strcat(strl,str3),所以其功能是將字符串str2復制到字符串strl中,然后再將字符串str3復制連接到字符串strl之后。正確的選擇是③。
7.設有如下定義,則正確的敘述為( )
char x[]={"abcdefg"};
char y[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’};
①數(shù)組x和數(shù)組y等價②數(shù)組x和數(shù)組y長度相同
③數(shù)組X的長度大于數(shù)組y的長度④數(shù)組X的長度小于數(shù)組y的長度
【解】不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給出的值的個數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個給字符數(shù)組的元素初始化。但用字符初始化時,盡管給出了字符串中的全部字符,還是不會自動有字符率結(jié)束字符。但字符串初始化自動會含有字符串的結(jié)束標記符,字符串初始化所需要的字節(jié)個數(shù)會比用同樣多的字符初始化多1個字節(jié)。所以只有③才是正確的。
更多軟考資料請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |