首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱(chēng)英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱(chēng)日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱(chēng)計(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è)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢(xún)師考試 | 秘書(shū)資格 | 心理咨詢(xún)師考試 | 出版專(zhuān)業(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ì)職稱(chēng) | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢(xún)工程師 | 監(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í)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

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

    7.3    程序分析題 
  
  1.閱讀下列程序,寫(xiě)出運(yùn)行結(jié)果。(字符0的ASCII碼為十六進(jìn)制的30) 
   main()
   { union { char c; char i[4]; } z;
   z.i[0]= 0x39;z.i[1]= 0x36;
   printf("%c \n", z.c);
   } 
        【解】共用型變量z有兩個(gè)成分,一個(gè)是字符型的c,另一個(gè)是有4個(gè)字符的數(shù)組i。由于共用型的成分是覆蓋存儲(chǔ),成分c的內(nèi)容也是成分i的首元素。程序給Z的i成分的首元素置十六進(jìn)制代碼0x39,即十進(jìn)制數(shù)57。數(shù)57是字符’9’的ASCII代碼。用字符輸出格式,輸出該變量的值,將輸出字符’9’ 。

        2.閱讀下列程序,寫(xiě)出程序的運(yùn)行結(jié)果。
    main () 
   { struct student
   { char name[10];
    float k1; 
    float k2;
    } a[2]={ {"zhang", 100,70} ,{"wang",70,80 } },* p=a;
int i;
    printf("\nname:%s total=%f",p ->name,p -> k1+p -> k2);
    printf("\nname:%s total=%f",a[l].name, a[1].k1+a[l].k2);
  } 
      【解】結(jié)構(gòu)數(shù)組a 有兩個(gè)元素,每個(gè)元素有三個(gè)成分:10個(gè)元素的字符數(shù)組和兩個(gè)類(lèi)型為float的成分k1、k2。結(jié)構(gòu)指針變量p指向結(jié)構(gòu)數(shù)組a的首元素。其中初始化使a的兩個(gè)元素分別有值如下:
a[0].name="zhang",a[0].k1= 100.0,a[0].k2=70.0,
a[1].name="wang",
  a[l].k1=70.0, a[1].k2 =80.0。所以程序運(yùn)行后輸出:
   name:zhang total = 170.000000
   name: wang total= 150.000000

        3.閱讀下列程序,寫(xiě)出程序的運(yùn)行結(jié)果。
    main ( ) 
    { enum em { em1=3, em2=l, em3 };
    char * aa[] = {"AA","BB","CC","DD" };
    printf("%s%s%s\n",aa[em1],aa[em2], aa[em3] );
    }
      【解】由枚舉類(lèi)型測(cè)的定義知,枚舉類(lèi)型常量em1的值是3,枚舉類(lèi)型常量em2的值是1,枚舉類(lèi)型常量em3的值是2。所以程序運(yùn)行后輸出:
     DD BB CC
  
    7.4   程序設(shè)計(jì)題 
  
   1.用結(jié)構(gòu)體存放下表中的數(shù)據(jù),然后輸出每人的姓名和實(shí)發(fā)工資( 基本工資+浮動(dòng)工資-支出)。
      姓名   基本工資(元) 浮動(dòng)工資(元)   支出(元) 
       Li     220.00       300.00         90.00
       Xia    370.00       180.00         60.00
       Wang   620.00       0.00           70.00
        【解】程序定義struct person結(jié)構(gòu)類(lèi)型,包含人的姓名(<20個(gè)字符)、基本工資、浮動(dòng)工資和支出,用這個(gè)struct person結(jié)構(gòu)類(lèi)型定義數(shù)組。程序首先輸入人數(shù)n(<100),再輸入n人的信息,最后輸出各人的姓名和實(shí)發(fā)金額。程序如下:
   # include 
   # include 
   # define N 100
  struct person {
  char name[20] ;
  float base;
  float ds;
  float pay;
  } person[N], *p;
  void main () 
  { int n;
  float d;
  char buf[120];
  printf("輸入n(<%d)! \n",N);
  do {
  scanf("%d", &n);
  if(n>0 && n  printf("輸入n不合理! 請(qǐng)重新輸入! \n" );
  } while(1);
  printf("輸入%d個(gè)人的姓名、基本工資、浮動(dòng)工資和支出 \n",  n);
  for( p=person; p  scanf("%s", buf); strncpy( p -> name, buf, 19);
  scanf("%f", &d); p -> base=d;
  scanf("%f",&d); p -> ds=d;
  scanf("%f", &d ); p -> pay= d;
  } 
 for(p = person; p< person+n; p++) 
  printf("%s %.2f\n",p-> name,P->base+p->ds-P -> pay);
  }

       2.編一個(gè)程序,輸入10個(gè)職工的編號(hào)、姓名、基本工資、職務(wù)工資,求出其中“基本工資十職務(wù)工資”最少的職工姓名并輸出。
   【解】類(lèi)似上一程序,直接給出程序如下:
  # include
  # define N 10
  struct person {
  char no[10];
  char name[20];
  float base1;
  float base2;
  } person[N], *p, *minp;
  void main () 
  { float d;
  char buf[120];
  printf("輸入%d個(gè)人的編號(hào)、姓名、基本工資、職務(wù)工資 \n", N);
  for(p=person; p  scanf("%s", buf); strncpy(p -> no,buf,9);
  scanf("%s", buf); strncpy( p -> name, buf, 19);
  scanf("%f", &d);p -> base1 =d;
  scanf("%f",&d);p -> base2=d;
  }
  for(minp=p=person; p  if (p -> basel+p -> base2< minp -> basel+ minp -> base2)  minp =p;
  printf("基本工資與職務(wù)工資和最少的職工是%s \n",minp -> name);
  printf("他的基本工資與職務(wù)工資和是%.2f \n",minp -> basel+ minp -> base2);
  }

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

文章搜索
軟件水平考試欄目導(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)注明出處。