分支结构
bool 数据类型,
一种表示非真即假的数据类型,
非0为真.
关系运算符
>
>=
<
<=
==
!=
返回结果为真假
逻辑运算符
&&
||
!
短路现象:
表达式1&&表达式2 ,表达式1为假,则不继续执行后面程序.
同理,||,表达式1为真,则不继续执行.
程序的执行顺序
:
顺序,分支,循环
分支结构使用场景
if 语句
if(条件表达式){ 语句; }
if (表达式) 语句1 ; else 语句2 ;
if ( 表达式1) 语句1 ; else if ( 表达式2 ) 语句2; else if ( 表达式3 ) 语句3 ; ………….else 语句n;
就算所有表达式都为真,也只会执行表达式1.
枚举类型 声明代表整数常量的符号名称 默认从0开始 其他的默认前一个数加1
目的是提高程序的可读性
核心作用 : 将人能看懂的标识符与计算机能看懂的数字建立对应关系.
枚举值其实就是整型变量.
一般在主函数之前定义.
enum oper {
JIA = 1 ,
JIAN ,
CHENG ,
CHU
};
int oper = JIA ;
switch语句
开关语句
把表达式和一系列值进行比较,
switch (表达式){
case 1
: { 语句;break;}
case 2
: { 语句;break;}
case 3
: { 语句;break;}
case n
: { 语句;break;}
default : 语句; break;
}
defoult 语句的位置不影响程序的运行.
编程判断3人中谁的年龄最大,并且打印最大者年龄.
输入三个数,判断是否能构成三角形
铁路托运行李规定:行李的重不超过50公斤的,托运费按0.15 元每公斤计算,如果超过50公斤,超出部分每公斤加收0.1元.
有一个函数,x<1 时,y=x;,1<=x<10 时, y= 2x-1
x>= 10时, y= 3x-11,输入x ,输出y值.
编制一个完成两个数四则运算的程序. 要求运算结果保留两位有效小数.
// printf ( " 题目一 : \n\n\n");
// printf ( "请输入三人的年龄,各个年龄之间以逗号隔开 : ");
// int a = 0 , b = 0 , c = 0 , max = 0 ;
// scanf ( "%d,%d,%d" , &a ,&b ,&c );
// if ( a > b )
// max = a ;
// else
// max = b ;
// if ( max > c )
// max = max ;
// else
// max = c ;
// printf ( " \n这三个人中最大者的年龄是 : %d\n\n\n" , max);
// printf ( " 题目一 : \n\n\n");
// printf ( "请输入三人的年龄,各个年龄之间以逗号隔开 : ");
// int a = 0 , b = 0 , c = 0 ;
// if ( a > b ){
// if ( a > c ){
// printf ( " %d \n\n\n " , a );
// }else{
// printf (" %d \n\n\n " , c ) ;}}
// else{
// if ( b > c ){
// printf ( " %d \n\n\n " , b);}
// else{
// printf ( " %d\n\n\n " , c ) ;}}
// printf(" 题目二 : \n\n\n");
// printf ( " 请输入三个正整数,各个数之间以逗号隔开 : ");
// int a = 0 , b = 0 , c = 0 ;
// scanf ( "%d,%d,%d" , &a ,&b , &c );
// if ( a+b > c && b+ c > a && c+ a > b)
// printf("\n\n这三个数字可以构成一个三角形\n\n\n");
// else
// printf ( " \n\n 这三个数字不可以构成一个三角形\n\n\n");
// printf(" 题目二 : \n\n\n");
// printf ( " 请输入三个正整数,各个数之间以逗号隔开 : ");
// int a = 0 , b = 0 , c = 0 ;
// scanf ( "%d,%d,%d" , &a ,&b , &c );
// if ( abs (a-b) < c && abs(b- c) < a && abs (c- a) < b)
// printf("\n\n这三个数字可以构成一个三角形\n\n\n");
// else
// printf ( " \n\n 这三个数字不可以构成一个三角形\n\n\n");
// printf ( " 题目三 : \n\n\n");
// printf(" 请输入您的行李重量( 以公斤计) : ");
// float a = 0 , b = 0 ;
// scanf ( "%f" , &a);
// if ( a <= 50)
// b = 0.15*a ;
// else
// b = 7.5 + 0.25*(a-50) ;
// printf ( "\n\n 您应付托运费 %.2f 元. \n\n\n", b );
// printf ( " 题目三 : \n\n\n");
// printf(" 请输入您的行李重量( 以公斤计) : ");
// float weight = 0 , money = 0 ;
// scanf ( "%f" , &weight);
// money = 0.15*weight ;
// if (weight > 50 )
// money += 0.1*(weight-50) ;
// printf ( "\n\n 您应付托运费 %.2f 元. \n\n\n", money );
// printf ( "题目四 : \n\n\n") ;
// printf ( " 请输入 x 的值 : ");
// float x = 0 , y = 0.0f ;
// scanf ( "%f" , &x);
// if ( x < 1 )
// y = x ;
// else if ( 1<=x < 10 )
// y = 2 * x - 1 ;
// else if ( x >= 10 )
// y = 3 * x - 11 ;
// printf ( "\n\n 对应的 y 的值为 : %.2f \n\n\n" , y);
// printf ( "题目五 : \n\n\n");
// printf("请输入一个两个数的算式 : ");
// float a = 0 , b = 0 ;
// char c = '\0' ;
// scanf ( "%f%c%f" , &a , &c , &b);
// if ( c == '+' )
// printf ( " \n\n答案为 : %.2f \n\n\n" , a +b);
// else if ( c == '-' )
// printf ( " \n\n答案为 : %.2f \n\n\n" , a - b);
// else if ( c == '*' )
// printf ( " \n\n答案为 : %.2f \n\n\n" , a * b);
// else if ( c == '/' )
// printf ( " \n\n答案为 : %.2f \n\n\n" , a / b );
// else if ( c == '^' ) {
// int c = 1 ,i ;
// for ( i = 1 ; i <= b ; i ++){
// c *= a;
// }
// printf ( " \n\n答案为 : %d \n\n\n " ,c);
// }
// else
// printf ( " 我不会这个运算~" );
// printf ( "题目五 : \n\n\n");
// printf("请输入一个两个数的算式 : ");
// float a = 0 , b = 0 ;
// char c = '\0' ;
// scanf ( "%f%c%f" , &a , &c , &b);
// switch (c) {
// case 43:
// printf ( " \n\n答案为 : %.2f \n\n\n" , a +b);
// break;
// case '-' :
// printf ( " \n\n答案为 : %.2f \n\n\n" , a -b);
// break;
// case 42 :
// printf ( " \n\n答案为 : %.2f \n\n\n" , a *b);
// break;
// case '/' :
// printf ( " \n\n答案为 : %.2f \n\n\n" , a /b);
// break;
// default:
// break;
// }
//
// if 结构的用法举例
// char c = '\0';
// printf(" 请输入XXX的性别 : ");
// scanf ( "%c" , &c);
// if ( c == 'f'){
// printf(" 女同胞\n\n\n" );
// }
// if (c == 'm' ){
// printf ( " 男同学\n\n\n" ) ;
// }
// if ( c != 'f' && c != 'm'){
// printf(" 人妖\n\n\n");
// }
// 字符型表示
// char aa = '\t';
// printf ( " %c b\n\n " , aa);
// 判断闰年
// int a = 0 ;
// printf("请输入待甄别年份: " );
// scanf ( "%d" , &a ) ;
// if ( (a%4 == 0 && a % 100 != 0) || a % 400 == 0 )
// printf ( "\n%d 年是闰年\n\n\n" , a );
// else
// printf ( " \n%d 年是平年\n\n\n" , a );
// 判断字符
// char a = 0 ;
// printf(" 请输入一个字符 : ");
// scanf ( "%c" , &a );
// if ('0' <= a && a <= '9') {
// printf ( "\n\n this is digital \n\n\n");
// }
// else if ('A' <= a && a <= 'Z' ){
// printf ( " \n\n this is capital letter \n\n\n ");
// }
// else if ( 'a' <= a && a <= 'z'){
// printf ( " \n\n this is letter \n\n\n");
// }
// else {
// printf ( " \n\n other \n\n\n");
// }
// 枚举类型
// enum oper {
// JIA = 1 ,
// JIAN ,
// CHENG ,
// CHU
// };
// int oper = CHENG ;
// printf ( " oper = %d \n " , oper);
//
// enum season {
// spring = 9,
// summer ,
// autumn ,
// winner
// };
// int season = winner ;
// printf ( " season = %d \n\n\n " , season );
//switch 语句
// int day = 0 ;
// printf ( " 请输入1~7的数字: ");
// scanf ( "%d" , &day);
// switch (day) {
// case 1:
// printf ( " 周一\n");
// break;
// case 2:
// printf ( " 周二\n");
// break;
// case 3:
// printf ( " 周三\n");
break;
// case 4:
// printf ( " 周四\n");
break;
// default:
// printf ( " 你的IQ 不适合我们的应用\n\n\n");
// break;
// case 5:
// printf ( " 周五\n");
// break;
// case 6:
// printf ( " 周六\n");
// break;
// case 7:
// printf ( " 周日\n");
// break;
// }
//
// 算天数
// int month = 0 , day = 0 ;
// printf ( " 请输入一个日期,月与日之间用逗号隔开 : ");
// scanf ( "%d,%d" , &month ,&day);
// switch ( month ){
// case 1:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day );
// break;
// case 2:
// printf( " \n\n今天是本年的第 %d 天\n\n\n" , day + 31);
// break;
// case 3:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 59);
// break;
// case 4:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 90);
// break;
// case 5:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 120);
// break;
// case 6:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 151);
// break;
// case 7:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 181);
// break;
// case 8:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 212);
// break;
// case 9:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 243);
// break;
// case 10:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 273);
// break;
// case 11:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 304);
// break;
// case 12:
// printf ( " \n\n今天是本年的第 %d 天\n\n\n" , day + 334);
// break;
// default :
// printf ( " 不存在这个月份!\n\n\n");
// break;
// }
//
// int year = 0 , month = 0 , day = 0 , sum = 0 ;
// printf ( " 请输入一个日期, 年,月与日之间用逗号隔开 : ");
// scanf ( "%d,%d,%d" , & year ,&month ,&day);
// switch (month - 1) {
// case 11:
// sum += 30;
// case 10:
// sum += 31;
// case 9:
// sum += 30;
// case 8:
// sum += 31;
// case 7:
// sum += 31;
// case 6:
// sum += 30;
// case 5:
// sum += 31;
// case 4:
// sum += 30;
// case 3:
// sum += 31;
// case 2:
// {
// if ( (year %4 == 0 && year % 100 != 0 ) || year % 400 == 0 ) sum +=29;
// else sum += 28;
// }
// case 1:
// sum += 31;
// default:
// break;
// }
// sum += day ;
// printf ( " %d-%d-%d是本年的第 %d 天!\n\n\n " , year , month , day , sum );