C#流程控制语句实例分析(云服务器、云主机、高防IP、高防服务器、香港服务器、美国服务器,开发技术)

时间:2024-05-03 21:58:45 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    流程控制语句分类

    • 分支语句: if语句和switch语句

    • 迭代语句

    • 跳转语句

    1、if语句

    if (判断条件表达式){ 表达式结果为true时执行}else{表达式结果为false时执行}

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceif语句{classProgram{staticvoidMain(string[]args){//判断a变量与10的关系Console.WriteLine("请输入你要比较的第一个数字");inta=Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入你要比较的第而个数字");//int.parse用于将屏幕输入的语句转换为整型intb=int.Parse(Console.ReadLine());if(a<b){Console.WriteLine("您输入的第一个数字{0}小于第二个数字{1}",a,b);}elseif(a==b){Console.WriteLine("您输入的第一个数字{0}等于第二个数字{1}",a,b);}else{Console.WriteLine("您输入的第一个数字{0}大于第二个数字{1}",a,b);}Console.ReadKey();}}}

    2、switch

    输入1显示为星期一,依次类推

    swithc(条件表达式){
    case 常量表达式:条件语句;
    case 常量表达式:条件语句;
    case 常量表达式:条件语句;
    default:条件表达式
    }

    控件无法从最终用例标签(XX)脱离开关&mdash;&mdash;程序无法判定为结束,所以必须加一个break;

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceswitch控制语句{classProgram{staticvoidMain(string[]args){//输入一显示星期一,一次类推Console.WriteLine("请输入1-7的数字");intweek=int.Parse(Console.ReadLine());switch(week){case1:Console.WriteLine("星期一");break;//结束当前代码体case2:Console.WriteLine("星期二");break;case3:Console.WriteLine("星期三");break;case4:Console.WriteLine("星期四");break;case5:Console.WriteLine("星期五");break;case6:Console.WriteLine("星期六");break;case7:Console.WriteLine("星期日");break;default:Console.WriteLine("您输入的数据错误");break;//超出规定值设置相应提示}Console.ReadKey();//判断2020年每个月的天数,1,3,5,7,8,10,12为31天,4,6,9,11位30天,二月29天Console.WriteLine("请输月份数");intmonth=int.Parse(Console.ReadLine());switch(month){case2:Console.WriteLine("您输入的{0}月份有28天",month);break;case4:case6:case9:case11:Console.WriteLine("您输入的{0}月份有30天",month);break;case1:case3:case5:case7:case8:case10:case12:Console.WriteLine("您输入的{0}月份有31天",month);break;default:Console.WriteLine("您输入的{0}月份错误",month);break;}Console.ReadKey();}}}

    3、三位运算符

    条件判断表达式?成立是执行的语句:不成立时执行的语句
    三元运算符适用条件:只使用与判断具有两个结果的情况

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace三位运算符{classProgram{staticvoidMain(string[]args){//判断输入述职与10的关系(<10提示小于10,>=10提示大于等于10)Console.WriteLine("请输入您要比较的数据");intnumber=int.Parse(Console.ReadLine());//Console.WriteLine(number<10?Console.WriteLine("小于10"):Console.WriteLine("大于等于10"));Console.WriteLine(number<10?"小于10":"大于等于10");Console.ReadKey();}}}

    C#流程控制语句实例分析

    4、迭代语句之while语句

    4.1 迭代语句概述

    迭代语句时程序中重复的执行,直到满足指定以条件才停止的一段代码。当用户想重复执行某些语句时,可依据当前不同的任务,

    选择不同的循环依据使用,分别是:

    • while语句

    • do&hellip;&hellip;while语句

    • for语句

    • foreach语句

    4.2 while语句

    while(条件表达式){
    代码语句
    }
    while语句当条件满足时才执行

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacewhile语句{classProgram{staticvoidMain(string[]args){//输出1-50的数字到屏幕上inta=1;while(a<=50){Console.WriteLine(a);a++;}Console.ReadKey();}}}

    5、迭代语句之do&hellip;&hellip;while

    do{
    循环体语句
    }while();
    do&hellip;&hellip;while语句至少执行一次,即使条件不成立也会执行一次

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacedo__while{classProgram{staticvoidMain(string[]args){//输出1-50的数字到屏幕上intnum=0;do{num++;Console.WriteLine(num);}while(num<50);//计算现金存入银行多长时间才可以答案到我们的预期收益(均按一年期定期存款,到期后自动转存)//分析题目需要的变量:本金,目标收益,利率时间(年)//一年的收益:本金*(1+利率)*1年doubleBalace=0;doubleRate=0;intYear=0;doubleTargetBalace=0;Console.WriteLine("请输入您的本金");Balace=double.Parse(Console.ReadLine());Console.WriteLine("请输入您的当前利率百分比");Rate=double.Parse(Console.ReadLine())/100;Console.WriteLine("请输入您的目标收益");do{TargetBalace=double.Parse(Console.ReadLine());if(TargetBalace<Balace){Console.WriteLine("恭喜您现在已经拥有了{0}元,请输入一个更大的目标",TargetBalace);}}while(TargetBalace<Balace);do{Balace*=(Rate+1);Year++;}while(Balace<TargetBalace);Console.WriteLine("您将在{0}年内,获得{1}元的收益",Year,Balace);Console.ReadKey();}}}

    6、迭代语句之for循环语句

    for循环可以循环次数的限定,并维护自己的计时器;
    有时候我们会省略初始条件,判断条件,循环条件,但两个分号不能省略

    for(初始条件;判断条件;循环条件){
    循环语句
    }

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacefor循环语句{classProgram{staticvoidMain(string[]args){//求输入数据的阶乘//1!=12!=2x1;3!=3x2x1Console.WriteLine("请输入你要计算的阶乘数");for(;;){intnum=int.Parse(Console.ReadLine());intresult=1;for(inti=num;i!=0;i--){result*=i;};Console.WriteLine("{0}的阶乘结果是{1}",num,result);};//Console.ReadKey();}}}

    for循环嵌套(九九乘法表)
    循环嵌套就是一个循环中嵌套着另一个循环
    使用for循环时,一般在for循环语句进行声明循环计数次的变量

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacefor循环语句{classProgram{staticvoidMain(string[]args){//九九乘法表Console.WriteLine("==================九九乘法口诀=========================");for(inti=1;i<10;i++){for(intj=1;j<=i;j++){Console.Write("{0}X{1}={2}\t",j,i,j*i);}Console.WriteLine();}Console.ReadKey();}}}

    7、迭代语句之foreach

    foreach提供了一个for语句的捷径,而且还存进了集合类更为一致

    foreach(类型;变量;in 集合){
    代码体
    }

    string类型(字符串)可以看成是char类型(字符)的一个集合
    char.IsWhiteSpace&copy; 判断字符是不是空格
    foreach每执行一内含代码,循环变量就会一次读取集合中的一个元素,向当时循环便利
    此处循环变量只是一个只读型的局部变量,这个值如果被修改编译会报错

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace@foreach{classProgram{staticvoidMain(string[]args){//将语句识别为单词,并逐行输出//语句用string类型,字母用charConsole.WriteLine("请输入一句英文语句");stringsentence=Console.ReadLine();foreach(charwordinsentence){if(char.IsWhiteSpace(word)){Console.WriteLine();}else{Console.Write(word);//word='t';//foreach语句的迭代变量不允许重新赋值}}Console.ReadLine();}}}

    8、跳转语句之break语句

    跳转语句是程序运行到某一位置时,可以跳转到程序中另一行代码的语句

    • break:1)switch语句中用于从case语句中跳出,结束switch分支语句。2)用于跳出迭代语句结束当前训话

    • continute语句

    • goto语句

    • return语句

    通过迭代语句,准备输出1~500这500个数,每行输出10个数。当输出的值同时是2、3、4、5、6】7的倍数是,跳出for迭代语句。

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacebreak语句{classProgram{staticvoidMain(string[]args){//通过迭代语句,准备输出1~500这500个数,每行输出10个数。当输出的值同时是2、3、4、5、6、7的倍数是,跳出for迭代语句。Console.WriteLine("输出1~500这500个数,每行输出10个数");for(inti=1;i<501;i++){if(i%2==0&&i%3==0&&i%4==0&&i%5==0&&i%6==0&&i%7==0){Console.WriteLine();Console.WriteLine("2、3、4、5、6、7的最小公倍数倍数是"+i);break;}if(i%10==0){Console.WriteLine(i);}elseConsole.Write(i+"\t");}Console.ReadKey();}}}
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacebreak语句{classProgram{staticvoidMain(string[]args){//通过迭代语句,准备输出1~500这500个数,每行输出10个数。当输出的值同时是2、3、4、5、6、7的倍数是,跳出for迭代语句。Console.WriteLine("输出1~500这500个数,每行输出10个数");for(inti=1;i<501;i++){if(i%2==0&&i%3==0&&i%4==0&&i%5==0&&i%6==0&&i%7==0)break;//{//Console.WriteLine();//Console.WriteLine("2、3、4、5、6、7的最小公倍数倍数是"+i);//break;//}if(i%10==0){Console.WriteLine(i);}elseConsole.Write(i+"\t");}Console.ReadKey();}}}

    9、continue语句

    用于停止当前的迭代语句,结束本次循环,进入下一次循环(本次循环中continue后面的语句不执行)。breack是直接结束循环
    只能用于迭代语句中

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacecontinute语句{classProgram{staticvoidMain(string[]args){//实现50以内的奇数输出,利用continueConsole.WriteLine("请输入一个数,会自动显示小于次数的所有奇数");intnum=int.Parse(Console.ReadLine());for(inti=1;i<num+1;i++){if(i%2==0)continue;//满足条件时跳出此次循环,进入下一个循环;且本次循环continute后的语句不执行Console.WriteLine(i);}Console.ReadLine();}}}

    10、跳转语句之return

    return语句使用时,一般有两种格式:1)return; 2)return 表达式;
    return语句只能出现在方法当中,当调佣方法时,执行到return语句时;直接跳转到main()函数

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacecontinute语句{classProgram{staticvoidMain(string[]args){//实现50以内的奇数输出,利用continueConsole.WriteLine("请输入一个数,会自动显示小于次数的所有奇数");intnum=int.Parse(Console.ReadLine());for(inti=1;i<num+1;i++){if(i%2==0)continue;//满足条件时跳出此次循环,进入下一个循环;且本次循环continute后的语句不执行Console.WriteLine(i);}Console.ReadLine();}}}

    使用方法实现:

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace@return{classProgram{staticvoidMain(string[]args){Console.WriteLine("请输入三个整数,按回车键确认每个数的输入");inta=int.Parse(Console.ReadLine());intb=int.Parse(Console.ReadLine());intc=int.Parse(Console.ReadLine());//doubleaverageresult=(a+b+c)/3;doubleaverageresult=average(a,b,c);Console.WriteLine("您输入的三个数{0}、{1}、{2}的平均数是{3}",a,b,c,averageresult);Console.ReadKey();}staticdoubleaverage(inta,intb,intc){return(a+b+c)/3;}}}

    11、跳转语句之goto

    格式:goto 标标识符;
    标识符标识程序位置的方法
    标识方法&mdash;&mdash;标识符+“:”

    作用:当程序执行到goto语句时,程序会直接跳转到标识符所表示的程序位置。继续执行
    goto的使用会使代码的易读性下降,在编写程序的时候尽量少用goto语句

    任务:利用goto语句实现选择题:

    5!=?
    1、5!=5
    2、5!=10
    3、5!=20
    4、5!=60

    如果选择真确,提示:恭喜你,答对了!
    如果选择错误,提示:很遗憾,你答错了
    如果选择的选项不是1、2、3、4,提示:你所选的选项不存在

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespacegoto语句{classProgram{staticvoidMain(string[]args){inta=0;Console.WriteLine("请选择5的阶乘正确答案,输入选项编号回车键确认");Console.WriteLine("1.5!=5\n2.5!=10\n3.5!=20\n4.5!=60\n");error:{a++;//第一次执行时a=1;因此不执行,当goto跳转到此语句时,再次自加1,a=2此时执行下面语句if(a>1)Console.WriteLine("很遗憾,您打错了,请重新输入答案");//加入a判断条件原因是,避免在第一次执行是输出此提示}input:intresult=int.Parse(Console.ReadLine());switch(result){case1:case2:case3:gotoerror;case4:gotoright;default:Console.WriteLine("您的选项{0}不存在,请重新输入",result);gotoinput;}right:{Console.WriteLine("恭喜你答对了!");}Console.ReadKey();}}}

    12、任务实施

    接受a\b\c三个整数,然后输出三个数中居中的那个数,并输出其阶乘

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace任务实施{classProgram{staticvoidMain(string[]args){Console.WriteLine("请输入三个整数");inta=Convert.ToInt32(Console.ReadLine());intb=Convert.ToInt32(Console.ReadLine());intc=Convert.ToInt32(Console.ReadLine());//判断中间变量///如果a是中间值,那么有两种情况,b是最大值或b是最小值inttemp=0;intjc=1;if((a>=b&&a<=c)||(a>=c&&a<=b)){Console.WriteLine(a+"是中间值");temp=a;Console.WriteLine("错误");}if(b>=a&&b<=c||b>=c&&b<=a){Console.WriteLine(b+"是中间值");temp=b;}if(c>=a&&c<=b||c>=b&&c<=a){Console.WriteLine(c+"是中间值");temp=c;}for(inti=1;i<b+1;i++){jc*=i;}Console.WriteLine("中间数{0}阶乘结果是{1}",temp,jc);Console.ReadKey();}}}
     </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
    本文:C#流程控制语句实例分析的详细内容,希望对您有所帮助,信息来源于网络。
    上一篇:Go语言中的Struct结构体怎么声明下一篇:

    9 人围观 / 0 条评论 ↓快速评论↓

    (必须)

    (必须,保密)

    阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18