c語言符號技巧,c語言操作符號

本文目錄一覽:

求大神整理c語言指令符號及用法大全。

編譯指令

編譯指令

說明

#include

包含另一個文件

#define

定義一個宏(macro)或是常量

#undef

取消一個宏常量的定義

#asm和#endasm

在程序中加入彙編語言的程序

#ifdef、#ifndef、#else、#endif

用於條件式的編譯

註解://—單行註解;

基本數據類型 (int,float,double,char,void)

數據類型

類型說明

長度(位)

數據長度

bit

1

0,1

char

字元

8

—128~127

unsigned char

無符號字元

8

0~255

signed char

有符號字元

8

—128~127

int

整型

16

—32768~32767

short int

短整型

16

—32768~32767

unsigned int

無符號整型

16

0~65535

signed int

有符號整型

16

—32768~32767

long int

長整型

32

—2147483648~2147483647

unsigned long int

無符號長整型

32

0~4294967295

signed long int

有符號長整形

32

—2147483648~2147483647

float

浮點數(實數)

32

0.175e-38~0.402e38

double

雙精度浮點

32

0.175e-38~0.402e38

void

沒任何數據

用戶自定義數據類型格式

typedef struct{

數據類型 變數序列1;

數據類型 變數序列1;

...

}自定義數據類型的名稱;

保留字

_at_,alien,bdata,break,bit,case,char,code,compact,const,continue,data,

default,do,double,far,else,enum,extern,float,for,goto,if,funcused,idata,int,

inline,interrupt,large,long,pdata,_priority_,reentrant,return,sbit,sfr,sfr16,

short,sigend,sizeof,small,static,struct,switchc_task_,typedef,using,union,

unsigned,void,volatile,while,xdata

常量表示法

常數

規則

範例

十進位

一般十進位格式

1234567890

二進位

開頭加上0b

0b00001110

八進位

開頭加上O

O0123

十六進位

開頭加上0x

0xFF45

無符號整數常量

結尾加上U

30000U

長整數常量

結尾加上L

299L

無符號長整數常量

結尾加上UL

327800UL

浮點數的常量

結尾加上F

4.234F

字元常量

以單引號括起來

『a』

字元串常量

以雙引號括起來

「hello」

—————————————————–運算符—————————————————–

算術運算

運算符

說明

範例

執行結果

+

c=a+b;

c 等於10

d=a—b;

d 等於6

*

e=a*b;

e 等於16

/

f=a/b;

f 等於4

%

取餘數

g=a%b;

g 等於0

++

加1

c++;相當於c=c+1;

c 等於11

——

減1

d——;相當於d=d—1;

d 等於5

=

等於

a=8;

設置a等於8

+=

先相加在等於

e+=5;相當於e=e+5;

e 等於21

—=

先相減在等於

f—=5;相當於f=f—5;

f 等於—1

*=

先相乘在等於

b*=5;相當於b=b*5;

b 等於0

/=

先相除在等於

a/=5;相當於a=a/5;

a 等於1

%=

先取餘數在等於

a%=5;相當於a=a%5;

a 等於3

※假設a等於8,b等於2

比較運算

運算符

說明

範例

執行結果

==

等於

a==5

F

!=

不等於

a!=5

T

o:p

小於

a5

F

大於

a5

T

=

小於等於

a=5

F

=

大於等於

a=5

T

※比較運算結果是個布爾值既TRUE(真值)或FALSE(假值)。假設a等於8

邏輯運算

運算符

說明

範例

執行結果

AND

(a5)(a10)

T

||

OR

(a5)||(a10)

F

!

NOT

!(a10)

T

※邏輯運算結果是個布爾值既TRUE(真值)或FALSE(假值)。假設a等於8

位邏輯運算

運算符

說明

範例

執行結果

AND

a0x01

a等於1

|

OR

a|0x80

a等於0x85

~

NOT

~a

a等於0xFA

^

XOR

a^0xFF

a等於0xFA

左移

a1

a等於0x0A

右移

a1

a等於0x0A

※假設a等於5

—————————————————-控制命令—————————————————

if語句

if(條件) 語句1;

else 語句2;

例:if(d==4) d=0; //如果d等於4就設置d等於0

else d++; //否則就將d加1

if(ticks==0) { //如果ticks等於0

ticks=1000; //ticks 設置成1000

counter[0]++; //counter[0]加1

}

嵌套if語句

例:if(counter[0]==10) {

counter[1]++;

counter[0]=0;

if(counter[1]==10) {

counter[2]++;

counter[1]=0;

}

}

switch語句

switch (變數) {

case 常量1:語句1; break;

case 常量2:語句2; break;

case 常量3:語句3; break;

......

default ; 語句n;

}

for循環

for (初值,條件,變化值) 語句;

例:for(i=0;i10;i++) x=x+i;

for(i=1;i10,i++)

for(j=1;j10,j++)

printf(「%d %d」,i,j);

無窮循環:

for( ; ; );

while循環

while (條件) 語句;

例:while (ch!=!』A』) ch=getche();

無窮循環:

while(1);

do/while循環

do {

語句;

...

} while(條件);

例:do {

ch=getche();

} while (ch!=」A」);

goto語句

loop1:

x++;

if(x100) goto loop1;

—————————————————-指針和函數————————————————

指針的定義

數據類型 *指針變數的名字;

例: char *p;

int *x;

指針與數組

例: char filename[80];

char *p;

p=filename; //指針p存放filename的開始地址

int x[5]={1,2,3,4,5};

int *p,sum,i;

p=x; //指針p存放數組x的開始地址

for(i=0;i5;i++)

sum=sum+p[i]; //p[i]相當於x[i]

指針的運算

1.針變數前面加上*號就是取得指針所指向位置的內容。

例:int x[5]={1,2,3,4,5};

int *p;

p=x; //指針p存放數組x的開始地址

*p=10; //相當於設置x[0]等於10

2.變數前面加上符號,可以取得一個變數的位置。

例:int x,y;

int *p;

p=x; //指針p存放x的地址,相當於p是指向x 的指針

*p=1; //相當於設置x等於1

3.符號也可以加在數組的前面

例:int x[5];

int *p;

p=x[2]; //指針p存放x[2]的地址,相當於p是指向x[2]的指針

*p=50; //相當於設置x[2]等於50

函數

函數類型 函數名稱(參數序列);

參數說明

{

函數的主體

}

例:void delay (void) { //不返回任何數據的函數

unsigned char i,j; //沒有任何參數的函數

for(i=0,i255,i++)

for(j=0,j255,j++);

}

main()

{

delay(); //調用函數

}

例:unsigned char sum(unsigned chat a,unsigned chat b)

{

unsigned chat x;

check_GLCD_busyflag(); //函數中可以調用另一個函數

x=a+b;

return x; //return會返回x的數據

}

中斷服務函數

void 中斷服務程序的名稱(void) interrupt 中斷號碼using 寄存器組號碼

{

中斷服務子程序主體

}

中斷號碼

#define IE0_VECTOR 0 //0x03

#define TF0_VECTOR 1 //0x0B

#define IE1_VECTOR 2 //0x13

#define TF1_VECTOR 3 //0x1B

#define SIO_VECTOR 4 //0x23

對於S51有定時器2

#define TF2_VECTOR 5 //0x2B

例:static void xint0_isr(void) interrupt IE0_VECTOR(或0) using 1

{

unsigned char i,j=0xFF;

for(i=0,i16,i++)

{

j++;

P1=j; //將數值輸出到P1口

delay_4isr();

}

}

—————————————————–彙編語言————————————————–

在C中加入彙編語言

例:void delay100us()

{

#pragma asm

mov r7,#1

more: mov r3,#48

djnz r3,$

djnz r7,more

#pragma endasm

}

—————————————————-宏(macro)———————————————-

宏的定義

%*define (macro名稱) (macro的指令)

例:%*define (write_1) (

setb DI

serb SK

clr SK

)

#define 宏的名稱 宏的指令

例:#define uchar unsigned char

C語言中的符號總結

運算符的種類C語言的運算符可分為以下幾類;

1. 算術運算符

用於各類數值運算,包括加減乘除求余自增自減共七種運算

{ ( + ) ,( – ),(* ) ,( / ) ,( % ),( ++ ),(– )}。

2. 關係運算符

用於比較運算,包括大於(),小於(/span),等於(==),大於等於(=),

小於等於(=),不等於(!=)共六種。

3.邏輯運算符

用於邏輯運算,包括與()或(||)非(!)三種.

4.位操作運算符

參與運算的量,按二進位位進行運算,包括:

