1烟零、getchar();控制臺暫停,不直接退出
2积担、一個簡單實例
#include <studio.h> /頭文件埠居,這個是注釋 #include是預(yù)處理指令/
int main(void) /主函數(shù)/
{
int num;
num = 1;
printf("I am a simple ");
printf("computer.\n"); //這個也是注釋 \n表示換行
printf("my favorite number is %d because it is first.\n", num) /* %d是占位符霉颠,以十進制輸出整形變量 %o 八進制 %x 十六進制*/
return 0; //有返回值的函數(shù)对碌,必須有return
}
3、標(biāo)識符最多63字符
區(qū)分大小寫
int feet, fathoms; //多個變量用,分割
int feet = 2, arm = 2;
4蒿偎、多個函數(shù)
#include <stdio.h>
void butler(void); //在main函數(shù)之后創(chuàng)建的函數(shù)都必須在main函數(shù)之前進行聲明朽们,否則main函數(shù)無法調(diào)用
int main(void)
{
printf("I Will summon the butler function.\n");
butler();
printf("Yes, Bring me some tea and writeable CD_Roms.\n");
return 0;
}
void butler(void)
{
printf("You rang,sir?\n")
}
5、獲取輸入
#include <stdio.h>
int main(void)
{
float weight;
float value;
printf("Are you worth your weight in rhodium?\n");
printf("Let's check it out.\n");
printf("Please enter your weight in pounds:");
scanf("%f", &weight); //獲取輸入函數(shù)诉位,第一個參數(shù)為格式符骑脱,第二個參數(shù)是指針,存儲輸入的值
value = 770 * weight * 1405833;
printf("Your weight in rhodium is worth $%.2f.\n", value); //%.2f占位符苍糠,對浮點數(shù)數(shù)值保留兩位小數(shù)
printf("Your are easily worth that! If rhodium prices drop.\n");
printf("eat more to maintain your value.\n");
return 0;
}
6叁丧、數(shù)據(jù)類型
sizeof 變量名 //返回數(shù)據(jù)的大小
(1)int -32768~32767
short int(或short), long int (或long), long long int (或long long), unsigned int(或unsigned 0-65535)
unsigned long int (unsigned long), unsigned short int(unsigned short)
unsigned long long int(unsigned long long)
c僅保證short不會比int長,并且long不會比int短
整數(shù)溢出會變成另一端的值
后綴加L岳瞭,強制聲明為long型
(2)char
實際存儲為整數(shù)拥娄,即ASCII碼
轉(zhuǎn)義字符:
\a 警報 \b 退格
\f 走紙 \n 換行
\r 回車 \t 水平制表符
\v 垂直制表符 \\ 反斜杠
\' 單引號 \" 雙引號
\? 問號? \0oo 八進制
\xhh 十六進制
(3)_Bool
邏輯值true(1), false(0)
(4)float
至少精確表示33.333333
(5)double
long double
浮點常量:
-1.56E+12
2.87e-6 //科學(xué)計數(shù)法
3.14159
.2 //可省略0
4e16 //可省略+號
100.
使用f或F后綴把浮點常量強制聲明為float類型
7瞳筏、刷新輸出
printf()語句將輸出傳遞給緩沖區(qū)稚瘾,緩沖區(qū)遇到一下的情況時輸出給屏幕:
(1)緩沖區(qū)滿時
(2)遇到換行符時
(3)需要輸入的時候
8、字符串
用數(shù)組存儲姚炕,最后一個位置存儲的是\0,即空字符摊欠,c用來標(biāo)記字符串的結(jié)束,所以钻心,數(shù)組的單元數(shù)必須至少比要存儲的字符數(shù)多1
scanf("%s", name); //不需要&
scanf()開始讀取輸入后凄硼,遇到第一個空格铅协、制表符捷沸、換行符處停止讀取
strlen();//獲取字符串長度 需要#include <string.h>
9、常量
#define 常量名 常量值 //沒有分號
const 類型 常量名 = 常量值;
limits.h中關(guān)于類型大小的常量:
CHART_BIT, CHAR_MAX, CHAR_MIN, SCHAR_MAX, SCHAR_MIN, UCHAR_MAX, SHRT_MAX, SHRT_MAIN,USHRT_MAX
INT_MAX, INT_MIN, UINT_MAX, LONG_MAX, LONG_MIN, ULONG_MAX, LLONG_MAX, LLONG_MIN, ULLONG_MAX
float.h中相關(guān)常量
FLT_MAX_DIG
FLT_DIG
FLT_MIN_10_EXP
FLT_MAX_10_EXP
FLT_MIN
FLT_MAX
FLT_EPSILON
10狐史、printf()
轉(zhuǎn)換說明符:
%u 顯示unsigned Intent類型
%ld 顯示long
%lx 十六進制格式打印長整數(shù)
%lo 八進制格式打印長整數(shù)
%hd 十進制格式輸出short類型
%ho 八進制輸出short類型
h和l前綴都可以和u結(jié)合表示無符號類型
%c 打印字符
%f 十進制打印float和double
%e 以科學(xué)計數(shù)法打印
%Lf 十進制打印long double
%Le 以科學(xué)計數(shù)法打印long double
%s 字符串(以數(shù)組存儲)
%a 浮點數(shù)痒给、十六進制數(shù)字和p-記數(shù)法(C99)
%A 浮點數(shù)说墨、十六進制數(shù)字和P-記數(shù)法(C99)
%E 浮點數(shù),E-記數(shù)法
%g 根據(jù)數(shù)值不同自動選擇%f或%e苍柏,%e格式在指數(shù)小于-4或者大于等于精度時使用
%G 根據(jù)數(shù)值不同自動選擇%f或%E尼斧,%E格式在指數(shù)小于-4或者大于等于精度時使用
%i 有符號十進制整數(shù)
%p 指針
%% 打印一個符號
//使用%d顯示float值不會把該float值轉(zhuǎn)換為近似的int值,而是顯示垃圾值
轉(zhuǎn)換說明符修飾符:
標(biāo)志:-,+,空格,#,0,可使用零個或多個標(biāo)志
digit(s):字符寬度的最小值
.digit(s):精度试吁,對于%s轉(zhuǎn)換棺棵,是將要打印的字符的最大數(shù)目
h:與整數(shù)轉(zhuǎn)換說明符一起使用,表示一個short int 或 unsigned short int 類型數(shù)值
hh:和整數(shù)轉(zhuǎn)換說明符一起使用熄捍,表示一個signed char 或unsined char類型數(shù)值
j:和整數(shù)轉(zhuǎn)換說明符一起使用烛恤,表示一個intmax_t或uintmax_t值
l:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個long int 或 unsigned long int 類型值
ll:和整數(shù)轉(zhuǎn)換說明符一起使用余耽,表示一個long long int 或 unsigned long long int 類型值
L:和浮點轉(zhuǎn)換說明符一起使用缚柏,表示一個long double值
t:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個ptrdiff_t值(與兩個指針之間的差相對應(yīng)的類型)
z:和整數(shù)轉(zhuǎn)換說明符一起使用碟贾,表示一個size_t值(sizeof 返回的類型)
printf的標(biāo)志:
-:左對齊
+:顯示符號(+币喧、-)
空格:值為正,顯示時帶前導(dǎo)空格(不顯示符號)袱耽;值為負杀餐,則帶減號符號
#:若為%o格式,則以0開始朱巨,若為%x和%X格式怜浅,則以0x或0X開始。對于所有的浮點形式蔬崩,#暴增了即使不跟任何數(shù)字恶座,也打印一個小數(shù)點字符。對于%g和%G格式沥阳,它防止尾隨零被刪除
0:對于所有的數(shù)字格式跨琳,用前導(dǎo)零而不是用空格填充字段寬度。如果出現(xiàn)-標(biāo)志或指定了精度(對于整數(shù))則忽略該標(biāo)志
printf的返回值:
返回所打印的字符的數(shù)目桐罕,如果輸出錯誤脉让,會返回一個負數(shù)
11、scanf()
轉(zhuǎn)換說明符:
%c:字符
%d:有符號十進制整數(shù)
%e,%f,%g,%a:浮點數(shù)
%E,%F,%G,%A:浮點數(shù)
%i:有富豪十進制整數(shù)
%o:有富豪八進制整數(shù)
%p:指針
%s:字符串功炮,以第一個非空白字符作為開始溅潜,并且包含直到下一個空白字符的全部字符
%u:無符號十進制整數(shù)
%x,%X:有富豪十六進制整數(shù)
轉(zhuǎn)換修飾符:
*:滯后賦值
digit(s):最大字段寬度,在達到最大字段寬度或遇到第一個空白字符時薪伏,停止對輸入項的讀取
hh:整數(shù)讀做singed char 或 unsigned char
ll:整數(shù)獨坐long long 或者unsigned long long
h,l或L:"%hd"和"%hi"指示存儲在short int 中滚澜,"%ho"、"%hu"指示該值存儲在unsigned short int 中嫁怀,"%ld"和"%li"指示存儲在long中设捐,"%lo"和"%lx","%lu"指示存儲在unsigned long 中借浊,"%le","%lf","%lg"指示存儲為double,L與e,f,g一起使用指示用long double存儲萝招。d,i,o,x指示int類型蚂斤,e,f,g指示float類型
返回值:
返回成功讀入的項目的個數(shù),如果沒有讀取任何項目槐沼,返回值為0
12曙蒸、while()循環(huán)
基本結(jié)構(gòu):
while(boolean)
{
statement;
}
13、運算符
賦值運算符:=
連續(xù)賦值:變量1 = 變量2 = 變量3 = 值岗钩;
加法運算符:+
減法運算符:-
乘法運算符:*
除法運算符:/逸爵,浮點類型的除法運算得到一個浮點數(shù)結(jié)果,整數(shù)除法運算產(chǎn)生一個整數(shù)結(jié)果
sizeof運算符:返回size_t類型