编程基础——c 选择结构程序设计个人总结实例
1.if(表达式)语句 1;
else 语句2;
if(1<4>3)不成立 因为: 1<4的值为1,1>3不成立
类似1<4>3这种表达式,会先计算1<4的结果(0或1),然后用该结果(0或1)跟3比较;
注意:不要把==写成=;
当if语句没有大括号时,会默认执行if之后的第一个语句,(找第一个分号)第一句之后的所有语句均不属于分支结构。
例1:
#include <stdio.h>
int main(int argc, const char * argv[])
{
char sex;
printf("请输入一个字符:");
scanf("%c",&sex);
if ('F'==sex)
printf("女");
if('M'==sex)
printf("男");
else
printf ("输入的字符有误");
return 0;
int main(int argc, const char * argv[])
{
char sex;
printf("请输入一个字符:");
scanf("%c",&sex);
if ('F'==sex)
printf("女");
if('M'==sex)
printf("男");
else
printf ("输入的字符有误");
return 0;
}
(01)
if(条件表达式1)
语句1;
else 语句2;
当条件成立执行语句1,否则执行语句2
例2:输入两个数,输入运算符号(+/-),计算结果。
#include <stdio.h>
void s(int a,char c,int b){
switch (c) {
case '+':
printf("%d+%d=%d",a,b,a+b);
break;
case '-':
printf("%d-%d=%d",a,b,a-b);
break;
case '*':
printf("%d*%d=%d",a,b,a*b);
break;
case '/':
printf("%d/%d=%d",a,b,a/b);
break;
default:
break;
}
}
int main(int argc, const char * argv[]) {
int d,e;
char f;
printf("请输入要计算的表达式:");
scanf("%d%c%d",&d,&f,&e);
s(d,f,e);
return 0;
}
void s(int a,char c,int b){
switch (c) {
case '+':
printf("%d+%d=%d",a,b,a+b);
break;
case '-':
printf("%d-%d=%d",a,b,a-b);
break;
case '*':
printf("%d*%d=%d",a,b,a*b);
break;
case '/':
printf("%d/%d=%d",a,b,a/b);
break;
default:
break;
}
}
int main(int argc, const char * argv[]) {
int d,e;
char f;
printf("请输入要计算的表达式:");
scanf("%d%c%d",&d,&f,&e);
s(d,f,e);
return 0;
}
(02)当条件满足时,会执行对应的分支语句,且不会再执行后面的条件,只有条件不成立时,才会继续判断后面的条件,最后可以不用else结尾。
int a = 30;
if (a > 40) {
//语句1
printf("语句1\n");
}else if (a > 20){
//语句2
printf("语句2\n");
}else if (a > 10){
//语句3
printf("语句3");
}
if (a > 40) {
//语句1
printf("语句1\n");
}else if (a > 20){
//语句2
printf("语句2\n");
}else if (a > 10){
//语句3
printf("语句3");
}
当if的条件是逻辑表达式,||,只要第一个条件成立,就不会再判断第二个条件,&&只要第一个为假,就不会再判断第二个。
if(条件表达式1){
语句1;
} else if(条件表达式2){
语句2;
} else if(条件表达式3){
语句3;
} else {
语句4;
}
例3:从键盘输入一个字符,如果是数字打印数字,如果是小写字母则打印小写字母,如果是大写字母则打印大写字母,如果是其他字符则打印other。
#include <stdio.h>
int main()
{
char c;
printf("请输入一个字符:");
scanf("%c",&c);
if (c>='0'&&c<='9'){
printf("This is digital:%d",c);
}else if (c>='a'&&c<='z'){
printf("This is letter:%c",c);
}else if (c>='A'&&c<='Z'){
{
char c;
printf("请输入一个字符:");
scanf("%c",&c);
if (c>='0'&&c<='9'){
printf("This is digital:%d",c);
}else if (c>='a'&&c<='z'){
printf("This is letter:%c",c);
}else if (c>='A'&&c<='Z'){
printf("This is capital letter:%c",c);
}else printf (“Other");
return 0;
}
//输入一个分数,判断其等级(90分以上优,80~90良 60~80及格,60分以下不及格)
#include <stdio.h>
int main(int argc, const char * argv[])
{ float score;
scanf("%f",&score);
if (score >= 90) {
printf("优");
}else if (score >= 80){
printf("良好");
}else if (score >= 60){
printf("及格");
}else{
printf("不及格,重修");
}
return 0;
}
感谢您的访问!
若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
分类:
C
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?