首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級(jí) | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

軟考軟件設(shè)計(jì)師課后練習(xí)題:第四章習(xí)題及解答

 

    6.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出,請(qǐng)?zhí)羁铡?
       main(  )
     { char b[17]={"0123456789ABCDEF"};
       int c[64],d,i=0,base=16;
       long n;
       printf("Enter a number:\n");.
       scanf("%ld", &n):
      do  { c[i]=________;i++;n=n/base;}
      while(n!=0);
      printf("Transmite new base:\n");
      for(--i; i>= 0;--i)
     {d=c[i]; printf("%c",b);}
      printf("\n");
      【解】程序中,字符數(shù)組b存儲(chǔ)十六進(jìn)制的 16個(gè)數(shù)字符,整型數(shù)組C存儲(chǔ)澤出的十六進(jìn)制數(shù)的各位數(shù)值.從整數(shù)n譯出它的各位十六進(jìn)制數(shù)值,需采用除16取余的方法,即求n除16 的余.得到它的十六進(jìn)制的個(gè)位數(shù),接著將n除以16。在n不等于0的情況下循環(huán),能順序求出n的十六進(jìn)制的個(gè)位數(shù)、十位數(shù)、百位數(shù)等等。程序中變量base已預(yù)置16,所以在第一個(gè)空框處可填代碼nºse或n。當(dāng)n的十六進(jìn)制數(shù)的個(gè)位、十位、百位等數(shù)字依次存放于數(shù)組C中后,就從最高位至最低位,參照數(shù)組c[i]的內(nèi)容d(以其內(nèi)容為下標(biāo)),取十六進(jìn)制數(shù)字符表中的字符b[d]輸出。所以在第二個(gè)空框處可填入代碼[d]。
    4.3  程序分析題
    1.閱讀程序,寫出程序運(yùn)行結(jié)果。,
      main()
   {  static int a[][3]={9,7,5,3,l,2,4,6,8};
      int i,j,sl=0,s2=0;
     for(i=0; i<3;i++)
     for(j=0;j<3;j++)
     { if(i==j(luò)) s1=s1+a[i][j];
     if(i+j== 2) s2=s2+a[i][j];
      }
     printf("%d\n%d\n", sl,s2);
    }
    【解】已知數(shù)組。共有3行3列席一行依次是9,7,5;每二行是3,1,2;第三行是4,6,8。程序引用數(shù)組元素的游標(biāo)變量是i和j,外循環(huán)控制變量i是數(shù)組的行下橋,內(nèi)循環(huán)控制變量j是數(shù)組的列下標(biāo)。循環(huán)體的工作是將數(shù)組的某些元素累計(jì)到sl,某些元素累計(jì)到S2。將行下標(biāo)i和列下標(biāo)j相同的元素累計(jì)到sl,sl=a[0][0]+a[l][1]+a[2][2]。將行下標(biāo)i與列下標(biāo)j的和為 2的元素累計(jì)到 s2,s2=a[0][2]+a[l][l]+a[2][0]。所以sl是18,s2是10。程序輸出:
    18
    10

    2.說明下列程序的功能。
   main()
   { int i,j;
    float a[3][3],b[3][3],x;
    for(i=0;i<3;i++) 
    for(j=0;j<3 ;j++)
    { scanf("%f",&x); a[i][j]= x;
   }
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
   b[j][i]=a[i][j];
   for(i=0;i<3;i++)
   {printf("\n");
    for(j=0;j<3;j++)
    printf("%f",b[i][j]);
    }
    printf("\n");
    }
      【解】程序第一段兩重循環(huán),實(shí)現(xiàn)按行順序輸入數(shù)組a的全部元素的值。程序第二段兩重循環(huán)是將數(shù)組a轉(zhuǎn)置復(fù)制到數(shù)組b。程序第三段兩重循環(huán)實(shí)現(xiàn)按行輸出數(shù)組b的全部元素。所以程序的功能是按行順序輸入3*3二維數(shù)組的全部元素,然后按列順序輸出。

    3.寫出下列程序的運(yùn)行結(jié)果。
    main()
    {static char a[]={’*’,’*’,’*’,’*’,’*’,’*’};
    int i,j,k;
    for( i=0;i<5;i++)
    { printf("\n")
    for(j= 0;j    for(j=0;j<5 ;j++)printf("%c",a[k]);
    }
    printf( "\n");
     }
   【解】程序的外循環(huán)控制循環(huán)五次,每次開始先輸出一個(gè)換行符,共輸出5行信息。對(duì)于i(自0開始計(jì)算)行,先輸出i個(gè)空白符,接著輸出字符數(shù)組a中的五個(gè)字符,由于a中的五個(gè)字符都是字符。,所以輸出五個(gè)*字符。這樣程序是輸出以下形式的圖案:
            * * * * *
            * * * * *
            * * * * *
            * * * * *
            * * * * *

    4.說明下列程序的功能。
      main()
     {  int i,j ;
       float a[3][3],b[3][3],c[3][3],x;
       for(i=0;i<3;i++)
      for(j=0;j<3;j++)
    { scanf("%f", &x); a[i][j]= x;
     }
     for(i=0;i<3;i++)
     for(j=0;j<3;j++)
     {scanf("%f",&x);b[i][j]=x;
     }
     for(i=0; i<3; i++)
    for(j=0;j<3;j++)
    c[i][j]=a[i][j]+ b[i][j] ;
    for(i=0; i<3;i++)
    { printf("\n");
    for(j=0;j<3;j++)
    printf("%f", c[i][j]);
    }
     printf("\n");
    }
    【解】程序第一段的功能是按行順序輸入數(shù)組a 的元素。程序第二段的功能是按行順序輸入數(shù)組b的元素。程序第三段的功能是順序累加數(shù)組a和數(shù)組b的對(duì)應(yīng)元素,并將和存于數(shù)組C的對(duì)應(yīng)元素中。最后,按行順序輸出數(shù)組C的全部元素。

更多軟考資料請(qǐng)?jiān)L問:考試吧軟件水平考試欄目

上一頁  1 2 3 4 5 6 下一頁
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。