位與(),位或(|),位非(~),為異或(^),左移(),右移()共六種。

5.賦值運算符

用於賦值運算,分為:

簡單賦值(=)

複合算術賦值(+=,-=,*=,/=,%=)

複合位運算賦值(=,|=,^=,=,=)三類共十一種。

6.條件運算符

這是一個三目運算符,用於條件求值(?:)。

7.逗號運算符

用於把若干表達式組合成一個表達式(,)。

8.指針運算符

用於取內容(*)和取地址()兩種運算。

9.求位元組數運算符

用於計算數據類型所佔用的位元組數(sizeof)。

10.特殊運算符

有括弧(),下標[],成員(→, .)

1.C的數據類型

基本類型,構造類型,指針類型,空類型

2.基本類型的分類及特點

類型說明符 位元組 數值範圍

字元型char 1 C字符集

基本整型int 2 -32768~32767

短整型short int 2 -32768~32767

長整型 long int 4 -214783648~214783647

無符號型 unsigned 2 0~65535

無符號長整型 unsigned long 4 0~4294967295

單精度實型 float 4 3/4E-38~3/4E+38

雙精度實型 double 8 1/7E-308~1/7E+308

3.常量後綴

L或l 長整型

U或u 無符號數

F或f 浮點數

4.常量類型

整數,長整數,無符號數,浮點數,字元,字元串,符號常數,轉義字元。

5.數據類型轉換

a自動轉換

在不同類型數據的混合運算中,由系統自動實現轉換, 由少位元組類型向多位元組類型轉換。 不同類型的量相互賦值時也由系統自動進行轉換,把賦值號右邊的類型轉換為左邊的類型。

b強制轉換

由強制轉換運算符完成轉換。

6.運算符優先順序和結合性

一般而言,單目運算符優先順序較高,賦值運算符優先順序低。 算術運算符優先順序較高,關係和邏輯運算符優先順序較低。 多數運算符具有左結合性,單目運算符、三目運算符、 賦值

7.表達式

表達式是由運算符連接常量、變數、函數所組成的式子。 每個表達式都有一個值和類型。 表達式求值按運算符的優先順序和結合性所規定的順序進行。

表示輸出類型的格式字元 格式字元意義

d 以十進位形式輸出帶符號整數(正數不輸出符號)

o 以八進位形式輸出無符號整數(不輸出前綴O)

x 以十六進位形式輸出無符號整數(不輸出前綴OX)

u 以十進位形式輸出無符號整數

f 以小數形式輸出單、雙精度實數

e 以指數形式輸出單、雙精度實數

g 以%f%e中較短的輸出寬度輸出單、雙精度實數

c 輸出單個字元

s 輸出字元串

標誌字元為-、+、#、空格四種,其意義下表所示:

標誌格式字元 標 志 意 義

– 結果左對齊,右邊填空格

+ 輸出符號(正號或負號)空格輸出值為正時冠以空格,為負時冠以負號

# 對c,s,d,u類無影響;對o類, 在輸出時加前

綴o 對x類,在輸出時加前綴0x;對e,g,f 類當結果有小數時才給出小數點

格式字元串

格式字元串的一般形式為: %[*][輸入數據寬度][長度]類型 其中有方括弧[]的項為任選項。各項的意義如下:

1.類型

表示輸入數據的類型,其格式符和意義下表所示。

格式 字元意義

d 輸入十進位整數

o 輸入八進位整數

x 輸入十六進位整數

u 輸入無符號十進位整數

f或e 輸入實型數(用小數形式或指數形式)

c 輸入單個字元

s 輸入字元串

轉義字元

轉義字元是一種特殊的字元常量。轉義字元以反斜線」\」開頭,後跟一個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱「轉義」字元。例如,在前面各例題printf函數的格式串中用到的「\n」就是一個轉義字元,其意義是「回車換行」。轉義字元主要用來表示那些用一般字元不便於表示的控制代碼。

常用的轉義字元及其含義

轉義字元 轉義字元的意義

\n 回車換行

\t 橫向跳到下一製表位置

\v 豎向跳格

\b 退格

\r 回車

\f 走紙換頁

\\ 反斜線符」\」

\』 單引號符

\a 鳴鈴

\ddd 1~3位八進位數所代表的字元

\xhh 1~2位十六進位數所代表的字元

