當前位置:首頁 » 編程語言 » c語言常見的表達
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言常見的表達

發布時間: 2022-10-04 05:24:26

『壹』 求c語言中各種數學符號怎麼表達

*------------------------------*/
abs(計算整型數的絕對值)
相關函數 labs, fabs

表頭文件 #include<stdlib.h>

定義函數 int abs (int j)

函數說明 abs()用來計算參數j的絕對值,然後將結果返回。

返回值 返回參數j的絕對值結果。

範例 #ingclude <stdlib.h>
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}

執行 |-12| = 12

/*---------------------------------*/
exp(計算指數)
相關函數 log,log10,pow

表頭文件 #include<math.h>

定義函數 double exp(double x);

函數說明 exp()用來計算以e為底的x次方值,即ex值,然後將結果返回。

返回值 返回e的x次方計算結果。

附加說明 使用GCC編譯時請加入-lm。

範例 #include<math.h>
main()
{
double answer;
answer = exp (10);
printf("e^10 =%f\n", answer);
}

執行 e^10 = 22026.465795

/*-----------------------------------*/
sqrt(計算平方根值)
相關函數 hypotq

表頭文件 #include<math.h>

定義函數 double sqrt(double x);

函數說明 sqrt()用來計算參數x的平方根,然後將結果返回。參數x必須為正數。

返回值 返回參數x的平方根值。

錯誤代碼 EDOM 參數x為負數。

附加說明 使用GCC編譯時請加入-lm。

範例 /* 計算200的平方根值*/
#include<math.h>
main()
{
double root;
root = sqrt (200);
printf("answer is %f\n",root);
}

執行 answer is 14.142136

/*--------------------------------*/
fabs(計算浮點型數的絕對值)
相關函數:abs
表頭文件:#include<math.h>
定義函數:double fabs(double x);
函數說明:fabs()用來計算浮點型數x的絕對值,然後將結果返回。
返回值:返回參數x的絕對值計算結果
#include <math.h>
main()
{
double answer;
answer=fabs(-3.141592);
printf("|-3.141592|=%f\n",answer);
}
執行結果
|-3.141592|=3.141592

『貳』 C語言的演算法作用及表示方法

C語言的演算法主要就是把人類如何解決問題的方法和思路用某種形式表示出來。表示方法有幾種,比如自然語言表示、流程圖表示、N-S流程圖表示、偽代碼表示。各有各好處,一般常用的是流程圖和N-S流程圖兩種表示方法

『叄』 c語言中各個標識符所表示的意思

C語言中的標識符
1) 標識符由字母、數字、下劃線「_」組成,並且首字母不能是數字.
2) 不能把C語言關鍵字作為標識符.
3) 標識符長度限制8字元.
(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。
4) 標識符對大小寫敏感.
5)標識符命名應做到「見名知意」
下面的標識符名是合法的:
year,Day,ATOK,x1,_ CWS,_change_to
而下面的標識符名是不合法的:
#123,.COM,$100,1996Y,1_2_3,Win3.2

如果你問的是關鍵字的話,參考下面的內容:

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語言中整型常量有幾種形式,它們是如何表示的

在C語言中,整型常量有三種書寫形式:

(1) 十進制整數。十進制整數就是通常整數的寫法。例如:11、15、21等。

(2) 八進制整數。八進制整數的書寫形式是在通常八進制整數的前面加一個數字0。例如:00、0111、015、021等,它們分別表示十進制整數:0、73、13、17

(3) 十六進制整數。十六進制整數的書寫形式是在通常十六進制整數的前面加0x。例如:0x0、0x111、0x15、0x21等,它們分別表示十進制整數0、273、21、33。

注意,整型常量前面沒有+或者-,-10其實是一元-運算符和操作數10,同樣整型常量的十進製表示並沒有0,單獨寫一個0其實是一個八進制常量。

(4)c語言常見的表達擴展閱讀

轉換為整型

要明示地將一個值轉換為 integer,用 (int) 或 (integer)強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程式控制制需要一個 integer 參數時,值會自動轉換。您還可以通過函數 intval() 來將一個值轉換成整型。

