亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        數(shù)組典型例題分析與解答

        字號(hào):

        1 定義一個(gè)名為a的單精度實(shí)型一維數(shù)組,長度為4,所有元素的初值均為0的數(shù)定義語句是________________
            【分析】按照一般數(shù)據(jù)定義語句的格式,可以直接寫出方法一(參看答案);考慮到所有元素均賦初值時(shí)可以省略數(shù)組長度,可以寫出方法二(參看答案);考慮到不省略數(shù)組長度,給部分元素賦初值時(shí),所有未賦初值的元素均有空值(對(duì)數(shù)值型數(shù)組來說,初值為0),可以寫出方法三(參看答案);考慮到選用靜態(tài)型,不賦初值所有元素也自動(dòng)賦予。空值(對(duì)數(shù)值型數(shù)組來說,初值為0),可以寫出方法四(參看答案)。
            【答案】方法一:float a[4]={0.0,0.0,0.0,0.0};
             方法二:float a[]={ 0.0,0.0,0.0,0.0};
             方法三:float a[4]= {0.0};
             方法四: static float [4];
            2 下列數(shù)組定義語句中,錯(cuò)誤的是()
            ① char x[1]='a'; ②auto char x[1]={0};
            ③ static char x[l]; ④ char x[l];
            【分析】顯然答案①中給字符型數(shù)組賦初值的格式不對(duì)(不能直接賦予字符常量,必須用花括號(hào)括?。?,所以備選答案①是符合題意的答案。
            【答案】 ①
            3 用"冒泡排序法"對(duì)n個(gè)數(shù)據(jù)排序,需要進(jìn)行n一1 步。其中第k步的任務(wù)是:自下而上,相鄰兩數(shù)比較,小者調(diào)上;該操作反復(fù)執(zhí)行n-k次?,F(xiàn)在假設(shè)有4個(gè)數(shù)據(jù):4、l、3、2要排序,假定4為上、2為下,則利用"冒泡排序法"執(zhí)行第2步后的結(jié)果是_________________。
            【分析】開始排序前的排列執(zhí)行第1步后的排列執(zhí)行第2步后的排列
             4 1 1
             1 4 2
             3 2 4
             2 3 3
            【答案】 l、2、4、3
            4 用"選擇排序法"對(duì)n個(gè)數(shù)據(jù)排序,需要進(jìn)行n-1步。其中第k步的任務(wù)是:在第k個(gè)數(shù)據(jù)到第n個(gè)數(shù)據(jù)中尋找最小數(shù),和第k個(gè)數(shù)據(jù)交換?,F(xiàn)在假設(shè)有4個(gè)數(shù)據(jù):4、1、3、2要排序,則利用"冒泡排序法"執(zhí)行第2步后的結(jié)果是______________________。
            【分析】 開始排序前的排列為: 4 1 3 2
             執(zhí)行第1步后的排列為: 1 4 3 2
             執(zhí)行第2步后的排列為: 1 2 3 4
            【答案】1、2、3、4
            5 下列數(shù)組定義語句中,正確的是()
            ① int a[][]={1,2,3,4,5,6}; ② char a[2]「3]='a','b';
            ③ int a[][3]= {1,2,3,4,5,6}; ④ static int a[][]={{1,2,3},{4,5,6}};
            【分析】C語言規(guī)定,二維數(shù)組定義時(shí)不允許省略第二維的長度,所以備選答案①④是錯(cuò)誤的。C語言還規(guī)定,定義字符型數(shù)組時(shí)不允許直接使用"字符常量"的方式賦初值,所以備選答案②也是錯(cuò)誤的。顯然備選答案③符合題意。
            【答案】③
            6 定義一個(gè)名為"s"的字符型數(shù)組,并且賦初值為字符串"123"的錯(cuò)誤語句是()
            ①char s[]={‘1','2','3','\0 '}; ②char s「」={"123"};
            ③char s[]={"123\n"}; ④ char s[4]={'1','2','3'};
            【分析】備選答案①中省略了數(shù)組長度,所以每個(gè)元素都賦了初值,共計(jì)4個(gè)元素,初值依次為'l'、'2'、'3'、'\0',最后一個(gè)元素的值為字符串結(jié)束標(biāo)記,所以數(shù)組S中存放的是字符串"123",該答案不符合題意(即正確的);備選答案③中直接賦予字符串作為初值所以數(shù)組s的長度為4,其中的初值是字符串"123",不符合題意(即正確的);備選答案③中也是給數(shù)組s賦予字符串的初值,但是字符串不是"123",而是"123\n",所以該答案符合題意(即錯(cuò)誤的);顯然答案④也不符合題意(即正確的)。下面來分析答案④為什么是正確的,該答案給出了數(shù)組長度為4,賦初值時(shí)僅給前3個(gè)元素賦予字符'1 '、 '2'、'3',第 4個(gè)元素沒有賦初值,按照 C語言的規(guī)定,也有初值,且初值為空值, 對(duì)字符型數(shù)組來說,空值就是'\0',即字符率結(jié)束標(biāo)記,所以數(shù)組S中存放的也是字符串" 123"。
            【答案】③
            7 設(shè)有下列數(shù)據(jù)定義語句,則數(shù)組元素x[i]的值是__________________。
            int i= 3,x[4]={ 1,2,3};
            【分析】由于i的初值為3,所以x[i]就是x[3]。由于數(shù)組的下標(biāo)是從0開始的,所以x[3]實(shí)際上是數(shù)組x的第4個(gè)元素。從定義語句中可以看出數(shù)組x的前3個(gè)元素的初值依次為1、2、3,第4個(gè)元素沒有賦初值,其初值自動(dòng)設(shè)為空值,對(duì)整型數(shù)組來說,空值是0,顯然x[3」的值是0.
            【答案】0
            8 設(shè)有下列數(shù)據(jù)定義語句,則 puts(&s[0][0])的輸出結(jié)果是__________; puts(s[0]〕
            輸出結(jié)果是_____________。
            char s[4][5]={{'l','\0'},{"23"},"345","4\0"};
            【分析】首先分析字符型數(shù)組s的初值,s的第1行中存放的字符串是"1"、第2行中存放的符串是"23"、第3行中存放的字符串是"345"、第4行中存放的字符串是"4"。puts()函數(shù)的功能是輸出從"參數(shù)"處開始存放的字符串中有效字符。按照上的分析,第1個(gè)輸出的結(jié)果是從"&S[0][0]"開始的字符串,這個(gè)地址對(duì)應(yīng)的就是數(shù)s的第1行,所以輸出結(jié)果為1;第2個(gè)輸出的結(jié)果是從“s[]”開始的字符串,這個(gè)址對(duì)應(yīng)的也是數(shù)組s的第1行,所以輸出結(jié)果也為1。
            【答案】 1
             1