C语言第三次上机实验

1. 掌握C语言基本运算符和表达式用法;
2. 预习选择和重复控制语句的用法.                           


任务1假设整型变量 a 的值是 1,b 的值是 2,c 的值是 3,在这种情况下分别执行下
面各个语句,写出执行对应语句后整型变量u 的值,做简短分析.
  1)  u = a ? b : c; 

      输出u=2.  恩,,若a=0,输出冒号之后c的赋值,若a不等于0,输出冒号之前的b的赋值。
  2)  u = (a = 2) ? b + a : c + a; 

    输出u=4. 若a=2,输出b=a,若a不等于2,输出c=a.

 

------------------------------------任务分割线------------------------------------
任务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

分析:&&与运算 同时为真才为真,类似于乘法;

            ||或运算  同时为假才为假 ,类似于加法;

            !否运算 假为真 真为假。

------------------------------------任务分割线------------------------------------
任务3.  写程序计算以下各个表达式的值。
说明: 程序头文件要添加#include<math.h> 和 #include <conio.h>

 1)3 * (2L + 4.5f) - 012 + 44 

  

 #include<math.h>
 #include<conio.h>
 #include<stdio.h>
void main()
{double u=3*(2L+4.5f)-012+44;
printf("%lf",u);}


程序截图:

   2)3 * (int)sqrt(144.0)

 #include<math.h>
 #include<conio.h>
 #include<stdio.h>
void main()
{double u=3 * (int)sqrt(144.0);
printf("%lf",u);}


运行程序截图:


  3)cos(2.5f + 4) - 6 *27L + 1526 - 2.4L

 #include<math.h>
 #include<conio.h>
 #include<stdio.h>
void main()
{double u=cos(2.5f + 4) - 6 *27L + 1526 - 2.4L;
printf("%lf",u);}


程序截图为:


------------------------------------任务分割线------------------------------------

任务4:

以下是两种“返回二个参数中最大的一个”的程序写法,理解并运行这两种写法,做简短分析.
写法一:

double dmax (double x, double y);  
int main()  
{  
 double a,b;  
 printf("Input 2 number:\n");  
 scanf_s("%lf %lf",&a,&b);  
 printf("The max is:%f \n",dmax(a,b));  
}   
double dmax (double x, double y)  
{   
  if (x > y)   
      return x;   
  if (x < y)   
      return y;   
 }

程序截图如下:

 


写法二:

double dmax (double x, double y)  
{   
  if (x > y)   
      return x;   
  else   
      return y;   
 }   
  
int main()  
{  
  double a,b;  
  printf("Input 2 number:\n");  
  scanf_s("%lf %lf",&a,&b);  
  printf("The max is:%f \n",dmax(a,b));  
} 


程序截图如下:

 

------------------------------------任务分割线------------------------------------

任务5:

参考任务4,编写“返回三个参数中最大的一个”的程序,要求函数名为 double tmax(double, double, double),详细说明设计思路.
思路:参考任务四,看书
#include<stdio.h>    
double tmax (double x, double y,double z)  
{   
  if (x >= y)   
   {if (x>=z)  
      return x;  
   else   
      return z;}   
  if (x <= y)  
   {if (y>=z)  
      return y;  
   else   
      return z;}  
}  
int main()  
{  
 double a,b,c;  
 printf("Input 3 numbers:\n");  
 scanf_s("%lf %lf %lf",&a,&b,&c);  
 printf("The max is:%f \n",tmax(a,b,c));  
}  


运行程序截图:

------------------------------------任务分割线------------------------------------
任务6:

写一个简单程序,它输出从1 到10的整数,详细说明设计思路。
思路:设置一个初始值和一个循环语句

#include<stdio.h>   
int main()  
{int i=1;  
int a=0;  
while(i<=10)  
{a++;  
printf("%d\n",a);  
i++;}  
}  


运行程序截图:

------------------------------------任务分割线------------------------------------

任务7:

写一个简单程序,它输出从10到-10的整数,详细说明设计思路

思路:与任务六基本相同

#include<stdio.h>   
int main()  
{int i=0;  
int a=11;  
while(i<=20)  
{a--;  
printf("%d\n",a);  
i++;}  
} 


运行程序截图:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值