当前位置: 首页 > news >正文

最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章推广平台免费b2b网站大全

最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章,推广平台免费b2b网站大全,有口碑的南通网站建设,免费企业名称起名问题引出 我们在程序设计往往会遇到如下的问题,比如下的函数的计算。 也就是我们是必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,C语言中实现分支结构主要使用if语句。 条件判断 根据某个条件成立与否&#xff0c…

问题引出

我们在程序设计往往会遇到如下的问题,比如下的函数的计算。
在这里插入图片描述
也就是我们是必须要通过一个条件的结果来选择下一步的操作,算法上属于一个分支结构,C语言中实现分支结构主要使用if语句。

条件判断

根据某个条件成立与否,决定是否执行指定的任务(操作)。
在这里插入图片描述
条件判断的结果是逻辑值(布尔类型值,也就是说分支语句的条件可以使用关系表达式和逻辑表达式),在程序中用真(1)和假(0)来表示。

关系运算及其表达式

关系运算符及其优先次序

关系运算符是用来进行比较的符号,C语言中提供了6种关系运算符:
在这里插入图片描述

关系表达式

关系表达式是指用关系运算符将两个表达式连接起来组成的有意义的式子。
在这里插入图片描述
在C语言中,用1(非0)表示关系表达的值为真(条件成立),0表示关系表达式的值为假(条件不成立),即关系表达式的值要么是1(条件成立),要么是0(条件不成立)

问题引出

有时,只用一个简单的关系表达式无法完整地表达一个条件。
在这里插入图片描述
其中的条件需要用逻辑表达式来表示:x!=0&&a!=0 ,&&就是一种逻辑运算符。

逻辑运算及其表达式

逻辑运算符及其优先级

逻辑运算符是构成复杂的复合条件的运算符。
C语言中提供3种逻辑运算符:
在这里插入图片描述

逻辑表达式

在这里插入图片描述
用逻辑运算将关系表达式或逻辑量连接起来构成的有意义的式子。
在这里插入图片描述
逻 辑 表 达 式 中 各 种 运 算 符 的 优 先 级 顺 序 如
下:
!(逻辑非) → 算术运算符 → 关系运算符 → &&和|| → 赋值运算符
C语言编译系统在表示逻辑运算符结果时:真用1表示,假用0表示

案例

假设a = 4,b = 5,则:

 !a        -- 0   
a && b       -- 1 
a || b      -- 1 
!a || b     -- 14 && 0 || 2  -- 1 

⼩贴⼠:
实际上,逻辑运算符两侧的运算对象不但可以是0和1,或是0和⾮0,⽽且也可以是字符型、实型和指针型等。系统最终是以0和⾮0来判定它们的真假的。例如:’c’ && ‘d’ 为1

⽤if语句实现分⽀结构

单分支:if…

语法:

// 语法1:舍弃{}if (表达式)
单语句; // 语法2:保留{}
if  (表达式){}

流程图
在这里插入图片描述
功能
若表达式值为True(⾮0),则执⾏表达式后⾯的语句,执⾏完该语句后继续执⾏if语句后的语句。
若表达式值为0,则不执⾏表达式后⾯的语句⽽直接执⾏if语句后⾯的语句。
说明:
如果表达式(条件表达式)后⾯的是复合语句,则要⽤⼀对花括号{}括起来。单语句可有可⽆。
案例:
要求:计算并输出下列分段函数的值
在这里插入图片描述
在这里插入图片描述
代码:

#include <stdio.h>int main(){// 创建两个变量,用来存储两个操作数double x,y = -2; // 我们给y赋初始值,假定x < 0// 从控制台输入xprintf("请输入一个整数,作为x的值:\n");scanf("%lf",&x);// 校验if (x >= 0) y = 2;printf("x=%lf,y=%lf\n",x,y);return 0; 
}

案例:
要求:有a,b,c三个数,要求从控制台输⼊,并且求出最⼤值
分析:

  1. 通过控制台给a,b,c赋值
  2. 创建⼀个变量max,⽤来存放a,b,c中的最⼤值,默认a是最⼤值(这样可以减少⼀次判断)
  3. 让b,c和max进⾏⽐较,将最⼤值存⼊max
    代码:
 /*************************************************************************> File Name:    
> Author:       
demo02.cfpf> Description:  单分支 if..> Created Time: 2024年11月29日 星期五 10时59分45秒
************************************************************************/#include <stdio.h>int main(int argc,char *argv[]){// 要求:求a,b,c中的最大值
// 创建三个变量,用来存放a,b,c的值
int a,b,c;// 创建一个变量,用来存放max的值
printf("请在控制台输入三个整数:\n");scanf("%d%d%d",&a,&b,&c);// 创建一个变量,用来存放max的值
int max = a;// 让最大值分别和b,c进行比较
if (max < b){max = b; // 如果max < b,就让b作为a,b中的最大值
}if (max < c){max = c; // 其实a,b中的最大值和c比}printf("%d,%d,%d中的最大值是%d\n",a,b,c,max);return 0;}

有可能产⽣的问题:
scanf()同时输⼊多个变量时,默认时使⽤空格或者回⻋换⾏。
在变量赋值前使⽤变量,导致运算结果错误(莫名输出随机数)

双分支:if…else…

语法:

 // 舍弃{}if (表达式)
单语句1;else
单语句2;// 针对以上写法,我们可以使用三目表达式:表达式 ? 单语句1 : 单语句2// 保留{}if  (表达式){
单语句或者复合语句1;}else{
单语句或者复合语句2;}

