分支程序设计,c入门

在这里插入图片描述

- 复习运算符的优先次序!!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
c语言中,=是赋值的意思;==是等于的意思。
在这里插入图片描述

  • 所以是先算a+b和c-d的大小,再比较两者关系。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  • 关系与逻辑运算符都只返回真的值和假的值!!–01–
    在这里插入图片描述
    与运算:真真为真,其余为假;
    或运算:假假为假,其余为真;
    非运算:你真我假,你假我真;
    异或运算:异真同假。

    与运算:

int i;
i=3&&1 ;
i==1;
int i;
i=3&&0 ;
i==0;
int i;
i=0&&0 ;
i==0;

非运算:

int i;
i==5 ;
!i;
i==0 ;

逻辑非超级高!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


## if语句


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
getchar()是c语言中bai的一个输入函数,
可以用它来赋一个字符的值.
例如: char a;
a=getchar();
当你在键盘上输入一个字符(如输入g)后按回车,那么字符变量a的值就是’g’了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 如果,if(a=3),因为少打了一个等号,变成将3的值赋给a,则表达式的值永远为真,则输出if语句。if(c=3)括号中是赋值语句,同时if条件是表达式的值3,也就是这个if条件恒为真
    如果想将c和3做比较的话最好写成if(3==a),这样即使误写成if(3=a),在编译的
    时候也会通不过的。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 重要例题

## 嵌套

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
就近原则

#include <stdio.h>
int main()
{
	int a,b;
	printf("please input A,B:");
	scanf("%d%d",&a,&b);
	if(a!=b)
	**if(a>b)
	printf("A>B\n");
	else 
	printf("A<B\n");**if的嵌套,他们为一组
	else
	printf("A=B\n");
	return 0;
 } //完美运行,
#include <stdio.h>
int main()
{
	int a,b;
	printf("please input A,B:");
	scanf("%d%d",&a,&b);
	if(a==b)
	printf("A=B\n");
	else if(a>b) 
	printf("A>B\n");
	else
	printf("A<B\n");
	return 0;//完美运行
 } 

最好用第二种,更容易理解。
在这里插入图片描述
在这里插入图片描述
(最后一句改成否则以表达式3…………)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 例题
    在这里插入图片描述
    在这里插入图片描述
#include <stdio.h>
int main()
{
	char ch;
	ch=getchar();
	ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
	printf("%c\n",ch);
	~~//错因,%c又写成%d了…………~~  
	return 0;
 } 

switch语句

在这里插入图片描述
在这里插入图片描述
switch里边可以写一个表达式,什么都行。switch(a>1?2:3)etc……
在这里插入图片描述

  • 例题:输入三个整数,输出最大的和最小的
    if-else语句:
    在这里插入图片描述
    三目运算符:
    在这里插入图片描述
    例题:计算器程序,用户输入运算数和四则运算,输出计算结果。
    在这里插入图片描述

作业:输入一个年份,并判断是否为闰年。

%是求模运算符;
/是除运算符;
二者都是双目运算符。
它们之间的区别就是:
%是求余运算,即bai2%10=210%2=010%3=1/是普通的除号,即10/2=5
#include <stdio.h>
int main()
{
	int year;
	printf("请输入年份:"); 
	scanf("%d",&year);
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    printf("%d is a leap year\n", year);
    else
    printf("%d is not a leap year\n", year);
    return 0;
 } 

运输公司对用户计算运费.

路程越远每公里运费越低.
每公里每吨货物的基本运费p = 3;用户需要输入货
物重量w和距离s;根据距离的不同折扣d不同(具体见)
下面的表格,要求根据用户输入的w和s,计算出总运费f
其计算公式为f=p*w*s*(1-d)。
           s < 250公里         0      折扣
250 <= s < 500              2%   折扣
500 <= s < 1000            5%   折扣
1000<=s < 2000            8%   折扣
2000<=s < 3000            10% 折扣
3000<=s                         15% 折扣

#include <stdio.h>
int main()
{
	double p,w,f,s,d; 
	p=3;
	printf("请输入所要运输的货物重量:");
	scanf("%lf",&w);	
	printf("请输入所要运输的货物的距离:");
	scanf("%lf",&s);  
	if(s<250)
	{
		d=1.00; 
	}
	else if((s>250||s==250)&&(s<500))
	{
	d=0.98;
	}
	else if((s>500||s==500)&&(s<1000))
	{
	d=0.95;
	} 
	else if((s>1000||s==1000)&&(s<2000))
	{
		d=0.92;
	}
	else if((s<3000)&&(s>2000||s==2000))
	{
		d=0.90;
	}
	else
	{
		d=0.85;
    }
	f=p*w*s*d;
	printf("%.3lf",f);
	return 0;
}
/*出错总结,1:少加“;”,
2:else if 
3:s==xxx,双等号。
4:'s' cannot be used as a function */
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值