C语言:运算符-符号常量-输入输出
文章目錄
- 運算符
- 運算符和表達式
- 算術運算符和算術表達式
- 復合賦值運算符和復合賦值表達式
- 自增自減運算符
- 符號常量
- 宏常量與宏替換
- 逗號表達式
- 標準輸入輸出函數
- 字符輸入輸出
- 字符常量
- 單個字符輸入輸出函數
- 說明
- 數據的格式化屏幕輸出
- printf()函數格式說明符(部分)用法表:
- printf()函數格式修飾符用法表:
- 數據的格式化輸入
- scanf()函數格式說明符(部分)用法表:
- scanf()函數格式修飾符用法表:
- 數值型數據輸入結束說明:
運算符
運算符和表達式
運算符是表示某種運算規則的符號
常見的運算有:
賦值運算、算術運算
邏輯運算、關系運算、條件運算
位運算
表達式是由運算符及其所操作的數據(稱操作數)組成的式子。表達式還可以是運算符的操作數。
運算符不僅表示某種運算規則,還有優先級和結合性的特征。
算術運算符和算術表達式
基本算術運算符: + - * / %(求余)
結合方向:從左向右
優先級: * / %,+ -
說明:
如果“/”兩邊都是整數,結果取整數部分
“%” 要求兩側均為整型數
示例:
計算并輸出一個三位數的個位、十位和百位數字之和
分析:
該問題的核心是如何分解出各個位置的數
百位:整除100即可 表達式為:n/100
個位:模取10即可 表達式為:n%10
十位:將三位數去頭(百位)或掐尾(個位),再整除或模取10即可 表達式為:n%100/10或n/10%10
應用:
#include <stdio.h> int main() {int number = 153, b0 , b1 , b2 , sum ;b2 = number / 100; b0 = number % 10 ; b1 = number %100 /10; sum = b2 + b1 + b0 ;printf("b2=%d,b1=%d,b0=%d, sum=%d\n",b2,b1,b0,sum);return 0; }復合賦值運算符和復合賦值表達式
自增自減運算符
作用:使變量值加1或減1
種類:
- 前置 ++i, --i
(先執行i=i+1或i=i-1,再使用i值) - 后置 i++,i--
(先使用i值,再執行i=i+1或i=i-1)
說明:
++ -- 不能用于常量和表達式,如5++,(a+b)++
++ --結合方向: 自右向左
優先級: ++ --,* / % ,+ -
示例代碼:
#include <stdio.h> int main() { int m1,m2,m3,m4; int n=3; printf( ”m1=%d , n=%d\n”, m1=n++ , n ); n=3; printf( ”m2=%d , n=%d\n”, m2=n-- , n ); n=3; printf( ”m3=%d , n=%d\n”, m3=++n , n ); n=3; printf( ”m4=%d , n=%d\n”, m4=--n , n ); return 0 ; }符號常量
這里我們使用示例進行引入概念:
分析:半徑需要使用變量 r 存儲,因此要定義該變量
實際代碼為:
#include <stdio.h> int main() { double r = 5.3 ; printf ( ” Circumference = %f \n”, 2 * 3.1415926 * r ) ; printf ( ” Circular area = %f \n”, 3.1415926 * r * r ) ; return 0 ; }分析:半徑需要使用變量存儲,定義變量 r 存儲
實際代碼為:
#include <stdio.h> int main() { double r ; scanf ( ” %lf ” , &r ) ; printf ( ” Circumference = %f \n”, 2 * 3.1415926 * r ) ; printf ( ” Circular area = %f \n”, 3.1415926 * r * r ) ; return 0 ; }比較前兩個例題,分析程序后我們發現,程序中出現的常量3.141592,會造成下列麻煩和問題:
- 很難保證不發生書寫錯誤
- 常量需要改變時,如改為3.14,需要修改程序中所有的常量
- 過多使用字面常量,程序可讀性變差
于是我們引入符號常量的概念。
宏常量與宏替換
宏定義:
#define 標識符 字符串說明:
標識符,也稱宏名、宏常量、符號常量
標識符與字符串之間必須有一個空格
標識符習慣上全部使用大寫的單詞命名
宏定義是編譯預處理命令,不是C語句
宏替換:在編譯階段,將字符串替換標識符的過程。宏替換僅是字符串的簡單替換,不進行數據類型的檢查。
那我們再將方才的例題進行修改:
用宏常量實現計算圓周長和圓面積
下面是修改后的代碼:
可以看到,我們用PI代替了3.141593,省略了輸入數字的時間,并且即是后期需要修改數值,也不需要再一個個的進行修改。
逗號表達式
由逗號運算符“,”將多個表達式連接起來:
表達式1,表達式2,……表達式n;逗號表達式的語法規則:
- 先計算表達式1,再計算表達式2,……再計算表達式n;
- 最后整個逗號表達式的結果取表達式n的值。
了解逗號表達式的語法規則。
#include <stdio.h> main() {int a,b;a=3*5,a*4;b=(3*5,a*4);printf("a=%d\nb=%d\n",a,b); }算術運算符優先于賦值運算符
賦值運算優先于逗號運算符
標準輸入輸出函數
字符輸入輸出
字符常量
字符常量是用單引號“’”括起來的單個字符,例如轉義字符也是字符常量,是以反斜杠()開頭的字符序列
單個字符輸入輸出函數
- getchar(): 從系統隱含指定的輸入設備輸入一個字符,按回車鍵表示輸入結束
(注意:不含參數) - putchar(x): 將一個字符輸出到屏幕的當前光標位置
(注意:需要參數)
說明
字符數據在內存中是以其對應的ASCII碼的二進制形式存儲,與整型數據類似,只是所占內存空間不同。因此字符數據即可按字符型數據輸出,也可按整型格式輸出
示例:
編程從鍵盤輸入一個大寫字母,轉換為小寫字母輸出
運行代碼為:
數據的格式化屏幕輸出
使用格式:
printf ( 格式控制字符串,輸出值參數表 ) ;細解:
printf()函數格式說明符(部分)用法表:
printf()函數格式修飾符用法表:
數據的格式化輸入
使用格式:
scanf ( 格式控制字符串,參數地址表) ;細解:
scanf()函數格式說明符(部分)用法表:
scanf()函數格式修飾符用法表:
數值型數據輸入結束說明:
- 除空格、回車、制表符之外的其他字符
- 如果是整型,小數點也是非法字符
由于C語言僅是過去的筆記,量很大,不做過度細節敘述。
轉載煩請注明出處。如果您覺得對您有所幫助,麻煩點贊支持。
總結
以上是生活随笔為你收集整理的C语言:运算符-符号常量-输入输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 父子或兄弟div元素边距重叠
- 下一篇: python 分词包_python调用h