1、從布爾值轉換

FALSE 將產生出0(零),TRUE 將產生出1(壹)。

2、從浮點數轉換

當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。

注意:如果浮點數超出了整數范圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!

註:在 Linux 下返回結果是最小負數(-214748),而在 Windows 下返回結果是零(0)。

【以下以C/C++語言為例,陳述一下整型的知識】:

a、C/C++對整型長度的規定是為了執行效率,將int定義為機器字長可以取得最大的執行速度;

b、C/C++中整型包括:int,char和enum,C++中還包含bool類型,C99中bool是一個宏,實際為_Bool;

c、C和C++對enum的規定有所不同,這里不描述;

d、修飾整型正負的有signed和unsigned,對於int默認為signed;

e、修飾 int 大小的有short和long,部分編譯器還擴展了一些更長的整型,比如long long和__int64, C99中增加了long long和unsigned long long;

f、int 的長度與機器字長相同,16位的編譯器上int長16位,32位的編譯器上int長32位;

g、short int的長度小於等於int 的長度,注意它們可能長度相等,這取決於編譯器;

h、long int 的長度大於等於int 的長度,注意它們可能長度相等,這取決於編譯器;

i、char 的長度應當可以包容得下一個字元,大部分系統中就是一個位元組,而有的系統中可能是4個位元組,因為這些系統中一個字元需要四個位元組來描述;

j、char 的正負取決於編譯器,而編譯器的決定取決於操作系統,在不同的編譯器中char可能等同於signed char,也可能等同於unsigned char。

參考資料來源:網路-整型

參考資料來源:網路-整型常量

『伍』 c語言的正確語法表達是什麼

#include <stdio.h> /*這是頭文件,包含了一些系統預定的一些函數,如輸入輸出,要想用這些函數 必須寫頭文件*/
main ()/*這是主函數 程序的執行都是從這里開始 定義函數 可以定義又返回值得函數,也可以無 返回值 但要在main 前加void ,這里是默認無返回值*/
#include <stdio.h>
main ()
{
int i,n,sum,t;
sum=0;
printf("please input n \n");
scanf("%d",&n);
for(i=1,i<=n,i++)
sum=sum+i;
printf("sum=%d",sum);

}

『陸』 C語言常見數據類型有哪些英文方式如何表示並分別說出它們所佔的內存長度

字元型 char 1 位元組
整型 int 2 位元組
長整型 long 4 位元組
單精度 float 4 位元組
雙精度 double 8 位元組
這是在TURBO C 裡面的
在VC++里為了方便都是4個位元組 也就是一個字長
還有
結構體struct、聯合體union 內存由結構體中數據決定。

『柒』 C語言中常用到的英語單詞有哪些

if else 如果,否則
while循環
scanf輸入函數
printf輸出函數
fgets從文件中讀取數據
fputs輸入數據到文件
for 循環
等等。。。。
-物聯網校企聯盟技術部

『捌』 C語言的基本語法有哪些

基本語法介紹預處理命令
把小寫字母轉換成大寫字母chara,b;a='x';b='y';a=a-32;b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
復合賦值語句有利於編譯處理,能提高編譯效率並產生質量較高的目標代碼C語言中的空語句:while(getchar!='\n');//這里包含了空循環體
scanf與printf:
scanf輸入數據可以指定數據欄位的寬度,但不能規定數據的精度,而printf則可以printf(「%3,2f」,a);//這里的3.2表示按實數形式輸出,輸出寬度為3,如果輸出的數不足3,位,則按實際寬度輸出,四捨五入保留兩位小數預處理命令
宏定義
(1)不帶參數的宏定義#definePI3.1415926//不用加分號
(2)帶參數的宏定義
#defineMAN(a,b)((a)>(b)?(a):(b))

