1. 掌握C语言基本运算符和表达式用法;
2. 预习选择和重复控制语句的用法.
任务1:假设整型变量 a 的值是 1,b 的值是 2,c 的值是 3,请判断各语句的值,写出执行结果,并作简短分析.
1) x = a ? b : c; (若x的值等于a就选取b的值,否者就选取c的值)
2) y = (a = 2) ? b + a : c + a; (若y等于(a=2)即2,成立取b+a的值,否者取c+a的值)
1)输出结果为:2
2)输出结果为:4
------------------------------------任务分割线------------------------------------
任务2:假设整型变量a 的值是1 ,b 的值是2 ,c 的值是0 ,请判断各语句的值,写出执行结果,并作简短分析.
1)a&&c:0
2)a||c:1
3)a||b:1
4)b&&c:0
5)a&&!((b||c)&&!a):1
6)!(a&&b)||c?a||b:a&&b&&c:0
c语言中1代表真,0代表假,其中!为非,&&为与,||为或
------------------------------------任务分割线------------------------------------
任务3. 写程序计算以下各个表达式的值。
2)3 * (int)sqrt(144.0)
3)cos(2.5f + 4) - 6 *27L + 1526 - 2.4L
1)我的程序:
#include <stdio.h>
#include<math.h>
#include <conio.h>
int main()
{int u;
u=3 * (2L + 4.5f) - 012 + 44 ;
printf ("%d\n", u);
}
输出结果为:53
2)我的程序:
#include <stdio.h>
#include<math.h>
#include <conio.h>
int main()
{int u;
u=3 * (int)sqrt(144.0) ;
printf ("%d\n", u);
}
输出结果为:36
3)我的程序:
#include <stdio.h>
#include<math.h>
#include <conio.h>
void main()
{int u;
u=cos(2.5f + 4) - 6 *27L + 1526 - 2.4L ;
printf ("%d\n", u);
}
输出结果为:1362
------------------------------------任务分割线------------------------------------任务4:以下两个程序都能实现了“取两个数最大值”算法,理解并分析两个程序的不同.
第一个先定义,第二个在后面才定义。要达到同一个目的,可以有不同的方法。
------------------------------------任务分割线------------------------------------
任务5:参考任务4,编写“返回三个参数中最大的一个”的程序,要求函数名为 double tmax(double, double, double),详细说明设计思路.
我的程序:
#include <stdio.h>
double tmax (double x, double y,double z)
{
if (x > y&&x>z)
return x;
if (y>x&&y>z)
return y;
if(z>x&&z>y)
return z;
}
int main()
{
double a,b,c;
printf("Input 3 number:\n");
scanf("%lf %lf",&a,&b,&c);
printf("The max is:%f \n",tmax(a,b,c));
}
程序运行效果截图:
先定义函数,三者中最大的一定同时大于另外两者。大体过程与任务四相同。
------------------------------------任务分割线------------------------------------
任务6:写一个简单程序,它输出从1 到10的整数,详细说明设计思路。
我的程序:
#include <stdio.h>
int main()
{ int f;
int lower=1;
int upper=10;
int step=1;
f=lower;
while (f<=upper)
{
printf("%d\n",f);
f=f+step;
}
return 0;
}
程序运行效果截图:
参考了之前的温度程序,每个数字之间相差1,初始是1,结束是10,运用while循环不用一个个打。
------------------------------------任务分割线------------------------------------
任务7: 写一个简单程序,它输出从10到-10的整数,详细说明设计思路。
我的程序:
#include <stdio.h>
int main()
{ int f;
int lower=-10;
int upper=10;
int step=1;
f=lower;
while (f<=upper)
{
printf("%d\n",f);
f=f+step;
}
return 0;
}
程序运行效果截图: