最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C語言循環(huán)

2022-12-25 05:27 作者:虛云幻仙  | 我要投稿

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <math.h> // 包含數(shù)學(xué)計(jì)算常用函數(shù)的頭文件

#include <stdbool.h> // stdbool.h頭文件將bool作為_Bool類型的別名,定義了true/false常量,兼容c++

#include <string.h>


void show_$(int rows, int columns); // 函數(shù)原型,C語言書寫規(guī)范為先聲明函數(shù)原型,再寫main()函數(shù),在main()函數(shù)之后定義聲明的函數(shù),函數(shù)原型用于在main()函數(shù)中調(diào)用函數(shù)時告訴編譯器函數(shù)的返回值和參數(shù)

long square(int n);

void show_$2(void);

double func1(double d1, double d2);

int main(void)

{

int a = -5;

while (a) // whilt()判定的條件為真(非0)時執(zhí)行循環(huán),當(dāng)條件為假(0)時結(jié)束循環(huán),關(guān)系表達(dá)式3>2的值為true即1,而3<2的值為false即0,所以也可以用一個值而不是一個關(guān)系表達(dá)式來作為判定的條件

{

????a++;

????printf("a");

}

while (++a < 3)

????printf("\n循環(huán)內(nèi)只寫一條語句可以省略括號");

while (++a < 5); // 測試條件之后直接跟分號,單獨(dú)分號不寫表達(dá)式是空語句,程序在空語句上不會執(zhí)行任何事情,所以會進(jìn)行下一輪判定,不斷判定直到false

printf("\n%d\n", a);

; // 單獨(dú)寫一個分號是空語句

while (scanf("%d", &a) == 1) // 清理輸入隊(duì)列,假設(shè)想跳過輸入中所有的空白符號及整數(shù),利用scanf讀取到整數(shù)會返回1作為條件一直循環(huán)到讀取到非數(shù)字字符并放回輸入隊(duì)列,這時輸入隊(duì)列中的開頭字符一定不是數(shù)字了

????; // 將空語句和while分兩行顯示,增加可讀性,當(dāng)條件true執(zhí)行空語句直到條件false

scanf("%*s"); //跳過放回輸入隊(duì)列的非數(shù)字字符

printf("%f\n", pow(2.0, 3.0)); // pow(f1,f2)求冪運(yùn)算,參數(shù)和返回值都是double,返回f1的f2次冪

printf("%f\n", fabs(-1.0)); // fabs(double)求絕對值,參數(shù)和返回值是double

//while (true); //要使用true表示布爾值需要預(yù)處理包含stdbool.h頭文件,true值為1,false值為0

char ch[26]; // 聲明一個有26個char元素的char數(shù)組

for (int i = 0; i < 26; i++) //for循環(huán)格式:for(初始化語句;測試條件;更新/迭代){語句},for循環(huán)和while循環(huán)都是入口條件循環(huán),即先測試條件,為真再執(zhí)行循環(huán)

{

????ch[i] = 'a' + i; // 數(shù)組ch有26個元素,用[0]至[25]指代首個至最后一個元素,通過26次循環(huán)將a-z賦值給ch[0]到ch[25]

}

for (int i = 0; i < 26; i++)

{

????printf("%c", ch[i]); // 遍歷數(shù)組

}

printf("\n"); // 這時數(shù)組ch并不是字符串,因?yàn)槟┪瞔h[25]是字符'z'而不是空字符'\0'

ch[25] = '\0'; // 將數(shù)組末尾改為空字符,變成了存儲a-y的字符串

printf("%s\t%zd\n", ch, strlen(ch)); // 字符串長度為25,不包含末尾的空字符

int start = 5;

int end = 9;

do

{

????printf("%5d %5d %5d\n", start, start * start, start * start * start);

} while (start++ < end); // do-while循環(huán),出口條件循環(huán),先執(zhí)行循環(huán),再測試條件,所以至少會執(zhí)行一次循環(huán)中的語句

double d1, d2;

printf("輸入兩個浮點(diǎn)數(shù):");

while (scanf("%lf%lf", &d1, &d2)==2) //在一次scanf()函數(shù)中讀取兩個浮點(diǎn)數(shù),如果用戶輸入了一個值,scanf會繼續(xù)等待用戶輸入第二個值,只有輸入兩個數(shù)字或者輸入非數(shù)字非空白字符才可以結(jié)束scanf(),正確讀取兩個浮點(diǎn)數(shù)會返回2,用來判斷合法輸入

{

????printf("%.2f\n", func1(d1, d2));

}

printf("%d", scanf("%*s")); //跳過非數(shù)字字符,由于沒有賦值,雖然讀取到了字符,scanf()依然返回0

printf("Enter lower an upper integer limits:");

for (int a1 = 0, a2 = 0;scanf("%d%d", &a1, &a2), a1 < a2;) // for循環(huán)()括號內(nèi)的每部分語句可以用逗號分成多個表達(dá)式,int a1=0,a2=0聲明及初始化兩個變量,而scanf()語句和a1<a2是從左到右逐句執(zhí)行的,逗號是序列點(diǎn),運(yùn)行到逗號時會完成前面語句的執(zhí)行,所以會先讀取新的輸入給a1、a2再比較,而逗號表達(dá)式的值為最右側(cè)項(xiàng)的值,即對于逗號表達(dá)式scanf(),a1<a2 來說,無論scanf()返回什么值,逗號表達(dá)式的值都是最右側(cè)a1<a2條件表達(dá)式的值,for循環(huán)()括號中每一部分都可以省略,寫成for(;;)表示沒有初始化,沒有迭代因子,測試條件為true無限循環(huán)

{

????printf("The sums of the squares form %d to %d is ", a1 * a1, a2 * a2);

????int sum = a1 * a1;

????while (++a1<=a2)

????{

????????sum += a1 * a1; //sum+=a1*a1和表達(dá)式sum=sum+(a1*a1)等價,+= -= *= /= %=優(yōu)先級和賦值運(yùn)算符=相同,所以等號右側(cè)的表達(dá)式計(jì)算完才會執(zhí)行+=,比如sum%=1+2*3/4-5相當(dāng)于sum=sum%(1+2*3/4-5)

????} // sum+=a1*a1比 sum=sum+a1*a1更高效

????printf("%d\n", sum);

????printf("Enter lower an upper integer limits:");


}

return 0;

}

