當前位置:首頁 » 編程語言 » c語言問號語句用法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言問號語句用法

發布時間: 2022-07-06 03:56:20

c語言中":"(冒號)和問號是什麼意思

是問號和冒號一起嗎
bool a = 1>3?false:true;
?: 是三元運算符
由條件運算符組成的條件表達式的一般形式為:
表達式1 ? 表達式 2 : 表達式 3

其中表達式 1、表達式2、表達式3,既可以是一個簡單的表達式,又可以是由各種運算符組成的復合表達式。

計算過程很好理解:
先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假, 則求表達式3 的值並把它作為整個表達式的值。

Ⅱ C語言裡面問號什麼意思:什麼意思

C語言裡面?、:是三木運算符,其中?用來判斷條件的真假,:用來根據判斷結果決定取值。

如(a<b)?a:b"是一個"條件表達式",如果a<b為真,則表達式取a值,否則取b值。條件運算符由"?"和":"兩個符號組成, 要求有3個操作對象,所以條件運算符也叫三目運算符。

條件表達式的一般形式為:表達式1?表達式2:表達式3

(2)c語言問號語句用法擴展閱讀

關於三目運算符的說明:

1、通常情況下,表達式1是關系表達式或邏輯表達式,用於描述條件表達式中的條件,表達式2和表達式3可以是常量,變數或表達式.例如:

(x==y)?'Y':'N'、(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)、ch=(ch>='A'&&ch<='Z')?(ch+32):ch均為合法的條件表達式。

2、條件表達式的執行順序為:先求解表達式1,若值為非0,表示條件為真,則求解表達式2,此時表達式2的值就作為整個條件表達式的值;

若表達式1的值為0,表示條件為假,則求解表達式3,表達式3的值就是整個條件表達式的值。例如:(a>=0)?a:-a執行結果是a的絕對值。

3、在程序中,通過把條件表達式的值直接賦予某個變數.。例如:min=(a<b)?a:b執行結果就是將條件表達式的值賦予變數min,即將a和b二者中較小的數賦給min。

Ⅲ C語言中,問號表示什麼意思

c語言運算符中問號是條件運算符(與冒號組合)。該運算符是c語言中唯一一個三目運算符。
可以通過如下的實例來說明條件運算符的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者

Ⅳ c語言中對文件的操作,解釋帶問號語句

看代碼中注釋

不懂處再追問

intbrowse(char*key,fpos_t*p,CON*s)
{
FILE*f=0;//定義一個空文件指針相當於FILE*f=NULL;
inti=0,r=0;CONt;
char*a=0,*b=0;fpos_tq;//這里是三個變數定義a,b為字元指針char*型,並賦值為空(NULL).q為fpos_t型,可以認為是int無初始化值
if(!s)//判斷傳入參數等同於if(s==NULL)即如果傳入的s指針為空則直接返回
return0;
f=fopen(fileDB,"rb");
if(!f){
printf("資料庫暫無記錄 ");
return0;
}/*endif*/
printf("編號 姓名 單位 電話 電郵 ");
printf("------------------------------------------------ ");
while(!feof(f))//判斷是否達到文件結尾。如達到文件結尾(feof(f)=true)則退出循環不再讀文件
{
fgetpos(f,&q);//獲取當前文件偏移即讀取文件到哪個位元組了
r=fread(&t,sizeof(t),1,f);//從文件中拂去sizeof(t)個位元組數據並存到變數t中
if(r<1)break;
if(t.name[0]==0)
continue;
if(key)
{
a=strstr(t.name,key);//從t.name中查找是否存在key子串如果存在返回key所在的地址,不存在返回NULL
b=strstr(t.tele,key);
if(a==0&&b==0)//t.name和t.key中都沒有key
continue;
}/*endif*/
if(p)*p=q;
if(s)memcpy(s,&t,sizeof(t));//復制t中的數據到s中。由於剛進函數時判斷過s所以這里的if(s)是多餘的
i++;
show(i,&t);//這個不是系統函數應該是自定義的。從命名上看應該是列印t中數據的值
}/*endwhile*/
fclose(f);
printf("------------------------------------------------ ");
returni;
}/*endbrowse*/

綜合: 這個函數就是從fileDB中讀取數據,並查找每一項 如果在t.name或者t.tel中存在key值(檢索關鍵字)則在參數s中返回查找到的條目,並在參數p中返回該條目所在的偏移量。 該函數返回值為查找到的符合條件的總條目數

存在的問題:如果在fileDB中存在超過一條的符合數據,只會返回最後一條的詳細數據

如果沒有找到 則p和s值都不會改變 只有通過返回值才能判斷出查找失敗

Ⅳ 在C語言中的問號是什麼意思

你的
問號
是不是放錯地方了?那個語句應該是判斷是否大於等於吧?
是返回1,不是返回0;

Ⅵ c語言中" : "(冒號)和問號是什麼意思

bool a = 1>3?false:true;

?: 是三元運算符由條件運算符組成的條件表達式的一般形式為:

表達式1 ? 表達式 2 : 表達式3,其中表達式 1、表達式2、表達式3,既可以是一個簡單的表達式,又可以是由各種運算符組成的復合表達式。

計算過程很好理解:先求表達式1的值, 如果為真, 則求表達式2 的值並把它作為整個表達式的值。 如果表達式1 的值為假,則求表達式3 的值並把它作為整個表達式的值。

(6)c語言問號語句用法擴展閱讀:

C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

Ⅶ C語言問號表達式

……?……:……

式A?B:C值為:若A為真,則B;若A為假,則C。

但有一點是值得注意的,那就是問號表達式的結合性,問號表達式是從右往左的運算方向

尤其是當問號表達式嵌套使用時得注意這個問題,例如

代碼:

int a=1,b=2,c=3,d=4;

printf("%d",a<b?a:c<d?c:d);

正確結果是:1

因為先執行的是c<d?c:d,會返回c,然後執行a<b?a:c

因此得到的結果就是1(可以在編譯器上實驗一下)