1、getchar();控制台暂停,不直接退出
2、一个简单实例
#include
int main(void) /主函数/
{
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; //有返回值的函数,必须有return
}
3、标识符最多63字符
区分大小写
int feet, fathoms; //多个变量用,分割
int feet = 2, arm = 2;
4、多个函数
#include
void butler(void); //在main函数之后创建的函数都必须在main函数之前进行声明,否则main函数无法调用
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
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); //获取输入函数,第一个参数为格式符,第二个参数是指针,存储输入的值
value = 770 * weight * 1405833;
printf("Your weight in rhodium is worth $%.2f.\n", value); //%.2f占位符,对浮点数数值保留两位小数
printf("Your are easily worth that! If rhodium prices drop.\n");
printf("eat more to maintain your value.\n");
return 0;
}
6、数据类型
sizeof 变量名 //返回数据的大小
(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短
整数溢出会变成另一端的值
后缀加L,强制声明为long型
(2)char
实际存储为整数,即ASCII码
转义字符:
\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 //科学计数法
3.14159
.2 //可省略0
4e16 //可省略+号
100.
使用f或F后缀把浮点常量强制声明为float类型
7、刷新输出
printf()语句将输出传递给缓冲区,缓冲区遇到一下的情况时输出给屏幕:
(1)缓冲区满时
(2)遇到换行符时
(3)需要输入的时候
8、字符串
用数组存储,最后一个位置存储的是\0,即空字符,c用来标记字符串的结束,所以,数组的单元数必须至少比要存储的字符数多1
scanf("%s", name); //不需要&
scanf()开始读取输入后,遇到第一个空格、制表符、换行符处停止读取
strlen();//获取字符串长度 需要#include
9、常量
#define 常量名 常量值 //没有分号
const 类型 常量名 = 常量值;
limits.h中关于类型大小的常量:
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中相关常量
FLT_MAX_DIG
FLT_DIG
FLT_MIN_10_EXP
FLT_MAX_10_EXP
FLT_MIN
FLT_MAX
FLT_EPSILON
10、printf()
转换说明符:
%u 显示unsigned Intent类型
%ld 显示long
%lx 十六进制格式打印长整数
%lo 八进制格式打印长整数
%hd 十进制格式输出short类型
%ho 八进制输出short类型
h和l前缀都可以和u结合表示无符号类型
%c 打印字符
%f 十进制打印float和double
%e 以科学计数法打印
%Lf 十进制打印long double
%Le 以科学计数法打印long double
%s 字符串(以数组存储)
%a 浮点数、十六进制数字和p-记数法(C99)
%A 浮点数、十六进制数字和P-记数法(C99)
%E 浮点数,E-记数法
%g 根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用
%G 根据数值不同自动选择%f或%E,%E格式在指数小于-4或者大于等于精度时使用
%i 有符号十进制整数
%p 指针
%% 打印一个符号
//使用%d显示float值不会把该float值转换为近似的int值,而是显示垃圾值
转换说明符修饰符:
标志:-,+,空格,#,0,可使用零个或多个标志
digit(s):字符宽度的最小值
.digit(s):精度,对于%s转换,是将要打印的字符的最大数目
h:与整数转换说明符一起使用,表示一个short int 或 unsigned short int 类型数值
hh:和整数转换说明符一起使用,表示一个signed char 或unsined char类型数值
j:和整数转换说明符一起使用,表示一个intmax_t或uintmax_t值
l:和整数转换说明符一起使用,表示一个long int 或 unsigned long int 类型值
ll:和整数转换说明符一起使用,表示一个long long int 或 unsigned long long int 类型值
L:和浮点转换说明符一起使用,表示一个long double值
t:和整数转换说明符一起使用,表示一个ptrdiff_t值(与两个指针之间的差相对应的类型)
z:和整数转换说明符一起使用,表示一个size_t值(sizeof 返回的类型)
printf的标志:
-:左对齐
+:显示符号(+、-)
空格:值为正,显示时带前导空格(不显示符号);值为负,则带减号符号
#:若为%o格式,则以0开始,若为%x和%X格式,则以0x或0X开始。对于所有的浮点形式,#暴增了即使不跟任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除
0:对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或指定了精度(对于整数)则忽略该标志
printf的返回值:
返回所打印的字符的数目,如果输出错误,会返回一个负数
11、scanf()
转换说明符:
%c:字符
%d:有符号十进制整数
%e,%f,%g,%a:浮点数
%E,%F,%G,%A:浮点数
%i:有富豪十进制整数
%o:有富豪八进制整数
%p:指针
%s:字符串,以第一个非空白字符作为开始,并且包含直到下一个空白字符的全部字符
%u:无符号十进制整数
%x,%X:有富豪十六进制整数
转换修饰符:
*:滞后赋值
digit(s):最大字段宽度,在达到最大字段宽度或遇到第一个空白字符时,停止对输入项的读取
hh:整数读做singed char 或 unsigned char
ll:整数独坐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类型
返回值:
返回成功读入的项目的个数,如果没有读取任何项目,返回值为0
12、while()循环
基本结构:
while(boolean)
{
statement;
}
13、运算符
赋值运算符:=
连续赋值:变量1 = 变量2 = 变量3 = 值;
加法运算符:+
减法运算符:-
乘法运算符:*
除法运算符:/,浮点类型的除法运算得到一个浮点数结果,整数除法运算产生一个整数结果
sizeof运算符:返回size_t类型