最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

初學(xué)C語(yǔ)言基本運(yùn)算和表達(dá)式

 更新時(shí)間:2019年08月08日 15:51:34   作者:啊源股  
在本文里小編給大家分享的是關(guān)于C語(yǔ)言基本運(yùn)算和表達(dá)式的相關(guān)知識(shí)點(diǎn),需要的朋友們跟著學(xué)習(xí)下。

導(dǎo)讀:程序要完成高級(jí)功能,首先要能夠做到基本的加減乘除。本章從程序中變量的概念開(kāi)始,結(jié)合之前學(xué)的輸出函數(shù)和新介紹的輸入函數(shù)制作簡(jiǎn)單人機(jī)交互程序,然后講解最基礎(chǔ)的加減法運(yùn)算,自制簡(jiǎn)單計(jì)算器程序練手。

5.1 變量

5.1.1 變量聲明定義與賦值表達(dá)式

上一章講了數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型要和變量結(jié)合在一起才能夠在C語(yǔ)言程序中體現(xiàn)出它們的作用,一般的變量是這樣定義的:

數(shù)據(jù)類(lèi)型 變量名;

變量名可以是26個(gè)字母中的任意一個(gè),也可以是非C語(yǔ)言關(guān)鍵詞的單詞或自定義字母組合,也可以加下劃線(xiàn)等等,我們就先用簡(jiǎn)單字母來(lái)命名吧,比如聲明一個(gè)整型的變量a,如下:

int a;

也可以定義多個(gè)變量,變量名之間用逗號(hào)隔開(kāi),最后加分號(hào)表示結(jié)束,如下:

int a,b,c,d;

也可以在定義變量的時(shí)候,直接賦值,這就要用上賦值表達(dá)式,如下:

int a = 3; 

賦值的意思就是賦予數(shù)值,也可以多個(gè)一起,如下:

int a = 3, b = 4, c = 5;

當(dāng)然也可以定義完變量后,再給變量賦值,如下:

int a;a = 3;

請(qǐng)注意,C語(yǔ)言中,規(guī)定變量定義必須是代碼的最開(kāi)始部分,比如以下在C語(yǔ)言不建議這么做,雖然剛才的方式用Dev-C++不會(huì)報(bào)錯(cuò),但是不代表別的編譯器不會(huì)報(bào)錯(cuò),如下:

#include <stdio.h> 
void main(){
printf("hello world"); 
int a = 10;
}

因?yàn)镃語(yǔ)言的編譯規(guī)則有多種,所以建議變量聲明定義放在代碼開(kāi)始部分,以下比較規(guī)范,

注意:C語(yǔ)言編譯標(biāo)準(zhǔn)隨著時(shí)代的變遷做幾次改變,如最開(kāi)始的C89然后有C99以及最新的C11,后續(xù)文章講解到編譯規(guī)則的時(shí)候再剖析這部分。

#include <stdio.h> 
void main(){
int a = 10; 
printf("hello world");
}

5.1.2 初識(shí)格式化輸出

如何查看變量的值,可以用debug的辦法(后續(xù)再講解用Dev-C++上斷點(diǎn)調(diào)試辦法),也可以通過(guò)printf這個(gè)C庫(kù)函數(shù)查看,代碼如下,運(yùn)行結(jié)果如圖5.1,

#include <stdio.h> 
void main(){
int a = 10;
printf("a = %d", a);
}

 

圖5.1  printf輸出情況

可以看出輸出為“a = 10”,在printf語(yǔ)句中,printf(“a = %d”, a);,其中“a = ”是要輸出的字符串,就像之前輸出“hello world”一樣,寫(xiě)什么就輸出什么,%d表示這段字符串后面輸出的變量值,按照十進(jìn)制整型輸出,下面來(lái)點(diǎn)復(fù)雜的,然后再解釋啥是格式控制符,代碼如下,運(yùn)行結(jié)果如圖5.2,

#include <stdio.h> 
void main(){
int a = 10;
int b = ‘c‘;
printf("a = %d, a = %x, b = %d, b = %c", a, a, b, b);
}

圖5.2  稍微復(fù)雜的printf輸出

按照一個(gè)蘿卜一個(gè)坑的原則,第一個(gè)“%d”對(duì)應(yīng)一個(gè)輸出“a”,第二個(gè)“%x”對(duì)應(yīng)下一個(gè)輸出選“a”,第三個(gè)“%d”對(duì)應(yīng)“b”,最后一個(gè)“%c”對(duì)應(yīng)“b”。請(qǐng)記住,一定要一一對(duì)應(yīng),否則會(huì)有意想不到的錯(cuò)誤哦。

C語(yǔ)言有規(guī)定格式控制符,在輸出函數(shù)printf(“”)的冒號(hào)“”里面,如果有百分號(hào)%號(hào)出現(xiàn),下一個(gè)字母會(huì)有它獨(dú)特的意義:

比如d,表示按照十進(jìn)制格式輸出,

比如x,表示按照十六進(jìn)制格式輸出,

