在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言里函數的定義、子函數的使用及變量的作用域

C語言編程學習基地 ? 來源:C語言編程學習基地 ? 作者:C語言編程學習基地 ? 2022-04-28 11:23 ? 次閱讀

這篇介紹C語言里函數的定義、子函數的使用。接著介紹變量的作用域,定義全局變量、靜態變量、只讀變量、變量初始化等等。

一、函數定義

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

<函數的返回值類型>: 返回值類型可以是C語言支持任何類型。基本數據類型、指針、結構體、枚舉…

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

函數名稱 :不能與庫函數名稱沖突,命名規則與變量命名規則一樣。

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

如果有多個形參,可以使用逗號隔開

函數的返回值: 如果函數執行完畢之后需要向調用處返回數據,可以使用return,該語句只能返回一個值。

#include int func(int,int);  //聲明func函數//int func(int a,int b);//聲明func函數
int main(void){  int a;  a=func(12.34,56.78); //形參傳入之后,會轉為整型  printf("a=%d
",a);  return 0;}
//定義一個函數int func(int a,int b){  int c;  c=a+b;  return c; //給調用者返回結果}

二、函數練習作業

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

#include int func_year(int year); //聲明函數int main(void){  int year; //c89標準  int err=0;  printf("輸入一個年份:");  scanf("%d",&year);  err=func_year(year);//調用函數  if(err==1)   {    printf("閏年!
");  }  else if(err==0)  {    printf("平年!
");  }  else  {    printf("輸入的年份錯誤!
");  }  return 0;}

(2)該函數由主函數調用,判斷平年和閏年。

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

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

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

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

1

121

12321

1234321

(5)計算百分比與數據自動轉換

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

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

#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; //定義靜態變量

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

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

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

#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; 錯誤的  printf("%d
",data);  return 0;}
void func(int data){  printf("data2=%d
",data);}

3.3 靜態變量

?靜態變量測試#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; //局部變量,生命周期隨著函數調用結束而終止。  static int data=0; //靜態變量,生命周期與main函數一樣。     //static int data=0 只有第一次執行有效  data++; //data=data+1  ,1  return data;}

3.4 靜態全局變量

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

3.5 靜態函數

#include static int func(void);  
int main(void){  func();  return 0;}
//定義靜態函數,表示該函數只能在本文件使用。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;}

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

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

寫在最后:另外,對于準備學習C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內功)不妨從現在開始!

整理分享(多年學習的源碼、項目實戰視頻、項目筆記,基礎入門教程

歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!

原文標題:C語言干貨:函數知識詳解(變量的作用域,全局變量,靜態變量)

文章出處:【微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137714
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62971
  • 作用域
    +關注

    關注

    0

    文章

    6

    瀏覽量

    6143

原文標題:C語言干貨:函數知識詳解(變量的作用域,全局變量,靜態變量)

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    c語言變量作用和存儲類別

    c語言變量作用和存儲類別簡述,很不錯哦。
    發表于 07-14 17:12 ?0次下載

    c語言函數指針定義,指針函數函數指針的區別

     往往,我們一提到指針函數函數指針的時候,就有很多人弄不懂。下面就由小編詳細為大家介紹C語言函數指針,指針
    發表于 11-16 15:18 ?3639次閱讀

    C語言程序設計實用教程之函數詳細介紹和應用

    本文檔的主要內容詳細介紹的是C語言程序設計實用教程之函數詳細介紹和應用內容包括了:1 模塊化程序設計與函數2 函數
    發表于 10-31 18:04 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>程序設計實用教程之<b class='flag-5'>函數</b>詳細介紹和應用

    C語言實用教程之函數的詳細資料說明

    本文檔詳細介紹的是C語言實用教程之函數的詳細資料說明主要內容包括了:1程序設計的藝術性,2函數定義與使用,3
    發表于 02-26 14:43 ?3次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>實用教程之<b class='flag-5'>函數</b>的詳細資料說明

    C語言函數的實驗詳細資料說明

    實驗目的和要求(1)掌握C語言函數定義方法、函數的聲明及函數的調用方法。(2)掌握
    發表于 12-06 08:00 ?4次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>函數</b>的實驗詳細資料說明

    C語言教程之函數的詳細資料說明

    本文檔的主要內容詳細介紹的是C語言教程之函數的詳細資料說明包括了:1 函數概述 ,2 函 數 定 義 ,3 函數的調用 ,4
    發表于 03-21 15:39 ?9次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>教程之<b class='flag-5'>函數</b>的詳細資料說明

    C語言中局部變量和全局變量

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

    HS26Fxx-C_Demo_Code-中斷函數、中斷子函數定義與使用

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

    C語言變量作用

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

    python變量作用

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

    C語言總結_函數知識

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

    C語言_函數封裝、變量作用

    這篇文章介紹C語言函數封裝以及變量作用、字符串的相關實戰練習。字符串轉整數、整數轉字符串、浮點
    的頭像 發表于 08-14 09:48 ?1275次閱讀

    C語言-函數定義、聲明、傳參

    C語言函數是非常重要的知識點,一個完整的C語言程序就是由主
    的頭像 發表于 08-14 09:57 ?2008次閱讀

    C語言函數調用的形式及過程

    C語言函數調用時的數據傳遞 在調用有參函數時,主調函數和被調函數之間有數據傳遞關系。
    的頭像 發表于 03-10 14:28 ?1897次閱讀

    空閑任務鉤子函數詳解

    的話就什么也不用管,鉤子函數是一個可選功能,可以通過宏定義來選擇使用哪個鉤子函數,可選的鉤子函數如表所示: 鉤子函數的使用方法基本相同,用戶
    的頭像 發表于 07-30 10:57 ?1131次閱讀
    空閑任務鉤<b class='flag-5'>子函數</b>詳解
    主站蜘蛛池模板: 男男全肉高h腐文 | 亚洲第一视频在线 | 五月婷婷视频在线 | 国产在线色视频 | 久久国产香蕉一区精品 | 在线观看永久免费视频网站 | 一级 黄 色 片免费 一级@片 | 婷婷综合影院 | 国产图片区 | 永久视频免费 | 欧美性白人极品1819hd高清 | 黄色网页在线观看 | 天天天天操 | 一区二区三区四区在线观看视频 | 美女屁屁免费视频网站 | 香港三级理论在线影院 | 日韩毛片免费视频一级特黄 | 国产99热 | 欧美一区二区三区成人看不卡 | 欧美性猛交aa一级 | 国产小毛片 | 婷婷的五月 | 国内真实实拍伦视频在线观看 | 拍真实国产伦偷精品 | 黄页网站视频免费 视频 | 特黄一级黄色片 | 欧美爱爱网址 | 国产真实乱在线更新 | 久久夜色tv网站免费影院 | 日韩三级免费 | 欧美福利专区 | 伊人久久综合网亚洲 | 一级毛片黄色片 | 久久精品99无色码中文字幕 | 日日插夜夜爽 | 亚洲国产欧美日韩一区二区三区 | 成人黄色免费看 | 天天干天天操天天操 | 日本吻胸抓胸激烈视频网站 | 国产毛片久久久久久国产毛片 | 日日躁夜夜躁狠狠天天 |