最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言的基本語法詳解

 更新時間:2021年09月18日 14:42:24   作者:小途  
本篇文章主要講解C語言 基本語法,這里提供簡單的示例和代碼來詳細講解C語言的基本語法,開始學習C語言的朋友可以看一下,希望能夠給你帶來幫助

1、標識符與關鍵字

給變量所取的名字叫變量名,定義變量的名字需要遵循標識符的命名規(guī)則。
標識符是用來標識變量、符號常量、數(shù)組、函數(shù)、文件等名字的有效字符序列。

標識符的命名規(guī)則:

1.只能由字母、數(shù)字和下劃線組成(例如:Score1,Stu_name)

2.第一個字符必須為字母或下劃線

3.區(qū)分大小寫字母

4.C語言內(nèi)部規(guī)定的標識符(即關鍵字)不能作為用戶標識

C語言的關鍵字:

C語言的關鍵字,是保留的一些特殊作用的詞語,一共32個關鍵字

關鍵字 說明
auto 聲明自動變量
break 跳出當前循環(huán)
case 開關語句分支
char 聲明字符型變量或函數(shù)返回值類型
const 定義常量,如果一個變量被 const 修飾,那么它的值就不能再被改變
continue 結束當前循環(huán),開始下一輪循環(huán)
default 開關語句中的"其它"分支
do 循環(huán)語句的循環(huán)體
double 聲明雙精度浮點型變量或函數(shù)返回值類型
enum 聲明枚舉類型
extern 聲明變量或函數(shù)是在其它文件或本文件的其他位置定義
float 聲明浮點型變量或函數(shù)返回值類型
for 一種循環(huán)語句
goto 無條件跳轉語句
if 條件語句
int 聲明整型變量或函數(shù)
long 聲明長整型變量或函數(shù)返回值類型
register 聲明寄存器變量
return 子程序返回語句(可以帶參數(shù),也可不帶參數(shù))
unsigned 聲明無符號類型變量或函數(shù)
union 聲明共用體類型
void 聲明函數(shù)無返回值或無參數(shù),聲明無類型指針
volatile 說明變量在程序執(zhí)行中可被隱含地改變
while 循環(huán)語句的循環(huán)條件

C99新建關鍵字:

_Bool 、_Complex 、_Imaginaryinline 、restrict

C11新建關鍵字:

_Alignas 、_Alignof 、_Atomic 、_Generic 、_Noreturn、_Static_assert _Thread_local

2、常量和符號常量

常量:在程序運行過程中,其值不會發(fā)送變化的量。

變量:在程序運行過程中,其值可以發(fā)送變化的量

(1)常量和常量符號

C語言提供的常量類型有整型常量、實型常量、字符常量、字符串常量和符號常量。

用一個標識符來代表一個常量,該標識符叫做符號常量,其一般形式為:

#define 標識符 常量

例如:

#define PI 3.1415926

關于typede和defin的用法與區(qū)別:

1.#defien是預處理指令,在編譯預處理時進行簡單替換,不作正確性檢查,不管含義是否正確照樣帶入,只要在編譯器已被展開的源程序時才會發(fā)現(xiàn)可能的錯誤并報錯。

例如:#define PI 3.1415926

程序:area = PIrr替換3.1415926r

2.rtypedef是在編譯時處理的,通常是用于對已有數(shù)據(jù)類型取別名,而#define只是簡單地替換。

例如:typedef unsigned int uint;

這樣就為unsigned int型引入新助記符uint,以后使用uint直接代表unsigned int型。

例如:typedef PI 3.1515926;

編譯器會直接報錯,原因PI并非已存在類型,其次“3.1515926”不符合命名規(guī)則。

(2)變量

1.變量在內(nèi)存中占用一定的儲存單元,在該儲存單元中存放變量值。

2.程序中用到的所有變量都必須有一個變量名

3.變量名和變量值是兩個不同的概念

請?zhí)砑訄D片描述

4.不同類型的變量在內(nèi)存中占據(jù)儲存單元的數(shù)量及儲存的格式不相同,例如:char ch = ‘1';int i = 1;

請?zhí)砑訄D片描述

5.變量必須“先定義后使用”,這樣做的目的是:

1、便于編譯程序程序檢測對該變量的運算是否合法。例如:整型變量可以進行求模(余數(shù))運算,實型變量不可以進行求模運算。

2、程序中變量名的正確使用

3、C語言數(shù)據(jù)類型

請?zhí)砑訄D片描述

(1)整型常量

整型常量就是整數(shù),有3種表示形式

1.十進制整常數(shù):就是通常整數(shù)的寫法,數(shù)碼取值為0-9。例如:25、-623、0等

2.八進制整數(shù):以0為前綴,數(shù)碼取值0-7,

例如:

020(十六進制16)

016(十六進制14)

0177777(十六進制65535)

-010(十進制數(shù)-8)

幾種不合法的八進制數(shù):

256(無前綴0)

079(包含了非八進制數(shù)碼9)

