RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言里函數(shù)的定義、子函數(shù)的使用及變量的作用域

C語(yǔ)言編程學(xué)習(xí)基地 ? 來(lái)源:C語(yǔ)言編程學(xué)習(xí)基地 ? 作者:C語(yǔ)言編程學(xué)習(xí)基地 ? 2022-04-28 11:23 ? 次閱讀

這篇介紹C語(yǔ)言里函數(shù)的定義、子函數(shù)的使用。接著介紹變量的作用域,定義全局變量、靜態(tài)變量、只讀變量、變量初始化等等。

一、函數(shù)定義

//定義一個(gè)函數(shù)int func(int a,int b){  }
<函數(shù)的返回值類型> <函數(shù)名稱>(函數(shù)的形參列表,....){  函數(shù)代碼主體部分;}

<函數(shù)的返回值類型>: 返回值類型可以是C語(yǔ)言支持任何類型?;緮?shù)據(jù)類型、指針、結(jié)構(gòu)體、枚舉…

如果函數(shù)執(zhí)行完畢,不需要返回值,可以將函數(shù)返回值類型聲明為空類型。Void

函數(shù)名稱 :不能與庫(kù)函數(shù)名稱沖突,命名規(guī)則與變量命名規(guī)則一樣。

函數(shù)的形參列表 :函數(shù)在執(zhí)行行傳入的參數(shù),類型與返回值類型定義方法一樣。

如果有多個(gè)形參,可以使用逗號(hào)隔開(kāi)

函數(shù)的返回值: 如果函數(shù)執(zhí)行完畢之后需要向調(diào)用處返回?cái)?shù)據(jù),可以使用return,該語(yǔ)句只能返回一個(gè)值。

