中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

單片機(jī)開發(fā)之C語言概論

更新時間: 2019-03-23
閱讀量:1707

十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享單片機(jī)開發(fā)之C語言概論。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

C語言的發(fā)展過程

 ?。谜Z言是在70年代初問世的。一九七八年由美國電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標(biāo)準(zhǔn)。但是,在《K&R》中并沒有定義一個完整的標(biāo)準(zhǔn)C語言,后來由美國國家標(biāo)準(zhǔn)學(xué)會在此基礎(chǔ)上制定了一個C 語言標(biāo)準(zhǔn),于一九八三年發(fā)表。通常稱之為ANSI C。

當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言 

  早期的C語言主要是用于UNIX系統(tǒng)。由于C語言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識,到了八十年代,C開始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言之一。

C語言的特點(diǎn) 

 ?。谜Z言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。由于C語言實(shí)現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語言。 

C語言版本 

  目前最流行的C語言有以下幾種:
   ·Microsoft C 或稱 MS C
   ·Borland Turbo C 或稱 Turbo C
   ·AT&T C
  這些C語言版本不僅實(shí)現(xiàn)了ANSI C標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。

面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 

  在C的基礎(chǔ)上,一九八三年又由貝爾實(shí)驗(yàn)室的Bjarne Strou-strup推出了C++。 C++進(jìn)一步擴(kuò)充和完善了C語言,成為一種面向 對象的程序設(shè)計(jì)語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓栴}空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計(jì)不同的思維方式和編程方法。因而也增加了整個語言的復(fù)雜性,掌握起來有一定難度。 

C和C++ 

  但是,C是C++的基礎(chǔ),C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進(jìn)一步學(xué)習(xí)C++就能以一種熟悉的語法來學(xué)習(xí)面向?qū)ο蟮恼Z言,從而達(dá)到事半功倍的目的。

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

  為了說明C語言源程序結(jié)構(gòu)的特點(diǎn),先看以下幾個程序。這幾個程 序由簡到難,表現(xiàn)了C語言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個C源程序的基本部分和書寫格式。main()
{
printf("c語言世界www.vcok.com,您好!\n");
}
  main是主函數(shù)的函數(shù)名,表示這是一個主函數(shù)。每一個C源程序都必須有,且只能有一個主函數(shù)(main函數(shù))。函數(shù)調(diào)用語句,printf函數(shù)的功能是把要輸出的內(nèi)容送到顯示器去顯示。printf函數(shù)是一個由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用。

#include
#include
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}

每行注釋

include稱為文件包含命令擴(kuò)展名為.h的文件也稱為頭文件或首部文件
定義兩個實(shí)數(shù)變量,以被后面程序使用
顯示提示信息
從鍵盤獲得一個實(shí)數(shù)x
求x的正弦,并把它賦給變量s
顯示程序運(yùn)算結(jié)果
main函數(shù)結(jié)束

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

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

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

printf("input number:\n");
scanf("%lf",'C10F10&x);
s=sin(x);
printf("sine of %lf is %lf\n",'C10F10x,s);
  運(yùn)行本程序時,首先在顯示器屏幕上給出提示串input number,這是由執(zhí)行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數(shù),如5,按下回車鍵,接著在屏幕上給出計(jì)算結(jié)果。輸入和輸出函數(shù)

輸入和輸出函數(shù)

  在前兩個例子中用到了輸入和輸出函數(shù)scanf和 printf,在第三章中我們要詳細(xì)介紹。這里我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個函數(shù)分別稱為格式輸入函數(shù)和格式輸出函數(shù)。其意義是按指定的格式輸入輸出值。因此,這兩個函數(shù)在括號中的參數(shù)表都由以下兩部分組成: “格式控制串”,參數(shù)表  格式控制串是一個字符串,必須用雙引號括起來,它表示了輸入輸出量的數(shù)據(jù)類型。各種類型的格式表示法可參閱第三章。在printf函數(shù)中還可以在格式控制串內(nèi)出現(xiàn)非格式控制字符,這時在顯示屏幕上將原文照印。參數(shù)表中給出了輸入或輸出的量。當(dāng)有多個量時,用逗號間隔。例如:
printf("sine of %lf is %lf\n",x,s);
  其中%lf為格式字符,表示按雙精度浮點(diǎn)數(shù)處理。它在格式串中兩次現(xiàn),對應(yīng)了x和s兩個變量。其余字符為非格式字符則照原樣輸出在屏幕上
int max(int a,int b);
main(){

int x,y,z;
printf("input two numbers:\n");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ù)的功能是輸入兩個整數(shù),輸出其中的大數(shù)。
/*函數(shù)說明*/
/*主函數(shù)*/
/*變量說明*/
/*輸入x,y值*/
/*調(diào)用max函數(shù)*/
/*輸出*/
/*定義max函數(shù)*/
/*把結(jié)果返回主調(diào)函數(shù)*/
  上面例中程序的功能是由用戶輸入兩個整數(shù),程序執(zhí)行后輸出其中較大的數(shù)。本程序由兩個函數(shù)組成,主函數(shù)和max 函數(shù)。函數(shù)之間是并列關(guān)系??蓮闹骱瘮?shù)中調(diào)用其它函數(shù)。max 函數(shù)的功能是比較兩個數(shù),然后把較大的數(shù)返回給主函數(shù)。max 函數(shù)是一個用戶自定義函數(shù)。因此在主函數(shù)中要給出說明(程序第三行)??梢?,在程序的說明部分中,不僅可以有變量說明,還可以有函數(shù)說明。關(guān)于函數(shù)的詳細(xì)內(nèi)容將在第五章介紹。在程序的每行后用/*和*/括起來的內(nèi)容為注釋部分,程序不執(zhí)行注釋部分。 

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

长顺县| 铜山县| 孝昌县| 资中县| 靖西县| 鱼台县| 江北区| 浦江县| 清原| 鹿泉市| 进贤县| 星座| 阳泉市| 阿瓦提县| 道真| 武安市| 长子县| 泸西县| 道孚县| 石嘴山市| 平顶山市| 海盐县| 潮州市| 洞口县| 舞钢市| 佳木斯市| 甘谷县| 新沂市| 资中县| 赞皇县| 泊头市| 罗田县| 罗山县| 琼结县| 华坪县| 柳林县| 衡阳县| 西吉县| 德钦县| 三门县| 灌南县|