一.switch:
1.與if-else功能相似
2.更具有可讀性
3.括號內(nèi)()為已經(jīng)確定的變量
4.需要不同的case
翻譯過來為"轉(zhuǎn)換到xx情況"
5.最后的defaulse<=>if當中的else 意為剩余情況
break一定不能少
不然會一直執(zhí)行 直到break出現(xiàn)才跳出
二.for(循環(huán)控制變量;運行的條件;控制變量的變化):
for循環(huán)中間調(diào)節(jié)是必須要,其他部分可以省略
分號不能省略
for(;1<2;)
for(int i=0;i<10;i++)
若要滿足在a-z之間無限循環(huán):
int main()
{
//不斷輸出a-z之間的字母
for(char i='a';i<='z';i++){
printf("i=%c\n",i);
if(i=='z'){
i='a';
}
}
}
循環(huán)控制變量額定義和初始化只執(zhí)行一次
變量的作用域:
局部變量:{
{
int a
for(;i<=10;){
if (i==10){
int i=1;
}
};只作用于大括號內(nèi),優(yōu)先級最先
全局變量:int i=1全局?這個文件,在頭文件之下
靜態(tài)變量:
循環(huán)控制變量什么時候變化:一次循環(huán)結(jié)束之后
i++ i-- j-- i+=2
若要跳出整個循環(huán)用if break
continue:之后的代碼不執(zhí)行,之前的要執(zhí)行,然后開始下一次循環(huán)例如:輸出1-10整數(shù)剔除5
demo小銀行
1.請輸入密碼
2.密碼錯誤請重新輸入(3次機會)
3.錯誤次數(shù)過多 請聯(lián)系工作人員
4.若密碼正確
①存款
請輸入存款金額:8000
存款成功 余額為
是否繼續(xù)y/n
②取款
③更改密碼
④查詢余額
⑤退出
/*
getchar();從終端接收一個字符
注意:當上一次有輸入的情況下 必須要將上一次緩沖區(qū)
里面的內(nèi)容清空
scanf("%d");
123\n;
\n
方式一:
getchar(); //拿走\n
getchar();
方式二:
fflush(stdin);//刷新輸入流
return; 結(jié)束當前這個函數(shù)/方法
exit()導入頭文件<stdlib.h> 直接退出程序
main(){
1
2
3
}
add(){
retrun;
}
for(){
switch(){
return 1;
exit();
break;
}
}
*/
#include <stdio.h>
#include <stdlib.h>
int main(){
int old = 123;//原始密碼
int input;//輸入密碼
int wrongTime = 3; //錯誤次數(shù)
int total=80000;
printf("**********************\n");
printf(" 歡迎使用建設(shè)銀行系統(tǒng)\n");
printf("**********************\n");
//int i = 1;
printf("請輸入密碼:");
for(int i = 1;i <= wrongTime; i++){
scanf("%d", &input);
//判斷密碼
if(input == old){
//密碼正確
break;
}
if(i == wrongTime){
printf("錯誤次數(shù)過多!\n");
return 1;
}
//密碼不正確
printf("密碼不正確,請重新輸入密碼:");
}
//接收用戶選擇
int choice;
char goon;
for(; 1 < 2;){
//主界面
printf("*****************************\n");
printf("1.存款\n");
printf("2.取款\n");
printf("3.查詢\n");
printf("4.更改密碼\n");
printf("5.退出\n");
printf("*****************************\n");
//提示用戶選擇
printf("請選擇操作:");
scanf("%d", &choice);
//判斷操作
int jine;
switch(choice){
case 1: //存款
printf("請輸入存款金額");
scanf("%d",&jine);
total+=jine;
printf("當前金額為:%d",total);
break;
case 2: //取款
int temp2;
for(;1<2;){
printf("請輸入取款金額");
scanf("%d",&temp2) ;
if(temp2>total){
printf("余額不足");
}
else{
total-=temp2;
printf("取款成功,余額為%d",total);
}
break;
}
case 3: //查詢余額
printf("當前余額為:%d",total) ;
break;
case 4: //更改密碼
int n1,n2;
for(;1<2;){
printf("請輸入新密碼");
scanf("%d",&n1);
printf("請確認密碼");
scanf("%d",&n2);
if(n1==n2){
printf("密碼設(shè)置成功~\n") ;
old=n1;
}
else{
printf("兩次輸入不一致");
}
}
break;
default://退出
exit(EXIT_SUCCESS);
//exit(EXIT_FAILURE);
break;//這里的break不能省略
}
//提示是否繼續(xù)
for(;1<2;){
printf("是否繼續(xù)(y/n):");
getchar();
scanf("%c",&goon);
if(goon=='y'){
break;
}
if(goon=='n'){
exit(EXIT_SUCCESS);
}
printf("輸入無效 ");
}
}
return 0;
}