第4章控制结构程序设计内容摘要:
• 如果要判断,那么要用到选择结构程序。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 45 选择结构程序 • 若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构程序。 • C提供了一系列的分支语句来实现选择结构程序设计。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 46 分支语句 • if语句 • ifelse语句 • ifelse if语句 • switch语句 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 47 if 语句 “ if (表达式 ) 语句”形式 语句格式的一般形式为: if (表达式 ) 语句。 注意: ① if后面的 “ 表达式 ” 一般用于表示一个条 件,它可以是关系表达式、逻辑表达式、算术表 达式、字符型表达式等。 ②格式中的 “ 语句 ” , 可以只包含一个简单语句,也可以是复合语句。 如果是复合语句,必须用一对花括号 {}将语句括 起来。 如果只有一条语句,则可不用 {}括起来。 例: if (xy) printf(“%d”,x)。 语句 表达式 a b 真 (非 0) 假 (0) 语句 真 假 表达式 语句功能:执行此语句时,先求表达 式的值,若其值为 “ 真 ” ,则执行语句;若 其值为 “ 假 ” ,则在 if结构体内什么也不执 行。 而程序直接去执行 if语句后面的语句。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 48 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 x1=p+q。 x2=pq。 printf(x1=%f\nx2=%f\n,x1,x2)。 } } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 49 if( ) ~ else ~ 语句 语句格式的一般形式为: if (表达式 ) 语句 1。 else 语句 2。 注意: ① if后面的 “ 表达式 ” 一般用于表示一个条 件,它可以是关系表达式、逻辑表达式、算术表 达式、字符型表达式等。 ②格式中的 “ 语句 ” , 可以只包含一个简单语句,也可以是复合语句。 如果是复合语句,必须用一对花括号 {}将语句括 起来。 如果只有一条语句,则可不用 {}括起来。 语句 1 语句 2 真 假 表达式 语句 1 语句 2 表达式 b 真 (非 0) 假 (0) 语句功能:执行此语句时,先求表达式 的值,若其值为 “ 真 ” ,则执行语句 1;若其 值为 “ 假 ” ,则执行语句 2。 最后程序跳出 if 语句执行后面的语句。 例: if (xy) max=x。 else max=y。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 50 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 x1=p+q。 x2=pq。 printf(x1=%f\nx2=%f\n,x1,x2)。 } else printf(“no real root!”)。 } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 51 • if (表达式 ) • 语句 1。 • else • 语句 2。 • 由于语句 1或语句 2可以是各种形式的语句,当然也可以是分支语句,因此分支语句可以嵌套。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 52 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a!=0) { disc=b*b4*a*c。 if(disc=0) { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 if(disc==0) printf(“x1=x2=%f\n”,x1=x2=p)。 else printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } else printf(“no real root!”)。 } else printf(“error.”)。 } 在语句 1嵌套 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 53 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a==0) printf(“error.”)。 else { disc=b*b4*a*c。 if(disc0) printf(“no real root!”)。 else { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 if(disc==0) printf(“x1=x2=%f\n”,x1=x2=p)。 else printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } } } 在语句 2嵌套 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 54 • 条件嵌套语句容易出错,其原因主要是不知道哪个 if对应哪个 else。 例如: if(x20||x10) if(y=100amp。 amp。 yx) printf(Good)。 else printf(Bad)。 • 对于上述情况, C编译系统规定: else语句与最近的一个 if语句匹配。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 55 if( ) ~ else if ~ 语句 语句格式的一般 形式为: if (表达式 1) 语句 1。 else if (表达式 2) 语句 2。 else if (表达式 3) 语句 3。 …… else if (表达式 n) 语句 n。 else 语句 n+1。 表达式 1 表达式 2 表达式 3 表达式 n 语句 1 语句 2 语句 3 语句 n 语句 n+1 真 (非 0) 假 (0) 真 (非 0) 假 (0) 假 (0) 假 (0) 真 (非 0) 真 (非 0) 例: if (profit1000) index=。 else if (profit 800) index=。 else if (profit 600) index=。 else if (profit 400) index=。 else index=0。 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 56 例 49程序 /**/ include include void main() { float a,b,c,disc,p,q,x1,x2。 scanf(%f%f%f,amp。 a,amp。 b,amp。 c)。 if(a==0) printf(“error.”)。 else { disc=b*b4*a*c。 if(disc0) printf(“no real root!”)。 else if(disc==0) printf(“x1=x2=%f\n”,x1=x2 =b/(2*a))。 else { p=b/(2*a)。 q=sqrt(disc)/(2*a)。 printf(x1=%f\nx2=%f\n,x1=p+q,x2=pq)。 } } } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 57 if 语句的嵌套 if (expr1) if (expr2) statement1 else statement2 内嵌 if if (expr1) statement1 else if(expr3) statement3 else statement4 内嵌 if if (expr1) if (expr2) statement1 else statement3 内嵌 if if (expr1) if (expr2) statement1 else statement2 else if(expr3) statement3 else statement4 内嵌 if 内嵌 if { } 2020/11/29 《解析 C程序设计》第 4章 控制结构程序设计 58 if 语句强调说明 如: if(a==bamp。 amp。 x==y) printf(“a=b,x=y”)。 if(3) printf(“OK”)。 if(„a‟) printf(“%d”,‟a‟)。 if后面的表达式类型任意 if(!x) if(x==0) if(x) if(x!=0) 语句可以是复合语句 例 考虑下面程序的输出结果 : include void m。第4章控制结构程序设计
相关推荐
1第 4章 Cohen类时-频分布 ( ) 用广义谱自相关表示。 定义 ( ) 为谱自相关域的核函数,那么广义谱自相关定义为: ( ) 这样, 可表为 的傅立叶逆变换,即: ( ) detrtC jxx , degG j, dGRR XX ,, 2 1
MA控制器与定时 /计数器及 SICL DMA1 EQU 0C0H ;第 1片 DMA通道端口 DAM08 EUQ 08 ;第 0片 DMA命令寄存器地址 DMA18 EUQ 0D0H ;第 1片 DMA命令寄存器地址 D— SET PROC NEAR ; DMA 初始化过程 PUSH CX ;保存 CX寄存器 CLI ;关中断 OUT DMA+12 , AL ;清除先 /后触发器 JMP
扩频通信技术 电子信息工程系通信技术教研室 – 实际作用的地址码与扩频码 理想的地址码和扩频码不存在 Walsh码是正交码,具有良好的自相关性和处处为零的互相关性,但由于码组内各码所占频谱带宽不同等原因,不能作扩频码使用 常作扩频码的是伪随机序列 真正的随机信号和噪声是不能重复再现和产生 用一种周期性的脉冲信号近似随机噪声的性能 PN具有类似白噪声的特性被用作扩频码
生成或阻碍疟原虫电子传递而发挥作用。 10 急性溶血性贫血、高铁血红蛋白血症 11 作用机制 抑制二氢叶酸还原酶 乙胺嘧啶 (pyrimethamine) 药理作用 病因预防作用 —— 抑制原发性红外期 控制症状发作 —— 杀灭红内期未成熟裂殖体 控制疾病传播 —— 阻止蚊体内配子体生长繁殖 不良反应 少 , 多为叶酸缺乏 12 抗疟药合理应用 1 药物选择 控制症状 :氯喹敏感者首选 脑型疟