比如c,表示按照單個(gè)字符格式輸出。。。。。。當(dāng)然還有很多,現(xiàn)在先介紹這些。

注意:字符一般會(huì)涉及ASCII碼表,這部分知識(shí)怕初學(xué)者負(fù)擔(dān)太重,放后面再介紹。

5.1.3 再來(lái)一個(gè)C庫(kù)函數(shù)scanf以及格式化輸入

屏幕顯示的程序中的數(shù)據(jù),叫做輸出,敲鍵盤(pán)傳入程序中的數(shù)據(jù),叫做輸入。輸出函數(shù)一般用printf,輸入函數(shù)一般用scanf。下面來(lái)寫(xiě)一段程序,程序大體思路是,先定義一個(gè)變量a,然后用輸入函數(shù)scanf給a賦值(通過(guò)鍵盤(pán)敲的數(shù)值),最后通過(guò)輸出函數(shù)printf在屏幕顯示a的數(shù)值,代碼如下:

 

#include <stdio.h>
void main(){
int a;
scanf("%d", &a);
printf("a = %d", a);
}

注意:scanf語(yǔ)句中,a前面有個(gè)字符是&,讀者可以看看鍵盤(pán)上那一排數(shù)字鍵,對(duì)了就在數(shù)字7這里,鍵盤(pán)要輸入&,可以通過(guò)按住鍵盤(pán)Shift鍵+數(shù)字鍵7,如圖5.4,

  

圖5.3  鍵盤(pán)

 

寫(xiě)好代碼后,編譯運(yùn)行,發(fā)現(xiàn)控制臺(tái)一片黑,如圖5.3,

圖5.4  控制臺(tái)一片黑

可以看到有個(gè)光標(biāo)在閃爍,請(qǐng)用鍵盤(pán)輸入123試試看,然后再按下回車(chē)按鍵,結(jié)果如圖5.4,

圖5.5  運(yùn)行結(jié)果

從結(jié)果上可以看出,輸出的“a = ”加上剛才鍵盤(pán)輸入的123一起在屏幕上顯示出來(lái),這就是最基本的輸入輸出函數(shù)的使用了。下面講解這段程序:

scanf中,變量前面有個(gè)符號(hào)“&”想必讓人產(chǎn)生了困擾,“&”符號(hào)叫做取地址符號(hào),之前講過(guò)內(nèi)存存放數(shù)據(jù)的,每個(gè)數(shù)據(jù)都有它的地址,希望后續(xù)講解指針的時(shí)候讀者會(huì)有更清晰的了解。希望讀者不用困擾,為什么不直接這么寫(xiě):scanf(“%d”, a),而要這么寫(xiě):scanf(“%d”, &a),差別在于是否有“&”,請(qǐng)先這么用著吧!

為了更加人性化,在scanf前添加一段printf提示即將輸入的字符格式,再添加char型格式輸入,下面一段代碼會(huì)比之前稍微復(fù)雜那么一點(diǎn)點(diǎn),

#include <stdio.h>
void main(){
int b;
char f;
printf("please input int and char data with , to separate : ");
scanf("%d, %c", &b, &f);
printf("b = %d, f = %c", b, f);
}

編譯運(yùn)行后,在提示語(yǔ)出現(xiàn)后,在冒號(hào):后面輸入400,k,運(yùn)行結(jié)果如圖5.5,

注意:在代碼的scanf中,有用逗號(hào),來(lái)隔開(kāi)b和f的取值,所以在屏幕輸入的時(shí)候,也要用逗號(hào)隔開(kāi)整型和字符型,最后回車(chē)鍵顯示結(jié)果。

圖5.6  運(yùn)行結(jié)果

這樣整型類(lèi)型的b就被賦值400,字符f就被賦值‘k'了。當(dāng)然讀者可以賦值不同的數(shù)值大小,請(qǐng)記住這些類(lèi)型的取值是有上下限制的,如果超過(guò)可能會(huì)有意想不到的后果,可以在第四章查看表4.1找到基本數(shù)據(jù)類(lèi)型的取值限制,至于字符可以輸入26個(gè)字母中的一個(gè),或者一些標(biāo)點(diǎn)符號(hào)等等。

以上知識(shí)點(diǎn)大家有沒(méi)有學(xué)會(huì)呢,感謝對(duì)腳本之家的支持。