#include int func(int,int);  //聲明func函數(shù)//int func(int a,int b);//聲明func函數(shù)
int main(void){  int a;  a=func(12.34,56.78); //形參傳入之后,會(huì)轉(zhuǎn)為整型  printf("a=%d
",a);  return 0;}
//定義一個(gè)函數(shù)int func(int a,int b){  int c;  c=a+b;  return c; //給調(diào)用者返回結(jié)果}

二、函數(shù)練習(xí)作業(yè)

(1)編寫(xiě)一個(gè)判斷某一年是否是閏年的函數(shù)。(條件: 能整除4且不能整除100 或者能整除400 )

#include int func_year(int year); //聲明函數(shù)int main(void){  int year; //c89標(biāo)準(zhǔn)  int err=0;  printf("輸入一個(gè)年份:");  scanf("%d",&year);  err=func_year(year);//調(diào)用函數(shù)  if(err==1)   {    printf("閏年!
");  }  else if(err==0)  {    printf("平年!
");  }  else  {    printf("輸入的年份錯(cuò)誤!
");  }  return 0;}

(2)該函數(shù)由主函數(shù)調(diào)用,判斷平年和閏年。

/*函數(shù)功能: 判斷平年和閏年返回值  : 0表示平年,1表示閏年,負(fù)數(shù)表示錯(cuò)誤*/int func_year(int year){  if(year<1900)return -1; //加一個(gè)限制條件  if((year%4==0&&year%100!=0)||year%400==0)  {    return 1;  }  return 0;}

(3)輸入一個(gè)華氏溫度,輸出攝氏溫度,計(jì)算公式為(華氏度-32)×5÷9 要求結(jié)果保留兩位小數(shù)。

#include float func_temp(float temp); //聲明函數(shù)int main(void){  float temp;  printf("輸入一個(gè)溫度值:");  scanf("%f",&temp);  printf("temp=%.2f
",func_temp(temp));  return 0;}
/*函數(shù)功能: 計(jì)算溫度返回值  : 攝氏度*/float func_temp(float temp){  //(華氏度-32)×5÷9  return (temp-32)*5/9.0;}

(4)封裝函數(shù),打印以下圖案:回文三角形,形參可以決定行數(shù)。

1

121

12321

1234321

(5)計(jì)算百分比與數(shù)據(jù)自動(dòng)轉(zhuǎn)換

#include int main(void){  float data;  data=(10/60.0)*100;  //運(yùn)算時(shí),需要一個(gè)數(shù)據(jù)是浮點(diǎn)數(shù),運(yùn)算中才可以使用浮點(diǎn)方式存儲(chǔ)  printf("data=%.0f%%
",data);  return 0;}

(6)函數(shù)返回值例子: 限定范圍

#include int func(int a);int main(void){  printf("%d
",func(200));  return 0;}
int func(int a){  return (a==100);  //限定范圍值為0和1}

三、 變量的作用域

3.1 全局變量和局部變量

  const int c;  //定義只讀變量  static int b; //定義靜態(tài)變量

說(shuō)明: 變量定義作用域分為全局變量和局部變量。

1.局部變量和全局變量名稱可以相同。

2.如果局部變量名稱與全局變量名稱相同,優(yōu)先使用局部變量。

#include void func(int);int data=123; //全局變量(公用變量)
int main(void){  int data=456; //局部變量  printf("data1=%d
",data);  func(666);  return 0;}
void func(int data){  printf("data2=%d
",data);}

3.2 只讀變量

#include void func(int);const int data=888; //只讀變量int main(void){  //data=666; 錯(cuò)誤的  printf("%d
",data);  return 0;}
void func(int data){  printf("data2=%d
",data);}

3.3 靜態(tài)變量

?靜態(tài)變量測(cè)試#include int func(void);int main(void){  int i,data;  for(i=0;i<5;i++)  {    data=func();  }  printf("data=%d
",data);  return 0;}
int func(void){  //int data=0; //局部變量,生命周期隨著函數(shù)調(diào)用結(jié)束而終止。  static int data=0; //靜態(tài)變量,生命周期與main函數(shù)一樣。     //static int data=0 只有第一次執(zhí)行有效  data++; //data=data+1  ,1  return data;}

3.4 靜態(tài)全局變量

#include 
//int data;  全局變量,可以在其他.c文件引用static int data=0; //靜態(tài)全局變量-----局部變量//靜態(tài)全局變量: 表示該data變量不能被其他文件所引用。//防止全局變量,重命名。
int main(void){  return 0;}

3.5 靜態(tài)函數(shù)

#include static int func(void);  
int main(void){  func();  return 0;}
//定義靜態(tài)函數(shù),表示該函數(shù)只能在本文件使用。static int func(void){  printf("123
");}

3.6 變量的初始化值

#include static int data1;  int data2;
int main(void){  int data3; //局部變量  static int data4;  printf("data1=%d
",data1); //0  printf("data2=%d
",data2); //0  printf("data3=%d
",data3); //未知值  printf("data4=%d
",data4); //0    int cnt;  //cnt++;  /*  for(i=0;i<5;i++)  {    if(xxxx)data3|=0x1;    data3<<=1;  }*/  return 0;}

-----------------------------------

著作權(quán)歸作者所有:來(lái)自51CTO博客作者DS小龍哥,原文鏈接:https://blog.51cto.com/u_11822586/5256783

寫(xiě)在最后:另外,對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開(kāi)始!

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

原文標(biāo)題:C語(yǔ)言干貨:函數(shù)知識(shí)詳解(變量的作用域,全局變量,靜態(tài)變量)

文章出處:【微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136680
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62569
  • 作用域
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6115

原文標(biāo)題:C語(yǔ)言干貨:函數(shù)知識(shí)詳解(變量的作用域,全局變量,靜態(tài)變量)

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    c語(yǔ)言變量作用和存儲(chǔ)類別

    c語(yǔ)言變量作用和存儲(chǔ)類別簡(jiǎn)述,很不錯(cuò)哦。
    發(fā)表于 07-14 17:12 ?0次下載

    c語(yǔ)言函數(shù)指針定義,指針函數(shù)函數(shù)指針的區(qū)別

     往往,我們一提到指針函數(shù)函數(shù)指針的時(shí)候,就有很多人弄不懂。下面就由小編詳細(xì)為大家介紹C語(yǔ)言函數(shù)指針,指針
    發(fā)表于 11-16 15:18 ?3624次閱讀

    C語(yǔ)言程序設(shè)計(jì)實(shí)用教程之函數(shù)詳細(xì)介紹和應(yīng)用

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言程序設(shè)計(jì)實(shí)用教程之函數(shù)詳細(xì)介紹和應(yīng)用內(nèi)容包括了:1 模塊化程序設(shè)計(jì)與函數(shù)2 函數(shù)
    發(fā)表于 10-31 18:04 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>程序設(shè)計(jì)實(shí)用教程之<b class='flag-5'>函數(shù)</b>詳細(xì)介紹和應(yīng)用

    C語(yǔ)言實(shí)用教程之函數(shù)的詳細(xì)資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言實(shí)用教程之函數(shù)的詳細(xì)資料說(shuō)明主要內(nèi)容包括了:1程序設(shè)計(jì)的藝術(shù)性,2函數(shù)定義與使用,3
    發(fā)表于 02-26 14:43 ?3次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>實(shí)用教程之<b class='flag-5'>函數(shù)</b>的詳細(xì)資料說(shuō)明

    C語(yǔ)言函數(shù)的實(shí)驗(yàn)詳細(xì)資料說(shuō)明

    實(shí)驗(yàn)?zāi)康暮鸵螅?)掌握C語(yǔ)言函數(shù)定義方法、函數(shù)的聲明及函數(shù)的調(diào)用方法。(2)掌握
    發(fā)表于 12-06 08:00 ?4次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>函數(shù)</b>的實(shí)驗(yàn)詳細(xì)資料說(shuō)明

    C語(yǔ)言教程之函數(shù)的詳細(xì)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語(yǔ)言教程之函數(shù)的詳細(xì)資料說(shuō)明包括了:1 函數(shù)概述 ,2 函 數(shù) 定 義 ,3 函數(shù)的調(diào)用 ,4
    發(fā)表于 03-21 15:39 ?9次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>教程之<b class='flag-5'>函數(shù)</b>的詳細(xì)資料說(shuō)明

    C語(yǔ)言中局部變量和全局變量

    全局變量也稱為外部變量,它是在函數(shù)外部定義變量。它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。其
    的頭像 發(fā)表于 10-15 10:48 ?5522次閱讀

    HS26Fxx-C_Demo_Code-中斷函數(shù)、中斷子函數(shù)定義與使用

    HS26Fxx-C_Demo_Code-中斷函數(shù)、中斷子函數(shù)定義與使用功能:定時(shí)器TC0中斷程序參考void __interrupt[0x08] Interrupt(void)//無(wú)
    發(fā)表于 12-27 19:25 ?9次下載
    HS26Fxx-<b class='flag-5'>C</b>_Demo_Code-中斷<b class='flag-5'>函數(shù)</b>、中斷<b class='flag-5'>子函數(shù)</b>的<b class='flag-5'>定義</b>與使用

    C語(yǔ)言變量作用

    。函數(shù)的形參也是局部變量。全局變量–global variable大括號(hào)以外的變量,作用定義
    發(fā)表于 01-13 14:58 ?0次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中<b class='flag-5'>變量</b>的<b class='flag-5'>作用</b><b class='flag-5'>域</b>

    python變量作用

    (Built-in) 內(nèi)建作用 變量/函數(shù) 的查找順序: L – E – G –B 意思是,在局部找不到的,便去局部外的局部作用
    的頭像 發(fā)表于 03-03 16:50 ?1588次閱讀

    C語(yǔ)言總結(jié)_函數(shù)知識(shí)

    這篇文章介紹函數(shù)定義、函數(shù)的傳參、函數(shù)的返回值、變量作用
    的頭像 發(fā)表于 08-14 09:33 ?770次閱讀

    C語(yǔ)言_函數(shù)封裝、變量作用

    這篇文章介紹C語(yǔ)言函數(shù)封裝以及變量作用、字符串的相關(guān)實(shí)戰(zhàn)練習(xí)。字符串轉(zhuǎn)整數(shù)、整數(shù)轉(zhuǎn)字符串、浮點(diǎn)
    的頭像 發(fā)表于 08-14 09:48 ?1233次閱讀

    C語(yǔ)言-函數(shù)定義、聲明、傳參

    C語(yǔ)言函數(shù)是非常重要的知識(shí)點(diǎn),一個(gè)完整的C語(yǔ)言程序就是由主
    的頭像 發(fā)表于 08-14 09:57 ?1933次閱讀

    C語(yǔ)言函數(shù)調(diào)用的形式及過(guò)程

    C語(yǔ)言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 在調(diào)用有參函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞關(guān)系。
    的頭像 發(fā)表于 03-10 14:28 ?1730次閱讀

    空閑任務(wù)鉤子函數(shù)詳解

    的話就什么也不用管,鉤子函數(shù)是一個(gè)可選功能,可以通過(guò)宏定義來(lái)選擇使用哪個(gè)鉤子函數(shù),可選的鉤子函數(shù)如表所示: 鉤子函數(shù)的使用方法基本相同,用戶
    的頭像 發(fā)表于 07-30 10:57 ?1055次閱讀
    空閑任務(wù)鉤<b class='flag-5'>子函數(shù)</b>詳解
    RM新时代网站-首页