void show_$(int rows, int columns) {

for (int i = 0; i < rows; i++) // 嵌套循環(huán),外側(cè)循環(huán)負(fù)責(zé)打印一行并換行

{

????for (int j = 0; j < columns; j++) // 內(nèi)側(cè)循環(huán)負(fù)責(zé)打印一行中每列的內(nèi)容,每次外側(cè)循環(huán)迭代1次,內(nèi)側(cè)循環(huán)都會完整執(zhí)行

????{

????????printf("$ ");

????}

????printf("\n");

}

}

long square(int n) {

return (long)n * (long)n;

}

void show_$2(void) {

for (int i = 0; i < 5; i++)

{

????for (int j = 0; j <= i; j++)

????{

????????printf("$");

????}

????printf("\n");

}

//結(jié)果為

// $

// $$

// $$$

// $$$$

// $$$$$

}

double func1(double d1, double d2) {

return (d1 - d2) / d1 / d2;

}

void func2(void) { //單利與復(fù)利的比較

const double TEX1 = 0.1; //單利,每年固定漲10%,每年利息一樣

const double TEX2 = 0.05; //復(fù)利,每年利息是上一年本息和的5%

const double START = 100.0; //本金100

int year = 0;

double money1 = START, money2 = START; //第0年單利和復(fù)利都是100

printf("year %2d: %5.2f %5.2f\n", year, money1, money2);

for (money1 += START * TEX1, money2 *= 1 + TEX2, year++; money1 > money2; money1 += START * TEX1, money2 *= 1 + TEX2, year++) //初始化對三個變量進(jìn)行,直到復(fù)利本息和大于單利之前循環(huán),money1+=固定利息,money2*=105%每年是上一年的1.05倍

{

????printf("year %2d: %5.2f %5.2f\n", year, money1, money2);

}

printf("year %2d: %5.2f %5.2f\n", year, money1, money2); //第27年時復(fù)利超過單利

}


C語言循環(huán)的評論 (共 條)

分享到微博請遵守國家法律
喜德县| 盐山县| 肇庆市| 尼玛县| 台前县| 伊金霍洛旗| 富阳市| 策勒县| 神农架林区| 青冈县| 台安县| 哈密市| 天台县| 息烽县| 湾仔区| 浙江省| 宝清县| 隆安县| 囊谦县| 辽源市| 昔阳县| 安塞县| 东乌珠穆沁旗| 通化县| 曲周县| 陇西县| 丹东市| 景宁| 荃湾区| 罗城| 峨边| 梨树县| 肃宁县| 镇原县| 云南省| 太仆寺旗| 祁阳县| 郯城县| 山东省| 南京市| 望谟县|