3.十六進制整型常數(shù):以數(shù)字和字母0x開頭,即0x作為前綴,數(shù)碼的取值為0-9和A-F(或字母a-f)

幾種合法的十六進制數(shù):

0x2A(十進制數(shù)42)

0x1AB0(十進制數(shù)6832)

幾個不合法 的十六進制數(shù):

5A(無前綴)、0x2H(包含了非十六進制數(shù)碼H)

整型變量

整型變量分為:基本整型、長整型、短整型、無符號型

請?zhí)砑訄D片描述

整型變量的定義及初始化:

定義變量及初始化的一般形式 為:

類型說明符 變量名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、變量定義必須放在變量使用之前,一般放在函數(shù)體開頭
4、沒有給變量賦初值,并不意味著該變量中沒有數(shù)值,只表面給變量中沒有確定的值,因此直接使用這種變量的話可能產(chǎn)生莫名其妙的結果,有可能導致運算錯誤

例程:

#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);
}

原碼、反碼和補碼

計算機中數(shù)分為有符號和無符號。他們是以二進制形式表示的,有三種表示方法,即原碼和補碼。

三種表示方式由符號位和數(shù)值位兩部分構成

符號位在最高位,用0表示“正”,1表示“負”。

取余位為數(shù)值位

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

原碼:按照二進制的方法來表示數(shù)的絕對值,用這個方法得到的就是數(shù)的原碼。

反碼:正數(shù)的反碼與其原碼相同,負數(shù)的反碼為其原碼除符號位以外的各位 按為取反。

補碼:正數(shù)的補碼與其原碼相同,負數(shù)的補碼是將其原碼除符號位之外的各位求反之后,在末位再加1

正數(shù)的原碼、反碼。補碼相同;負數(shù)的原碼、反碼、補碼不同。數(shù)值在計算機中以補碼形式存放。

例如:求-127的補碼

請?zhí)砑訄D片描述

(2)實型數(shù)據(jù)

實型數(shù)據(jù)又稱為實數(shù)或浮點數(shù),指是帶有小數(shù)部分的非整數(shù)數(shù)值。

實型常量

在C語言中,實數(shù)常量只能用十進制數(shù)表示,有兩種表示方法:

1.小數(shù)形式:由數(shù)字0~9和小數(shù)點組成,當小數(shù)部分為零時,小數(shù)點不能省略。例如:0.0/24.4、-56.33等均為合法的實型常量

2.指數(shù)形式:由十進制數(shù)、加階碼標志小寫字母“e”(或大寫字母“E”)和階碼(必須是整數(shù))組成。

例如:2.3E5(相當于2.3 x 10^5)

以下是不合法的實型常量:

123(無小數(shù)點)

E4(階碼“E”之前無數(shù)字)

23.-E3(負號的位置不對)

2.7E(無階碼)

實型變量

請?zhí)砑訄D片描述
請?zhí)砑訄D片描述

實型變量的定義以及初始化

例如:

float a,b,c;			//定義a,b,c為單精度實型變量
double m=3.5,n=5.6;		//定義m,n為雙精度實型變量,并分別賦值3.5和5.6

(3)字符型數(shù)據(jù)

字符常量是用一對單引號括起來的一個字符

如:‘b'、‘z'、‘='、‘?'、‘5'

字符常量特點:

1.字符常量只能是單個字符,不能是多個字符

2.字符常量是以ASCII碼形式儲存,一個字符常量占用一個字節(jié)空間。

ASCII碼

ASCII碼表示American Standrd Code for Information Interchange。ASCII編碼能表示數(shù)據(jù)范圍是00000000~11111111共2^8即256個數(shù)據(jù)

標準的ASCII碼有128個字符,其中:

1.0-31為控制字符,例如,回車換行、文件結束標志、字符串結束標志

2.10個阿拉伯‘0'~‘9'的碼值是連續(xù)的

3.26個大寫字母‘A'-‘Z'是連續(xù)的,26和大小寫字母‘a(chǎn)'-‘z'是連續(xù)的

4.字符常量也可以參與各種運算,如:‘B'-‘A'值為1(字符‘B'的ASCII碼值減去66字符‘A'的ASCII碼值65結果為1)

字符型變量

1.字符型變量在內(nèi)存中占用1個字節(jié),只能存放一個字符,并以該字符的ASCII碼的值的形式存放

2.在C語言中,一個字符型數(shù)據(jù)可以按照它的ASCII碼進行數(shù)據(jù)運算

字符型數(shù)據(jù)儲存空間和值范圍

類型 字節(jié)數(shù) 取值范圍
char 1 -128~127
unsigned char 1 0~255

例程:給字符變量賦整數(shù)值

#include <stdio.h>
int main()
{
    char ch1=65,ch2=66;
    printf("%c,%c\n",ch1,ch2);
    printf("%d,%d\n",ch1,ch2);
}

轉義字符字符

轉義字符:是由一個反斜杠“"后跟規(guī)定,具有特定含義的字符

常用轉義字符如下表

請?zhí)砑訄D片描述

