宣告:由于作者水平有限,本文難免有錯誤和不準確之處,本人也很想知道這些錯誤,懇望讀者批評指正,
【聯系方式】1583598623@qq.com
【更新記錄】2021年4月14日(第一次更新 )
【勘誤記錄】暫無
文章目錄
- 1.看看如下switch函式輸出什么?30?16?還是0?
- 2.給定兩個數,求這兩個數的最大公約數(倆種方法都自己敲敲)
- 3.goto陳述句
- 關機程式(應用goto)與運行結果
- goto 陳述句只能在一個函式范圍內跳轉,不能跨函式
- 4.函式是什么?
- C語言中函式的分類:
- C語言各種庫函式:
- 5.實作一個函式,判斷一個數是不是素數,利用上面實作的函式列印100到200之間的素數,
1.看看如下switch函式輸出什么?30?16?還是0?
int func(int a)
{
int b;
switch (a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
int main()
{
printf("%d\n", func(1));
return 0;
}
因為沒有添加break,所以一直執行下去,結果b回傳0,
除錯的時候F11是逐陳述句,F10是逐陳述句,
2.給定兩個數,求這兩個數的最大公約數(倆種方法都自己敲敲)
//解法1
int main()
{
int m = 0;
int n = 0;
scanf("%d%d", &m, &n);//24 18
int max = 0;
//假設最大公約數max就是m和n的較小值
if (m > n)
max = n;
else
max = m;
while (1)
{
if (m % max == 0 && n % max == 0)
{
printf("最大公約數就是:%d\n", max);
break;
}
max--;
}
return 0;
}
//解法2
//輾轉相除法
int main()
{
int m = 0;
int n = 0;
scanf("%d%d", &m, &n);//24 18
int t = 0;
while (t=m%n)
{
m = n;
n = t;
}
printf("最大公約數:%d\n", n);
//最小公倍數 = m*n/最大公約數;
return 0;
}
3.goto陳述句
C語言提供了可以隨意濫用的goto陳述句和標記跳轉的標號,
在某些場合下goto陳述句還是用的著的,最常見的用法就是終止程式在某些深度嵌套的結構的處理程序,例如一次跳出倆層或多層回圈,這種情況下使用break是達不到目的的(只能從最內層回圈退回上一層回圈,沒法直接跳出所有回圈)
//死回圈
int main()
{
flag:
printf("hehe\n");
printf("haha\n");
goto flag;
return 0;
}
關機程式(應用goto)與運行結果
//只要運行起來,電腦就在1分鐘內關機,如果輸入:我是豬,就取消關機!
//
//shutdown -s -t 60 設定60s內關機
//shutdown -a 取消關機
int main()
{
//關機
//C語言提供了一個函式:system()- 執行系統命令的
char input[20] = { 0 };//存放輸入的資訊
system("shutdown -s -t 60");//system - stdlib.h
again:
printf("請注意,你的電腦在1分鐘內關機,如果輸入:我是豬,就取消關機\n");
scanf("%s", input);
//string.h
if (strcmp(input, "我是豬") == 0)
//兩個字串比較是不能使用==的,應該使用strcmp() string compare
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dDBi0HMc-1618333107402)(C:\Users\以北往南稱南城\AppData\Roaming\Typora\typora-user-images\image-20210414005100004.png)]](https://img.uj5u.com/2021/04/15/236381151047321.png)
goto 陳述句只能在一個函式范圍內跳轉,不能跨函式
void test()
{
flag:
printf("test\h");
}
int main()
{
goto flag;
return 0;
}
4.函式是什么?
在計算機科學中,子程式是一個大型程式中的某部分代碼,由一個或多個陳述句塊組成,它負責完成某項特定任務,而且相較于其他代碼,具備相對的獨立性, 一般會有輸入引數并且有回傳值提供對程序的封裝和細節的隱藏,這些代碼通常被集成為軟體庫,
C語言中函式的分類:
1.庫函式(方便用戶使用)
2.自定義函式(這才是我們該多加練習的)
C語言各種庫函式:
查詢地址
例如memset:
//
int main()
{
char arr[] = "hello bit";
memset(arr, 'x', 5);
printf("%s\n", arr);
return 0;
}

5.實作一個函式,判斷一個數是不是素數,利用上面實作的函式列印100到200之間的素數,
int Su(int a)
{
int b = 2;
for (b = 2; b < a; b++)
{
if (a % b == 0)
break;
//else
if (a == (b+1 ))
printf("%d是素數\n", a);
}
return 0;
}
int main()
{
int a;
for (a = 100; a <= 200; a++)
Su(a);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/276240.html
標籤:其他
上一篇:5分鐘帶你了解什么是順序表,并用它寫一個簡單的增刪查改(畫圖講解,詳細代碼)
下一篇:C語言進階之旅(4)