相關(guān)文章

  • C++11/14如何使用typedef和using定義類(lèi)型別名和別名模版

    C++11/14如何使用typedef和using定義類(lèi)型別名和別名模版

    這篇文章主要介紹了C++11/14如何使用typedef和using定義類(lèi)型別名和別名模版
    2023-04-04
  • 用C/C++實(shí)現(xiàn)linux下檢測(cè)網(wǎng)絡(luò)接口狀態(tài)

    用C/C++實(shí)現(xiàn)linux下檢測(cè)網(wǎng)絡(luò)接口狀態(tài)

    這篇文章主要為大家詳細(xì)介紹了用c/c++實(shí)現(xiàn)linux下檢測(cè)網(wǎng)絡(luò)接口狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • C?++迭代器iterator在string中使用方法介紹

    C?++迭代器iterator在string中使用方法介紹

    迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類(lèi)型。迭代器是一個(gè)變量,提供對(duì)一個(gè)容器中的對(duì)象的(間接)訪(fǎng)問(wèn)方法,并且定義了容器中對(duì)象的范圍。迭代器可以指向容器中的某個(gè)元素,通過(guò)迭代器就可以對(duì)非數(shù)組(存儲(chǔ)空間不連續(xù))的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷
    2022-10-10
  • C++超詳細(xì)講解貪心策略的設(shè)計(jì)及解決會(huì)場(chǎng)安排問(wèn)題

    C++超詳細(xì)講解貪心策略的設(shè)計(jì)及解決會(huì)場(chǎng)安排問(wèn)題

    為了更好的應(yīng)對(duì)《算法設(shè)計(jì)與分析》這門(mén)課程,我把書(shū)上以及老師講過(guò)的案例都詳細(xì)的做一個(gè)重現(xiàn)及解剖,讓你熟記每一個(gè)潛在的考點(diǎn),希望能給大家?guī)椭?/div> 2022-05-05
  • 淺析操作系統(tǒng)中的虛擬地址與物理地址

    淺析操作系統(tǒng)中的虛擬地址與物理地址

    本文主要介紹了操作系統(tǒng)中的虛擬地址與物理地址。在早期的計(jì)算機(jī)中,要運(yùn)行一個(gè)程序,會(huì)把這些程序全都裝入內(nèi)存,程序都是直接運(yùn)行在內(nèi)存上的,也就是說(shuō)程序中訪(fǎng)問(wèn)的內(nèi)存地址都是實(shí)際的物理內(nèi)存地址。那當(dāng)程序同時(shí)運(yùn)行多個(gè)程序時(shí),操作系統(tǒng)是如何為這些程序分配內(nèi)存的呢
    2021-06-06
  • C++利用用埃式篩法求解素?cái)?shù)

    C++利用用埃式篩法求解素?cái)?shù)

    埃拉托斯特尼篩法,簡(jiǎn)稱(chēng)埃氏篩或愛(ài)氏篩,是一種由希臘數(shù)學(xué)家埃拉托斯特尼所提出的一種簡(jiǎn)單檢定素?cái)?shù)的算法。本文將利用這一算法實(shí)現(xiàn)求解素?cái)?shù),感興趣的可以了解一下
    2023-01-01
  • C語(yǔ)言運(yùn)用函數(shù)的遞歸實(shí)現(xiàn)漢諾塔

    C語(yǔ)言運(yùn)用函數(shù)的遞歸實(shí)現(xiàn)漢諾塔

    遞歸(recursive)函數(shù)是“自己調(diào)用自己”的函數(shù),無(wú)論是采用直接或間接調(diào)用方式。間接遞歸意味著函數(shù)調(diào)用另一個(gè)函數(shù)(然后可能又調(diào)用第三個(gè)函數(shù)等),最后又調(diào)用第一個(gè)函數(shù)。因?yàn)楹瘮?shù)不可以一直不停地調(diào)用自己,所以遞歸函數(shù)一定具備結(jié)束條件
    2022-07-07
  • c++11中std::move函數(shù)的使用

    c++11中std::move函數(shù)的使用

    本文主要介紹了c++11中std::move函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語(yǔ)言中strcmp的實(shí)現(xiàn)原型

    C語(yǔ)言中strcmp的實(shí)現(xiàn)原型

    這篇文章主要介紹了C語(yǔ)言中strcmp的實(shí)現(xiàn)原型的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分內(nèi)容,希望能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • C++ 使用CRC32檢測(cè)內(nèi)存映像完整性的實(shí)現(xiàn)步驟

    C++ 使用CRC32檢測(cè)內(nèi)存映像完整性的實(shí)現(xiàn)步驟

    當(dāng)我們使用動(dòng)態(tài)補(bǔ)丁的時(shí)候,那么內(nèi)存中同樣不存在校驗(yàn)效果,也就無(wú)法抵御對(duì)方動(dòng)態(tài)修改機(jī)器碼了,為了防止解密者直接對(duì)內(nèi)存打補(bǔ)丁,我們需要在硬盤(pán)校驗(yàn)的基礎(chǔ)上,增加內(nèi)存校驗(yàn),防止動(dòng)態(tài)補(bǔ)丁的運(yùn)用。
    2021-06-06

最新評(píng)論

壶关县| 萍乡市| 田阳县| 泰和县| 城市| 桓台县| 阿克苏市| 淅川县| 宁陵县| 丹棱县| 苗栗市| 通化市| 嵊州市| 株洲县| 淅川县| 浮梁县| 调兵山市| 清徐县| 金平| 周至县| 弥勒县| 共和县| 汉中市| 大荔县| 稻城县| 黔江区| 大悟县| 西城区| 额敏县| 六枝特区| 闵行区| 祁连县| 乐业县| 营口市| 晴隆县| 宝丰县| 卢湾区| 梁平县| 旅游| 广州市| 乌兰察布市|