首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團購書城?論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產(chǎn)評估師
高級經(jīng)濟師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內(nèi)審師
注冊稅務(wù)師
理財規(guī)劃師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學(xué)習(xí)
思想?yún)R報
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C語言 > 上機題庫 > 正文

2006年計算機二級C上機題庫練習(xí)及答案(4)

1.填空題
  下列給定程序中,函數(shù)fun()的功能是:將長整型數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。

高位仍在高位,低位仍在低位。例如,當s中的數(shù)為87653142時,t中的數(shù)為8642。
試題程序:
#include<conio.h>
#include<stdio.h>
void fun(long s,long *t)
{【1】;
  long s1=1;
  *t=0;
  while(s>0)
  { d=s%10;
    if(【2】)
    {*t=d*s1+*t;
     s1*=10;
    }
  【3】;
  }
}
main()
{ long s,t;
  printf("\nPlease enter s: ");scanf("%ld",&s);
  fun(s,&t);
  printf("The result is :%ld\n",t);
}

【答案】
【1】long d      【2】d%2==0      

2.改錯題
   下列給定程序中,fun函數(shù)的功能是:分別統(tǒng)計字符串中大寫字母和小寫字母的個數(shù)。
例如,給字符串s輸入:AaaaBBb123CCccccD,則應(yīng)輸出結(jié)果:upper=6,lower=8。
請改正程序中的錯誤,使它能計算出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
#include  <conio.h>
#include  <stdio.h>
void fun(char *s,int a,int b)
{
  while(*s)
  {
    if(*s>='A'&&*s<='Z')
       a++;
    if(*s>='a'&&*s<='z')
       b++;
       s++;
  }
}
main()
{
  char s[100];
  int upper=0,lower=0;
  clrscr();
  printf("\nPlease enter a string:");
  gets(s);
  fun(s,&upper,&lower);
  printf("\nupper=%d  lower=%d\n",upper,lower);
}

【答案】
第1處:void fun(char *s,int a,int b)應(yīng)改為void fun(char *s,int *a,int *b)
第2處:a++;應(yīng)改為(*a)++;
第3處:b++;應(yīng)改為(*b)++;
【考點】函數(shù)定義、參數(shù)傳遞及指針運用。
【解析】
(1)由于main函數(shù)中調(diào)用的fun函數(shù)參數(shù)是按指針傳遞的,因此在fun函數(shù)的定義參數(shù)表中應(yīng)將形參定義成指針,即將int  a和int  b分別改為int*a和int*b。
(2)因為a和b是指向upper和lower的兩個指針,所以在執(zhí)行a++和b++后,a、b不再指向upper和lower,而是分別指向upper和lower的下一個單元,而upper和lower的值不會發(fā)生變化。但程序要求upper和lower的值遞增,因此必須使指針所指的變量發(fā)生變化,而不是指針自己變化。所以應(yīng)改為:(*a)++;(*b)++;。

文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