1.定義就免了
溫江網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,溫江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為溫江上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的溫江做網(wǎng)站的公司定做!
2.程序要求從鍵盤輸入一字符,當(dāng)輸入的字符不為回車時(shí)始終執(zhí)行do...while循環(huán),當(dāng)輸入的字符為case中的任意一個(gè)時(shí),執(zhí)行那兩條自加語(yǔ)句,當(dāng)不為case所標(biāo)識(shí)的字符時(shí),只執(zhí)行第二句,因?yàn)闆]有 break
3.最后回車結(jié)束得出結(jié)果 v0=13,v1=4,v2=12
case 是開關(guān)語(yǔ)句的一個(gè)組成部分。
用法:case下面必須是整型常數(shù)。冒號(hào)和break;之間是滿足這個(gè)case時(shí)要執(zhí)行的語(yǔ)句。
如果一個(gè)變量聲明時(shí)在前面使用*號(hào),表明這是個(gè)指針型變量。換句話說,該變量存儲(chǔ)一個(gè)地址,而*(此處特指單目運(yùn)算符*,下同。C語(yǔ)言中另有雙目運(yùn)算符*)則是取內(nèi)容操作符,意思是這個(gè)內(nèi)存地址里存儲(chǔ)的內(nèi)容。指針是C語(yǔ)言區(qū)別于其他同時(shí)代高級(jí)語(yǔ)言的主要特征之一。
基本構(gòu)成:
C的數(shù)據(jù)類型包括:整型(short、int、long、long long)、字符型(char)、實(shí)型或浮點(diǎn)型(單精度float和雙精度double)、枚舉類型(enum)、數(shù)組類型、結(jié)構(gòu)體類型(struct)、共用體類型(union)、指針類型和空類型(void)。
變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。標(biāo)識(shí)符是以字母或下劃線開頭的一串由字母、數(shù)字或下劃線構(gòu)成的序列,請(qǐng)注意第一個(gè)字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。
以上內(nèi)容參考:百度百科-c語(yǔ)言
case 是開關(guān)語(yǔ)句的一個(gè)組成部分。
用法:
case 下面必須是整型常數(shù)。
冒號(hào)和break;之間是滿足這個(gè)case時(shí)要執(zhí)行的語(yǔ)句。
例如:
switch (整型表達(dá)式)
{
case 1: printf("case 1\n"); break;
case 2: case 5: printf("case 2 or 5\n"); break;
...
default: ...break;
}
當(dāng)整型表達(dá)式得1,打印字符串 "case 1"
當(dāng)整型表達(dá)式得2或5,打印字符串 "case 2 or 5"
擴(kuò)展資料:
c語(yǔ)言case的使用注意問題
#include stdio.h
int main()
{
int i;
printf ("input somenum");
scanf ("%d" , i);
switch (i)
{
//case (0.1+0.9)://這樣是不行的case后面必須是一個(gè)整數(shù)
//? ? ? printf ("this is 1\n");
//? ? ? break;
case -1://這樣是可以的,,,可以看出case后面應(yīng)是一個(gè)有符號(hào)的整數(shù)
printf ("this is -1\n");
break;
case 'a'://這是可行的,,,后面跟字符是可以的
printf ("this is a\n");
break;
case 2:
printf ("this is 2\n");
break;
case 3:
printf ("this is 3\n");
break;
case 4:
printf ("this is 4\n");
break;
default :
printf ("this is not 1234\n");
break;
}
//getchar();
//getchar();
setbuf(stdin,NULL);
char j;
scanf ("%c", j);
switch (j)
{
case 'a':
printf ("this is a\n");
break;
default:
printf ("this is default\n");
break;
}
/*? ? ? getchar();
getchar();
char k;
scanf ("%c", k);
switch (k)
{
case "a":這里是錯(cuò)誤的也就是說case后面只能跟整形和與整形通用的字符型并且只能是字符而不能是字符串
printf ("this is a\n");
break;
default:
printf ("this is default\
問題應(yīng)該出現(xiàn)在你的for循環(huán)語(yǔ)句的條件判斷一句上(scanf("%f,%f",a,b)!=2),這個(gè)輸入函數(shù)沒有反回值,即使有也只會(huì)是0和1,所以要解決這個(gè)問題,這你個(gè)建議定義一個(gè)有反回值的函數(shù)來代替這一句即可!
switch(表達(dá)式){
case常量表達(dá)式1: 語(yǔ)句1;
case常量表達(dá)式2: 語(yǔ)句2;
…
case常量表達(dá)式n: 語(yǔ)句n;
default : 語(yǔ)句n+1;
}
其語(yǔ)義是:計(jì)算表達(dá)式的值。 并逐個(gè)與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí), 即執(zhí)行其后的語(yǔ)句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語(yǔ)句。 如表達(dá)式的值與所有case后的常量表達(dá)式均不相同時(shí),則執(zhí)行default后的語(yǔ)句。
void main(){
int a;
printf("input integer number: ");
scanf("%d",a);
switch (a){
case 1:printf("Monday\n");
case 2:printf("Tuesday\n");
case 3:printf("Wednesday\n");
case 4:printf("Thursday\n");
case 5:printf("Friday\n");
case 6:printf("Saturday\n");
case 7:printf("Sunday\n");
default:printf("error\n");
}
}
本程序是要求輸入一個(gè)數(shù)字,輸出一個(gè)英文單詞。但是當(dāng)輸入3之后,卻執(zhí)行了case3以及以后的所有語(yǔ)句,輸出了Wednesday 及以后的所有單詞。這當(dāng)然是不希望的。為什么會(huì)出現(xiàn)這種情況呢?這恰恰反應(yīng)了switch語(yǔ)句的一個(gè)特點(diǎn)。在switch語(yǔ)句中,“case 常量表達(dá)式”只相當(dāng)于一個(gè)語(yǔ)句標(biāo)號(hào), 表達(dá)式的值和某標(biāo)號(hào)相等則轉(zhuǎn)向該標(biāo)號(hào)執(zhí)行,但不能在執(zhí)行完該標(biāo)號(hào)的語(yǔ)句后自動(dòng)跳出整個(gè)switch 語(yǔ)句,所以出現(xiàn)了繼續(xù)執(zhí)行所有后面case語(yǔ)句的情況。 這是與前面介紹的if語(yǔ)句完全不同的,應(yīng)特別注意。為了避免上述情況, C語(yǔ)言還提供了一種break語(yǔ)句,專用于跳出switch語(yǔ)句,break 語(yǔ)句只有關(guān)鍵字break,沒有參數(shù)。在后面還將詳細(xì)介紹。修改例題的程序,在每一case語(yǔ)句之后增加break 語(yǔ)句, 使每一次執(zhí)行之后均可跳出switch語(yǔ)句,從而避免輸出不應(yīng)有的結(jié)果。
學(xué)過調(diào)用函數(shù)吧,就是那么調(diào)用的,當(dāng)然也可以自己直接寫。舉個(gè)例子吧。數(shù)據(jù)a b,如果我想操作加減乘除,那么可以這么寫:
#includestdio.h
void jiafa(int,int);/*函數(shù)聲明*/
void main()
{
int a,b,n;
scanf("%d%d",a,b);
scanf("%d",n);
switch(n)
{
case 1:
jiafa(a,b); /*這里可以寫成調(diào)用函數(shù),也可以像下面一樣直接寫*/
break;
case2:printf("%d",a-b); break;
case3:printf("%d",a*b); break;
case3:printf("%d",a/b); break;
}
}
void jiafa(int a,int b)/* 函數(shù)定義*/
{
printf("%d",a+b);
}
分享名稱:c語(yǔ)言輸入case函數(shù),c語(yǔ)言中case怎么輸入范圍
標(biāo)題路徑:http://vcdvsql.cn/article44/hedohe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、Google、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)