顺序结构
赋值表达式
可以使用等号进行赋值;也可以使用连续等号的方法给多个变量赋同一个值;另外,等号的右边也可以是一个表达式;赋值运算符可以通过将其他运算符放在前面来实现赋值操作的简化,例如,n += 2即n = n + 2;n /= m + 1等价于n = n / (m + 1),所以,尽量写成n /= (m + 1)
使用scanf和printf输入/输出
C语言的stdio.h库函数中提供了scanf函数和printf函数
scanf函数的使用
scanf("格式控制", 变量地址)即scanf("%d", &n),其中&为取地址运算符,对数组而言,不需要取地址运算符,因为数组名称本身就代表了第一个元素的地址。在scanf中,除了char数组整个输入的情况下不加&之外,其他变量类型都需要加&。scanf的双引号内的内容其实就是整个输入,把数据换成它们对应的格式符并把变量的地址按次序写在后面而已
常见数据类型的scanf格式符:int——%d;long long——%lld;float——%f;double——%lf;char——%c;字符串(char数组)——%s。
scanf与空格的关系:除了%c之外,scanf对其他格式符的输入是以空白符(即空格、换行等)为结束判断标志的,除非使用%c把空格按字符读入,其他情况都会跳过空格,另外,字符数组使用%s读入的时候以空格跟换行为读入结束的标志。scanf的%c格式是可以读入空格和换行的。程序示例如下:
printf函数的使用
printf("格式控制", 变量名称)即scanf("%d", name)
常见数据类型的printf格式符:int——%d;long long——%lld;float——%f;double——%f(碰到浮点型的数据都应该用double来存储);char——%c;字符串(C语言中没有单独一种基本数据类型可以存储,只能使用字符数组形式,C++中有string类型)——%s
三种实用的输出格式:%md可以使不足m位的int型变量进行右对齐输出,用空位补齐;%-md可以使不足m位的int型变量进行左对齐,用空位补齐;%0md可以使不足m位的int型变量右对齐,用0补齐;%.mf可以让浮点数保留m位小数输出
使用getchar和putchar输入/输出字符
getchar用来输入单个字符,可以识别换行符。putchar用来输出单个字符
注释
使用/**/或//进行注释
typedef
给复杂的数据类型起一个别名,格式:typedef 复杂数据类型名 别名,例如,typedef long long LL;用LL来代替long long
常用math函数
若需使用提供的math函数,程序开头需要加上math.h头文件
常用的数学函数:
fabs(double x)用于对double型变量取绝对值;
floor(double x)用于对double型变量向下取整(即取小);ceil(double x)用于对double型变量向上取整(即取大);
pow(double r, double p)用于返回;
sqrt(double x)用于返回double型变量的算术平方根;
log(double x)用于返回double型变量的以自然对数为底的对数,C语言中没有对任意底数求对数的函数,需要利用自然对数为底的对数和换底公式;
sin(double x)、cos(double x)、tan(double x)用于返回double型变量的正弦值、余弦值和正切值,参数要求是弧度制,即需要pi * 度数 / 180;
asin(double x)acos(double x)、atan(double x)用于返回double型变量的反正弦值、反余弦值和反正切值;
round(double x)用于将double型变量x四舍五入,返回类型也是double型,需进行取整
abs()主要用于对求整数的绝对值,在stdlib.h头文件里面