轉義字符使用如下:

#include <stdio.h>
int main()
{
    printf("\"china\"\n");
    printf("My \tCountry.\n");
    printf("I am hap\160\x79.\n");
}

字符串常量

字符串常量是簡稱字符串,是用一對雙撇號(西方雙引號英文)括起來的一串字符,包含字符的個數(shù)和字符長度
例如:“Hello World”?!癮”,“C語言”都是字符串常量。

字符串常量和字符常量區(qū)別:

1.字符常量是右邊單引號括起來的字符,而字符串常量是由雙引號括起來的字符。盡管‘a(chǎn)'與“a”都包含一個字符,但在C程序中,它們都具有不同的含義

2.字符常量只能是一個字符,字符串常量可以是多個字符

3.可以把一個字符串常量賦值一個字符變量,但不能把一個字符常量賦值一個字符變量。

字符串變量

在C語言中沒有專門的字符串類型,我們只能使用數(shù)組或者指針來間接地存儲字符串。

char str1[] = "Hello World!"
char *str2 = "你好世界!"

str1 和 str2 是字符串的名字,后邊的[]和前邊的*是固定的寫法。初學者暫時可以認為這兩種存儲方式是等價的,它們都可以通過專用的 puts 函數(shù)和通用的 printf 函數(shù)輸出。

#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;
}

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • 一起來學習C++的函數(shù)指針和函數(shù)對象

    一起來學習C++的函數(shù)指針和函數(shù)對象

    這篇文章主要為大家詳細介紹了C++函數(shù)指針和函數(shù)對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言編程中分配內(nèi)存空間的相關函數(shù)

    C語言編程中分配內(nèi)存空間的相關函數(shù)

    這篇文章主要介紹了C語言編程中分配內(nèi)存空間的相關函數(shù),分別是malloc()函數(shù)和calloc()函數(shù),需要的朋友可以參考下
    2015-08-08
  • C語言編程數(shù)據(jù)結構帶頭雙向循環(huán)鏈表全面詳解

    C語言編程數(shù)據(jù)結構帶頭雙向循環(huán)鏈表全面詳解

    這篇文章主要為大家介紹了C語言編程的數(shù)據(jù)結構中帶頭雙向循環(huán)鏈表全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進步,早日升職加薪
    2021-10-10
  • c++調用實現(xiàn)yolov5轉onnx介紹

    c++調用實現(xiàn)yolov5轉onnx介紹

    大家好,本篇文章主要講的是c++調用實現(xiàn)yolov5轉onnx介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C++解決輸出鏈表中倒數(shù)k個結點的問題

    C++解決輸出鏈表中倒數(shù)k個結點的問題

    這篇文章主要給大家介紹了關于如何利用C++解決輸出鏈表中倒數(shù)k個結點的問題,文中通過實例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友可以參考下
    2021-12-12
  • C++ override關鍵字使用詳解

    C++ override關鍵字使用詳解

    這篇文章主要介紹了C++ override關鍵字使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • C++編程中私有和保護以及公有的類成員訪問控制

    C++編程中私有和保護以及公有的類成員訪問控制

    這篇文章主要介紹了C++編程中私有和保護以及公有的類成員訪問控制,即private和protected以及public關鍵字的相關作用和用法,需要的朋友可以參考下
    2016-01-01
  • 基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    圣誕節(jié)快到了(雖然還有十天),一起來用MATLAB畫個簡單圣誕樹叭~代碼幾乎取消了全部的循環(huán),因此至少需要17b之后的版本,僅存的循環(huán)用來讓樹旋轉起來,讓雪花飄落起來,讓樹頂上的星光搖曳起來~感興趣的可以試一試
    2022-12-12
  • C++踩坑實戰(zhàn)之構造和析構函數(shù)

    C++踩坑實戰(zhàn)之構造和析構函數(shù)

    不論是構造函數(shù),還是析構函數(shù),都是C++、C#語言相對于其他語言而言特殊的地方,它是為了方便類中對象的初始化,這篇文章主要給大家介紹了關于C++踩坑實戰(zhàn)之構造和析構函數(shù)的相關資料,需要的朋友可以參考下
    2021-07-07
  • C語言數(shù)據(jù)結構之堆排序源代碼

    C語言數(shù)據(jù)結構之堆排序源代碼

    這篇文章主要為大家詳細介紹了C語言數(shù)據(jù)結構之堆排序源代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論

武安市| 大安市| 天峻县| 长治县| 思南县| 隆尧县| 出国| 奇台县| 玉田县| 安化县| 横峰县| 乐业县| 广丰县| 沾化县| 施甸县| 贡嘎县| 延长县| 桑植县| 囊谦县| 舟山市| 神池县| 莱阳市| 洛川县| 祁门县| 布拖县| 时尚| 上思县| 邹城市| 察雅县| 当涂县| 濮阳县| 那坡县| 嘉峪关市| 许昌市| 汝城县| 江津市| 民乐县| 米林县| 金秀| 蒲城县| 兴业县|