int a = 2.36
這條語句,會直接給a
賦值2,而不會進行四捨五入,原理是直接截斷小數點後面的數字。float b = 3.1415926536
,C中保證了float類型的前6位精度,會損失精度,應該使用double來進行賦值。i_
當前綴,unsigned short會使用us_
當前綴。printf()
和scan()
不起做用,由於這兩個函數的參數是可變的。#include<stdio.h> int D14_1_badcount(void) { int n = 4; int m = 5; float f = 7.0f; float g = 8.0f; printf("%d\n", n, m); printf("%d %d %d\n", n); printf("%d %d\n", f, g); return 0; }
運行結果: git
#include<stdio.h> #pragma warning(disable:4996) int D14_2_escape(void) { float salary; printf("\aEnter your desired monthly salary:"); printf("$___________\b\b\b\b\b\b\b\b"); scanf("%f", &salary); printf("\n\t$%.2f a month is %0.2f a year", salary, salary * 12.0); printf("\rGee!\n"); return 0; }
運行結果: github
printf
何時把輸出發送到屏幕呢?從緩衝區把數據發送到屏幕或者文件被稱爲刷新緩衝區。微信
scanf
函數也不會刷新緩衝區\n
也是一種習慣。小結:
(1)C語言支持混合數據類型表達式,可是會進行自動類型轉換。
(2)_Bool是一種無符號類型;編輯器