1. 程式人生 > >C語言實戰105例子——例項4邏輯運算子計算器

C語言實戰105例子——例項4邏輯運算子計算器

解析: 使用邏輯運算子& & 和II的時候注意一些較為特殊的屬性。由& & 和II連線的表示式按從左到 右的順序進行求值,並且,在知道結果值為真或為假後立即停止計算

在這裡插入圖片描述

eg:

#include <stdio.h> 
#include <math.h>
#include<stdlib.h>
int main()
{
	int x = 25, y = 25 , z = 30;
	float f = 25.095, h = 25.095;
	printf("*************************************\n");
	printf("** This is a logical calculator:   **\n");
	printf("*************************************\n");
	if ( x == y )/*比較整數*/
		printf("x == y\n");
	else printf("x != y\n");
	if ( x != z)
		printf("x != z\n");
	else printf("x == z\n");
	if ( x == f)/* 比較整數和浮點數*/
		printf("x == f\n");
	else printf("x != f\n");
	if ( f == h)
		printf("f == h\n");
	else printf("f != h\n");
	if ( f == 25.095)/*浮點數比較,注意計算機中的浮點變數的非精確表示*(浮點數的比較方法不正確)*/
		printf("f == 25.095\n"); 
		else printf("f != 25.095\n");
	if ( fabs (f - 25.095) <= 0.0001)/*比較浮點數的正確做法,在一個範圍內比較*/
		printf("f == 25.095\n");

	else printf("f != 25.095\n");
	if ((x != y) && (f != h))/*演示& & 和||邏輯運算子的使用*/
		printf("x != y and f != h\n");
	else if (( x != z) || (h != z))
		printf("x != z or h !=  z\n");
	scanf("%d",x);
	
  system("pause");
	return 0;
}

在這裡插入圖片描述

歸納總結 1)關係運算符“==”與賦值運算子“=”別寫錯

2)對於浮點數的判斷問題

在這裡插入圖片描述