『壹』 c語言選擇語句的條件分支有幾種格式,它們的作用及適用范圍又是什麼
主要選擇結構有:if 最常見的選擇結構 單一的if語句有人也稱為挖坑 可將程序分為兩路 沒有滿足則不執行 else 與if 合用 可將程序分為三路 if(條件)(語句一) else(語句二) 都沒有滿足則不執行 else if 與if合用 將程序分為若幹路 if(條件)(語句一)else if(條件)(語句二)else if(條件)...... switch case 條件選擇 switch(條件列表標識符)case:(語句);break; case(語句);break; ...... default(語句); 每一句後要加break 不然會全都執行 default 表示如果都不滿足則執行此語句 不同的語句要用在恰當的時候樓主這些語句多試試就會有自己的看法 編程要編出自己的風格
『貳』 C語言語句種類有哪些
C語句可分為以下五類:
1 表達式語句;
2 函數調用語句;
3 控制語句;
4 復合語句;
5 空語句。
『叄』 C語言中if語句的三種形式到底是怎樣的分別舉例
1)簡化形式
if(表達式) 語句塊
如: if(x>y) printf(「%d」,x);
2)一般形式
if (表達式)
語句塊1
else
語句塊2
例如:
if (x>y)
printf(「max=%d」,x);
else
printf(「max=%d」,y);
3)嵌套形式
含義:一條if語句重又包含另一個if語句稱為if語句的嵌套.
格式:
if( )
if( ) 語句塊1
else 語句塊2
else
if( ) 語句塊3
else 語句塊4
例如:
if (score>90)
printf(「very good」);
else
if(score>80)
printf(「good」);
else
if(score>60)
printf(「ok」);
else
printf(「bad」);
如果語句塊包含多個語句,用{}就行了
例如:
if(n>0)
{
printf("%d",n);
printf("是正數\n");
}
『肆』 c語言中的語句有哪幾類
C語言語句分為5 類 : 1、 表達式語句 2、 函數調用語句 3、 控制語句 4、 復合語句 5、 空語句 表達式語句 : 表達式+分號; 函數調用語句 : 函數名+實際參數+分號; 格式一般為:函數名(參數表); 控制語句 : 1,條件判斷語句 if語句,switch語句循環執行語句 例如:if(a>b) max=a; else max=b; // 該語句表示:如果a>b條件成立,則max取a的值,否則max的值是b。在a>b條件的控制下,出現兩個可能的分支流程。而switch語句能實現多個分支流程。 do while語句,while語句,for語句轉向語句 2,循環語句有for、while和do_while三種。當循環語句的循環控制條件為真時,反復執行指定操作,是C語言中專門用來構造循環結構的語句。 如:for(i=1;i<10;i++) printf("%d",i); i從1開始,每次加1,只要i<10就輸出i的值,因此i=1,2,3,……,9,共循環9次,輸出: 1 2 3 4 5 6 7 8 9 上述功能還可以用while語句和do_while語句實現。 用while語句實現: i=1; while(i<10) { printf("%d",i);i++; } 用do_while語句實現: i=1; do { printf("%d",i);i++; } while(i<10); 轉移語句有break,continue,return和goto四種。它們都能改變程序原來執行順序並轉移到其它位 置繼續執行。例如,循環語句中break語句終止該循環語句的執行;而循環語句中的continue語句只結束本次循環並開始下次循環;return語句 用來從被調函數返回到主調函數並帶回函數的運算結果;goto語句可以無條件轉向任何指定的位置執行。 復合語句 :多個語句用{}括起來,組成復合語句,其中每條語句都以;結束,但}外不能加分號; 空語句 : 空語句是只有分號(;)的語句。由一個分號組成,它表示什麼操作也不做。從語法上講,它的確是一條語句。在程序設計中,若某處從語法上需要一條語句,而實際上不需要執行任何操作時就可以使用它。例如,在���計循環結構時,有時用到空語句。 賦值語句 :屬於表達式語句,注意事項如下: 1、 允許嵌套 2、 與為變數賦初值有區別,賦初值是變數說明的一部分,與其他變數要用逗號分隔,而賦值語句需要用分號;結束 3、 變數說明不允許中的賦初值不允許連續賦初值,如int a=b=c=5;是錯誤的,但賦值語句a=b=c=5是正確的。 4、 注意賦值表達式和賦值語句的區別。賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。 如if ((x=y+5)>0) z=x;是正確的,而if((x=y+5;)>0) z=x;是錯誤的。
『伍』 c語言條件語句有哪兩種形式
if和switch語句
if-else 或者 if-else if-else 表示多個條件的
swith是開關語句,條件多的時候根據傳入參數選擇某一個分支執行
『陸』 C語言中的的if語句共有多少種格式
if語句基本的有三種格式,在此基礎上可以擴展一些其它格式,注意活學活用即可。
1、
if……形式
一般格式:if(表達式) 語句;
語義是:如果表達式的值為真,則執行其後的語句,否則不執行該語句。語句可以是單條語句,也可以是用花括弧{}包括起來的復合語句。示例如下:
#include <stdio.h>
int main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d\n",max);
return 0;
}
2、if……else形式
一般格式:
if(表達式)
語句1;
else
語句2;
語義是:如果表達式的值為真,則執行語句1,否則執行語句2
。語句1和語句2可以是復合語句。
示例如下:
#include <stdio.h>
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
return 0;
}
3、if……else……if形式
一般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。
如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。示例如下:
#include <stdio.h>
int main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
return 0;
}
4、擴展形式
if條件控制語句的形式是多種多樣的。比如if嵌套、if……if類似的形式,但是都離不開上面介紹的三種基本形式。注意活學活用。
『柒』 C語言中條件編譯有哪幾種形式
預處理程序提供了條件編譯的功能。 可以按不同的條件去編譯
不同的程序部分,因而產生不同的目標代碼文件。 這對於程序的移
植和調試是很有用的。
條件編譯有三種形式,下面分別介紹:
1. 第一種形式:
#ifdef 標識符
程序段1
#else
程序段2
#endif
它的功能是,如果標識符已被 #define命令定義過則對程序段1
進行編譯;否則對程序段2進行編譯。
如果沒有程序段2(它為空),本格式中的#else可以沒有, 即可
以寫為:
#ifdef 標識符
程序段
#endif
#define NUM ok
main(){
struct stu
{
int num;
char *name;
char sex;
float score;
} *ps;
ps=(struct stu*)malloc(sizeof(struct stu));
ps->num=102;
ps->name="Zhang ping";
ps->sex='M';
ps->score=62.5;
#ifdef NUM
printf("Number=%d\nScore=%f\n",ps->num,ps->score);
#else
printf("Name=%s\nSex=%c\n",ps->name,ps->sex);
#endif
free(ps);
}
由於在程序的第16行插入了條件編譯預處理命令, 因此要根據
NUM是否被定義過來決定編譯那一個printf語句。而在程序的第一行
已對NUM作過宏定義,因此應對第一個printf語句作編譯故運行結果
是輸出了學號和成績。
在程序的第一行宏定義中,定義NUM表示字元串OK,其實也可以
為任何字元串,甚至不給出任何字元串,寫為:
#define NUM
也具有同樣的意義。 只有取消程序的第一行才會去編譯第二個
printf語句。讀者可上機試作。
2. 第二種形式:
#ifndef 標識符
程序段1
#else
程序段2
#endif
與第一種形式的區別是將「ifdef」改為「ifndef」。它的功能
是,如果標識符未被#define命令定義過則對程序段1進行編譯, 否
則對程序段2進行編譯。這與第一種形式的功能正相反。
3. 第三種形式:
#if 常量表達式
程序段1
#else
程序段2
#endif
它的功能是,如常量表達式的值為真(非0),則對程序段1 進行
編譯,否則對程序段2進行編譯。因此可以使程序在不同條件下,完
成不同的功能。
#define R 1
main(){
float c,r,s;
printf ("input a number: ");
scanf("%f",&c);
#if R
r=3.14159*c*c;
printf("area of round is: %f\n",r);
#else
s=c*c;
printf("area of square is: %f\n",s);
#endif
}
本例中採用了第三種形式的條件編譯。在程序第一行宏定義中,
定義R為1,因此在條件編譯時,常量表達式的值為真, 故計算並輸
出圓面積。
上面介紹的條件編譯當然也可以用條件語句來實現。 但是用條
件語句將會對整個源程序進行編譯,生成的目標代碼程序很長, 而
採用條件編譯,則根據條件只編譯其中的程序段1或程序段2, 生成
的目標程序較短。如果條件選擇的程序段很長, 採用條件編譯的方
法是十分必要的。
☆本章小結☆
1. 預處理功能是C語言特有的功能,它是在對源程序正式編譯前由
預處理程序完成的。程序員在程序中用預處理命令來調用這些功
能。
2. 宏定義是用一個標識符來表示一個字元串,這個字元串可以是常
量、變數或表達式。在宏調用中將用該字元串代換宏名。
3. 宏定義可以帶有參數,宏調用時是以實參代換形參。而不是「值
傳送」。
4. 為了避免宏代換時發生錯誤,宏定義中的字元串應加括弧,字元
串中出現的形式參數兩邊也應加括弧。
5. 文件包含是預處理的一個重要功能,它可用來把多個源文件連接
成一個源文件進行編譯,結果將生成一個目標文件。
6. 條件編譯允許只編譯源程序中滿足條件的程序段,使生成的目標
程序較短,從而減少了內存的開銷並提高了程序的效率。
7. 使用預處理功能便於程序的修改、閱讀、移植和調試,也便於實
現模塊化程序設計。
『捌』 在C語言的if語句常見的形式有哪些分別說,它們的作用
三種形式:
形式一、if(表達式)~~
作用:只判斷滿足條件時的功能,不滿足時什麼也不做,如:
if(睡醒了)
上班工作;
形式二、if(表達式)~~else~~
作用:兩個相反的條件,當表達式成立時執行某段代碼,否則執行另一段代碼,如:
if(今天不下雨)
外出爬山;
else
在家上網;
形式三、if(表達式)~~else
if(表達式)~~else~~
作用:當實際問題有多種情況(分支)時,用此形式,如:
if(1-2節)
上英語課;
else
if(3-4節)
上數學課;
else
if(5-6節)
上體育課;
else
上自習;