第三次上機實驗

目標:
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;  
}  

程序運行效果截圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章