条件判断。
a、if语句
int hour1,minute1;
int hour2,minute2;
printf("请输入起始时间(小时) (分钟)。
");
scanf("%d %d",&hour1, &minute1);
printf("请输入终止时间(小时) (分钟)。
");
scanf("%d %d",&hour2, &minute2);
int h=hour2 -hour1;
int m=minute2-minute1;
if ( m <0 ) //利用if进行判断。
{
m+=60;
h --;
} //当m(分钟)差小于零时进行{}中的运算,当m大于零时直接printf输出。
printf("时间差是%d小时%d分钟。
", h, m);
return 0;
b、关系运算(比较运算符)
注:计算符的优先级大于关机运算
==:相等 !=:不相等 >:大于 >=:大于或等于 <:小于 <=:小于/等于
c、否则
#include <stdio.h>
int price =0;
int bill=0; //先进行初始化
printf("输入应收金额(元):");
scanf("%d",&price);
printf("输入已收金额(元):");
scanf("%d",&bill); //读入应收和已收金额
if (bill > price )
{
printf("找您%d(元)
",bill-price);//计算找零
}
else{
printf("您还应该付%d(元)
",-(bill-price));//否则的话,走这条路线
}
return 0;
注:if( 条件)
{
}
else{
} //注意if中的条件并不包含else。
d、if语句:
1、if语句在这一行结束的时候并不是表示语句的结束,eg: if (a>b) //这时不能有; { a=b+10; //这时候才有if语句的; }
e、if语句的常见错误:
1、忘记大括号{} 注:哪怕{}中只有一行代码 也要加上大括号(好习惯)
2、在if后加上;就相当于if结构中的{}中的内容与if无关,已经结束。
3、当 运用if ( a == b ) { } 这个时候是不能用一个等于"="的,而应该用双等于"=="表等于(用单等于表示赋值就不是比较大小了)
f、switch-case语句
语句样式、、switch ( 控制表达式 ) 要求为:只能是整数型的结果。
{
case 常量:
.....
case 常量:
......
default :
语句
.....
}
eg;
int type;
scanf("%d", &type);
switch ( type )
{
case 1:
printf("你好
");
break;
case 2:
printf("早上好
");
break;
case 3:
printf("晚上好
");
break;
case 4:
printf("再见
");
break;
default:
printf("哈哈
");
break;
}
return 0;
}
g、条件必须从大到小。如果是小余则必须从小到大。
if ( x > 999 )
{
n=4;
} else if ( x > 99 )
{
n=3; } else if ( x > 9 )
{ n=2;
} else if ( x > 0 )
{ n=1;
}
printf("%d
", n);
return 0;
h、浮点数(就是带小数点的数)
I、*double:双精度浮点数 *
II、float:单精度浮点数。
printf("请输入身高的英尺和英寸,"~~ ~~ "如输入”5 7“,表示5英尺7英寸");
int foot;//(定义英尺)~~
int inch;//(定义英寸)~~
scanf("%d %d",&foot, &inch);
printf("身高为%f米。
",
~~((foot + inch / 12) * 0.3048));~~
~~return 0; //此程序会报错~~
改法:1、
printf("请输入身高的英尺和英寸," "如输入"5 7",表示5英尺7英寸");
int foot;//(定义英尺)
int inch;//(定义英寸)
scanf("%d %d",&foot, &inch);
printf("身高为%f米。
", ((foot + inch / 12.0) * 0.3048));//注:将12改为12.0变为浮点数
return 0;
2、
printf("请输入身高的英尺和英寸," "如输入"5 7",表示5英尺7英寸");
double foot;//(定义英尺)
double inch;//(定义英寸)(注:此时已经将英尺和英寸改为double)
scanf("%lf %lf",&foot, &inch);
printf("身高为%f米。
", ((foot + inch / 12) * 0.3048));
return 0;
数据类型
*int
*printf("%d",...)
*scanf("%d",...)
带小数点的数
*double(双精度)
*printf(“%f”,...)
*scanf("%lf",...)
i、表达式
I、eg:*运算符:
amount = x (1+0.033)(1+0.033);//这一行都是表达式
a=b+5;//"=,+"都是运算符''a,b,5"则为算子
sides=sides+5,sides和5为算子
%:取余():括号
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1, &minute1);
scanf("%d %d",&hour2, &minute2);
int t1=hour1 * 60 + minute1;
int t2=hour2 * 60 + minute2;//将小时全部化为分钟来计算
int t =t2-t1;
printf("时间差是%d小时%d分钟。",t/60, t%60);//"t/的单位是分钟,因为计算机的整数运算原理,只会保留前面的整数,而"是取余数只会保留余数"//
II**、运算符的优先级*
·第一优先级:“-”和“+” +:单目不变。 -:单目取负 。“ a+b"先算+b 然后用a*+b 算子肯定在运算符右边。 *
·第二优先级:”*,/,%,“,与数学算法差不多。
·第三优先级:”+,-“
·第四优先级:”=“,赋值号。 eg:”a=b+5“,因为+的优先级比=高
III、复合的赋值运算符
eg:total += 5; 等价于 total =total + 5;(运算符间不能有空格,需连接在一起。) 递增/递减运算符 (必须和变量配合使用) 规律:a++ 先算+1 ,a++后算+1