#include<stdio.h>
#include<ctype.h>
#include<math.h>
#include<assert.h>
/*
1、不能做switch的参数类型有哪些?float double (必须是一个整型)
2、断言
assert:断言===》DEBUG
asser(n!=1)
用户版本:release
3、断言是函数吗?不是,=》宏 sizeof=》关键字
4、if和switch的区别:
if:不管有多少次比较,都会一一进行比较
switch:>=4后被优化为一次比较===》跳转表cmp
/
/
例:写一个函数:求1-100的和,1-100奇数的和,1-100偶数的和
void Sum(int n)//n 100
{
int Sum=0;
int SumOdd=0;//奇数
int SumEve=0;//偶数
for(int i=1;i<=n;i++)
{
Sum+=i;
}
for(int i=1;i<=n;i+=2)
{
SumOdd+=i;
}
for(int i=2;i<=n;i+=2)
{
SumEve+=1;
}
printf("Sum==>%d",Sum);
printf("SumOdd==>%d",SumOdd);
printf("SumEve==>%d",SumEve);
}
int main()
{
Sum(100);
getchar();
return 0;
}
*/
/*
int main()
{
int i;
for(i=0,printf("#1:%d\n",i);printf("#2:%d\n",i),i<3;i++,
printf("#3:%d\n,i"))
{
printf("语句块\n" ) ;
}
}
*/
/*
void Fun(char ch)//ch:等级 A B
{
switch(ch)
{
case'A':
printf("90-100\n");
break;
case'B':
printf("80-90\n");
break;
case'C':
printf("70-80\n");
break;
case'D':
printf("60-70\n");
break;
default:
printf("挂科啦\n");
break;
}
}
int main()
{
char*str="abcd";
char i='a';
float i=12.5f;
Fun('A');
Fun('B');
return 0;
}
*/
/*
int a = 10;
if(a == 1)
{printf("dfs");}
else if(a == 4)
{printf("dfs");}
else if(a == 6)
{printf("dfs");}
else if(a == 5)
{printf("fdsfas");}
*/
开关语句:
//int i=2;
//switch(i)
//{
//case 1:
//printf("1\n");
//break;
//case 2:
//printf("2\n");//不按顺序执行,而是直接跳到2执行
//break;
//case 3:
//printf("3\n");
//break;
//case 4:
// printf("4\n");
//break;
//}
//没有break时会一直执行,直到遇到break才停止
//switch开关
/*
//求平方根?
//float和0比较:-0.000001 0.000001
void Fun(int a,int b,int c)
{
int d=b*b-4*a*c;
float x1,x2;
if (a==0)
{
x1==x2==-c/(float)b;
}
if(d<0)
{
printf("d<0==>无解\n");
return;
}
else if (d==0)
{
x1==x2==-b/(float)2*a;
printf("d==0==>%f,%f\n",x1,x2);
}
else
{
x1= (-b+sqrt((float)d))/(2*a);//sqrt求平方根
x2 = (-b-sqrt((float)d))/(2*a);
printf("d>0==>%f,%f\n",x1,x2);
}
}
int main()
{
Fun(1,1,2);
Fun(1,2,4);
Fun(1,2,2);
*/
/*
//判断一个数字是否为素数?
#define SIZE 10
bool IsPrime(int n)
{
asser(n!=1)//asser:断言
if(n==1)
{
return false;
}
for(int i=2;i<n;i++)
{
if(n%i==0)
{
return false;
}
}
return true;
}
*/
/*比大小
int Max2(int a,int b)
{
return a>b?a:b;
}
求三个数的最大值 ?必须依赖求两个数的最大函数
int Max3(int a,int b,int c)
{
return Max2(Max2(a,b),c);
}
int max=Max3(10,20,30);
return 0;
*/
/*
bool flg=IsPrime(1);
printf("%d\n",flg);
*/
/*
//'0'===>48 0
char ch2='1';
if(isdigit(ch2))
{
printf("isdight\n");
}
char ch='a';
if(isalpha(ch))//判断一个字符是否为字母 返回非零的值
{
printf("true");
}
else
{printf("false");
}
*/
/*
int c;
int b=(a=20,c=30);
printf("%d\n",b);//30
*/
//以上程序是练习基本能力的哦~