2010年軟件水平考試軟件設計筆試考前練習(3)

字號:

2010年軟件水平考試軟件設計筆試考前練習(3)

    1.設有如下定義,則正確的敘述為( )
    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的長度
    2.根據(jù)變量定義“static int b[5], a[][3]={1,2,3,4,5,6};”,b[4]=_____,a[1][2]
    【解】不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給出的值的個數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個給字符數(shù)組的元素初始化。但用字符初始化時,盡管給出了字符串中的全部字符,還是不會自動有字符率結束字符。但字符串初始化自動會含有字符串的結束標記符,字符串初始化所需要的字節(jié)個數(shù)會比用同樣多的字符初始化多1個字節(jié)。所以只有③才是正確的。
    【解】系統(tǒng)規(guī)定,靜態(tài)變量定義時,若末初始化,系統(tǒng)自動給定二進制代碼全0的值。所以態(tài)數(shù)組b的元素全為0,當然包括b[4]也為幾靜態(tài)數(shù)組a是二維數(shù)組,每行有三個元素,在初始化中結出了六個初值,所以數(shù)組a有2 行。由于數(shù)組的元素按行順序存儲,并按行順序初始化。前三個值是第一行,后三個元素[1][2]是第二行的第三列元素,也是a的最后一個元素,所以其值是6。
    1.設有定義語句“static int a[3][4]={{1},{2},{3}};”則a[l][l]值為_,a[2][1]的值為_。
    2.若在程序中用到“putchar( )”函數(shù)時,應在程序開頭寫上包含命令_____,若在程序中用到“strlen( )”函數(shù)時,應在程序開頭寫上包含命令______。
    【解】給二維數(shù)組初始化時,可按行給出初值,并且每行可以只給前面部分的元素給出初值。系統(tǒng)規(guī)定,對哪些未給出初值的部分元素,系統(tǒng)自動置二進制代碼全 0的值。由于定義語句只給a[0][0]給定初值l、a[l][0]給定初值2、a[2][0]給定初值3。這樣,其它元素都為0值。所以,a[1] [1]= 0,a[2][1]= 0。
    【解】putchar()是系統(tǒng)提供的頭文件stdio.h中定義的宏,所以程序要使用它,必須寫上包含命令:#include。函數(shù)strlen()是系統(tǒng)提供的字符串處理函數(shù)之一,字符串處理函數(shù)的函數(shù)原型說明和它們用到的有關常量、數(shù)據(jù)結構等,在系統(tǒng)提供的頭文件tring.h中定義,所以使用該函數(shù)的程序應在程序開頭寫上包含命令并include。