C語言選擇、循環(huán)、函數(shù)、數(shù)組與操作符
1、選擇語句
如果你好好學(xué)習(xí),校招時拿一個好offer,走上人生巔峰。如果你不學(xué)習(xí),畢業(yè)等于失業(yè),回家賣紅薯。這就是選擇!
#include<stdio.h> int main() { ?? ?int a = 0; ?? ?printf("1:好好學(xué)習(xí),拿大廠offer ? ? 2、宿舍擺爛,畢業(yè)即失業(yè)\n\n"); ?? ?printf("請選擇 1 或者 0 :->"); ?? ?scanf("%d", &a); ?? ?if (a == 1) ?? ?{ ?? ??? ?printf("加油,為你點贊!\n"); ?? ?} ?? ?else ?? ?{ ?? ??? ?printf("回家賣紅薯!\n"); ?? ?} ?? ?return 0; }
2、循環(huán)語句
C語言中有三種循環(huán),分別是:for循環(huán)、while循環(huán)、do while循環(huán),下面我用例子來演示。
for循環(huán)
#include<stdio.h> int main() { ?? ?int i = 0; ?? ?for (i = 0; i < 10; i++) ?? ?{ ?? ??? ?printf("%d ", i); ?? ?} ?? ?return 0; }
while循環(huán)
#include<stdio.h> int main() { ?? ?int i = 0; ?? ?while (i < 10) ?? ?{ ?? ??? ?printf("%d ", i); ?? ??? ?i++; ?? ?} ?? ?return 0; }
do while循環(huán)
#include<stdio.h> int main() { ?? ?int i = 0; ?? ?do { ?? ??? ?printf("%d ", i); ?? ??? ?i++; ?? ?} while (i < 10); ?? ?return 0; }
其中 i 為循環(huán)變量,i++ 為循環(huán)變量增值,i<10 為循環(huán)結(jié)束條件。
3、函數(shù)
函數(shù)就是一個具有特定功能的代碼塊,其作用是將代碼進(jìn)行封裝,以提高代碼的重用性,提高開發(fā)效率。
#include<stdio.h> //Add就是一個函數(shù),用來計算兩個參數(shù)的和 int Add(int x, int y) ? // 開頭的int:函數(shù)的返回值 ?中間的int:參數(shù)的類型 ? x、y:函數(shù)的參數(shù) { ?? ?return x + y; } int main() { ?? ?int a = 0; ?? ?int b = 0; ?? ?int ret = Add(a, b); ?//調(diào)用Add函數(shù) ?? ?printf("%d\n", ret); ?? ?return 0; }
4、數(shù)組
數(shù)組的概念
數(shù)組是具有相同元素類型的集合。
數(shù)組的定義方式
#include<stdio.h> int main() { ?? ?//第一種定義方式:指定大小,并對其進(jìn)行初識化 ?? ?int a1[10] = { 1,2,3,4,5,6,7,8,9,10 }; ?? ?//第二種定義方式:指定大小,但不初識化 ?? ?char a2[10]; ?? ?//第三種定義方式:不指定大小,但必須得初始化,它會根據(jù)你初始化元素個個數(shù)自動計算數(shù)組的大小 ?? ?float a3[] = { 1.0,2.0,3.0 }; ?? ?return 0; }
數(shù)組的下標(biāo)
C語言規(guī)定:數(shù)組的每個元素都有一個下標(biāo),且數(shù)組下標(biāo)是從0開始的。數(shù)組可以通過下標(biāo)來訪問數(shù)組元素。
數(shù)組的簡單使用
#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語言的操作符涉及到的細(xì)節(jié)以及知識面都比較廣,在這里我只是簡單的介紹一部分操作符的基本使用,更多的細(xì)節(jié)我會在后面的文章中進(jìn)行講解。
1、算術(shù)操作符
+ - * / %
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、單目操作符
- ! 邏輯反操作
- - 負(fù)值
- + 正值
- & 取地址
- sizeof 操作數(shù)的類型長度(以字節(jié)為單位)
- ~ 對一個數(shù)的二進(jìn)制按位取反
- – 前置、后置–
- ++ 前置、后置++
- * 間接訪問操作符(解引用操作符)
- (類型) 強(qiáng)制類型轉(zhuǎn)換
#include<stdio.h> int main() { int a = 10; int b = a++; //后置++,先使用,再++,即先把 a = 10 賦給 b ,a 再++,執(zhí)行后 b=10,a=11 int c = ++a; //前置++,先++,再使用,即先讓 a++ 變成 12,再把 a 賦給 c ,執(zhí)行后 c=12,a=12; printf("a = %d\nb = %d\nc = %d", a, b, c); return 0; } 1
6、關(guān)系操作
> >= < <= != ==
7、邏輯操作符
&& 邏輯與
|| 邏輯或
#include<stdio.h> int main() { ?? ?int a = 10; ?? ?int b = 20; ?? ?if (a == 10 && b == 20) ? //邏輯與,必須兩個條件都為真if語句才會執(zhí)行 ?? ?{ ?? ??? ?printf("a && b\n"); ?? ?} ?? ?if (a == 10 || b == 30) ? //邏輯或,只有兩個條件都為假時if語句才不會執(zhí)行 ?? ?{ ?? ??? ?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、逗號表達(dá)式
exp1, exp2, exp3, …expN
#include<stdio.h> main() { ?? ?int x, y, z; ?? ?x = y = 1; ?? ?//逗號表達(dá)式,從左向右依次執(zhí)行每個運算,但是只取最后一個逗號的結(jié)果 ?? ?z = (x++, y++, ++y); ? ?//先執(zhí)行前面兩個逗號,x++ -> x = 2, y++ -> y=2, 再最后一個逗號,z=++y,前置++,所以z=y=3 ?? ?printf("x = %d\ny = %d\nz = %d\n", x, y, z); ?? ?return 0; }
這里要特別注意:賦值運算符的優(yōu)先級是高于逗號表達(dá)式的,也就是說,如果這里 z 后面沒有括號,那么編譯器會最先將 x 的值賦給 z,再執(zhí)行后面的逗號表達(dá)式。
#include<stdio.h> main() { ?? ?int x, y, z; ?? ?x = y = 1; ?? ?//逗號表達(dá)式,從左向右依次執(zhí)行每個運算,但是只取最后一個逗號的結(jié)果 ?? ?//賦值運算符優(yōu)先級高于逗號表達(dá)式,先將 x 賦給 z,那么 z = 1; ?? ?//再執(zhí)行前面兩個逗號,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、下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員
[] () . ->
#include<stdio.h> struct Stu { ? ? ? ? //定義一個結(jié)構(gòu)體類型 ?? ?char name[15]; ?? ?int age; ?? ?char sex[6]; }; int main() { ?? ?struct Stu s = { "張三",20,"男" }; ? //用結(jié)構(gòu)體類型定義一個結(jié)構(gòu)體變量 s 并對其初始化 ?? ?printf("%s\t%d\t%s\n", s.name, s.age, s.sex); ?//用 . 操作符對結(jié)構(gòu)體成員進(jìn)行訪問 ?? ?return 0; }
到此這篇關(guān)于C語言選擇、循環(huán)、函數(shù)、數(shù)組與操作符的文章就介紹到這了,更多相關(guān)C語言函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C數(shù)據(jù)結(jié)構(gòu)循環(huán)鏈表實現(xiàn)約瑟夫環(huán)
這篇文章主要介紹了C數(shù)據(jù)結(jié)構(gòu)循環(huán)鏈表實現(xiàn)約瑟夫環(huán)的相關(guān)資料,需要的朋友可以參考下2017-05-05Visual Studio Community 2022(VS2022)安裝圖文方法
這篇文章主要介紹了Visual Studio Community 2022(VS2022)安裝方法,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09MFC擴(kuò)展DLL中導(dǎo)出類和對話框的實現(xiàn)方法
這篇文章主要介紹了MFC擴(kuò)展DLL中導(dǎo)出類和對話框的實現(xiàn)方法,詳細(xì)講述了實現(xiàn)擴(kuò)展DLL中導(dǎo)出類和對話框的具體步驟與方法,具有不錯的實用價值,需要的朋友可以參考下2014-10-10