1. c語言程序設計
5.3 if語句
用if語句可以構成分支結構。它根據給定的條件進行判斷,以決定執行某個分支程序段。C語言的if語句有三種基本形式。
5.3.1 if語句的三種形式
1. 第一種形式為基本形式:if
if(表達式) 語句
其語義是:如果表達式的值為真,則執行其後的語句, 否則不執行該語句。其過程可表示為下圖。
【例5.3】
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",max);
}
本常式序中,輸入兩個數a,b。把a先賦予變數max,再用if語句判別max和b的大小,如max小於b,則把b賦予max。因此max中總是大數,最後輸出max的值。
2. 第二種形式為: if-else
if(表達式)
語句1;
else
語句2;
其語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。
其執行過程可表示為下圖。
【例5.4】
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);
}
輸入兩個整數,輸出其中的大數。
改用if-else語句判別a,b的大小,若a大,則輸出a,否則輸出b。
3. 第三種形式為if-else-if形式
前二種形式的if語句一般都用於兩個分支的情況。 當有多個分支選擇時,可採用if-else-if語句,其一般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
其語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。 if-else-if語句的執行過程如圖3—3所示。
【例5.5】
#include"stdio.h"
main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
elseif(c>='0'&&c<='9')
printf("This is a digit\n");
elseif(c>='A'&&c<='Z')
printf("This is a capital letter\n");
elseif(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
}
本例要求判別鍵盤輸入字元的類別。可以根據輸入字元的ASCII碼來判別類型。由ASCII碼表可知ASCII值小於32的為控制字元。 在「0」和「9」之間的為數字,在「A」和「Z」之間為大寫字母, 在「a」和「z」之間為小寫字母,其餘則為其它字元。 這是一個多分
支選擇的問題,用if-else-if語句編程,判斷輸入字元ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為「g」,輸出顯示它為小寫字元。
4. 在使用if語句中還應注意以下問題:
1) 在三種形式的if語句中,在if關鍵字之後均為表達式。 該表達式通常是邏輯表達式或關系表達式, 但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變數。
例如:
if(a=5) 語句;
if(b) 語句;
都是允許的。只要表達式的值為非0,即為「真」。
如在:
if(a=5)…;
中表達式的值永遠為非0,所以其後的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
又如,有程序段:
if(a=b)
printf("%d",a);
else
printf("a=0");
本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出「a=0」字元串。這種用法在程序中是經常出現的。
2) 在if語句中,條件判斷表達式必須用括弧括起來,在語句之後必須加分號。
3) 在if語句的三種形式中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復合語句。但要注意的是在}之後不能再加分號。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}
5.3.2 if語句的嵌套
當if語句中的執行語句又是if語句時,則構成了if 語句嵌套的情形。
其一般形式可表示如下:
if(表達式)
if語句;
或者為
if(表達式)
if語句;
else
if語句;
在嵌套內的if語句可能又是if-else型的,這將會出現多個if和多個else重疊的情況,這時要特別注意if和else的配對問題。
例如:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
其中的else究竟是與哪一個if配對呢?
應該理解為:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
還是應理解為:
if(表達式1)
if(表達式2)
語句1;
else
語句2;
為了避免這種二義性,C語言規定,else 總是與它前面最近的if配對,因此對上述例子應按前一種情況理解。
【例5.6】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B\n");
else printf("A<B\n");
else printf("A=B\n");
}
比較兩個數的大小關系。
本例中用了if語句的嵌套結構。採用嵌套結構實質上是為了進行多分支選擇,實際上有三種選擇即A>B、A<B或A=B。這種問題用if-else-if語句也可以完成。而且程序更加清晰。因此,在一般情況下較少使用if語句的嵌套結構。以使程序更便於閱讀理解。
【例5.7】
main(){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a==b) printf("A=B\n");
else if(a>b) printf("A>B\n");
else printf("A<B\n");
}
2. 哪裡有C++,C語言,VB,JAVA語言程序設計的視頻教程
J1314 C++程序設計(34講)-東南大學 何潔月(女)
J2238 C++程序設計語言(33講)-北京航空航天大學 張永鳴
J3294 C++面向對象程序設計(新)(48講)-吉林大學 王愛民
J0687 C++語言程序設計(37講)-吉林大學
J1128 C++語言程序設計(44課時)-上海交通大學
J0854 C++語言程序設計(45講)-北京大學 呂鳳翥
J0152 C++語言程序設計(52講)-中山大學 黎培興
J0043 C++語言程序設計(80講)-東南大學 何潔月
J1667 C++語言程序設計-清華大學
J1882 VC++6.0教程(48講)-吉林大學 田大新
J0379 VC++視頻教學(20講)-維新學院 孫鑫
J2471 VC++語言程序設計(56講)-哈爾濱工業大學 張衛(女)
J2322 編程之道-C/C++程序設計入門
J2327 編程之道-VC++.NET程序設計入門
J1883 面向對象C++(40講)-電子科技大學 陳文宇
J2444 面向對象程序設計(C++)(48講)-西北工業大學 劉尊
J0187 數據結構(68講)(C++描述)-吉林大學 徐沛娟(女)
J0185 數據結構(C++描述)(10講)-清華大學 殷人昆
J1495 數據結構(C++描述)(42講)-復旦大學 王宇君
J0861 數據結構(C++描述)(45講)-北京大學 梅婧(女)
J1813 C語言程序設計(21講)-中南大學
J1617 C語言程序設計(32講)-西北工業大學(譚浩強 第二版)
J1499 C語言程序設計(33講)-北京科技大學 楊國興
J0029 C語言程序設計(33講)-譚浩強主編 石油大學 曾怡(女)
J0989 C語言程序設計(40課時)-上海交通大學
J3140 C語言程序設計(43課時)-上海交通大學
J0857 C語言程序設計(45講)-北京大學 王秀珍(女)
J0138 C語言程序設計(51講)-吉林大學 康輝(女)
J1071 C語言程序設計(68講)-哈爾濱工業大學 溫東新(女)
J1931 C語言程序設計-北京郵電大學 王曉軍
J0285 C語言程序設計教學(45講)- 浙江大學 顏暉
J1313 C語言課程設計-東南大學 陳平
J1506 程序語言設計(C語言)(64講)-西北工業大學 王建國
J1057 計算機程序設計(C語言)(16講)-同濟大學
J1043 數據結構(C語言版)(30講)-石油大學 張柳村(女)
J0157 數據結構教程(C語言)(42講)-西北工業大學 趙雲慶
J1344 新東方IT培訓之C語言
J0655 VB.NET教程(37課時)-上海交通大學
J0991 VB6.0程序設計(41課時)-上海交通大學 徐安東
J3296 VB編程與應用(64講)-吉林大學 陳偉
J1042 VB程序設計(30講)-石油大學 於廣斌
J1687 VB程序設計(34講)-鄭州大學 柳宏川
J0368 VB程序設計(40講)-電子科技大學 陳巒
J0870 VB程序設計(48講)-吉林大學
J0322 VB程序設計基礎(36講)-浙江大學 何鴻聲
J2474 VB程序設計基礎(54課時)-上海交通大學 徐安東
J2475 Windows程序設計(VB.NET)(38課時)-上海交通大學 陳澤宇
J2326 編程之道-VB.NET程序設計入門
J1080 高級語言程序設計(VB)(52講)-哈爾濱工業大學 沈傑
J0633 黑客教程-VB視頻教程(木馬編程)-黑鷹基地
J1341 Ajax與Java框架的示例講解-JAVA教學群
J0281 JavaScript視頻教學(13CD)-張孝祥
J1945 JAVA-web開發實戰培訓視頻教程-MLDN網校
J1668 JAVA編程語言-清華大學 許斌
J0265 JAVA程序程序設計與INTERNET(42講)-浙江大學 翁愷
J2473 Java程序設計教程(46講)-上海交通大學 伍建焜
J2441 JAVA高級網路編程(44講)-西北工業大學 齊勇
J0137 JAVA教學(58講)-哈爾濱工業大學 辛明影
J0006 JAVA教學全集(30講)-浙江大學 翁愷
J0092 JAVA就業培訓(高級篇)(15CD)-張孝祥
J0091 JAVA就業培訓教程(基礎篇)(5CD)-張孝祥
J0596 JAVA開發工具eclipse教程(9講)-www.akamai.com出品
J1946 JAVA框架核心技術(J2EE)培訓課程-MLDN網校
J3115 Java語言程序設計(22講)-電子科技大學 陳巒
J2440 JAVA語言程序設計(38講)-西北工業大學 嚴建峰
J3088 JAVA語言程序設計(50講)-吉林大學 康輝(女)
J2427 SSH綜合項目-智囊團(26講)-MLDN網校 JAVA培訓先鋒 李興華
J2324 編程之道-Java程序設計入門
J1429 編寫高效的代碼JAVA(10講)-西安電子科技大學 徐坤
J1932 互聯網軟體應用與開發(JAVA)-北京郵電大學 王曉軍
J0979 基於JAVA技術Web應用開發雙認證培訓-IBM軟體學院 董平軍
J2480 面向對象程序設計(JAVA)(36講)-上海交通大學 齊開悅
J0255 面向對象程序設計JAVA(45講)-浙江大學 毛根生
J1225 面向對象程序設計JAVA(46講)-石油大學 王保三
J0703 面向對象程序設計JAVA(51講)-吉林大學 王愛民
J1192 面向對象技術JAVA(43課時)-上海交通大學 李柏岩
3. c語言:程序設計
樓主你好!
根據你的要求,代碼實現如下:
#include "conio.h"
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char a[]="123456"; // 密碼
char ch;
char st[20];
int i,k=1; //k用於統計輸入密碼的次數
A:printf("請輸入密碼:");
i=0;
ch=getch(); /* getch()函數從鍵盤接收字元,不在屏幕上顯示 */
while(ch!=13) /* 13為換行字元ASCII碼 ,鍵盤輸入為回車鍵 */
{st[i]=ch;
putchar('*');
ch=getch();
i++;
}
st[i]= '