在語句塊內定義的變數稱之為局部變數,又稱為內部變數,僅在定義它的語句塊內有效,並且擁有自己獨立的存儲空間。
全局變數:
在函數之外定義的變數成為全局變數。
如果在同一個源文件中,全局變數和局部變數同名,則在局部變數的作用范圍內,全局變數不起作用,即被「屏蔽」。
說明:
(1)一個函數中既可以使用本函數的局部變數,又可以使用有效的全局變數。(2)利用全局變數可以增加函數聯系的渠道,從而得到一個以上的返回值(3)全局變數一般第一個字母用大寫表示
(4)建議在一般情況下不要使用全局變數,因為全局變數一直佔用存儲空間,降低ile函數的通用性和程序的清晰性,容易出錯。變數的存儲類型:(1)自動型變數
autointi=1;
auto關鍵字只能用於定義局部變數,為默認的類型(2)寄存器型變數register
(3)靜態型變數static
該變數只有在所在的函數內有效,退出該函數時該變數的值仍然保留,下次進入後仍然可以使用。退出程序時值才消失。(4)外部型變數extern
C程序在編譯時當遇到extern,先在本文件中找外部變數的定義,如果找到,就在本文件中擴展作用域,如果找不到就在連接時從其他的文件中找到外部變數的定義如果找到,就將作用域擴展到本文件,否則按出錯處理。
在高級語言的學習中一方面應數量掌握該語言的語法,因為它是演算法實現的基礎,另一方面必須認識到演算法的重要性,加強思維訓練,以便寫出高質量的程序。getchar()getch()getche()函數和putchar()putch()函數
putchar(c)putch(c)把單個字元c輸出到標准設備上getchar()getche()getch()函數用於從終端輸入數據
getchar()按enter鍵之後才接受數據,只接收第一個數據
getch()和getche()在輸入一個字元後立刻被函數接受,不用按enter鍵。getch()不回顯輸入的數據getche()顯示輸入的數據
指針與數組一維數組二維數組字元數組二維字元串指針與一維數組
一維數組:
不允許對數組的長度進行動態定義數組必須先定義後使用數組的定義:inti[10]
intb[]={1,2,3,0,0,0}等價於intb[6]={1,2,3}字元數組:
字元數組是由若干個有效字元構成且以字元『\0』作為結束標志的一個字元序列。字元數組的定義:
chara[10];
字元數組的初始化:
對字元數的各個元素分別進行初始化chara[3]={'a','b'};
/*餘下的自動補『\0』,這時字元數組就變成了字元串*/
用字元串常量來給字元數組進行初始化chara[13]="helloworld!"

