




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會計(jì)學(xué)1C語言程序的組成部分2了解C程序的組成部分一個簡短的C語言程序#include<stdio.h>
intmain(void){inta=3;printf("a的平方是%d.\n",a*a);return0;}說明:如果使用標(biāo)準(zhǔn)I/O庫函數(shù),則在程序開頭要加入包含文件的編譯預(yù)處理指令。每個C程序必須有一個主函數(shù)main(),main表示主函數(shù)名;名字前面的int表示該函數(shù)執(zhí)行后將有一個整型數(shù)據(jù)的返回值;名字后面一對圓括號中的void表示該函數(shù)無自變量參數(shù)。一對花括號“{”、“}”是函數(shù)開始和結(jié)束的標(biāo)志。每個C語句以分號結(jié)束。每個函數(shù)的最后一條語句是return語句。第1頁/共56頁3可以在程序中加入注釋信息說明:
/*……*/表示注釋。注釋只起說明作用,不參與程序的編譯和運(yùn)行,因此注釋可以由漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨(dú)成為一行。/*這是一個C程序的例子*/#include<stdio.h>
intmain(void){inta=3;printf("a的平方是%d.\n",a*a);return0;}/*包含文件指令*//*函數(shù)頭*//*函數(shù)體開始*//*聲明變量a*//*輸出運(yùn)算結(jié)果*//*函數(shù)返回語句*//*函數(shù)體結(jié)束*/第2頁/共56頁4C程序的組成部分(2)每一個函數(shù)都是由兩個部分組成:
函數(shù)的首部
例如:
intmain(void)
函數(shù)體
一對花括號括起的若干語句。(1)一個C程序可以包含一個或多個函數(shù),其中一個是main()。
#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;
printf("Inputadata:");
scanf("%lf",&x);
printf("%f立方是%f",x,ep(x)); return0;}第3頁/共56頁了解C程序的組成部分1: #include<stdio.h>2: 3: floatarea(floatr);4: 5: intmain(void)6: {floatr;7: printf(“Inputradius:”);/*提示輸入半徑*/8: scanf("%f",&r);9: printf("\nTheareais%f.\n",area(r));10: return0;11: }12: 13/*求圓面積的函數(shù)*/14: floatarea(floatr)15: {16: floats;17: s=3.14*r*r;18: return(s);19: }第4頁/共56頁6C程序的組成部分下面是就設(shè)計(jì)計(jì)算器程序初期時,對一個計(jì)算器功能進(jìn)行簡單設(shè)計(jì)和描述的源程序。voidadd(double,double)/*加法函數(shù)*/{。。。}voidsub(double,double)/*減法函數(shù)*/{。。。}voidmut(double,double)/*乘法函數(shù)*/{。。。}voiddiv(double,double)/*除法函數(shù)*/{。。。}intmain(void){......add(x,y);sub(a,y);mut(x,y);div(x,y);......return0;}第5頁/共56頁C程序常見符號分類關(guān)鍵字(Keyword)又稱保留字C語言中具有特殊含義的單詞標(biāo)識符(Identifier)系統(tǒng)預(yù)定義標(biāo)識符有特殊含義,但可以被重新定義的單詞(但是,一般不建議去重新定義)用戶自定義標(biāo)識符變量名,函數(shù)名,……#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;
printf("Inputadata:");
scanf("%lf",&x);
printf("%f立方是%f",x,ep(x)); return0;}第6頁/共56頁8關(guān)鍵字與標(biāo)識符關(guān)鍵字(C語言的保留字)intsignedexterncharunsignedfloatconstdodefaultwhilecasecontinueelsestaticifautosizeoflongregisterunioninlineforstructbreakgototypedefenumrestrictvoidswitchreturnshortdoubleasmvolatile第7頁/共56頁9C語言的標(biāo)識符標(biāo)識符(用戶自定義標(biāo)識符)設(shè)計(jì)者根據(jù)需要而定義的名稱,如變量名、數(shù)組名、自定義函數(shù)名……。標(biāo)識符建立的規(guī)則:(1)由若干個英文字母、數(shù)字和下橫線組成。(2)頭一個字符必須是字母或是下橫線“_”。相同字母的大寫和小字是有區(qū)別的。count、Count、coUNT、CoUnT都是不同的不能使用關(guān)鍵字做標(biāo)識符。第8頁/共56頁C程序常見符號分類運(yùn)算符(Operator)算術(shù)、關(guān)系、邏輯……
分隔符(Separator)空格、回車/換行、逗號等其他符號{和}標(biāo)識函數(shù)體或語句塊/*和*/是程序注釋的定界符雙引號、單引號……
#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;
printf("Inputadata:");
scanf("%lf",&x);
printf("%f立方是%f",x,ep(x)); return0;}第9頁/共56頁11C程序中最重要的對象——變量執(zhí)行程序的目的是進(jìn)行數(shù)據(jù)運(yùn)算操作,運(yùn)算中經(jīng)常使用的一種對象就是變量。什么是變量?計(jì)算機(jī)內(nèi)存中一個被命名的、可以存儲數(shù)據(jù)的區(qū)域(或存儲單元)稱作變量內(nèi)存第10頁/共56頁12變量變量的特點(diǎn):有名——變量名可以在變量中存儲一個數(shù)據(jù)——變量的值因?yàn)樽兞看鎯υ趦?nèi)存的存儲單元中,所以變量都有一個唯一的存儲地址不同的變量還可以有不同的類型變量名由一個或若干個字符組成,字符的構(gòu)成形式必須符合C語言標(biāo)識符的規(guī)定。第11頁/共56頁13聲明變量聲明變量的語句形式:例:
int
x,y,age=19;floatdata1,data2=10.009;
doubleprice_1,price_2=13.5;chara,b='$';類型名
變量名1,變量名2,……;可以在聲明變量時,為變量初始化變量的性質(zhì)變量必須聲明后才可以引用。程序運(yùn)行過程中,通過執(zhí)行賦值操作,變量中存儲的值可以改變。第12頁/共56頁14每個變量都有數(shù)據(jù)類型單精度實(shí)型雙精度實(shí)型變量的類型字符型整型實(shí)型charshort[int]intfloatdouble第13頁/共56頁15變量的數(shù)據(jù)類型決定了該變量存儲于內(nèi)存時將占用內(nèi)存空間的大小(或多少)一個字符型(char)的變量1個字節(jié)一個短整型(short)變量2個字節(jié)一個基本整型(int)變量4個字節(jié)一個單數(shù)度實(shí)型(float)變量4個字節(jié)一個雙數(shù)度實(shí)型(double)變量8個字節(jié)不同的數(shù)據(jù)類型的變量可以表示的數(shù)據(jù)大小也不同。換句話說,不同類型的變量具有不一樣的數(shù)據(jù)范圍。第14頁/共56頁16例如:數(shù)據(jù)位的不同,能表示數(shù)據(jù)的大小也不同。0001101101000001010011100101110111000000000000000100000010000000110000010000000101……1111110011111101111111101111111100000001001000110100……110011011110111178654321第15頁/共56頁不同類型占用的內(nèi)存字節(jié)數(shù)不同同種類型在不同的平臺其占字節(jié)數(shù)不盡相同如int在16位、32位和64位系統(tǒng)上分別占2、4和8個字節(jié)不要對變量所占的內(nèi)存空間字節(jié)數(shù)想當(dāng)然用sizeof獲得變量或者數(shù)據(jù)類型的長度現(xiàn)象與危害在平臺間移植時會出現(xiàn)問題,導(dǎo)致數(shù)據(jù)丟失或者溢出注意!第16頁/共56頁sizeof到底是什么?C語言的運(yùn)算符,并非函數(shù)計(jì)算類型占用的字節(jié)數(shù)兩種運(yùn)算形式
sizeof(類型)結(jié)果為類型占用的字節(jié)數(shù)sizeof(表達(dá)式)結(jié)果為表達(dá)式值所屬類型占用的字節(jié)數(shù)一般都使用sizeof(變量名)
第17頁/共56頁用程序查看當(dāng)前編譯器的各種變量類型的字節(jié)數(shù)#include<stdio.h>#include<stdlib.h>intmain(void){
printf("DatatypeNumberofbytes\n");
printf("---------------------------------\n");
printf("char%d\n",sizeof(char));
printf("int%d\n",sizeof(int));
printf("shortint%d\n",sizeof(short));
printf("longint%d\n",sizeof(long));
printf("float%d\n",sizeof(float));
printf("double%d\n",sizeof(double));system("Pause");reutrn0;}第18頁/共56頁20可以通過賦值操作來改變變量的值向變量中存儲信息的常用方法賦值表達(dá)式和賦值語句:變量
=
數(shù)據(jù)賦值運(yùn)算符不是等號將一個數(shù)值存入一個內(nèi)存單元x=90
;第19頁/共56頁21???????????????abcde0a=0a=6a=2+a68d=10d=d-a102inta,b,c,d,e;未初始化的變量不能直接使用,因?yàn)槠鋬?nèi)部的值不知道是什么。結(jié)果會是什么?#include<stdio.h>intmain(void){intx,y,sum;sum=x+y;printf(“sum=%d\n”,sum);return0;}第20頁/共56頁如何在顯示器上顯示我想讓計(jì)算機(jī)顯示的內(nèi)容?22第21頁/共56頁23輸出函數(shù)printf()——標(biāo)準(zhǔn)庫函數(shù)printf(格式字符串,輸出列表);需要輸出的數(shù)據(jù),可以是常量、變量或表達(dá)式描述要輸出的數(shù)據(jù)有哪些類型,以及它們將以什么格式輸出intx=29,y=40;(打算輸出x+y的結(jié)果)printf("%d",x+y);printf("%d+%d=%d",x,y,x+y);第22頁/共56頁24舉例#include<stdio.h>intmain(void){
intx=29,y=40;
printf("%d\n",x+y);printf("%d+%d=%d
\n",x,y,x+y);
return0;}2-5.c例:在屏幕上顯示一個加法算式:
29+40=?第23頁/共56頁25常用的轉(zhuǎn)換說明符轉(zhuǎn)換說明符含義對應(yīng)的數(shù)據(jù)類型%c單個字符char%s字符串char數(shù)組%d有符號的十進(jìn)制整數(shù)int、short
%f十進(jìn)制浮點(diǎn)數(shù)float%lf十進(jìn)制浮點(diǎn)數(shù)的長格式double、longdouble
%e十進(jìn)制浮點(diǎn)數(shù)的指數(shù)形式float、double格式(轉(zhuǎn)換)說明符:由“%”和一個字符組成第24頁/共56頁26輸出格式中經(jīng)常引用的轉(zhuǎn)義序列轉(zhuǎn)義序列含義說明轉(zhuǎn)義序列含義說明\n換行(LF)\b退格(BS)\t水平制表符(HT)\r回退到當(dāng)前行開始處第25頁/共56頁27由鍵盤向變量中存入數(shù)據(jù)的操作函數(shù)
——scanf()讀取鍵盤輸入的數(shù)據(jù),將數(shù)據(jù)存(寫)入對應(yīng)變量在內(nèi)存的存儲位置。scanf(格式字符串,(內(nèi)存)地址表);intx;scanf(“%d”,&x);intx,y;scanf(“%d%d”,&x,&y);第26頁/共56頁28舉例#include<stdio.h>intmain(void){
intdata1,data2;printf(“Entertwonumber:”);scanf(“%d%d”,&data1,&data2);
printf(“%d\n”,data1+data2);printf("%d+%d=%d
\n",data1,data2,data1+data2);
system(“Pause”);
return0;}2-5.c例:編寫一個執(zhí)行整數(shù)相加的加法程序。第27頁/共56頁29算術(shù)運(yùn)算中參加運(yùn)算的另一對象
——常量在程序執(zhí)行過程中其值不變的數(shù)據(jù)例如inty=7; x=y–100;
y=-0.63+x;
常量在程序中直接使用。C程序可中參加運(yùn)算的數(shù)據(jù)有兩種變量常量數(shù)值常量字符常量字符串常量第28頁/共56頁30常量的寫法十進(jìn)制數(shù)-39.9
+708
156.02
0八進(jìn)制數(shù)-037
0156
+0100
(以數(shù)字0開頭
)十六進(jìn)制數(shù)0x61
-0X2A0C
0x6d(以0x或0X開頭)
無符號數(shù)15U760u第29頁/共56頁31常量的寫法指數(shù)形式的常量指數(shù)形式是指:尾數(shù)、字母e或E、冪值等三個部分組成的實(shí)數(shù)。
-1.023e-2(即-1.023×10-2)尾數(shù)是十進(jìn)制整數(shù)或帶小數(shù)點(diǎn)的實(shí)數(shù)常量冪值部分為十進(jìn)制整型常量;冪值可以帶有正號“+”或負(fù)號“-”,正號一般省略不寫。
第30頁/共56頁32常量整型常量:無小數(shù)位的數(shù)值實(shí)型常量:可帶小數(shù)的數(shù)值(包括指數(shù)形式的實(shí)數(shù))例如:-0.0521.4003.206e-43.206E-4字符型常量:由一對英文單引號括起的一個字符'A''+''5''''\n'字符串常量:一對英文雙引號括起一個或多個字符(即多個字符形成的文本字符串)"Hello""No.35""6"第31頁/共56頁33符號常量符號常量:為常量建立一個標(biāo)識符(也就是給該常量取一個名字)。系統(tǒng)約定用大寫字母的形式。C程序是通過#define編譯預(yù)處理指令來定義符號常量。例如,在程序的開始處可以添加若干行編譯預(yù)處理指令去為常量建立符號名:
#define
符號名
常量值例如:#define
PI
3.14159#define
ER
2#define
IDCOD32頁/共56頁34符號常量的使用實(shí)例
#include<stdio.h>
#definePI3.14
/*PI將代表圓周率*/#defineR6/*R將代表半徑值6*/intmain(void){doublegirth,area;girth=2*R*PI;area=R*R*PI;printf("girth=%f,area=%f\n",girth,area);return0;}girth=2*6
*3.14;area=6
*6*3.14;編譯前的預(yù)處理——做自動替換第33頁/共56頁35信息讀寫基礎(chǔ)系統(tǒng)的輸入輸出函數(shù)都屬于C編譯器的標(biāo)準(zhǔn)庫函數(shù)2-4.c向屏幕輸出文本信息向屏幕輸出數(shù)據(jù)、文本信息讀取鍵盤輸入的數(shù)據(jù)向屏幕輸出個一個字符讀取鍵盤輸入的一個字符printf()輸出函數(shù)puts()輸出函數(shù)scanf()輸入函數(shù)putchar()
輸出函數(shù)getchar()輸入函數(shù)第34頁/共56頁36信息讀寫基礎(chǔ)2-4.c在使用標(biāo)準(zhǔn)庫函數(shù)時,要用編譯預(yù)處理指令
“#include”將有關(guān)的“頭文件”包括到用戶的源文件中。標(biāo)準(zhǔn)輸入輸出函數(shù)對應(yīng)的頭文件是stdio.h,所以在程序的開頭應(yīng)該寫有如下文件包含指令:
#include<stdio.h>第35頁/共56頁37輸出文本信息的函數(shù)puts()的用法:
puts(轉(zhuǎn)義字符和字符文本);#include<stdio.h>intmain(void){
puts("Hello\nworld!");
system("Pause");
return0;}轉(zhuǎn)義序列含義說明轉(zhuǎn)義序列含義說明\n換行(LF)\b退格(BS)\t水平制表符(HT)\r回退到當(dāng)前行開始處第36頁/共56頁38程序中輸出數(shù)據(jù)的函數(shù)2-4.c輸出函數(shù)的一般格式為:
printf(轉(zhuǎn)義字符和字面文本);
printf(格式字符串,輸出列表);“格式字符串”包括三種信息:①字面文本:為任何文本信息,它將按原本形式直接顯示②格式說明符:由“%”和一個字符組成,如%d、%f等。它的作用是將輸出的數(shù)據(jù)以指定的格式輸出。它總是由“%”字符開始。③轉(zhuǎn)義序列。能提供特殊格式控制的控制符號?!拜敵霰怼保?/p>
需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。第37頁/共56頁39常用的轉(zhuǎn)換說明符轉(zhuǎn)換說明符含義對應(yīng)的數(shù)據(jù)類型%c單個字符char%s字符串char數(shù)組%d有符號的十進(jìn)制整數(shù)int、short
%f十進(jìn)制浮點(diǎn)數(shù)float%lf十進(jìn)制浮點(diǎn)數(shù)的長格式double、longdouble
%e十進(jìn)制浮點(diǎn)數(shù)的指數(shù)形式float、double第38頁/共56頁40#include<stdio.h>intmain(void){inti;for(i=10;i<1000;i+=10){sleep(200);printf("\rHelloworld:%d",i);}system("Pause");return0;}第39頁/共56頁41使用輸出函數(shù)put()或printf()#include<stdio.h>intmain(void){
第一行顯示"Iamastudent."第二行顯示自己的姓名第三行顯示自己的學(xué)號第四行顯示自己的E-mail
return0;}2-4.c例:實(shí)現(xiàn)執(zhí)行程序去輸出個人基本信息。第40頁/共56頁42#include<stdio.h>intmain(void){ inta,b,c,d; a=3; c=b=a; a=b=c=d=6; a=c+(d=3*(b=5));printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); printf("a=%d,b=%d,\rc=%d,d=%d\n",a,b,c,d); return0;}第41頁/共56頁43程序中數(shù)據(jù)的輸入2-6.cscanf()函數(shù)作用:
讀取鍵盤輸入的數(shù)據(jù),按照變量在內(nèi)存的地址將變量的值存進(jìn)去。
一般格式:scanf(格式字符串,變量地址表);%f%d%c%lf%sr&取變量地址的運(yùn)算符變量r第42頁/共56頁442-8.c#include<stdio.h>intmain(void){intnum;printf("\nEnteryournumber:");
scanf("%d",&num);printf("\nYouareastudent.\n");printf("Yournumberis%d\n\n\n",num);system("Pause");return0;}練習(xí)第43頁/共56頁45#include<stdio.h>intmain(void){
floatx;do{printf("Inputx=");
scanf("%f",&x);if(x<0)x=-x;
printf(“|x|=%f\n",x);}while(x!=0);
return0;}2-6.c“&x”是變量x在內(nèi)存中的地址,&是取地址運(yùn)算符例計(jì)算:|x|第44頁/共56頁46字符數(shù)據(jù)的輸入輸出用putchar()函數(shù)向屏幕上輸出一個字符putchar函數(shù)(字符輸出函數(shù))的作用是向標(biāo)準(zhǔn)輸出設(shè)備(顯示器)輸出一個字符。一般形式為putchar(c);用getchar()函數(shù)接收從鍵盤輸入的一個字符getchar函數(shù)(字符輸入函數(shù))的作用是接收來自標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)輸入的一個字符。
getchar函數(shù)沒有參數(shù),一般形式為
c=getchar();函數(shù)執(zhí)行后,返回一個函數(shù)值為從鍵盤輸入的字符第45頁/共56頁47#include<stdio.h>intmain(void){charmy_c;
puts("請輸入一個字符:");my_c=getchar();
puts("\n\n你剛才輸入的字符是:");putchar(my_c);
printf("\n\n該字符的ASCII是:%d
\n\n",my_c);system("Pause");return0;}2-8.c例如:查看一個字符的ASCII碼。第46頁/共56頁#include<stdio.h>intmain(void){charonce;/*聲明一個字符變量*/
printf(“請輸入一個小寫字母:\n");once=getchar();
/*接收來自鍵盤的輸入*/
?putchar(once);
system("Pause");
return0;}例如:將小寫字母轉(zhuǎn)換為大寫字母/*如何做轉(zhuǎn)換*/第47頁/共56頁49#include<stdio.h>intmain(void){charmy_c;intasc;printf("\n\nPleaseenteracharacter:");my_c=getchar();printf("Inputacharacter:%c.\nOutputtheASCII:%d\n\n",my_c,my_c);printf("PleaseenteraASCIInumberofthecharacter:");scanf("%d",&asc);printf("ASCIIofacharacter:%d\n",asc);my_c=asc;printf("Outputthecharac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貨運(yùn)從業(yè)資格證考試模擬題及答案詳解
- 2025年山西貨運(yùn)從業(yè)資格考試題庫
- 2024年十一月船舶污油水回收處理環(huán)保責(zé)任劃分協(xié)議
- 渝長復(fù)線深基坑開挖安全專項(xiàng)施工方案1.14
- 2025年增亮膜項(xiàng)目建議書
- 就業(yè)市場趨勢:大學(xué)生關(guān)注點(diǎn)
- 青藏高原生態(tài)環(huán)境與水資源利用研究
- 生活垃圾發(fā)電的行業(yè)趨勢
- 寫作初中作文指導(dǎo)
- 未來就緒型供應(yīng)鏈:2025年及未來的四大戰(zhàn)略準(zhǔn)備路徑
- 2023年北京市農(nóng)林科學(xué)院事業(yè)單位招聘(共500題含答案解析)筆試歷年難、易錯考點(diǎn)試題含答案附詳解
- 尿崩癥診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 3D打印實(shí)訓(xùn)指導(dǎo)書
- 除草機(jī)器人簡介
- 當(dāng)代文學(xué)第一章1949-1966年的文學(xué)思潮
- 抽油井檢泵作業(yè)課件
- a320飛機(jī)空調(diào)系統(tǒng)工作原理與使用維護(hù)分析
- 施工機(jī)具進(jìn)場檢查驗(yàn)收記錄
- 《液壓與氣動技術(shù)項(xiàng)目教程》高職配套教學(xué)課件
- 2022年七步洗手法操作考核評分標(biāo)準(zhǔn)
- 過敏性紫癜的護(hù)理PPT課件(PPT 33頁)
評論
0/150
提交評論