注意:
else语句本身不能单独存在,必须依赖于if配对使用
流程图:
在这里插入图片描述
功能:
若表达式的值为1,则执行语句1;否则执行语句2。不管条件表达式成不成立都要执行一个语句,其次需要
主要的是,语句1和语句2都可以是复合语句。
说明:
if…else…结构可以实现双分支选择结构。C语言允许if…else…结构嵌套。即在语句1与语句2中又可以包含完
整的if语句或者if…else结构,并且这种嵌套可以多层(为了保证程序的执行效率,建议不超过4层)。
利用if…else结构的嵌套,可以实现多分支选择结构。

案例:
要求:计算并输出下列分段函数的值
在这里插入图片描述
流程图:
在这里插入图片描述
代码:

/*************************************************************************> File Name:    
> Author:       
demo03.cfpf> Description:  双分支 if..else..> Created Time: 2024年11月29日 星期五 11时42分39秒
#include <stdio.h>************************************************************************/int main(int argc,char *argv[]){}// 需求:计算并输出下列分段函数的值
// 创建两个变量,存放x,y的值
int x,y;// 通过键盘录入数据
printf("请输入一个整数:\n");scanf("%d",&x);// 校验
if (x < 0)y = -2;elsey = 2;// 打印输出测试结果
printf("x=%d,y=%d\n",x,y);return 0;}

改造为三⽬运算符的写法:

 /*************************************************************************> Created Time: 2024年11月29日 星期五 11时42分39秒
************************************************************************/int main(int argc,char *argv[])14// 需求:计算并输出下列分段函数的值
// 创建两个变量,存放x,y的值int x,y;// 通过键盘录入数据
printf("请输入一个整数:\n");scanf("%d",&x);// 校验
// 三目表达式
y = x < 0 ? -2 : 2;// 打印输出测试结果
printf("x=%d,y=%d\n",x,y);return 0;}

多分支:if…else…if…else

语法:

写法1:嵌套if..else..(不推荐)if(表达式1) 语句1;elseif(表达式2) 语句2;else...elseif(表达式n) 语句n;else 语句n+1;
写法2:并列if..else..if....else..(推荐)    
if(表达式1) 语句1;else if(表达式2) 语句2;...[else if(表达式n) 语句n;][else 语句n+1;]

在这里插入图片描述
案例:
要求:根据学⽣的成绩,对学⽣进⾏分级,
成绩 >= 90,A
成绩 >= 80,B
成绩 >= 60,C
成绩 < 60,D
代码

