第三次上机实验

目标:
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.  写程序计算以下各个表达式的值。

1)3 * (2L + 4.5f) - 012 + 44
  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;  
}  

程序运行效果截图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值