您好,登錄后才能下訂單哦!
小編給大家分享一下C語言基本語法的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
給變量所取的名字叫變量名,定義變量的名字需要遵循標識符的命名規則。
標識符是用來標識變量、符號常量、數組、函數、文件等名字的有效字符序列。
標識符的命名規則:
1.只能由字母、數字和下劃線組成(例如:Score1,Stu_name)
2.第一個字符必須為字母或下劃線
3.區分大小寫字母
4.C語言內部規定的標識符(即關鍵字)不能作為用戶標識
C語言的關鍵字:
C語言的關鍵字,是保留的一些特殊作用的詞語,一共32個關鍵字
關鍵字 | 說明 |
---|---|
auto | 聲明自動變量 |
break | 跳出當前循環 |
case | 開關語句分支 |
char | 聲明字符型變量或函數返回值類型 |
const | 定義常量,如果一個變量被 const 修飾,那么它的值就不能再被改變 |
continue | 結束當前循環,開始下一輪循環 |
default | 開關語句中的"其它"分支 |
do | 循環語句的循環體 |
double | 聲明雙精度浮點型變量或函數返回值類型 |
enum | 聲明枚舉類型 |
extern | 聲明變量或函數是在其它文件或本文件的其他位置定義 |
float | 聲明浮點型變量或函數返回值類型 |
for | 一種循環語句 |
goto | 無條件跳轉語句 |
if | 條件語句 |
int | 聲明整型變量或函數 |
long | 聲明長整型變量或函數返回值類型 |
register | 聲明寄存器變量 |
return | 子程序返回語句(可以帶參數,也可不帶參數) |
unsigned | 聲明無符號類型變量或函數 |
union | 聲明共用體類型 |
void | 聲明函數無返回值或無參數,聲明無類型指針 |
volatile | 說明變量在程序執行中可被隱含地改變 |
while | 循環語句的循環條件 |
C99新建關鍵字:
_Bool
、_Complex
、_Imaginary
、inline
、restrict
C11新建關鍵字:
_Alignas
、_Alignof
、_Atomic
、_Generic
、_Noreturn
、_Static_assert
、_Thread_local
常量:在程序運行過程中,其值不會發送變化的量。
變量:在程序運行過程中,其值可以發送變化的量
C語言提供的常量類型有整型常量、實型常量、字符常量、字符串常量和符號常量。
用一個標識符來代表一個常量,該標識符叫做符號常量,其一般形式為:
#define 標識符 常量
例如:
#define PI 3.1415926
關于typede和defin的用法與區別:
1.#defien是預處理指令,在編譯預處理時進行簡單替換,不作正確性檢查,不管含義是否正確照樣帶入,只要在編譯器已被展開的源程序時才會發現可能的錯誤并報錯。
例如:#define PI 3.1415926
程序:area = PIrr替換3.1415926r
2.rtypedef是在編譯時處理的,通常是用于對已有數據類型取別名,而#define只是簡單地替換。
例如:typedef unsigned int uint;
這樣就為unsigned int型引入新助記符uint,以后使用uint直接代表unsigned int型。
例如:typedef PI 3.1515926;
編譯器會直接報錯,原因PI并非已存在類型,其次“3.1515926”不符合命名規則。
1.變量在內存中占用一定的儲存單元,在該儲存單元中存放變量值。
2.程序中用到的所有變量都必須有一個變量名
3.變量名和變量值是兩個不同的概念
4.不同類型的變量在內存中占據儲存單元的數量及儲存的格式不相同,例如:char ch = ‘1';int i = 1;
5.變量必須“先定義后使用”,這樣做的目的是:
1、便于編譯程序程序檢測對該變量的運算是否合法。例如:整型變量可以進行求模(余數)運算,實型變量不可以進行求模運算。
2、程序中變量名的正確使用
整型常量就是整數,有3種表示形式
1.十進制整常數:就是通常整數的寫法,數碼取值為0-9。例如:25、-623、0等
2.八進制整數:以0為前綴,數碼取值0-7,
例如:
020(十六進制16)
016(十六進制14)
0177777(十六進制65535)
-010(十進制數-8)
幾種不合法的八進制數:
256(無前綴0)
079(包含了非八進制數碼9)
3.十六進制整型常數:以數字和字母0x開頭,即0x作為前綴,數碼的取值為0-9和A-F(或字母a-f)
幾種合法的十六進制數:
0x2A(十進制數42)
0x1AB0(十進制數6832)
幾個不合法 的十六進制數:
5A(無前綴)、0x2H(包含了非十六進制數碼H)
整型變量分為:基本整型、長整型、短整型、無符號型
整型變量的定義及初始化:
定義變量及初始化的一般形式 為:
類型說明符 變量名1 = 值1
例如:
int a,b,c; //定義a,b,c為整型變量 long x = 10; //定義x為長整型變量,并附初值10 unsigned int p=2,q=5,m; //定義p,q,m為無符號整型變量。p賦初值為2,q賦初值為5
整型變量需要注意:
1、允許在一個類型說明符后,定義多個相同類型變量,類型說明符與變量名之間至少用一個空格間隔,各變量名之間用逗號間隔
2、最后一個變量名后面用“;”號結尾
3、變量定義必須放在變量使用之前,一般放在函數體開頭
4、沒有給變量賦初值,并不意味著該變量中沒有數值,只表面給變量中沒有確定的值,因此直接使用這種變量的話可能產生莫名其妙的結果,有可能導致運算錯誤
例程:
#include <stdio.h> void main(void) { int a = 3, b = 5, c, d; c = a+b; d = a-b; printf("a+b=%d,a-b=%d\n",c,d); }
計算機中數分為有符號和無符號。他們是以二進制形式表示的,有三種表示方法,即原碼和補碼。
三種表示方式由符號位和數值位兩部分構成
符號位在最高位,用0表示“正”,1表示“負”。
取余位為數值位
原碼:按照二進制的方法來表示數的絕對值,用這個方法得到的就是數的原碼。
反碼:正數的反碼與其原碼相同,負數的反碼為其原碼除符號位以外的各位 按為取反。
補碼:正數的補碼與其原碼相同,負數的補碼是將其原碼除符號位之外的各位求反之后,在末位再加1
正數的原碼、反碼。補碼相同;負數的原碼、反碼、補碼不同。數值在計算機中以補碼形式存放。
例如:求-127的補碼
實型數據又稱為實數或浮點數,指是帶有小數部分的非整數數值。
在C語言中,實數常量只能用十進制數表示,有兩種表示方法:
1.小數形式:由數字0~9和小數點組成,當小數部分為零時,小數點不能省略。例如:0.0/24.4、-56.33等均為合法的實型常量
2.指數形式:由十進制數、加階碼標志小寫字母“e”(或大寫字母“E”)和階碼(必須是整數)組成。
例如:2.3E5(相當于2.3 x 10^5)
以下是不合法的實型常量:
123(無小數點)
E4(階碼“E”之前無數字)
23.-E3(負號的位置不對)
2.7E(無階碼)
例如:
float a,b,c; //定義a,b,c為單精度實型變量 double m=3.5,n=5.6; //定義m,n為雙精度實型變量,并分別賦值3.5和5.6
字符常量是用一對單引號括起來的一個字符
例
如:‘b'、‘z'、‘='、‘?'、‘5'
字符常量特點:
1.字符常量只能是單個字符,不能是多個字符
2.字符常量是以ASCII碼形式儲存,一個字符常量占用一個字節空間。
ASCII碼表示American Standrd Code for Information Interchange。ASCII編碼能表示數據范圍是00000000~11111111共2^8即256個數據
標準的ASCII碼有128個字符,其中:
1.0-31為控制字符,例如,回車換行、文件結束標志、字符串結束標志
2.10個阿拉伯‘0'~‘9'的碼值是連續的
3.26個大寫字母‘A'-‘Z'是連續的,26和大小寫字母‘a'-‘z'是連續的
4.字符常量也可以參與各種運算,如:‘B'-‘A'值為1(字符‘B'的ASCII碼值減去66字符‘A'的ASCII碼值65結果為1)
1.字符型變量在內存中占用1個字節,只能存放一個字符,并以該字符的ASCII碼的值的形式存放
2.在C語言中,一個字符型數據可以按照它的ASCII碼進行數據運算
字符型數據儲存空間和值范圍
類型 | 字節數 | 取值范圍 |
---|---|---|
char | 1 | -128~127 |
unsigned char | 1 | 0~255 |
例程:給字符變量賦整數值
#include <stdio.h> int main() { char ch2=65,ch3=66; printf("%c,%c\n",ch2,ch3); printf("%d,%d\n",ch2,ch3); }
轉義字符:是由一個反斜杠“"后跟規定,具有特定含義的字符
常用轉義字符如下表
轉義字符使用如下:
#include <stdio.h> int main() { printf("\"china\"\n"); printf("My \tCountry.\n"); printf("I am hap\160\x79.\n"); }
字符串常量是簡稱字符串,是用一對雙撇號(西方雙引號英文)括起來的一串字符,包含字符的個數和字符長度
例如:“Hello World”。“a”,“C語言”都是字符串常量。
字符串常量和字符常量區別:
1.字符常量是右邊單引號括起來的字符,而字符串常量是由雙引號括起來的字符。盡管‘a'與“a”都包含一個字符,但在C程序中,它們都具有不同的含義
2.字符常量只能是一個字符,字符串常量可以是多個字符
3.可以把一個字符串常量賦值一個字符變量,但不能把一個字符常量賦值一個字符變量。
在C語言中沒有專門的字符串類型,我們只能使用數組或者指針來間接地存儲字符串。
char str1[] = "Hello World!" char *str2 = "你好世界!"
str1 和 str2 是字符串的名字,后邊的[]和前邊的*是固定的寫法。初學者暫時可以認為這兩種存儲方式是等價的,它們都可以通過專用的 puts 函數和通用的 printf 函數輸出。
#include <stdio.h> int main() { char web_url[] = "hHello World!"; char *web_name = "你好世界"; puts(web_url); puts(web_name); printf("%s\n%s\n", web_url, web_name); return 0; }
以上是“C語言基本語法的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。