c primer plus 專題6:循環

1 while 循環

#include <stdio.h>

int main(void)
{
    long num;
    long sum = 0L;          /* 把 sum 初始化爲 0 */
    int status; 

    printf("Please enter a integer to be summed ");
    printf("(q to quit): ");
    status = scanf("%ld", &num);
    while (status == 1)
    {
        sum = sum + num;
        printf("Current sum is %d.\n", sum);
        printf("Please enter next integer (q to quit): ");
        status = scanf("%ld", &num);
    }
    printf("Total sum is %d.\n", sum);

    return 0;
}
// 可以替換循環主體
while (scanf("%ld", &num) == 1)
{
    /* 循環主體 */
}

程序說明:

注意,while 循環,只有跟在測試條件後面的第一條語句,纔是循環的一部分。

while 循環接空語句:

關係運算符:

注意,比較浮點數的大小時,儘量只使用 > 或 < ,不要使用 == (因爲有舍入誤差)

優先級:

2 for 循環(計數循環)

1 for 循環簡介

2 for 循環的靈活使用

// 一次遞增多個數
for (n = 2; n <= 60; n = n + 13)
    printf("%d \n", n);

// 遞增量幾何增長
for (debt = 100.0f; debt < 150.0f; debt = debt * 1.1f)
{
    printf("Your debt is now $%.2f.\n", debt);
}

// ASCII 字符遞增
for (ch = 'a', ch <= 'z', ch++)
    printf("The ASCII value of %c is %d.\n", ch, ch);

省略表達式

3 其他賦值運算符 +=   -=   /=

4 逗號運算符

逗號運算符把兩個表達式連接成一個表達式,並保證最左邊的表達式最先求值。逗號運算符通常在 for 循環的表達式中包含更多的信息,整個逗號表達式的值是逗號右側表達式的值。

逗號運算符是一個序列點,能夠保證從左至右求值。

逗號表達式的值,是右側項的值。

3 do while 循環

do while 循環結構

4 嵌套循環

打印九九乘法表

#include <stdio.h>

int main(void)
{
	int row, col;

	for (row = 1; row <= 9; row++)
	{
		for (col = 1; col <= row; col++)
		{
			printf("%d×%d=%2d  ", row, col, row * col);
		}
		printf("\n");
	}
	printf("Done!\n");

	return 0;
}

執行結果

5 數組簡介

使用帶返回值的函數

// power.c -- 計算數的整數次冪
#include <stdio.h>
double power(double x, int n);
int main(void)
{
	int n; 
	double x, pow;

	printf("Enter x (double) and n (int) or (q to quit): ");
	while (scanf("%lf%d", &x, &n) == 2)
	{
		pow = power(x, n);
		printf("%f ^ %d = %f\n", x, n, pow);
		printf("Enter x (double) and n (int) or (q to quit): ");
	}
	printf("Done!\n");

	return 0;
}

double power(double x, int n)
{
	int i;
	double pow = 1.0;

	for (i = 1; i <= n; i++)
		pow *= x;

	return pow;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章