首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
7.3 程序分析題
1.閱讀下列程序,寫出運行結果。(字符0的ASCII碼為十六進制的30)
main()
{ union { char c; char i[4]; } z;
z.i[0]= 0x39;z.i[1]= 0x36;
printf("%c \n", z.c);
}
【解】共用型變量z有兩個成分,一個是字符型的c,另一個是有4個字符的數組i。由于共用型的成分是覆蓋存儲,成分c的內容也是成分i的首元素。程序給Z的i成分的首元素置十六進制代碼0x39,即十進制數57。數57是字符’9’的ASCII代碼。用字符輸出格式,輸出該變量的值,將輸出字符’9’ 。
2.閱讀下列程序,寫出程序的運行結果。
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);
}
【解】結構數組a 有兩個元素,每個元素有三個成分:10個元素的字符數組和兩個類型為float的成分k1、k2。結構指針變量p指向結構數組a的首元素。其中初始化使a的兩個元素分別有值如下:
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。所以程序運行后輸出:
name:zhang total = 170.000000
name: wang total= 150.000000
3.閱讀下列程序,寫出程序的運行結果。
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] );
}
【解】由枚舉類型測的定義知,枚舉類型常量em1的值是3,枚舉類型常量em2的值是1,枚舉類型常量em3的值是2。所以程序運行后輸出:
DD BB CC
7.4 程序設計題
1.用結構體存放下表中的數據,然后輸出每人的姓名和實發工資( 基本工資+浮動工資-支出)。
姓名 基本工資(元) 浮動工資(元) 支出(元)
Li 220.00 300.00 90.00
Xia 370.00 180.00 60.00
Wang 620.00 0.00 70.00
【解】程序定義struct person結構類型,包含人的姓名(<20個字符)、基本工資、浮動工資和支出,用這個struct person結構類型定義數組。程序首先輸入人數n(<100),再輸入n人的信息,最后輸出各人的姓名和實發金額。程序如下:
# 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
} while(1);
printf("輸入%d個人的姓名、基本工資、浮動工資和支出 \n", n);
for( p=person; p
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.編一個程序,輸入10個職工的編號、姓名、基本工資、職務工資,求出其中“基本工資十職務工資”最少的職工姓名并輸出。
【解】類似上一程序,直接給出程序如下:
# 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個人的編號、姓名、基本工資、職務工資 \n", N);
for(p=person; p
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
printf("基本工資與職務工資和最少的職工是%s \n",minp -> name);
printf("他的基本工資與職務工資和是%.2f \n",minp -> basel+ minp -> base2);
}
更多軟考資料請訪問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |