说说 C 语言中的变量与算术表达式
我們先來寫一個(gè)程序,打印英里與公里之間的對(duì)應(yīng)關(guān)系表。公式:1 mile=1.61 km
程序如下:
#include <stdio.h>/* print Mile to Kilometre table*/ main() {float mile, kilometre;int lower = 0;//lower limitint upper = 1000;//upper limitint step = 30;//step sizeprintf("Mile Kilometre\n");mile = lower;while (mile <= upper) {kilometre = 1.61 * mile;printf("%3.0f %6.1f\n", mile, kilometre);mile = mile + step;} } 復(fù)制代碼在 CLion 中按下 shift + F10 進(jìn)行編譯運(yùn)行代碼哦O(∩_∩)O~
如果在 Clion 中出現(xiàn) error: ld returned 1 exit status, 可能是因?yàn)橹俺绦蜻€在運(yùn)行導(dǎo)致的,只要關(guān)閉這個(gè)程序,重新執(zhí)行即可。
輸出結(jié)果:
下面我們對(duì)這段示例代碼進(jìn)行分析:
/* print Mile to Kilometre table*/ 復(fù)制代碼/* */ 表示多行注釋;// 表示單行注釋;注釋之間的字符序列會(huì)被編譯器忽略。 良好的注釋,使得程序更便于理解。
float mile, kilometre; 復(fù)制代碼所有變量都必須先聲明后使用,通常在函數(shù)起始處聲明變量。聲明是由類型名與變量名組成。
| short | 短整型 |
| int | 整型 |
| long | 長(zhǎng)整型 |
| char | 字符型 |
| float | 單精度浮點(diǎn)型 |
| double | 雙精度浮點(diǎn)型 |
這些數(shù)據(jù)類型的大小取決于具體機(jī)器。
int lower = 0;//lower limit int upper = 1000;//upper limit int step = 30;//step size 復(fù)制代碼這里在定義變量的同時(shí),為它們?cè)O(shè)定了初始值。
while (mile <= upper) {... } 復(fù)制代碼正確的縮進(jìn)以及保留適當(dāng)?shù)目崭?#xff0c;可以有效地提升程序的易讀性。在 CLion 中,可以使用 ctrl + shift + L,對(duì)代碼進(jìn)行排版美化。建議每行只書寫一條語句。
printf("%3.0f %6.1f\n", mile, kilometre); 復(fù)制代碼- printf 是格式化輸出函數(shù)。
- printf 的第一個(gè)參數(shù)是待打印字符串,其中每一個(gè)百分號(hào)表示后續(xù)參數(shù)(第二個(gè)參數(shù)、第三個(gè)參數(shù),以此類推)的替換位置,這些參數(shù)必須在類型與數(shù)目上相匹配;其余部分是打印格式。
- ANSI 標(biāo)準(zhǔn)定義了 printf 函數(shù)的行為。
- %3.0f 表示待打印的浮點(diǎn)數(shù)至少占 3 個(gè)字符,不包括小數(shù)點(diǎn)與小數(shù)。
- %6.1f 表示待打印的浮點(diǎn)數(shù)至少占 6 個(gè)字符,包括小數(shù)點(diǎn)與 1 位小數(shù)。
| %d | 整數(shù) |
| %f | 浮點(diǎn)數(shù) |
| %o | 八進(jìn)制數(shù) |
| %x | 十六進(jìn)制數(shù) |
| %c | 字符 |
| %s | 字符串 |
| %% | 百分號(hào)本身 |
- 如果某個(gè)算術(shù)運(yùn)算符的所有操作數(shù)均為整型,那么直接執(zhí)行整型運(yùn)算。
- 如果某個(gè)算術(shù)運(yùn)算符一邊為整型,另一邊為浮點(diǎn)型(如上代碼所示),那么在開始運(yùn)算之前,整型操作數(shù)會(huì)被轉(zhuǎn)化為浮點(diǎn)型。
現(xiàn)在讓我們編寫一個(gè)打印從英里到公里的對(duì)照表吧:
#include <stdio.h>/* print kilometre to mile table*/ main() {float mile, kilometre;int lower = 0;//lower limitint upper = 1000;//upper limitint step = 30;//step sizeprintf("Mile Kilometre\n");kilometre = lower;while (kilometre <= upper) {mile = kilometre / 1.61;printf("%3.0f %6.1f\n", kilometre, mile);kilometre = kilometre + step;}復(fù)制代碼輸出結(jié)果:
原理相同,只不過這次是以“公里”作為遞增項(xiàng)和范圍限制的對(duì)象而已O(∩_∩)O~
總結(jié)
以上是生活随笔為你收集整理的说说 C 语言中的变量与算术表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到鬼是什么意思
- 下一篇: Adobe After Effects