




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Chap2用C語言編寫程序簡單程序的一般形式
指令
intmain(void)//函數
{
語句
}2指令在編譯C程序之前,預處理器先行對其編輯預處理器執行的命令稱為指令Example: #include<stdio.h><stdio.h>//C’sstandardI/Olibrary.指令以#為開頭,默認只有一行,結尾無;3函數數學:函數是根據一個或多個給定參數進行數值計算的規則C:函數是一系列組合在一起并且整體命名的語句集合程序員自行編寫的函數編譯器提供的庫函數通常需要返回值 returnx+1;4main
函數main
函數是必須的.main函數是特別的,在程序執行時自動被調用main函數要求返回一個狀態碼,用0表示正常退出5語句語句是程序運行時執行的命令.C語言規定每條語句都要以分號結尾,復合語句除外6注釋單行用//C99//Thisisacomment多行用/*
*/
/*Thisisacomment*/ /*Name:pun.c Purpose:Printsabadpun. Author:K.N.King*/ 7變量與賦值變量:在程序執行過程中臨時存儲數據的單元類型:用來說明變量存儲的數據種類聲明:變量使用之前為編譯器所做的描述
intheight;intheight,length,width,volume;賦值:變量通過賦值方式獲得值初始化:在聲明時賦值,未初始化的變量不可控8變量的聲明與使用變量必須先聲明,后使用。#include<stdio.h>intmain(void){intcelsius,fahr;
fahr=100;
celsius=5*(fahr-32)/9;printf("fahr=%d,celsius=%d\n",fahr,celsius);
return0;}一個變量名只能聲明一次變量一般都定義在程序的頭上不能定義在程序的中間或后面應該先賦值,后引用常量常量:在程序運行過程中,其值不能被改變
字面值:89‘A’const類型常量名=值;
宏定義:#defineINCHES_PER_POUND166//名稱默認全大寫(規范不強制)10標識符標識符:變量、常量、函數、宏定義、結構名等實體的命名.標識符可以含有字母、數字、下劃線,但必須以字母或下劃線開頭C語言區分大小寫一般要求變量用小寫,多個單詞時:current_pagecurrentPage理論上標識符長度沒有限制
11關鍵字如下不能用于標識符: autoenumrestrict*unsigned breakexternreturnvoid casefloatshortvolatile charforsignedwhile constgotosizeof_Bool* continueifstatic_Complex* defaultinline*struct_Imaginary* dointswitch doublelongtypedef elseregisterunion
*C99only標準庫函數名稱也要回避12代碼書寫規范單個語句可以分開放在多行里.關鍵字、標識符、運算符、逗號等后面最好加一下空格通過縮進來幫助識別程序嵌套結構通過空行來劃分程序邏輯單元亂加空格和分行會導致錯誤字符串太長怎么辦?printf(“ToC,ornottoC: thatisthequestion.\n");13\printf
函數printf
函數用來顯示格式串 printf(格式串,表達式1,表達式2,…);格式串包含普通字符和轉換說明(以
%
字符開頭).普通字符直接顯示,轉換說明被變量替代14Example:
inti,j; floatx,y;
i=10; j=20; x=43.2892f; y=5527.0f;
printf("i=%d,j=%d,x=%f,y=%f\n",i,j,x,y);Output: i=10,j=20,x=43.289200,y=5527.000000printf
函數編譯器不檢查轉換說明和字符串是否匹配.太多轉換說明: printf("%d%d\n",i);/***WRONG***/太少轉換說明: printf("%d\n",i,j);/***WRONG***/順序不一致:printf("%f%d\n",i,x);/***WRONG***/15轉換說明格式轉換說明標準格式 %m.pX
m(數字,可選,最小字段寬度,當數值所需字符少于m時,m為正右對齊,m為負左對齊)
p
(數字,可選,精度,取決于具體說明符)
X
(說明符,必須).%10.2f,mis10,pis2,andXisf.數值常用說明符d十進制e科學計數法,p指明小數點后的數字個數f浮點數,p指明小數點后的數字個數g可以自動轉換,可以顯示為十進制、浮點數或科學計數法,不能用于整數
tprintf.c
/*Printsintandfloatvaluesinvariousformats*/
#include<stdio.h>
intmain(void) { inti; floatx;
i=40; x=839.21f;
printf("|%d|%5d|%-5d|%5.3d|\n",i,i,i,i); printf("|%10.3f|%10.3e|%-10g|\n",x,x,x);
return0; }Output:
|40|40|40|040| |839.210|8.392e+02|839.21|17轉義序列非打印的(控制)字符響鈴符
\a回退符
\b換行符
\n水平制表符
\t顯示\ \\Exampleprintf("Item\tUnit\tPurchase\n\tPrice\tDate\n"); ItemUnitPurchase PriceDate18scanf
函數scanf
根據特定格式讀取輸入.scanf(格式串,&變量名1,&變量名2,…);格式串包含普通字符(通常沒有)和轉換說明(以
%
字符開頭).轉換說明被變量替代轉換說明、轉義序列與printf用法相同編譯器不檢查轉換說明和字符串是否匹配19scanf
的匹配過程scanf
函數調用:
scanf("%d%d%f%f",&i,&j,&x,&y);用戶錄入:
1 -20.3 -4.0e3scanf
把用戶輸入當作一個連續字符流(¤
表示換行符?表示空格): ??1¤-20???.3¤???-4.0e3¤ ssrsrrrsssrrssssrrrrrr(s=skipped;r=read)最后一個換行符被忽略.20格式串中的普通字符空白字符(空格、制表符、換行符等)可以與輸入中任意數量的空白字符匹配,包括0個其他字符匹配時,scanf
放棄輸入字符繼續處理不匹配時,異常退出21addfrac.c/*Addstwofractions*/
#include<stdio.h>
intmain(void){intnum1,denom1,num2,denom2,result_num,result_denom;printf("Enterfirstfraction:");scanf("%d/%d",&num1,&denom1);
printf("Entersecondfraction:");scanf("%d/%d",&num2,&denom2);
result_num=num1*denom2+num2*denom1;result_denom=denom1*denom2;printf("Thesumis%d/%d\n",result_num,result_denom)return0;}22程序解析分段計算水費要解決的問題:輸入計算分段函數輸出,并保留2位小數
求ex程序解析-求分段函數#include<stdio.h>intmain(void){doublex,y;printf("Enterx(x>=0):\n");/*輸入提示*/
scanf("%lf",&x);/*調用scanf函數輸入數據*/
if(x<=15) /*if–else語句*/
y=4*x/3;
else
y=2.5*x-10.5;printf("f(%f)=%.2f\n",x,y);
return0;}Enterx(x>=0):9.5f(9.500000)=12.67Enterx(x>=0):15f(15.000000)=20.00Enterx(x>=0):21.3f(21.300000)=42.75軟件測試的基本思想軟件測試精心設計一批測試用例[輸入數據,預期輸出結果],然后分別用這些測試用例運行程序,看程序的實際運行結果與預期輸出結果是否一致。inputx:2.5f(2.50)=0.4inputx:0f(0.00)=0.0if(x!=0)
y=1/x;elsey=0;if(x<=15)y=4*x/3;elsey=2.5*x-10.5;Enterx(x>=0):9.5f(9.500000)=12.67Enterx(x>=0):15f(15.000000)=20.00Enterx(x>=0):21.3f(21.300000)=42.75常用數學庫函數庫函數C語言處理系統提供事先編好的函數,供用戶在編程時調用。scanf(),printf(),exp()在相應的系統文件(頭文件)中定義一些必需的信息。#include命令用戶調用庫函數時,將相應的頭文件包含到源程序中。例如調用scanf,printf,需要#include<stdio.h>調用sqrt,需要#include<math.h>常用數學庫函數平方根函數sqrt(x)
絕對值函數fabs(x)fabs(-3.56)的值為3.56冪函數pow(x,n):xnpow(1.1,2)的值為1.21(即1.12)指數函數exp(x):exexp(2.3)的值為e2.3以e為底的對數函數log(x):lnxlog(123.45)的值為4.815836以10為底的對數函數log10(x):log10xlog10(123.45)的值為2.091491。計算存款的本息輸入存款金額money、存期year和年利率rate,根據公式計算存款到期時的本息合計sum(稅前),輸出時保留2位小數。sum=money(1+rate)yearsum=money*pow((1+rate),year)#include<stdio.h>#include<math.h>
intmain(void){intmoney,year;doublerate,sum;
printf(“Entermoney:");
scanf("%d",&money);
printf(“Enteryear:");scanf("%d",&year);
printf(“Enterrate:");scanf("%lf",&rate);sum=money*pow((1+
rate),year);printf("sum=%.2f",sum);return0;}Entermoney:1000Enteryear:
3Enterrate:
0.025sum=1076.89scanf("%d%d%lf",&money,&year,&rate);結構化程序設計思想結構化程序設計(StructuredProgramming)程序設計技術C語言是結構化程序設計語言強調程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全知識培訓教材
- 伊春職業學院《德語國家概況(2)》2023-2024學年第二學期期末試卷
- 2025年山東禹城市綜合高中高三歷史試題第三次學情調研考試(歷史試題)試卷含解析
- 創客教育課程體系
- 氣胸閉合性開放性護理
- 2025年四川省綿陽市綿陽南山中學高三TOP20九月聯考(全國II卷)歷史試題試卷含解析
- 湖南工藝美術職業學院《沙盤模擬實訓》2023-2024學年第二學期期末試卷
- 北京印刷學院《市場營銷》2023-2024學年第二學期期末試卷
- 武漢工貿職業學院《醫學心理學與心理健康教育》2023-2024學年第二學期期末試卷
- 甘肅省臨夏回族自治州廣河縣2024-2025學年四年級數學第二學期期末檢測模擬試題含解析
- 【精品】六年級下冊語文試題-閱讀理解專項訓練5含答案全國通用
- 詳解2021年《關于優化生育政策促進人口長期均衡發展的決定》ppt
- 保護繼電器中文手冊-re610系列rem610tobcnb
- 游泳池經營方案
- 焊接接頭表面質量檢查記錄
- 空調機房吸音墻頂面綜合施工專題方案
- 紅樓夢專題元妃省親39課件
- ISO測量管理體系內審員培訓資料
- 預防性健康檢管理制度管理辦法
- ISO50001-2018能源管理體系內審計劃、記錄及報告
- 初中人教版七年級上冊音樂5.2甘美蘭(22張)ppt課件
評論
0/150
提交評論