#include <stdio.h>// 方式1:借助于执行顺序,减少判断的条件
int if_test1(){
``  // 创建一个变量,用来存放输入的成绩int score;// 通过控制台输入一个成绩printf("请输入一个整数:\n");scanf("%d",&score);// 校验,分级 95if(score >= 90){printf("A\n");}else if(score >= 80){printf("B\n");}else if(score >= 60){printf("C\n");}else {printf("D\n");}}// 方式2:不借助于执行顺序,做更精准的判断
int if_test2(){// 创建一个变量,用来存放输入的成绩int score;// 通过控制台输入一个成绩printf("请输入一个整数:\n");scanf("%d",&score);// 校验,分级 if(score >= 60 && score < 80){printf("C\n");}`else if(score >= 80 && score < 90){}printf("B\n");else if(score >= 90){}else 
{}}printf("A\n");printf("D\n");int main(int argc,char *argv[]){}

if…else结构注意点

if…else结构中的语句1与语句2都可以是复合语句。
在if…else结构中,语句1与语句2都可以是空语句。
在这里插入图片描述

if语句的嵌套

在这里插入图片描述
注意:
① else 总是与前面最近的未配对的if配对使用
② 可通过增加{}来确定配对关系
③ 只要if中包含if,都属于是if语句的嵌套

/*************************************************************************> File Name:    
demo04.c> Author:       
FPF> Description:  多分支:if..else if....else..> Created Time: 2024年11月29日 星期五 14时20分18秒
************************************************************************//*** 要求:根据学生的成绩,对学生进行分级,
成绩 >= 90,A
成绩 >= 80,B
成绩 >= 60,C
成绩 <  60,D*/#include <stdio.h>// 方式1:借助于执行顺序,减少判断的条件
int if_test1(){// 创建一个变量,用来存放输入的成绩
int score;// 通过控制台输入一个成绩
printf("请输入一个整数:\n");scanf("%d",&score);// 校验,分级 95if(score < 0 || score > 100){printf("您的输入不合法!\n");}else{if(score >= 90){printf("A\n");}   else if(score >= 80){printf("B\n");}else if(score >= 60){printf("C\n");}else {printf("D\n");}}}// 方式2:不借助于执行顺序,做更精准的判断
int if_test2(){// 创建一个变量,用来存放输入的成绩int score;// 通过控制台输入一个成绩printf("请输入一个整数:\n");scanf("%d",&score);// 校验,分级 if(score < 0 || score > 100){printf("您的输入不合法!\n");}else if(score >= 60 && score < 80){printf("C\n");}else if(score >= 80 && score < 90){printf("B\n");}else if(score >= 90){printf("A\n");}else {printf("D\n");}}int main(int argc,char *argv[]){if_test1();if_test2();return 0;}

如何摘除⼀个三位数中的每⼀位:
实现:123,个位数:123 % 10 = 3;⼗位数:123 % 100 / 10 = 2,123 / 10 % 10 =2;百位数:123 / 100 = 1

⽤switch语句实现分⽀结构

我们可以使用switch实现多分支选择结构(多分支也被称作多路分支)
语法:

 switch(表达式){case 常量表达式1:
语句1;break;case 常量表达式2:
语句2;break;...case 常量表达式n:
语句n;break;default:
语句n+1;break;// 一般省略
}

流程图:
在这里插入图片描述
在这里插入图片描述
说明:
① switch后括号内的表达式可以是任何类型的表达式,但是表达式的值必须为 整数值(整型,字符型,枚
举)
② 若表达式的值与某个常量表达式的值相等时,执行此case后面的语句;若没有相等的值时,执行
default后面的语句
③ 每个case后面的常量表达式的值必须不相同,否则出现矛盾。
④ 各个case和default出现的次序不影响执行结果。
⑤ case后面的语句中如果没有break语句,则执行完本case后的语句会接着执行下面的case;
⑥ 多个case公用一组语句。
案例:
要求:按照考试成绩的等级输出百分制分数段
分析:
设分段原则如下:
A级为85~100段;
B级为70~84段;
C级为60~69段;
D级为<60段;
输⼊其它字符时为错。
代码:

*************************************************************************> File Name:    demo05.c> Author:       冯鹏飞> Description:  多分支:switch> Created Time: 20241129日 星期五 155159************************************************************************/#include <stdio.h>/*- 要求:按照考试成绩的等级输出百分制分数段- 分析:设分段原则如下:      A级为85~100段;                 B级为70~84段;                  C级为60~69段;      D级为<60段;      输入其它字符时为错。*/int switch_test1(){// 创建一个变量,用来存放考试等级char grade;// 通过控制台输入一个字符printf("input grade:\n");scanf("%c",&grade);// 校验,根据等级输出分段switch(grade){case 'A':printf("85~100\n");break;case 'B':printf("70~84\n");break;case 'C':printf("60~69\n");break;case 'D':printf("<60\n");break;default:printf("Error\n");}}int main(int argc,char *argv[]){}
http://www.ds6.com.cn/news/2284.html

相关文章:

  • 2021网站无需下载急急急网站排名查询平台
  • ppt做视频模板下载网站有哪些内容群排名优化软件
  • 班级网站成品如何宣传推广自己的店铺
  • 沐雪专业网站建设发稿吧
  • jsp动态网站开发与实例百度快照是什么
  • 做网站需求报告企业网站搜索引擎推广方法
  • 设计导航网站 左侧菜单栏适合40岁女人的培训班
  • 数据库查询网站模板网站推广的10种方法
  • 做外贸网站好还是内贸网站好人工智能培训心得
  • 网站维护中 html推广有什么好方法
  • 做网站大概多钱成都全网营销推广
  • 用vs2010做网站导航夫唯seo
  • wordpress 视频显示图片焦作seo推广
  • 前端学习路线怎么做优化关键词
  • 网站建设中遇到的问题网络推广学校
  • 长春 网站建设网络推广网页设计厦门seo网络推广
  • 企业管理系统免费下载北京优化推广
  • 重庆政府是中统还是军统搜索引擎优化免费
  • 如东网站建设哪家好淄博网站优化
  • 做网站办什么营业执照站长工具综合查询ip
  • wordpress微信机器人下载地址南宁seo外包要求
  • intitle:网站建设外贸网络推广怎么做
  • 米可网络科技有限公司seo的工作原理
  • .net网站 作品网站搜索引擎优化技术
  • 建设银行网站app查卡号亚马逊开店流程及费用
  • 交友网站建设策划方案(2)百度推广系统营销平台
  • 有没有做每日一图的网站爱站网长尾关键词挖掘查询工具
  • 做网站要求高吗seo网站推广优化就找微源优化
  • 天津河西做网站公司怎么宣传网站
  • 云购物商城windows优化大师有什么功能