输入三角形的三条边
1.定义int a,b,c和float area和double s;
2.输入a,b,c的值;
3.计算s=(a+b+c)/2.0;
4.判断(a+b<=c||b+c<=a||a+c<=b);
5.真:不构成三角形,假:计算area=sqrt(s/(s-a)*(s-b)*(s-c);
6.输出。
输出x的值,按分段函数计算并输出y的值
1.定义int x,float y;
2.输入x的值;
3.判断x!=0;
4.真:y=1.0/x;假:y=0;
5.输出y的值。
关系运算符用于判断两个数的大小关系。在c语言中有6个关系运算符:
1.关系运算符都是双目运算符 ,其结合方向是左结合。
2.关系运算符的优先级低于算术运算符,但是高于赋值运算符。
3.关系运算符中,>,<,>=,<=的优先级相同,==,!=的优先级相同,前者高于后者,即">=“高于“==”)
关系表达式:用关系运算符将两个表达式连接起来的式子称为关系表达式。
功能:比较两个表达式的大小,返回一个逻辑值。
关系运算
1.定义char c='m',int i=10,j=20,k=30,float x=13e+5,y=10.85;
2.输出'a'+5<c,-i-2*j>=k+1;1<j<5,x-5.25<=x+y;i+j+k==-2,k==j==i+5;判断的值。
关系表达式只能描述单一的条件。对于较复杂的复合条件需要用到逻辑运算符将诺干个关系表达式联系起来才能正确描述上述关系。
( 与运算符&&和或运算符||都是双目运算符,非运算符!为单目运算符。)
逻辑表达式用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。
逻辑表达式的结果也是一个逻辑值"真“或”假“,即“1”或“0”
逻辑运算
1.定义int a=3,b=3, c=2,d;
2.输出!a&&!b&&c的判断值;
3.输出!a||!b||c的判断值;
4.输出a>=b&&b>c的判断值;
5.计算d=c--||(b=6)&&a++;
6.输出a,b,c,d的值。
条件运算符由“?”和“:”两个符号组成,用于条件求值,是一个三目运算符,需要三个操作数,条件运算符的优先级低于逻辑运算符 ,高于赋值运算符,右结合。
条件表达式执行顺序是:先计算表达式1,诺值非0,表示条件为真则将表达式2的值作为整个条件表达式的值,否则将表达式3的值作为整个条件表达式的值。
用条件表达式求两个数中的较大数
1.定义int x,y;
2.输出:“请输入两个数中的值”;
3.输入x,y的值;
4.输出判断x>y?x:y条件中的最大值;
#include<stdio.h>
int main()
{
int x, y;
printf("请输入两个整数:");
scanf_s("%d,%d", &x, &y);
printf("两个整数中的最大数为:%d\n", x > y ? x : y);
return 0;
}
双分支if语句一般形式如下:
if
语句1;
else
语句2;
1.定义int a,b;
2.输入两个数分别赋值给a,b;
3.判断a>b;
4.真:输出a的值;假:输出b的值。
#include<stdio.h>
int main()
{
int x, y;
printf("请输入两个整数:");
scanf_s("%d,%d", &x, &y);
printf("两个整数中的最大数为:%d\n", x > y ? x : y);
return 0;
}
编写一个程序,根据键盘输入的x的值,计算y的值
1.定义int x,y;
2.输入一个并赋值给x;
3.判断x<=1;
4.真:y=exp(x);假:y=pow(x,2)-1;
5.输出x,y的值。
编写程序任意输入一个实数,输出其绝对值
1.定义float x;
2.输入x的值;
3.判断x<=0;
4.真:x=-x;假:x;
5.输出x的值。
#include<stdio.h>
int main()
{
float x;
scanf_s("%f", &x);
if (x < 0)
{
x = -x;
}
printf("%f", x);
}
输入三个实数,从小到大输出
1.定义float a,b,c,t;
2.输入a,b,c的值;
3.判断a>b;
4.真:t=a;a=b;t;假:判断a>c;
5.真:t=a;a=c;c=t;假:判断b>c;
6.t=b;b=c;c=t;
7.输出a,b,c的值。
输入3个任意整数找出最大值
1.定义int a,b,c,max;
2.输入a,b,c的值;
3.判断a>b;
4.真:判断a>c;真:max=a;假:max=c;假:判断b>c;真:max=b;假:max=c;
5.输出max的值。
编写程序,输入x的值
1.定义float x,y;
2.输入x的值;
3判断x<2;
4.真:y=2*x;假:判断x<=10;
5.真:y=7-3*x;假:y=1-cos(x);
6.输出y的值。
#include<stdio.h>
#include<math.h>
int main()
{
float x, y;
printf("输入x的值:");
scanf_s("%f", &x);
if (x < 2)
y = 2 * x;
else if (x <= 10)
y = 7 - 3 * x;
else
y = 1 - cos(x);
printf("y=%0.6f\n", y);
return 0;
}
编写程序由键盘输入一个字符,诺字符为小写字母,转大写,大写转小写
1.定义char c1,c2;
2.输入一个字符赋值给c1;
3.判断c1>='a'&&c1<='Z'
4.真:c2=c1+32;假:判断c1>='A'&&c1<='Z';
5.真:c2+32;假:c2=c1+1;
6.输出字符变量的值。
switch语句分支结构
1.定义int month;
2.输入month的值;
3.判断(month-1)/3的值;
4.为0;输出语句1
5.为1,输出语句2;
6.为2,输出语句3;
7.为3,输出语句4;
8.都不是输出:输入错误。
#include<stdio.h>
int main()
{
int month;
printf("输入月份:");
scanf_s("%d", &month);
switch ((month - 1) / 3)
{
case 0:
printf("%d月是第1季度\n ", month);
break;
case 1:
printf("%d月是第2季度\n ", month);
break;
case 2:
printf("%d月是第3季度\n ", month);
break;
case 3:
printf("%d月是第4季度\n ", month);
break;
defaule:
printf("输入错误\n ");
break;
}
return 0;
}
根据键盘输入年月,输出天数
1.定义int year,month,days;
2.输入year,month的值;
3.判断month=1,3,5,7,8,10,12;
4.真:days=31;假:判断month=4.6.9.11;
5.真:days=30;假:判断month=2;
6.真:days=29;假:days=28
7.输出year,month,days的值。
#include<stdio.h>
int main()
{
int year, month, days;
printf("输入年,月:");
scanf_s("%d,%d", &year, &month);
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 28;
case 2:
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
days = 29;
}
else
{
days = 28;
}
break;
}
printf("%d年%d月的天数是%d天\n ", year, month, days);
return 0;
}
使用switch语句编写的程序
1.定义int expression,;float x,y;
2.输入x的值;
3.expression = (int)(1 * (x < 2) + 2 * (x >= 2 && x <= 10) + 3 * (x > 10));
4.判断expression的值;
5.expression=1,计算y=2*x;
6.expression=2,计算y=7-3*x;
7.expression=3,计算y=1-cos(x);
8.输出y的值。
#include<stdio.h>
#include<math.h>
int main()
{
int expression;
float x, y;
printf("输入x的值:");
scanf_s("%f", &x);
expression = (int)(1 * (x < 2) + 2 * (x >= 2 && x <= 10) + 3 * (x > 10));
switch (expression)
{
case 1:
y = 2 * x;
break;
case 2:
y = 7 - 3 * x;
break;
case 3:
y = 1 - cos(x);
break;
}
printf("y=%0.5f\n", y);
return 0;
}
1.定义float x,y;
2.输入x的值;
3.判断x>=0;
4.真:y=sqrt(x);假:y=pow(x,5)+2*x+1/x;
5.输出x,y的值。
#include<stdio.h>
#include<math.h>
int main()
{
float x, y;
scanf_s("%f", &x);
if (x >= 0)
{
y = sqrt(x);
}
else
{
y = pow(x,5)+2*x+1/2;
}
printf("x=%.2f,y=%.2f\n", x, y);
return 0;
}