#include?stdio.h
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出永興免費(fèi)做網(wǎng)站回饋大家。
#include?conio.h
/*?輾轉(zhuǎn)相除法求最大公約數(shù)?*/
int?gcd?(int?m,?int?n)?{
if?(n)
while((m?%=?n)??(n?%=?m));?/*?兩數(shù)反復(fù)相除取余,直至被整除?*/
return?m+n;
}
int?lcm?(int?m,?int?n)?{
return?m?*?n?/?gcd?(m,?n);
}
int?main?(void)?{
int?m,?n;
int?gcdnum,?lcmnum;?/*?最大公約數(shù)、最小公倍數(shù)?*/
m?=?252;?n?=?105;?/*?最大公約數(shù)為21,最小公倍數(shù)為1260?*/
gcdnum?=?gcd?(m,?n);
lcmnum?=?lcm?(m,?n);
printf?("%d?%d\n",?m,?n);
printf?("The?gcd?is?%d\n",?gcdnum);
printf?("The?lcm?is?%d\n",?lcmnum);
getch?();?/*屏幕暫留*/
return?0;
}
前面我們說的都是無參數(shù)無返回值的函數(shù),實(shí)際程序中,我們經(jīng)常使用到帶參數(shù)有返回值的函數(shù)。
一、函數(shù)參數(shù)傳遞
1.形式參數(shù)和實(shí)際參數(shù)
函數(shù)的調(diào)用值把一些表達(dá)式作為參數(shù)傳遞給函數(shù)。函數(shù)定義中的參數(shù)是形式參數(shù),函數(shù)的調(diào)用者提供給函數(shù)的參數(shù)叫實(shí)際參數(shù)。在函數(shù)調(diào)用之前,實(shí)際參數(shù)的值將被拷貝到這些形式參數(shù)中。
2.參數(shù)傳遞
先看一個(gè)例子:
void a(int); /*注意函數(shù)聲明的形式*/
main()
{
int num;
scanf("%d",num);
a(num); /*注意調(diào)用形式*/
}
void a(int num_back) /*注意定義形式*/
{
printf("%d\n",num_back);
}
在主函數(shù)中,先定義一個(gè)變量,然后輸入一個(gè)值,在a()這個(gè)函數(shù)中輸出。當(dāng)程序運(yùn)行a(num);這一步時(shí),把num的值賦值給num_back,在運(yùn)行程序過程中,把實(shí)際參數(shù)的值傳給形式參數(shù),這就是函數(shù)參數(shù)的傳遞。
形參和實(shí)參可能不只一個(gè),如果多于一個(gè)時(shí),函數(shù)聲明、調(diào)用、定義的形式都要一一對(duì)應(yīng),不僅個(gè)數(shù)要對(duì)應(yīng),參數(shù)的數(shù)據(jù)類型也要對(duì)應(yīng)。
void a(int,float);
main()
{
int num1;
float num2;
scanf("%d",num1);
scanf("%f",num2);
a(num1,num2);
}
void a(int num1_back,float num2_back)
{
printf("%d,%f\n",num1_back,num2_back);
}
上面的例子中,函數(shù)有兩個(gè)參數(shù),一個(gè)是整型,一個(gè)是浮點(diǎn)型,那么在聲明、調(diào)用、定義的時(shí)候,不僅個(gè)數(shù)要一樣,類型也要對(duì)應(yīng)。如果不對(duì)應(yīng),有可能使的編譯錯(cuò)誤,即使沒錯(cuò)誤,也有可能讓數(shù)據(jù)傳遞過程中出現(xiàn)錯(cuò)誤。
再看一個(gè)例子:
void a(int);
main()
{
int num;
scanf("%d",num);
a(num);
}
void a(int num)
{
printf("%d\n",num);
}
看上面的例子,形式參數(shù)和實(shí)際參數(shù)的標(biāo)識(shí)符都是num,程序把實(shí)際參數(shù)num的值傳遞給形式參數(shù)num。有些人可能就不明白了,既然兩個(gè)都是num,為什么還要傳遞呢?干脆這樣不就行了嗎:
void a();
main()
{
int num;
scanf("%d",num);
a();
}
void a()
{
printf("%d\n",num);
}
其實(shí)不然,這就要涉及到標(biāo)識(shí)符作用域的問題。作用域的意思就是說,哪些變量在哪些范圍內(nèi)有效。一個(gè)標(biāo)識(shí)符在一個(gè)語句塊中聲明,那么這個(gè)標(biāo)識(shí)符僅在當(dāng)前和更低的語句塊中可見,在函數(shù)外部的其實(shí)地方不可見,其他地方同名的標(biāo)識(shí)符不受影響,后面我們會(huì)系統(tǒng)講解作用域的問題。在這兒你就要知道兩個(gè)同名的變量在不同的函數(shù)中是互不干擾的。
前面將的都是變量與變量之間的值傳遞,其實(shí)函數(shù)也可以傳遞數(shù)組之間的值。看下面的例子:
void a(int []);
main()
{
int array[5],i;
for(i=0;i5;i++) scanf("%d",array[i]);
a(array);
}
void a(int array[])
{
int i;
for(i=0;i5;i++) printf("%d\t",array[i]);
printf("\n");
}
#include stdio.h #include math.h void main() { float x; double y; printf("Please input the value of x:"); scanf("%f",x); if(x=-10x=4) { y=fabs(x-2); printf("y=%.2f\n",y); } else if(x=5x=7) { y=x+10; printf("y=%.2f\n",y); } else if(x=8x=12) { y=pow(x,4); printf("y=%.2f\n",y); } else printf("No answer\n"); }
采納哦
簡(jiǎn)單易操作的程序如下:
輸入幾月幾日,計(jì)算是2018年的第幾天。
#include?stdio.h
int?main(int?argc?,char?*?argv[]){
int?month,day,days=0;
printf("輸入月");
scanf("%d",month);
printf("輸入日");
scanf("%d",day);
switch(month-1){
case?11:days+=30;
case?10:days+=31;
case?9:days+=30;
case?8:days+=31;
case?7:days+=31;
case?6:days+=30;
case?5:days+=31;
case?4:days+=30;
case?3:days+=31;
case?2:days+=29;
case?1:days+=31;
default:days+=day;break;
}
printf("這一天是2018年的第%d天\n",days);
return?0;
C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。
拓展資料:
C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語言。在表達(dá)式方面較其它程序語言更為簡(jiǎn)潔,如自加、自減、逗號(hào)運(yùn)算和三目運(yùn)算使表達(dá)式更為簡(jiǎn)單,但初學(xué)者往往會(huì)覺的這種表達(dá)式難讀,關(guān)鍵原因就是對(duì)運(yùn)算符和運(yùn)算順序理解不透不全。
當(dāng)多種不同運(yùn)算組成一個(gè)運(yùn)算表達(dá)式,即一個(gè)運(yùn)算式中出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。在學(xué)習(xí)中,對(duì)此合理進(jìn)行分類,找出它們與數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會(huì)牢記心中,將來用起來得心應(yīng)手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。