1、getchar();控制臺(tái)暫停,不直接退出
2、一個(gè)簡(jiǎn)單實(shí)例
#include <studio.h> /頭文件,這個(gè)是注釋 #include是預(yù)處理指令/
int main(void) /主函數(shù)/
{
int num;
num = 1;
printf("I am a simple ");
printf("computer.\n"); //這個(gè)也是注釋 \n表示換行
printf("my favorite number is %d because it is first.\n", num) /* %d是占位符,以十進(jìn)制輸出整形變量 %o 八進(jìn)制 %x 十六進(jìn)制*/
return 0; //有返回值的函數(shù),必須有return
}
3、標(biāo)識(shí)符最多63字符
區(qū)分大小寫
int feet, fathoms; //多個(gè)變量用,分割
int feet = 2, arm = 2;
4、多個(gè)函數(shù)
#include <stdio.h>
void butler(void); //在main函數(shù)之后創(chuàng)建的函數(shù)都必須在main函數(shù)之前進(jìn)行聲明,否則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ù),第一個(gè)參數(shù)為格式符,第二個(gè)參數(shù)是指針,存儲(chǔ)輸入的值
value = 770 * weight * 1405833;
printf("Your weight in rhodium is worth $%.2f.\n", value); //%.2f占位符,對(duì)浮點(diǎn)數(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 變量名 //返回?cái)?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不會(huì)比int長(zhǎng),并且long不會(huì)比int短
整數(shù)溢出會(huì)變成另一端的值
后綴加L,強(qiáng)制聲明為long型
(2)char
實(shí)際存儲(chǔ)為整數(shù),即ASCII碼
轉(zhuǎn)義字符:
\a 警報(bào) \b 退格
\f 走紙 \n 換行
\r 回車 \t 水平制表符
\v 垂直制表符 \\ 反斜杠
\' 單引號(hào) \" 雙引號(hào)
\? 問號(hào)? \0oo 八進(jìn)制
\xhh 十六進(jìn)制
(3)_Bool
邏輯值true(1), false(0)
(4)float
至少精確表示33.333333
(5)double
long double
浮點(diǎn)常量:
-1.56E+12
2.87e-6 //科學(xué)計(jì)數(shù)法
3.14159
.2 //可省略0
4e16 //可省略+號(hào)
100.
使用f或F后綴把浮點(diǎn)常量強(qiáng)制聲明為float類型
7、刷新輸出
printf()語(yǔ)句將輸出傳遞給緩沖區(qū),緩沖區(qū)遇到一下的情況時(shí)輸出給屏幕:
(1)緩沖區(qū)滿時(shí)
(2)遇到換行符時(shí)
(3)需要輸入的時(shí)候
8、字符串
用數(shù)組存儲(chǔ),最后一個(gè)位置存儲(chǔ)的是\0,即空字符,c用來標(biāo)記字符串的結(jié)束,所以,數(shù)組的單元數(shù)必須至少比要存儲(chǔ)的字符數(shù)多1
scanf("%s", name); //不需要&
scanf()開始讀取輸入后,遇到第一個(gè)空格、制表符、換行符處停止讀取
strlen();//獲取字符串長(zhǎng)度 需要#include <string.h>
9、常量
#define 常量名 常量值 //沒有分號(hào)
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 十六進(jìn)制格式打印長(zhǎng)整數(shù)
%lo 八進(jìn)制格式打印長(zhǎng)整數(shù)
%hd 十進(jìn)制格式輸出short類型
%ho 八進(jìn)制輸出short類型
h和l前綴都可以和u結(jié)合表示無符號(hào)類型
%c 打印字符
%f 十進(jìn)制打印float和double
%e 以科學(xué)計(jì)數(shù)法打印
%Lf 十進(jìn)制打印long double
%Le 以科學(xué)計(jì)數(shù)法打印long double
%s 字符串(以數(shù)組存儲(chǔ))
%a 浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和p-記數(shù)法(C99)
%A 浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和P-記數(shù)法(C99)
%E 浮點(diǎn)數(shù),E-記數(shù)法
%g 根據(jù)數(shù)值不同自動(dòng)選擇%f或%e,%e格式在指數(shù)小于-4或者大于等于精度時(shí)使用
%G 根據(jù)數(shù)值不同自動(dòng)選擇%f或%E,%E格式在指數(shù)小于-4或者大于等于精度時(shí)使用
%i 有符號(hào)十進(jìn)制整數(shù)
%p 指針
%% 打印一個(gè)符號(hào)
//使用%d顯示float值不會(huì)把該float值轉(zhuǎn)換為近似的int值,而是顯示垃圾值
轉(zhuǎn)換說明符修飾符:
標(biāo)志:-,+,空格,#,0,可使用零個(gè)或多個(gè)標(biāo)志
digit(s):字符寬度的最小值
.digit(s):精度,對(duì)于%s轉(zhuǎn)換,是將要打印的字符的最大數(shù)目
h:與整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)short int 或 unsigned short int 類型數(shù)值
hh:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)signed char 或unsined char類型數(shù)值
j:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)intmax_t或uintmax_t值
l:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)long int 或 unsigned long int 類型值
ll:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)long long int 或 unsigned long long int 類型值
L:和浮點(diǎn)轉(zhuǎn)換說明符一起使用,表示一個(gè)long double值
t:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)ptrdiff_t值(與兩個(gè)指針之間的差相對(duì)應(yīng)的類型)
z:和整數(shù)轉(zhuǎn)換說明符一起使用,表示一個(gè)size_t值(sizeof 返回的類型)
printf的標(biāo)志:
-:左對(duì)齊
+:顯示符號(hào)(+、-)
空格:值為正,顯示時(shí)帶前導(dǎo)空格(不顯示符號(hào));值為負(fù),則帶減號(hào)符號(hào)
#:若為%o格式,則以0開始,若為%x和%X格式,則以0x或0X開始。對(duì)于所有的浮點(diǎn)形式,#暴增了即使不跟任何數(shù)字,也打印一個(gè)小數(shù)點(diǎn)字符。對(duì)于%g和%G格式,它防止尾隨零被刪除
0:對(duì)于所有的數(shù)字格式,用前導(dǎo)零而不是用空格填充字段寬度。如果出現(xiàn)-標(biāo)志或指定了精度(對(duì)于整數(shù))則忽略該標(biāo)志
printf的返回值:
返回所打印的字符的數(shù)目,如果輸出錯(cuò)誤,會(huì)返回一個(gè)負(fù)數(shù)
11、scanf()
轉(zhuǎn)換說明符:
%c:字符
%d:有符號(hào)十進(jìn)制整數(shù)
%e,%f,%g,%a:浮點(diǎn)數(shù)
%E,%F,%G,%A:浮點(diǎn)數(shù)
%i:有富豪十進(jìn)制整數(shù)
%o:有富豪八進(jìn)制整數(shù)
%p:指針
%s:字符串,以第一個(gè)非空白字符作為開始,并且包含直到下一個(gè)空白字符的全部字符
%u:無符號(hào)十進(jìn)制整數(shù)
%x,%X:有富豪十六進(jìn)制整數(shù)
轉(zhuǎn)換修飾符:
*:滯后賦值
digit(s):最大字段寬度,在達(dá)到最大字段寬度或遇到第一個(gè)空白字符時(shí),停止對(duì)輸入項(xiàng)的讀取
hh:整數(shù)讀做singed char 或 unsigned char
ll:整數(shù)獨(dú)坐long long 或者unsigned long long
h,l或L:"%hd"和"%hi"指示存儲(chǔ)在short int 中,"%ho"、"%hu"指示該值存儲(chǔ)在unsigned short int 中,"%ld"和"%li"指示存儲(chǔ)在long中,"%lo"和"%lx","%lu"指示存儲(chǔ)在unsigned long 中,"%le","%lf","%lg"指示存儲(chǔ)為double,L與e,f,g一起使用指示用long double存儲(chǔ)。d,i,o,x指示int類型,e,f,g指示float類型
返回值:
返回成功讀入的項(xiàng)目的個(gè)數(shù),如果沒有讀取任何項(xiàng)目,返回值為0
12、while()循環(huán)
基本結(jié)構(gòu):
while(boolean)
{
statement;
}
13、運(yùn)算符
賦值運(yùn)算符:=
連續(xù)賦值:變量1 = 變量2 = 變量3 = 值;
加法運(yùn)算符:+
減法運(yùn)算符:-
乘法運(yùn)算符:*
除法運(yùn)算符:/,浮點(diǎn)類型的除法運(yùn)算得到一個(gè)浮點(diǎn)數(shù)結(jié)果,整數(shù)除法運(yùn)算產(chǎn)生一個(gè)整數(shù)結(jié)果
sizeof運(yùn)算符:返回size_t類型