注意:“6.2f”是六个字符(包括后面的空格和小数点)和两位小数。
第三章
标识符
标识符只能由字母、数字和下划线3种字符组成,且第1个字符必须为字母或下划线
c语言中的关键字
Auto break case char
const continue default do
double else enum extern
float for goto if
int long register return
short signed sizeof static
struct switch typedef union
unsigned void volatile while
对无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。如:
unsigned short price=50; //定义price为无符号短整型变量
printf("%u\n",price); //指定用无符号十进制数的格式输出
ASCII字符集包括:(字符型数据)
字母: 大写英文字母A~Z,小写英文字母a~z
数字: 0~9
专门符号: 29个,包括
! " # & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ ` { | } ~
空格符: 空格、水平制表符(tab)、垂直制表符、换行、换页(form feed)
不能显示的字符: 空(null)字符(以'\0'表示)、警告(以'\a'表示)、退格(以'\b'表示)、回车(以'\r'表示)等
字符变量
字符变量是用类型符char定义字符变量
char c='?'; //定义c为字符型变量并使初值为字符′?′。′?′的ASCII代码是63,系统把整数63赋给变量c
printf("%d %c\n",c,c); //用“%d”格式输出十进制整数63,用“%c”格式输出字符′?′
自增(++)自减(--)运算符
++i,--i 在使用i之前,先使i的值加/减1
i++,i-- 在使用i之后,使i的值加/减1
++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。
运算符 含义 举例 结果
+ 正号运算符(单目运算符) +a a的值
- 负号运算符(单目运算符) -a a的算术负值
* 乘法运算符 a*b a和b的乘积
/ 除法运算符 a/b a除以b的商
% 求余运算符 a%b a除以b的余数
+ 加法运算符 a+b a和b的和
- 减法运算符 a-b a和b的差
强制类型转换运算符(类型名)(表达式)
(double)a 将a转换成double型
(int)(x+y) 将x+y的值转换成int型
(float)(5%3) 将5%3的值转换成float型
(int)x+y 只将x转换成整型,然后与y相加
各种函数的作用
sqrt函数是求平方根的函数。由于要调用数学函数库中的函数,必须在程序的开头加一条#include指令,把头文件“math.h”包含到程序中来
格式字符 说明
d,i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数(不输出前导符0)
x,X 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出
u 以无符号十进制形式输出整数
c 以字符形式输出,只输出一个字符
s 输出字符串
f 以小数形式输出单、双精度数,隐含输出6位小数
e,E 以指数形式输出实数,用e时指数以“e”表示(如1.2e+02),用E时指数以“E”表示(如1.2E+02)
g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示
附加字符 说明
l 长整型整数,可加在格式符d、o、x、u前面)
m(代表一个正整数) 数据最小宽度
n(代表一个正整数) 对实数,表示输出n位小数;对字符串,表示截取的字符个数
- 输出的数字或字符在域内向左靠
第四章
运算符 含义 举例 说明
! 逻辑非(NOT) !a 如果a为假,则!a为真;如果a为真,则!a为假
&& 逻辑与(AND) a&&b 如果a和b都为真,则结果为真,否则为假
|| 逻辑或(OR) a||b 如果a和b有一个以上为真,则结果为真,二者都为假时,结果为假
“&&”和“‖”是双目运算符,要求有两个运算对象(操作数); “!”是单目运算符,只要有一个运算对象
优先次序:!(非)→&&(与)→‖(或), 即“!”为三者中最高的; 逻辑运算符中的“&&”和“‖”低于关系运算符,“!”高于算术运算符
逻辑运算结果不是0就是1,不可能是其他数值。而在逻辑表达式中作为参加逻辑运算的运算对象可以是0(“假”)或任何非0的数值(按“真”对待)