c库:
标准C库里提供了很多的函数,只要在程序里包含了C库中对应的头文件(函数声明),就可以使用这些库函数了。
#include <stdio.h>
printf -- 标准格式化输出函数
scanf -- 标准格式化输入函数
数值数据的表示:
凡是按进位的方式计数的数制叫做进位计数制,简称进位制。
十进制、二进制、十六进制、八进制
基数与各数位的权。
基数是指该进位制中允许选用的基本数码的个数。如最常用的十进制数,基数为10, 可选用0、1、2……9共10个不同数码中的任何一个。
而位权的大小是以基数为底,数字所在位置的序号为指数的整数次幂。
基数为2的进位制叫二进制
二进制只有0、1两种数码,计数逢2进位
1010 = 1X23 + 0X22 + 1X21 + 0X20
= 1X8 + 0X4 + 1X2 + 0X1
= 10
基数为16的进位制叫十六进制
十六进制有0、1、2…9、a、b、c、d、e、f 共16种数码,计数逢16进位
0x1010 = 1X163 + 0X162 + 1X161 + 0X160
= 1X4096 + 0X256 + 1X16 + 0X1
= 5012
非数值数据表示:
计算机中数据的概念是广义的,机内除有前面提到的数值数据之外,还有文字、符号、图像、语言和逻辑信息等等,因为它们也都是以0、1形式存在,所以成为非数值数据
字符数据主要指数字、字母、通用符号、控制符号等等,在机器内都被变换成计算机能够识别的二进制编码形式。国际上被普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII
ASCII:
第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。
第二部分是由 20H 到 7FH 共 96 个,这 96 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。
第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。
词法符号:
任何高级语言都有自定义的词法符号和支持的数据类型。
词法符号是语言的基本组成单位,数据类型是数据的基本属性。
词法符号是程序设计语言中有若干字符组成的有意义的最小语法单位。
按照词法符号在程序中的作用,可以分为:
关键字、 标识符、分隔符、运算符和标点符号
关键字
关键字是由系统预定义的词法符号,有特定的含义,不允许用户重新定义。下面是一些基本关键字:
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 unsighed void
volatile while
所有关键字均为小写
volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。
标识符
标识符是由程序员按照命名规则自行定义的词法符号,用于定义宏名、变量名、函数名和自定义类型名等。C语言的命名规则如下:
1) 标识符由一个或多个字母、数字或下划线组成
2)标识符的第一个字符必须是字母或下划线
3)标识符不能与任何关键字相同
大小写敏感
命名有一定含义,便于记忆,增加可读性
运算符
运算符是表示运算的词法符号,C语言有非常丰富的运算符,按功能可以分为:
算术运算符、 逻辑运算符、关系运算符、位运算符、赋值运算符、 递增递减运算符、地址运算符、逗号运算符、sizeof运算符
算术运算符:+,-,*,/,%,++,--;
位操作运算符:&,|,~,^,<<,>>
逻辑运算符:!,&&,||;
比较运算符:<,>,>=,<=,==,!=;
赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;
其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。
分隔符
分隔符是用来分隔其他的词法符号,主要包括:
空格符、制表符、换行符号、注释
通过对分隔符的恰当运用,使得代码的外观格式更为清晰易读,还可以帮助分析程序中的语法错误
标点符号
C语言中的标点符号有逗号、分号、冒号、花括号、圆括
号。标点符号的作用与分隔符相似,但用法非常严格,有
着明确的语法规定。有些标点符号出现在表达式中时,当
作运算符使用
逗号:
在定义变量语句中,用于分隔变量名
在函数的参数表中,用于分隔函数参数
分号:
用于表达式语句的结束
在for循环语句中,分隔括号内的三个表达式之间
单独出现,构成一条空语句
冒号:
用于语句标号的结束
用于switch。。。Case语句中case快中
花括号:
用做枚举类型定义的开始和结束
用做数组初始值定义的开始和结束
用做函数体的开始和结束
用做语句块的开始和结束
用做结构类型定义块的开始和结束
圆括号:
用在函数头定义中,作为参数表的开始和结束
用在流程控制语句中,作为条件表达式的开始和结束
用在函数调用中,作为参数表的开始和结束