一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - C語言的基本語法詳解

C語言的基本語法詳解

2022-01-10 14:55小途 C/C++

本篇文章主要講解C語言 基本語法,這里提供簡單的示例和代碼來詳細講解C語言的基本語法,開始學習C語言的朋友可以看一下,希望能夠給你帶來幫助

 

1、標識符與關鍵字

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

標識符的命名規則:

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_Imaginaryinline restrict

C11新建關鍵字:

_Alignas _Alignof _Atomic _Generic _Noreturn_Static_assert _Thread_local

 

2、常量和符號常量

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

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

 

(1)常量和常量符號

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”不符合命名規則。

 

(2)變量

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

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

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

C語言的基本語法詳解

4.不同類型的變量在內存中占據儲存單元的數量及儲存的格式不相同,例如:char ch = ‘1";int i = 1;

C語言的基本語法詳解

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

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

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

 

3、C語言數據類型

C語言的基本語法詳解

 

(1)整型常量

整型常量就是整數,有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)

 

整型變量

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

C語言的基本語法詳解

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

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

類型說明符 變量名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
",c,d);
}

 

原碼、反碼和補碼

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

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

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

取余位為數值位

C語言的基本語法詳解

C語言的基本語法詳解

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

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

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

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

例如:求-127的補碼

C語言的基本語法詳解

 

(2)實型數據

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

 

實型常量

在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(無階碼)

 

實型變量

C語言的基本語法詳解
C語言的基本語法詳解

 

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

例如:

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

 

(3)字符型數據

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

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

字符常量特點:

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

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

 

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 ch1=65,ch2=66;
    printf("%c,%c
",ch1,ch2);
    printf("%d,%d
",ch1,ch2);
}

 

轉義字符字符

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

常用轉義字符如下表

C語言的基本語法詳解

轉義字符使用如下:

#include <stdio.h>
int main()
{
    printf(""china"
");
    printf("My 	Country.
");
    printf("I am hap160x79.
");
}

 

字符串常量

字符串常量是簡稱字符串,是用一對雙撇號(西方雙引號英文)括起來的一串字符,包含字符的個數和字符長度
例如:“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
%s
", web_url, web_name);
    return 0;
}

 

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/lzxiaotu/article/details/120236912

延伸 · 閱讀

精彩推薦
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
主站蜘蛛池模板: 国产日本免费 | 亚洲第一区欧美日韩精品 | 我与肥熟老妇的性事 | 蝴蝶传媒免费安装 | 午夜想想爱午夜剧场 | 无码一区国产欧美在线资源 | 加勒比一本大道在线 | 日本伊人久久 | 久久青青草原精品国产软件 | 欧美一级片免费看 | 欧美日韩一区二区三区久久 | 天美影视文化传媒mv免费 | 国产精品免费_区二区三区观看 | 娇女的呻吟亲女禁忌h16 | 国产剧情在线播放 | 青青自拍视频 | 男人的天堂日本 | 精品国产免费久久久久久婷婷 | 洗濯屋H纯肉动漫在线观看 武侠艳妇屈辱的张开双腿 午夜在线观看免费观看 视频 | 福利视频一区二区思瑞 | 天天草人人草 | 午夜性爽视频男人的天堂在线 | 好吊妞视频998www | 91在线免费播放 | 海派甜心完整版在线观看 | 久久久久久88色偷偷 | 美女免费观看一区二区三区 | 草莓永久地域网名入2022 | vomoulei成人舞蹈 | 免费观看无人区完整版 | 高清毛片一区二区三区 | 国产精品suv | 狠狠夜夜久久日日91av | 国产精品高清视亚洲一区二区 | 99视频精品国在线视频艾草 | 成人精品 | 日本一区二区高清免费不卡 | 日本国产在线视频 | 色先锋影音资源 | 国产91成人精品亚洲精品 | 亚洲成av人在线视 |