廣義地講,C語言字符集中的任何一個字元均可用轉義字元來表示。表2.2中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進位和十六進位的ASCII代碼。如\101表示字?quot;A」 ,\102表示字母」B」,\134表示反斜線,\XOA表示換行等。轉義字元的使用

在C語言中,對變數的存儲類型說明有以下四種:

auto 自動變數

register 寄存器變數

extern 外部變數

static 靜態變數

自動變數和寄存器變數屬於動態存儲方式, 外部變數和靜態變數屬於靜態存儲方式。在介紹了變數的存儲類型之後, 可以知道對一個變數的說明不僅應說明其數據類型,還應說明其存儲類型。 因此變數說明的完整形式應為: 存儲類型說明符 數據類型說明符 變數名,變數名…; 例如:

static int a,b; 說明a,b為靜態類型變數

auto char c1,c2; 說明c1,c2為自動字元變數

static int a[5]={1,2,3,4,5}; 說明a為靜整型數組

extern int x,y; 說明x,y為外部整型變數

與指針有關的各種說明和意義見下表。

int *p; p為指向整型量的指針變數

int *p[n]; p為指針數組,由n個指向整型量的指針元素組成。

int (*p)[n]; p為指向整型二維數組的指針變數,二維數組的列數為n

int *p() p為返回指針值的函數,該指針指向整型量

int (*p)() p為指向函數的指針,該函數返回整型量

int **p p為一個指向另一指針的指針變數,該指針指向一個整型量。

指針變數的賦值

p可以有以下兩種方式:

(1)指針變數初始化的方法 int a;

int *p=a;

(2)賦值語句的方法 int a;

int *p;

p=a;

(1)取地址運算符

(2)取內容運算符*

C語言各類符號意義以及用法?

auto :聲明自動變數

short :聲明短整型變數或函數

int: 聲明整型變數或函數

long :聲明長整型變數或函數

float:聲明浮點型變數或函數

double :聲明雙精度變數或函數

char :聲明字元型變數或函數

struct:聲明結構體變數或函數

union:聲明共用數據類型

enum :聲明枚舉類型

typedef:用以給數據類型取別名

const :聲明只讀變數

unsigned:聲明無符號類型變數或函數

signed:聲明有符號類型變數或函數

extern:聲明變數是在其他文件中聲明

register:聲明寄存器變數

static :聲明靜態變數

volatile:說明變數在程序執行中可被隱含地改變

void :聲明函數無返回值或無參數,聲明無類型指針

if:條件語句 else :條件語句否定分支(與 if 連用)

switch :用於開關語句 case:開關語句分支

for:一種循環語句

do :循環語句的循環體 while :循環語句的循環條件

goto:無條件跳轉語句

continue:結束當前循環,開始下一輪循環

break:跳出當前循環

default:開關語句中的「其他」分支

sizeof:計算數據類型長度

return :子程序返回語句(可以帶參數,也可不帶參數)循環條件

如何在c語言中輸入特殊符號?

1、單個任意ASCII字元輸入:使用ASCII輸入。例如:char c = 164;//符號’¤’

2、字元串中輸入任意ASCII字元:使用轉義字元+ASCII碼。例如:char* str = “abc\xa4″;//”abc¤”

轉義字元:\xhh hh代表字元的十六進位ASCII碼。

有沒有什麼C語言編程打字技巧,字母還好,感覺符號好難打?

1、感覺並沒有什麼技巧,靠的是多練。

大一有個《計算機導論》的課(感覺就是打字作ppt的課)硬生生的練會了盲打。然後C程序寫寫硬生生的靠肌肉記憶知道了”#””!””%”之類的地方。(記得用課上的標準打字姿勢)

2、就是用上面說的IDE,想visual studio,devc++,C-free都支持自動對齊,聯想,括弧補充很方便

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238971.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:14
下一篇 2024-12-12 12:14

相關推薦

  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟體開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟體開發中,UML圖是必不可少的重要工具之一。它為軟體架構和各種設計模式的…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python符號定義和使用方法

    本文將從多個方面介紹Python符號的定義和使用方法,涉及注釋、變數、運算符、條件語句和循環等多個方面。 一、注釋 1、單行注釋 # 這是一條單行注釋 2、多行注釋 “”” 這是一…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python磁碟操作全方位解析

    本篇文章將從多個方面對Python磁碟操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件許可權修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29

發表回復

登錄後才能評論