亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語(yǔ)言

C語(yǔ)言源程序的結(jié)構(gòu)特點(diǎn)

時(shí)間:2024-11-04 10:48:53 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言源程序的結(jié)構(gòu)特點(diǎn)

  C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。以下是小編搜集的C語(yǔ)言源程序的結(jié)構(gòu)特點(diǎn),歡迎閱讀。

 。迷闯绦虻慕Y(jié)構(gòu)特點(diǎn)

  為了說(shuō)明C語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn),先看以下幾個(gè)程序。這幾個(gè)程 序由簡(jiǎn)到難,表現(xiàn)了C語(yǔ)言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個(gè)C源程序的基本部分和書(shū)寫(xiě)格式。

  main()

  {

  printf("c語(yǔ)言世界www.vcok.com,您好! ");

  }

  main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。每一個(gè)C源程序都必須有,且只能有一個(gè)主函數(shù)(main函數(shù))。函數(shù)調(diào)用語(yǔ)句,printf函數(shù)的功能是把要輸出的內(nèi)容送到顯示器去顯示。printf函數(shù)是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用。

  #include"stdio.h"

  #include"math.h"

  main()

  {

  double x,s;

  printf("input number: ");

  scanf("%lf",&x);

  s=sin(x);

  printf("sine of %lf is %lf ",x,s);

  }

  每行注釋

  include稱(chēng)為文件包含命令擴(kuò)展名為.h的文件也稱(chēng)為頭文件或首部文件

  定義兩個(gè)實(shí)數(shù)變量,以被后面程序使用

  顯示提示信息

  從鍵盤(pán)獲得一個(gè)實(shí)數(shù)x

  求x的正弦,并把它賦給變量s

  顯示程序運(yùn)算結(jié)果

  main函數(shù)結(jié)束

  程序的功能是從鍵盤(pán)輸入一個(gè)數(shù)x,求x的正弦值,然后輸出結(jié)果。在main()之前的兩行稱(chēng)為預(yù)處理命令(詳見(jiàn)后面)。預(yù)處理命令還有其它幾種,這里的include 稱(chēng)為文件包含命令,其意義是把尖括號(hào)""或引號(hào)<>內(nèi)指定的文件包含到本程序來(lái),成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為.h。因此也稱(chēng)為頭文件或首部文件。C語(yǔ)言的頭文件中包括了各個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個(gè)庫(kù)函數(shù)時(shí),都必須包含該函數(shù)原型所在的頭文件。在本例中,使用了三個(gè)庫(kù)函數(shù):輸入函數(shù)scanf,正弦函數(shù)sin,輸出函數(shù)printf。sin函數(shù)是數(shù)學(xué)函數(shù),其頭文件為math.h文件,因此在程序的主函數(shù)前用include命令包含了math.h。scanf和printf是標(biāo)準(zhǔn)輸入輸出函數(shù),其頭文件為stdio.h,在主函數(shù)前也用include命令包含了stdio.h文件。

  需要說(shuō)明的是,C語(yǔ)言規(guī)定對(duì)scanf和printf這兩個(gè)函數(shù)可以省去對(duì)其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函數(shù),也省略了包含命令。

  在例題中的主函數(shù)體中又分為兩部分,一部分為說(shuō)明部分,另一部分執(zhí)行部分。說(shuō)明是指變量的類(lèi)型說(shuō)明。例題中未使用任何變量,因此無(wú)說(shuō)明部分。C語(yǔ)言規(guī)定,源程序中所有用到的變量都必須先說(shuō)明,后使用,否則將會(huì)出錯(cuò)。這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)特點(diǎn),與解釋型的BASIC語(yǔ)言是不同的。說(shuō)明部分是C源程序結(jié)構(gòu)中很重要的組成部分。本例中使用了兩個(gè)變量x,s,用來(lái)表示輸入的自變量和sin函數(shù)值。由于sin函數(shù)要求這兩個(gè)量必須是雙精度浮點(diǎn)型,故用類(lèi)型說(shuō)明符double來(lái)說(shuō)明這兩個(gè)變量。說(shuō)明部分后的四行為執(zhí)行部分或稱(chēng)為執(zhí)行語(yǔ)句部分,用以完成程序的功能。執(zhí)行部分的第一行是輸出語(yǔ)句,調(diào)用printf函數(shù)在顯示器上輸出提示字符串,請(qǐng)操作人員輸入自變量x的值。第二行為輸入語(yǔ)句,調(diào)用scanf函數(shù),接受鍵盤(pán)上輸入的數(shù)并存入變量x中。第三行是調(diào)用sin函數(shù)并把函數(shù)值送到變量s中。第四行是用printf 函數(shù)輸出變量s的值,即x的正弦值。程序結(jié)束。

  printf("input number: ");

  scanf("%lf",'C10F10&x);

  s=sin(x);

  printf("sine of %lf is %lf ",'C10F10x,s);

  運(yùn)行本程序時(shí),首先在顯示器屏幕上給出提示串input number,這是由執(zhí)行部分的第一行完成的。用戶(hù)在提示下從鍵盤(pán)上鍵入某一數(shù),如5,按下回車(chē)鍵,接著在屏幕上給出計(jì)算結(jié)果。

  輸入和輸出函數(shù)

  在前兩個(gè)例子中用到了輸入和輸出函數(shù)scanf和 printf,在第三章中我們要詳細(xì)介紹。這里我們先簡(jiǎn)單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個(gè)函數(shù)分別稱(chēng)為格式輸入函數(shù)和格式輸出函數(shù)。其意義是按指定的格式輸入輸出值。因此,這兩個(gè)函數(shù)在括號(hào)中的參數(shù)表都由以下兩部分組成: “格式控制串”,參數(shù)表 格式控制串是一個(gè)字符串,必須用雙引號(hào)括起來(lái),它表示了輸入輸出量的數(shù)據(jù)類(lèi)型。各種類(lèi)型的格式表示法可參閱第三章。在printf函數(shù)中還可以在格式控制串內(nèi)出現(xiàn)非格式控制字符,這時(shí)在顯示屏幕上將原文照印。參數(shù)表中給出了輸入或輸出的量。當(dāng)有多個(gè)量時(shí),用逗號(hào)間隔。例如:

  printf("sine of %lf is %lf ",x,s);

  其中%lf為格式字符,表示按雙精度浮點(diǎn)數(shù)處理。它在格式串中兩次現(xiàn),對(duì)應(yīng)了x和s兩個(gè)變量。其余字符為非格式字符則照原樣輸出在屏幕上

  int max(int a,int b);

  main()

  {

  int x,y,z;

  printf("input two numbers: ");

  scanf("%d%d",&x,&y);

  z=max(x,y);

  printf("maxmum=%d",z);

  }

  int max(int a,int b)

  {

  if(a>b)return a;

  else return b;

  }

  此函數(shù)的功能是輸入兩個(gè)整數(shù),輸出其中的大數(shù)。

  /*函數(shù)說(shuō)明*/

  /*主函數(shù)*/

  /*變量說(shuō)明*/

  /*輸入x,y值*/

  /*調(diào)用max函數(shù)*/

  /*輸出*/

  /*定義max函數(shù)*/

  /*把結(jié)果返回主調(diào)函數(shù)*/

  上面例中程序的功能是由用戶(hù)輸入兩個(gè)整數(shù),程序執(zhí)行后輸出其中較大的數(shù)。本程序由兩個(gè)函數(shù)組成,主函數(shù)和max 函數(shù)。函數(shù)之間是并列關(guān)系?蓮闹骱瘮(shù)中調(diào)用其它函數(shù)。max 函數(shù)的功能是比較兩個(gè)數(shù),然后把較大的數(shù)返回給主函數(shù)。max 函數(shù)是一個(gè)用戶(hù)自定義函數(shù)。因此在主函數(shù)中要給出說(shuō)明(程序第三行)?梢(jiàn),在程序的說(shuō)明部分中,不僅可以有變量說(shuō)明,還可以有函數(shù)說(shuō)明。關(guān)于函數(shù)的詳細(xì)內(nèi)容將在第五章介紹。在程序的每行后用/*和*/括起來(lái)的內(nèi)容為注釋部分,程序不執(zhí)行注釋部分。

  上例中程序的執(zhí)行過(guò)程是,首先在屏幕上顯示提示串,請(qǐng)用戶(hù)輸入兩個(gè)數(shù),回車(chē)后由scanf函數(shù)語(yǔ)句接收這兩個(gè)數(shù)送入變量x,y中,然后調(diào)用max函數(shù),并把x,y 的值傳送給max函數(shù)的參數(shù)a,b。在max函數(shù)中比較a,b的大小,把大者返回給主函數(shù)的變量z,最后在屏幕上輸出z的值。

  C源程序的結(jié)構(gòu)特點(diǎn)

  1.一個(gè)C語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成。

  2.每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。

  3.一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè)main函數(shù),即主函數(shù)。

  4.源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。

  5.每一個(gè)說(shuō)明,每一個(gè)語(yǔ)句都必須以分號(hào)結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號(hào)“}”之后不能加分號(hào)。

  6.標(biāo)識(shí)符,關(guān)鍵字之間必須至少加一個(gè)空格以示間隔。若已有明顯的間隔符,也可不再加空格來(lái)間隔。

  書(shū)寫(xiě)程序時(shí)應(yīng)遵循的規(guī)則

  從書(shū)寫(xiě)清晰,便于閱讀,理解,維護(hù)的角度出發(fā),在書(shū)寫(xiě)程序時(shí) 應(yīng)遵循以下規(guī)則:

  1.一個(gè)說(shuō)明或一個(gè)語(yǔ)句占一行。

  2.用{} 括起來(lái)的部分,通常表示了程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行。

  3.低一層次的語(yǔ)句或說(shuō)明可比高一層次的語(yǔ)句或說(shuō)明縮進(jìn)若干格后書(shū)寫(xiě)。以便看起來(lái)更加清晰,增加程序的可讀性。在編程時(shí)應(yīng)力求遵循這些規(guī)則,以養(yǎng)成良好的編程風(fēng)格。

【C語(yǔ)言源程序的結(jié)構(gòu)特點(diǎn)】相關(guān)文章:

C語(yǔ)言中關(guān)于時(shí)間的函數(shù)08-19

C程序的語(yǔ)句06-14

16道嵌入式C語(yǔ)言經(jīng)典筆試題08-30

C語(yǔ)言的語(yǔ)言特點(diǎn)08-18

C語(yǔ)言的結(jié)構(gòu)10-14

Java語(yǔ)言的編程特點(diǎn)03-18

Java語(yǔ)言的基本特點(diǎn)07-30

Java語(yǔ)言基本特點(diǎn)06-01

Java語(yǔ)言特點(diǎn)07-10

C語(yǔ)言循環(huán)結(jié)構(gòu)11-04