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

學無先后,達者為師

網站首頁 編程語言 正文

C語言選擇、循環、函數、數組與操作符_C 語言

作者:野豬佩奇` ? 更新時間: 2022-06-14 編程語言

1、選擇語句

如果你好好學習,校招時拿一個好offer,走上人生巔峰。如果你不學習,畢業等于失業,回家賣紅薯。這就是選擇!

#include<stdio.h>
int main()
{
?? ?int a = 0;
?? ?printf("1:好好學習,拿大廠offer ? ? 2、宿舍擺爛,畢業即失業\n\n");
?? ?printf("請選擇 1 或者 0 :->");
?? ?scanf("%d", &a);
?? ?if (a == 1)
?? ?{
?? ??? ?printf("加油,為你點贊!\n");
?? ?}
?? ?else
?? ?{
?? ??? ?printf("回家賣紅薯!\n");
?? ?}
?? ?return 0;
}


2、循環語句

C語言中有三種循環,分別是:for循環、while循環、do while循環,下面我用例子來演示。

for循環

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?for (i = 0; i < 10; i++)
?? ?{
?? ??? ?printf("%d ", i);
?? ?}
?? ?return 0;
}

while循環

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?while (i < 10)
?? ?{
?? ??? ?printf("%d ", i);
?? ??? ?i++;
?? ?}
?? ?return 0;
}

do while循環

#include<stdio.h>
int main()
{
?? ?int i = 0;
?? ?do {
?? ??? ?printf("%d ", i);
?? ??? ?i++;
?? ?} while (i < 10);
?? ?return 0;
}

其中 i 為循環變量,i++ 為循環變量增值,i<10 為循環結束條件。

3、函數

函數就是一個具有特定功能的代碼塊,其作用是將代碼進行封裝,以提高代碼的重用性,提高開發效率。

#include<stdio.h>

//Add就是一個函數,用來計算兩個參數的和
int Add(int x, int y) ? // 開頭的int:函數的返回值 ?中間的int:參數的類型 ? x、y:函數的參數
{
?? ?return x + y;
}

int main()
{
?? ?int a = 0;
?? ?int b = 0;
?? ?int ret = Add(a, b); ?//調用Add函數
?? ?printf("%d\n", ret);
?? ?return 0;
}

4、數組

數組的概念

數組是具有相同元素類型的集合。

數組的定義方式

#include<stdio.h>
int main()
{
?? ?//第一種定義方式:指定大小,并對其進行初識化
?? ?int a1[10] = { 1,2,3,4,5,6,7,8,9,10 };
?? ?//第二種定義方式:指定大小,但不初識化
?? ?char a2[10];
?? ?//第三種定義方式:不指定大小,但必須得初始化,它會根據你初始化元素個個數自動計算數組的大小
?? ?float a3[] = { 1.0,2.0,3.0 };
?? ?return 0;
}

數組的下標

C語言規定:數組的每個元素都有一個下標,且數組下標是從0開始的。數組可以通過下標來訪問數組元素。

數組的簡單使用

#include <stdio.h>
int main()
{
? ? int i = 0;
? ? int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
? ? for (i = 0; i < 10; i++)
? ? {
? ? ? ? printf("%d ", arr[i]);
? ? }
? ? printf("\n");
? ? return 0;
}

5、操作符

C語言的操作符涉及到的細節以及知識面都比較廣,在這里我只是簡單的介紹一部分操作符的基本使用,更多的細節我會在后面的文章中進行講解。

1、算術操作符

+ - * / %

2、移位操作符

>> <<

3、位操作符

& ^ |

4、賦值操作符

= += -= *= /= &= ^= |= >>= <<=

#include<stdio.h>
int main()
{
?? ?int a = 10;
?? ?if (a == 20) ?// ==:判斷語句,判斷 a 與 20 是否相等
?? ?{
?? ??? ?printf("判斷:%d\n", a);
?? ?}
?? ?if (a = 20) ?// =:賦值語句,把 10 賦給 a,這條語句始終為真
?? ?{
?? ??? ?printf("賦值:%d\n", a);
?? ?}
?? ?return 0;
}

5、單目操作符

  • ! 邏輯反操作
  • - 負值
  • + 正值
  • & 取地址
  • sizeof 操作數的類型長度(以字節為單位)
  • ~ 對一個數的二進制按位取反
  • – 前置、后置–
  • ++ 前置、后置++
  • * 間接訪問操作符(解引用操作符)
  • (類型) 強制類型轉換
#include<stdio.h>
int main()
{
	int a = 10;
	int b = a++;    //后置++,先使用,再++,即先把 a = 10 賦給 b ,a 再++,執行后 b=10,a=11
	int c = ++a;    //前置++,先++,再使用,即先讓 a++ 變成 12,再把 a 賦給 c ,執行后 c=12,a=12;
	printf("a = %d\nb = %d\nc = %d", a, b, c);
	return 0;
}
1

6、關系操作

> >= < <= != ==

7、邏輯操作符

&& 邏輯與
|| 邏輯或

#include<stdio.h>
int main()
{
?? ?int a = 10;
?? ?int b = 20;
?? ?if (a == 10 && b == 20) ? //邏輯與,必須兩個條件都為真if語句才會執行
?? ?{
?? ??? ?printf("a && b\n");
?? ?}
?? ?if (a == 10 || b == 30) ? //邏輯或,只有兩個條件都為假時if語句才不會執行
?? ?{
?? ??? ?printf("a || b\n");
?? ?}
?? ?return 0;
}

8、條件操作符

exp1 ? exp2 : exp3

#include<stdio.h>
int main()
{
?? ?int a = 10;
?? ?int b = 20;
?? ?int max = a > b ? a : b; ?//條件操作符,如果 a>b 條件成立,就把 a 賦給 max,否則 b 賦給 max
?? ?printf("max = %d\n", max);
?? ?return 0;
}

9、逗號表達式

exp1, exp2, exp3, …expN

#include<stdio.h>
main()
{
?? ?int x, y, z;
?? ?x = y = 1;
?? ?//逗號表達式,從左向右依次執行每個運算,但是只取最后一個逗號的結果
?? ?z = (x++, y++, ++y); ? ?//先執行前面兩個逗號,x++ -> x = 2, y++ -> y=2, 再最后一個逗號,z=++y,前置++,所以z=y=3
?? ?printf("x = %d\ny = %d\nz = %d\n", x, y, z);
?? ?return 0;
}

這里要特別注意:賦值運算符的優先級是高于逗號表達式的,也就是說,如果這里 z 后面沒有括號,那么編譯器會最先將 x 的值賦給 z,再執行后面的逗號表達式。

#include<stdio.h>
main()
{
?? ?int x, y, z;
?? ?x = y = 1;
?? ?//逗號表達式,從左向右依次執行每個運算,但是只取最后一個逗號的結果
?? ?//賦值運算符優先級高于逗號表達式,先將 x 賦給 z,那么 z = 1;
?? ?//再執行前面兩個逗號,x++ -> x = 2, y++ -> y=2, 再最后一個逗號,++y -> y = 3
?? ?z = x++, y++, ++y;
?? ?printf("x = %d\ny = %d\nz = %d\n", x, y, z);
?? ?return 0;
}

10、下標引用、函數調用和結構成員

[] () . ->

#include<stdio.h>
struct Stu { ? ? ? ? //定義一個結構體類型
?? ?char name[15];
?? ?int age;
?? ?char sex[6];
};
int main()
{
?? ?struct Stu s = { "張三",20,"男" }; ? //用結構體類型定義一個結構體變量 s 并對其初始化
?? ?printf("%s\t%d\t%s\n", s.name, s.age, s.sex); ?//用 . 操作符對結構體成員進行訪問
?? ?return 0;
}

原文鏈接:https://blog.csdn.net/m0_62391199/article/details/124099647

欄目分類
最近更新