日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言一看就懂的選擇與循環語句及函數介紹_C 語言

作者:王小王-123 ? 更新時間: 2022-06-23 編程語言

選擇語句

什么是選擇語句呢?只要是你學過編程語言的,就知道選擇語句是程序的靈魂之一,差不多大多是的程序都需要用到這個語句。

一般來說,C語言的選擇語句的結構是,if 、else if、 else

每一個條件后面都需要按照標準的語法格式進行書寫,其次除了else后面不需要加括號條件之后,其他的都需要加入條件。

看一下下面的嚴格語法,在書寫的過程中,我們需要按照嚴格標準繼續編碼,不要隨心所欲的寫代碼,注意格式!

#include <stdio.h>
int main()
{
	int coding = 0;
	printf("你會去敲代碼嗎?(選擇1 or 0):>");
	scanf("%d", &coding);
	if (coding == 1)
	{
		printf("堅持,你的夢想就會成功!\n");
	}
	else if (coding == 0) {
		printf("你的夢想可能不會實現!\n");
	}
	else
	{
		printf("輸入錯誤?。n");
	}
	return 0;
}

循環語句

在計算機中,除了選擇語句比較的比較經典,其次就是循環語句

C語言中如何實現循環呢?

while語句

#include <stdio.h>
int main()
{
	int i = 0; //定義一個初識變量
	while (i < 1000)//這里給一個循環范圍
	{
		i++;//每次遞增,改變條件!
		if (i == 50)
		{
			printf("今天是%d,休息一天!\n", i);
			continue;//不執行后面的代碼!
		}
		else if (i == 100)
		{
			printf("今天是第%d天,我已經完成了C語言的全部知識!\n", i);
			break;//滿足該條件就跳出循環!
		}
		printf("我已經完成了第%d天的代碼編寫!\n", i);
	}
	return 0;
}

對于循環而言,跳出條件是比較重要的一個,continue遇到之后,代碼是不執行后面的,但是不退出循環,break遇到之后就會跳出循環!

看到上面的例子,相信你可以清楚的了解到,這些語法的用處和作用了。

for循環

通過for 循環我們一樣可以完成上述的工作,我們特別需要記住的是,在寫for循環的時候,需要注意第一個參數是:定義條件,第二個參數是:判斷條件,第三個參數是:執行條件增長(一般需要改變條件)

那么對于while條件來時,括號里面只有一個簡單的條件判斷,參數條件在循環體內部的!

#include <stdio.h>
int main()
{
	int i = 0;;
	for (int i = 0; i < 1000; i++ )
	{
		if (i == 50)
		{
			printf("今天是%d,休息一天!\n", i);
			continue;//不執行后面的代碼!
		}
		else if (i == 100)
		{
			printf("今天是第%d天,我已經完成了C語言的全部知識!\n", i);
			break;//滿足該條件就跳出循環!
		}
		printf("我已經完成了第%d天的代碼編寫!\n", i);
	}
	return 0;
}

do while

do while 語句創建一個循環,在expression為假或0之前重復執行循環體中的內容。do while語句是一種出口條件循環,即在執行完循環體后才根據測試條件決定是否再次執行循環。因此,該循環至少必須執行一次。

循環體可是一條簡單語句或復合語句。

形式: do

{ ? ? ? ??

? ?statement

}While( expression );

在expression為假或0之前,重復執行statement部分。

大致流程如下:

參考代碼:

#include <stdio.h>
int main()
{
	int i = 0;
	do {
		i++;
		printf("我必須要執行一次循環!\n");
	}while(i < 1);
	return 0;
}

函數

函數有什么用呢?函數可以簡化我們主函數的代碼,可以幫助我們編碼更加的機構化,使得我們的代碼比較的有邏輯結構,一方面可以幫助我們的代碼更有層次感,另一個面也是可以簡化我們的代碼量的!

一般而言,主函數的代碼量不要超過500行,那么我們可以利用函數進行封裝

函數又可以分為:有返回參數的函數和沒有返回參數的函數(void)

輸入一個數字,返回0-該數字里面有多少個奇數!并打印出來!

#include <stdio.h>
int main()
{
	int i = 0;
	int num = 0;//定義輸入參數
	int total = 0;//定義計數器
	printf("請輸入一個數字:");
	scanf("%d", &num);
	for (int i = 0; i <= num; i++) {
		if (i % 2 == 0) {
			total+=1;
		}
		else {
			printf("奇數:%d\n", i);
		}
	}
	printf("一共有%d個奇數",total);
	return 0;
}

在我運行的時候,我發現這個代碼的運行了較長的時間,這說明時間復雜度比較高,而且代碼的寫的比較的冗余,所以導致了代碼的長時間運行!后面我們可以采用遞歸,指針地址等方法進行優化!

利用函數進行封裝

//定義函數
int sum_num(int num, int total) {
	for (int i = 0; i <= num; i++) {
		if (i % 2 == 0) {
			total += 1;
		}
		else {
			printf("奇數:%d\n", i);
		}
	}
	return total;
}
#include <stdio.h>
int main()
{
	int num = 0;//定義輸入參數
	int total = 0;//定義計數器
	printf("請輸入一個數字:");
	scanf("%d", &num);
	printf("一共有%d個奇數", sum_num(num, total));
	return 0;
}

注意在定義函數的時候要分清楚,是否有返回參數,其次參數需要定義類型,之間是用逗號隔開的,每一個參數都需要定義類型

如果,在函數內部定義一些變量,那么在調用之后就會被銷毀,如果需要在函數外部定義,就需要考慮到變量的生命周期

后續的指針和遞歸,包括數組,在函數的應用比較多,所以尤其需要注意!

原文鏈接:https://wxw-123.blog.csdn.net/article/details/124332055

欄目分類
最近更新