日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言基础语法总结(一)

發(fā)布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言基础语法总结(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

          • C變量
          • C常量
          • C存儲類
          • C運算符
          • C判斷
          • C循環(huán)

  • C變量

變量定義
變量定義就是告訴編譯器在何處創(chuàng)建變量的存儲,以及如何創(chuàng)建變量的存儲。

type variable_list;

在這里,type必須是一個有效的C數(shù)據(jù)類型,可以是char、w_char、int、float、double或任何用戶自定義的對象,variable_list可以由一個或多個標識符名稱組成。

變量聲明
變量聲明向編譯器保證變量以指定的類型和名稱存在,這樣編譯器在不需要知道變量完整細節(jié)的情況下也能繼續(xù)進一步的編譯。變量聲明只在編譯時有它的意義,在程序連接時編譯器需要實際的變量聲明。

extern int i; //聲明,不是定義 int i; //聲明,也是定義 建立存儲空間

extern 外部的,出現(xiàn)即指外部變量

實例

#include<stdio.h>// 函數(shù)外定義變量 x 和 y int x; int y; int addtwonum() {// 函數(shù)內(nèi)部聲明變量x和y為外部變量extern int x;extern int y;// 給外部變量(全局變量)x和y賦值x = 1;y = 2;return x+y; }int main() {int result;//調(diào)用函數(shù) addtwonumresule = addtwonum();printf("result 為:%d",result);return 0; }

如果需要在一個源文件中引用另外一個源文件中定義的變量,我們只需在引用的文件中將變量加上extern關(guān)鍵字的聲明即可。

addtwonum.c 文件代碼:

#include<stdio.h> /* 外部變量聲明*/ extern int x; extern int y; int addtwonum() {return x+y; }

test.c 文件代碼:

#include<stdio.h> /*定義兩個全局變量*/ int x = 1; int y = 2; int addtwonum(); int main(void): {int result;result = addtwonum();printf("result 為:%d",result);return 0; }

編譯執(zhí)行上述代碼

gcc addtwonum.c test.c -o main ./main result 為:3
  • C常量

整數(shù)常量
整數(shù)常量可以是十進制、八進制或十六進制的常量。前綴指定基數(shù):0x或0X表示十六進制,0表示八進制,不帶前綴則默認表示十進制。

整數(shù)常量也可以帶一個后綴,后綴是U和L的組合,U表示無符號整數(shù)(unsigned),L表示長整數(shù) (long)。后綴可以是大寫也可以是小寫

浮點常量
浮點常量由整數(shù)部分、小數(shù)點、小數(shù)部分和指數(shù)部分組成。您可以使用小數(shù)形式或者指數(shù)形式來表示浮點常量。

當使用小數(shù)形式表示時,必須包含整數(shù)部分、小數(shù)部分,或同時包含兩者。當使用指數(shù)形式表示時, 必須包含小數(shù)點、指數(shù),或同時包含兩者。帶符號的指數(shù)是用e或E引入的。

字符常量

字符串常量

定義常量
#define預處理器

#define identifier value

實例:

#include<stdio.h>#define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n'int main() {int area;area = LENGTH * WIDTH;printf("value of area : %d",area);printf("%c",Newline);return 0; }

const 關(guān)鍵字
可以使用const前綴聲明指定類型的變量,如下:

const type variable = value;

實例:

#include<stdio.h> int main() {const int LENGTH 10;const int WIDTH 5;const int NEWLINE '\n';int area;area = LENGTH * WIDTH;printf("value of area : %d",area);prtintf("%c",NEWLINE);return 0;
  • C存儲類

auto存儲類
auto存儲類是所有局部變量默認的存儲類。

{int mount;auto int month; }

上面的實例定義了兩個帶有相同存儲類的變量,auto只能用在函數(shù)內(nèi),即auto只能修飾局部變量

register存儲類
register存儲類用于定義存儲在寄存器中而不是RAM中的局部變量。這意味著變量的最大尺寸等于寄存器的大小(通常是一個詞),且不能對它應用一元的’&'運算符(因為它沒有內(nèi)存位置)。

{register int miles; }

寄存器只用于需要快速訪問的變量,比如計數(shù)器。還應注意的是,定義’register’并不意味著變量將被存儲在寄存器中,它意味著變量可能存儲在寄存器中,這取決于硬件和實現(xiàn)的限制。

static存儲類
static 存儲類指示編碼器在程序的生命周期內(nèi)保持局部變量的存在,而不需要在每次它進入和離開作用域時進行創(chuàng)建和銷毀。因此,使用static修飾局部變量可以在函數(shù)調(diào)用之間保持局部變量的值

static 修飾符也可以應用于全局變量。當static修飾全局變量時,會使變量的作用域限制在聲明它的文件內(nèi)。

全局聲明的一個static變量或方法可以被任何函數(shù)或方法調(diào)用,只要這些方法出現(xiàn)在跟static變量或方法同一個文件中。

實例:

#include<stdio.h>/*函數(shù)聲明*/ void func1(void); static int count = 10; /*全局變量 -static 是默認的 */int main() {while (count--) {func1();}return 0; }void func1(void) { /* 'thingy'是'func1'的局部變量 -只初始化一次* 每次調(diào)用函數(shù)'func1''thingy'值不會被重置。*/static int thingy=5;thingy++;printf("thingy 為 %d, count 為 %d\n",thingy,count);}

實例中count作為全局變量可以在函數(shù)內(nèi)使用,thingy使用static修飾后,不會在每次調(diào)用時重置。

extern存儲類
extern存儲類用于提供一個全局變量的引用,全局變量對所有的程序文件都是可見的。當使用extern時,對于無法初始化的變量,會把變量名指向一個之前定義過的存儲位置。

extern是用來在另一個文件中聲明一個全局變量或函數(shù)。extern修飾符通常用于當有兩個或多個文件共享相同的全局變量或函數(shù)的時候

第一個文件:main.c

#include <stdio.h>int count ; extern void write_extern();int main() {count = 5;write_extern(); }

第二個文件:support.c

#include<stdioo.h> extern int count ; void write_extern() {printf("count is %d\n",count); }

第二個文件中的extern關(guān)鍵字用于聲明已經(jīng)在第一個文件main.c中定義的count。

  • C運算符

算數(shù)運算符
+(加)、-(減)、*(乘)、/(除)、%(取模取余)、++(自增,增加1)、–(自減)

a++為先賦值后運算 ++a為先運算后賦值

關(guān)系運算符

==、!=、<、>、>=、<=

邏輯運算符
&&:稱為邏輯與運算符。如果兩個操作數(shù)都非零,則條件為真
||:邏輯或運算符。如果兩個操作數(shù)中有任意一個非零,則條件為真
!:邏輯非運算符。用來逆轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果條件為真則邏輯非運算符將使其為假

位運算符

假設(shè)變量A的值為60(00111100),變量B的值為13(00001101),則:

運算符描述實例
&按位與操作,按二進制位進行"與"運算。運算規(guī)則:0&0=0;0&1=0;1&0=0;1&1=1(A&B)將得到12,即00001100
l按位或運算符,按二進制位進行"或"運算。運算規(guī)則:`00=0;0
^異或運算符,按二進制位進行"異或"運算。運算規(guī)則:0^0=0;0 ^1=1;1 ^0=1;1 ^1=0(A^B)將得到49,即00110001
~取反運算符(~A)將得到-61,即為11000011,一個有符號二進制數(shù)的補碼形式
<<二進制左移運算符。將一個運算對象的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)A<<2將得到240,即11110000
>>二進制右移運算符。將一個數(shù)的各二進制位全部右移若干位,正數(shù)左補0,負數(shù)左補1,右邊丟棄A>>2將得到15,即00001111

賦值運算符

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

雜項運算符

運算符描述實例
sizeof()返回變量的大小sizeof(a)將返回4,其中a是整數(shù)
&返回變量的地址&a;將給出變量的實際地址
*指向一個變量*a;將指向一個變量
?:條件表達式如果條件為真?則值位X:否則值為Y

C中的運算符優(yōu)先級
后綴:() [] -> . ++ -- 從左到右
一元:+ - ! ~ ++ -- (type)* & sizeof 從右到左
乘除:* / % 從左到右
加減:+ - 從左到右
移位:<< >> 從左到右
關(guān)系:< <= > >= 從左到右
賦值:= += -= *= /= %= >>= <<= &= ^= |= 從右到左

  • C判斷

C語言把任何非零非空的值假定為true,把null假定為false

if語句 if…else語句 嵌套if語句
switch語句 嵌套switch語句

?:運算符(三元運算符)
輸入一個數(shù)字來判斷它是否為奇數(shù)或偶數(shù)實例

#include<stdio.h>int main() {int num;printf("請輸入一個數(shù)字:");scanf("%d",&num);(num%2==0)?printf("偶數(shù)"):printf("基數(shù)"); } return 0;
  • C循環(huán)

循環(huán)類型
while循環(huán)

while(condition) {statement(s); }

for循環(huán)

for ( init; condition; increment ) {statement(s); }

do…while循環(huán)

do {statement(s); } while (condition);

條件表達式出現(xiàn)在循環(huán)的尾部,所以循環(huán)中的statement(s)會在條件被測試之前至少執(zhí)行一次

嵌套循環(huán)

循環(huán)控制語句
break語句
當break語句出現(xiàn)在一個循環(huán)內(nèi)時,循環(huán)會立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語句

它可用于終止switch語句中的一個case,如果時嵌套循環(huán),break語句會停止執(zhí)行最內(nèi)層的循環(huán),然后開始執(zhí)行該塊之后的下一行代碼

continue 語句
告訴一個循環(huán)體立即停止本次循環(huán)迭代,重新開始下一次循環(huán)迭代

goto語句
將控制轉(zhuǎn)移到被標記的語句。但是不建議在程序中使用

*無限循環(huán)
如果條件用于不為假,則循環(huán)將變成無限循環(huán)。for循環(huán)在傳統(tǒng)上可用于實現(xiàn)無限循環(huán)。由于構(gòu)成循環(huán)的三個表達式中任何一個都不是必需的,可以將某些條件表達式留空來構(gòu)成一個無限循環(huán)

#include<stdio.h>int main() {for( ; ; ){printf("該循環(huán)會永遠執(zhí)行下去!\n");}return 0; }

可以按 ctrl+c 鍵終止一個無限循環(huán)

總結(jié)

以上是生活随笔為你收集整理的C语言基础语法总结(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲黄色一区 | 外国电影免费观看高清完整版 | 欧美色图片区 | 天干夜夜爽爽日日日日 | 老司机深夜视频 | 黄网址在线观看 | 免费网站污 | 国产一区二区三区在线 | 日韩免费视频一区二区视频在线观看 | 国产视频自拍一区 | 久久精品| 三级福利| 午夜特级毛片 | 国产视频一区二区三区在线播放 | 日韩不卡在线视频 | 另类老妇性bbwbbw图片 | 波多野结衣女同 | 久久精品国产网红主播 | 大乳女喂男人吃奶视频 | 国产精品精品国产 | 久久久久久久久久久影视 | 黄色无毒网站 | 精品久久电影 | 可以免费看的毛片 | 欧美色悠悠 | 日韩性大片 | 中国av一区二区 | 国产三级漂亮女教师 | 舒淇裸体午夜理伦 | 色香天天| 中文字幕一区二区三区在线不卡 | 人人草人人澡 | 久久三级视频 | 蜜桃视频在线播放 | 狂野欧美性猛交xxⅹ李丽珍 | 亚洲精品污一区二区三区 | 国产日韩欧美二区 | 亚洲精品成av人片天堂无码 | 久久99久久久久久 | 一区二区三区美女视频 | 欧美极品视频在线观看 | 免费欧美在线 | 高清一区二区三区四区五区 | 又紧又大又爽精品一区二区 | 肉色超薄丝袜脚交一区二区 | 色乱码一区二区三区在线男奴 | 亚洲成人免费影院 | 欧美一区二区高清视频 | 国产精彩视频在线 | 教练含着她的乳奶揉搓揉捏动态图 | 久久er99热精品一区二区介绍 | 久久久久久久久久影视 | 午夜黄色大片 | 欧美久久99| 风流少妇按摩来高潮 | 韩国三级hd中文字幕的背景音乐 | 99riAv国产精品无码鲁大师 | 五月婷婷丁香 | 狠狠干网址 | 国产96在线 | 玖草在线视频 | 人妻 日韩精品 中文字幕 | 狂野欧美性猛交xxxx | 美女视频黄色免费 | 久91| 久久7777| 久久久久久蜜桃 | 风韵丰满熟妇啪啪区老熟熟女 | 日韩人妻无码精品久久久不卡 | 欧美色精品 | 激情五月婷婷小说 | 女人私密又肥又大 | 超碰97人| 国产精品免费大片 | 免费在线观看视频a | 亚洲人成色777777老人头 | 97人人草| 亚洲美女激情视频 | 手机天堂网 | 欧美日韩亚洲综合 | 这里只有精品久久 | 香蕉视频网站在线 | www.蜜桃av.com | 潘金莲一级淫片免费放动漫 | 51久久久 | 日韩精品久久久久久久电影99爱 | www在线观看免费视频 | 欧美日韩精品中文字幕 | 免费看国产曰批40分钟粉红裤头 | 成人国产欧美 | 一区二区三区四区免费视频 | 中文在线永久免费观看 | 日产精品久久久久久久蜜臀 | 精品少妇一区二区三区在线观看 | 亚洲国产网址 | 黄色片免费在线播放 | 韩国三级视频在线观看 | 国产99自拍| 黄色片免费播放 |