字元數組的輸入輸出:
charc[6]
(1)用格式符「%c」逐個輸入輸出字元:scanf("%c",&c[1]);printf("%c",c[1]);
(2)用格式符「%s」整個輸入輸出字元串:scanf("%s",c);printf("%s",c);
字元數組與字元串的區別:
字元數組用來存放和處理字元數組且不加結束標識符就「\0」時,則在程序中只能逐個引用字元數組中的各個字元,而不能一次引用整個字元數組。而字元串則可以對其引用整個數組。其操作的方式一個是數組元素,一個是數組名。
字元串處理函數:
(1)輸入字元串函數char*gets(char*str);
//stdio.h
在使用gets()輸入字元串時,可以包括空格在內的字元,在回車時,自動驕傲字元串結束標志『\0』賦予字元數組的最後一個元素。
(2)輸出字元串函數intputs(char*str);
//stdio.h
在使用puts()輸出字元串時,將字元串結束標志『\0』轉換成『\n』輸出。
(3)字元串復制函數
char*strcpy(char*strl,char*str2);
//string.h
不能使用『=』賦值語句對字元數組整體賦值,只能使用strcpy()處理。
(4)字元串比較函數
intstrcmp(char*str1,char*str2);
//string.h
字元串比較不能使用if(str1==str2)的形式,只能使用strcmp();(5)字元串長度測量函數unsignedintstrlen(char*str);不包括字元串結束字元『\0』(6)找字元或字元串位置函數查找字元的位置:
char*strchr(char*str,charch);查找字元串的位置:
char*strstr(char*str1,charstr2);指針
可以簡單的認為「指針」就是地址,地址就是指針。一個變數的地址只能使用&符號獲得。
指針變數:
在C語言中指針被用來標識號內存單元的地址,如果把這個地址用一個變數來保存,則這中噢噢那個變數就成為指指針變數。
如指針變數pi只想變數i,那麼pi就表示變數i的地址,*pi就表示變數i的值,pi=&i。i=3與*pi=3等價指針變數的使用:
先定義,後使用。
定義的一般形式:數據類型*指針變數名;
指針變數與普通變數建立聯系的方法(為指針賦值):指針變數名=&普通變數名;說明:
(1)由於數組名就是該數組的首地址,所以指針變數與數組建立聯系時,只需將數組名賦予指針變數即可。
(2)當指針變數沒有賦值時,可以賦空指針NULL或0,不能間接引用沒有初始化或值為NULL的指針。
(3)&取地址運算符,*取只想的值的運算符。指針變數的引用方式:
(1)*指針變數名:表示所指變數的值。(2)指針變數名:表示所指變數的地址使用指針作為函數的參數:#include<stdio.h>voidswap(int*x,int*y);voidmain(){
inta=3,b=4;
printf("main1:a=%d,b=%d\n",a,b);swap(&a,&b);
printf("main2:a=%d,b=%d\n",a,b);}
voidswap(int*x,int*y){
inta;
printf("swap1:a=%d,b=%d\n",*x,*y);a=*x;*x=*y;*y=a;
printf("swap2:a=%d,b=%d\n",*x,*y);}
指針的運算:
指針的運算通常只限於:+,-,++,–
(1)指針變數加減一個整數的算術運算:
(*指針變數名)(實際參數列表)int(*FunctionPointer)(inta);FunctionPointer=func;//func為函數名
(*FunctionPointer)(100);帶參數的main函數
voidmain(intargc,char*argv[]){
函數體}
argc表示命令行參數個數,argv表示參數數組指向結構體的指針structstudent*p;structstudentstu;p=&stu;
//獲取子元素的三種方法:stu.name;(*p).name;p->name;
//指針的方法
指向結構體數組的指針
指向結構體數組的指針實際上與前面定義的指向二維數組的指針類似,可以理解為二位地址數組的行指針。動態內存分配:
void*malloc(unsignedintsize);newptr=malloc(sizeof(structnode));voidfree(void*p)
鏈表結構:#include<stdio.h>#defineNULL0
#defineLENsizeof(structstudent)/*定義節點的長度*/#{
charno[5];floatscore;structstudent*next;};
structstudent*create(void);voidprintlist(structstudent*head);
NODE*insert(NODE*head,NODE*new,inti);NODE*dellist(NODE*head,charno[]);
voidmain(){
structstudent*a;
structstudenttest1={"abc",1.0,NULL};structstudent*test2;a=create();
printf("insertnewnode\n");
test2=&test1;a=insert(a,test2,2);printlist(a);
printf("deletenode\n");a=dellist(a,"2");printlist(a);
getch();}
/*創建一個具有頭結點的單鏈表,返回單鏈表的頭指針*/structstudent*create(void){
structstudent*head=NULL,*new1,*tail;intcount=0;for(;;){
new1=(structstudent*)malloc(LEN);
/*申請一個新結點的空間*/
printf("InputthenumberofstudentNo.%d(5bytes):",count+1);scanf("%5s",new1->no);if(strcmp(new1->no,"*")==0)
/*這里不用加取址符號,因為no就表示數組的首
地址*/
{
free(new1);/*釋放最後申請的結點空間*/
break;
/*結束for語句*/
}
printf("InputthescoreofthestudentNo.%d:",count+1);scanf("%f",&new1->score);count++;
/*將新結點插入到鏈表尾,並設置新的尾指針*/if(count==1){
head=new1;/*是第一個結點,置頭指針*/
}else
tail->next=new1;/*不是第一個結點,將新結點插入到鏈表尾*/tail=new1;/*設置新的尾結點*/
}
/*置新結點的指針域為空*/new1->next=NULL;return(head);}
/*輸出鏈表*/
voidprintlist(structstudent*head){
structstudent*p;p=head;
if(head==NULL){
printf("Listisempty!!!\n");}else{
while(p!=NULL){
printf("%5s%4.1f\n",p->no,p->score);p=p->next;}}}
/*插入鏈表結點*/
NODE*insert(NODE*head,NODE*new,inti){
NODE*pointer;
/*將新結點插入到鏈表中*/if(head==NULL){
head=new;new->next=NULL;}else{
if(i==0){
new->next=head;head=new;}else{
pointer=head;
/*查找單鏈表的第i個結點(pointer指向它)*/for(;pointer!=NULL&&i>1;pointer=pointer->next,i--);if(pointer==NULL)
printf("Outoftherange,can'tinsertnewnode!\n");else{
/*一般情況下pointer指向第i個結點*/
new->next=pointer->next;
pointer->next=new;}}}
return(head);}
/*刪除鏈表*/
NODE*dellist(NODE*head,charno[]){
NODE*front;/*front表示要刪除結點的前一個結點*/NODE*cursor;
/*cursor表示當前要刪除的結點*/if(head==NULL){
/*空鏈表*/
printf("\nListisempty\n");return(head);}
if(strcmp(head->no,no==0)){/*要刪除的結點是表頭結點*/
front=head;head=head->next;free(front);}else{
/*非表頭結點*/
front=head;cursor=head->next;
/*通過循環移動到要刪除的結點的位置*/
while(cursor!=NULL&&strcmp(cursor->no,no)!=0){
front=cursor;cursor=cursor->next;}
if(cursor!=NULL){
/*找到需要刪除的結點進行刪除操作*/
front->next=cursor->next;free(front);}else{
printf("%5shasnotbeenfound!",*no);}}
return(head);}
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
test2=&test1;a=insert(a,test2,2);printlist(a);
printf("deletenode\n");a=dellist(a,"2");printlist(a);
getch();}
/*創建一個具有頭結點的單鏈表,返回單鏈表的頭指針*/structstudent*create(void){
structstudent*head=NULL,*new1,*tail;intcount=0;for(;;){
new1=(structstudent*)malloc(LEN);
/*申請一個新結點的空間*/
printf("InputthenumberofstudentNo.%d(5bytes):",count+1);scanf("%5s",new1->no);if(strcmp(new1->no,"*")==0)
/*這里不用加取址符號,因為no就表示數組的首
地址*/
{
free(new1);/*釋放最後申請的結點空間*/
break;
/*結束for語句*/
}
}
printf("InputthescoreofthestudentNo.%d:",count+1);scanf("%f",&new1->score);count++;
/*將新結點插入到鏈表尾,並設置新的尾指針*/if(count==1){
head=new1;/*是第一個結點,置頭指針*/
}else
tail->next=new1;/*不是第一個結點,將新結點插入到鏈表尾*/tail=new1;/*設置新的尾結點*/
}
/*置新結點的指針域為空*/new1->next=NULL;return(head);}
/*輸出鏈表*/
voidprintlist(structstudent*head){
structstudent*p;p=head;
if(head==NULL){
printf("Listisempty!!!\n");}else{
while(p!=NULL){
printf("%5s%4.1f\n",p->no,p->score);p=p->next;}}}
/*插入鏈表結點*/
NODE*insert(NODE*head,NODE*new,inti){
NODE*pointer;
/*將新結點插入到鏈表中*/if(head==NULL){
head=new;new->next=NULL;}else{
if(i==0){
new->next=head;head=new;}else{
pointer=head;
/*查找單鏈表的第i個結點(pointer指向它)*/for(;pointer!=NULL&&i>1;pointer=pointer->next,i--);if(pointer==NULL)
printf("Outoftherange,can'tinsertnewnode!\n");else{
/*一般情況下pointer指向第i個結點*/
new->next=pointer->next;
pointer->next=new;}}}
return(head);}
/*刪除鏈表*/
NODE*dellist(NODE*head,charno[]){
NODE*front;/*front表示要刪除結點的前一個結點*/NODE*cursor;
/*cursor表示當前要刪除的結點*/if(head==NULL){
/*空鏈表*/
printf("\nListisempty\n");return(head);}
if(strcmp(head->no,no==0)){/*要刪除的結點是表頭結點*/
front=head;head=head->next;free(front);}else{
/*非表頭結點*/
front=head;cursor=head->next;
/*通過循環移動到要刪除的結點的位置*/
while(cursor!=NULL&&strcmp(cursor->no,no)!=0)
front=cursor;cursor=cursor->next;}
if(cursor!=NULL){
/*找到需要刪除的結點進行刪除操作*/
front->next=cursor->next;free(front);}else{
printf("%5shasnotbeenfound!",*no);}}
return(head);}

『玖』 c語言運算符號的表示方法

1 算術運算符

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。

2.關系運算符

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)

、小於等於(<=)和不等於(!=)六種。

3.邏輯運算符

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4.位操作運算符

參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5.賦值運算符

用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6.條件運算符

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

7.逗號運算符

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

8.指針運算符

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

9.求位元組數運算符

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

10.特殊運算符

有括弧(),下標[],成員(→,.)等幾種。

優先順序1級 結合方向 左結合(自左至右)

( ) 圓括弧

[ ]下標運算符

-> 指向結構體成員運算符

. 結構體成員運算符(請注意它是一個實心圓點)

優先順序2級 結合方向 右結合(自右至左)單目運算符

! 邏輯非運算符

~ 按位取反運算符

++ 自增運算符

-- 自減運算符

-負號運算符

(類型) 類型轉換運算符

* 指針運算符

& 地址與運算符

sizeof 長度運算符

優先順序3級 結合方向 左結合 雙目運算符

* 乘法運算符

/ 除法運算符

% 取余運算符

優先順序4級 結合方向 左結合 雙目運算符

+ 加法運算符

- 減法運算符

優先順序5級 結合方向 左結合 雙目運算符

<< 左移運算符

>> 右移運算符

優先順序6級 結合方向 左結合 雙目運算符

<、<=、>、>= 關系運算符

優先順序7級 結合方向 左結合 雙目運算符

== 等於運算符 (判斷)

!= 不等於運算符(判斷)

優先順序8級 結合方向 左結合 雙目運算符

& 按位與運算符

優先順序9級 結合方向 左結合 雙目運算符

^ 按位異或運算符

優先順序10級 結合方向 左結合 雙目運算符

| 按位或運算符 舉例:0xfe|0xef 即為1111 1110 與1110 1111按位或運算則答案為:1111 1111 即0xff。

優先順序11級 結合方向 左結合 雙目運算符

&& 邏輯與運算符

優先順序12級 結合方向 左結合 雙目運算符

|| 邏輯或運算符

優先順序13級 結合方向 右結合 三目運算符

? : 條件運算符

優先順序14級 結合方向 右結合 雙目運算符

= 賦值運算符

+ = 加後賦值運算符 如s+=1表示s=s+1

- = 減後賦值運算符 如s-=1表示s=s-1

* = 乘後賦值運算符

/ = 除後賦值運算符

% = 取模後賦值運算符

< <= 左移後賦值運算符

>>=右移後賦值運算符

&= 按位與後賦值運算符

^=按位異或後賦值運算符

|= 按位或後賦值運算符

優先順序15級 結合方向 左結合

, 逗號運算符

『拾』 c語言表示&&和||各表示什麼

「&&」表示 與,意為同時都要滿足。「||」表示 或,意為二者或多著只要滿足其中一個。在C語言中,&&和||都屬於邏輯運算符,並且都是雙目運算符。


邏輯運算符總共有3個,分別是"&&"、"||"和"!"。a && b,一假必假,結合性從左至右。||是邏輯或運算符,a || b,一真必真,結合性從左至右。

&&和||在Java和PHP以及c#中都是邏輯操作符,也叫條件操作符。


關於c語言的表達符號,可以到達內了解一下,達內時代科技集團有限公司(簡稱達內教育),成立於2002年。2014年4月3日成功在美國上市。成為中國赴美國上市的職業教育公司,也是引領行業的職業教育公司。達內擁有行業內完善的教研團隊,200餘位總監級講師,1000餘名教研人員,全方位保障學員學習。>>C語言免費試聽