#include<math.h>
sqrt 二次开根号
pow(底数,几次方)
fabs()函数是一个用于求浮点数绝对值的函数。
宏常量和const常量
从键盘输入一个大写英文字母,将其转化为消息英文字母后,将转换后的小写英文字母及其十进制的ASCII码值显示到屏幕上。
#include<stdio.h>
int main(void)
{
char ch;
printf("Press a key and then press Enter:");
ch=getchar();
ch=ch+32;
printf("%c,%d",ch,ch);
return 0;
}
选择控制结构包括单分支结构,双分支结构和多分支结构。
用于双分支控制的条件语句
if(表达式P) 语句1
else 语句2
用于多分支控制的条件语句
else if形式
if(表达式1) 语句1
else if(表达式2) 语句2
:
else if(表达式m) 语句m
else语句 m+1
用于多路选择的switch语句
switch(表达式)
{
case 常量1:
可执行语句序列1
case 常量2:
可执行语句序列2
:
case 常量n:
可执行语句序列n
default:
可执行语句序列n+1
}
switch语句相当于一系列的if-else语句,被测试的表达式写在关键字switch后面的圆括号中,表达式只能是char型或int型。
常量的类型应与switch后括号内表达式的类型一致。
循环控制结构
C语言提供for、while、do-while三种循环语句。循环语句在给定条件为真的情况下,重复执行一个语句序列,这个被重复执行的语句序列称为循环体。
1.while语句
属于当型循环。
while(循环控制表达式)
{
语句序列
}
(1)计算循环控制表达式的值;
(2) 如果循环控制表达式的值为真,那么就执行循环体中的语句,并返回步骤(1);
(3)如果循环控制表达式的值为假,就退出循环,执行循环体后面的语句。
2.do-while语句
属于直到型循环。
do
{
语句序列
}while(循环控制表达式);
(1)执行循环体语句;
(2)计算循环控制表达式的值;
(3) 如果循环控制表达式的值为真,那么就执行循环体中的语句,并返回步骤(1);
(4)如果循环控制表达式的值为假,就退出循环,执行循环体后面的语句。
3.for语句
属于当型循环。
for(初始化表达式;循环控制表达式:增值表达式)
{
语句序列
}
for语句可用while语句来等价实现,与for语句等价的while语句的形式为:
初始化表达式;
while(循环控制表达式)
{
语句序列
增值表达式;
}
从键盘输入n,然后计算并输出1~n之间所有数的阶乘值。
#include<stdio.h>
int main(void)
{
int i,n;
long p=1;
printf("Please enter n:");
scanf("%d", &n);
for(i=1;i<=n;i++)
{
p=p*i;
printf("%d!=%ld\n",i,p);//输出1~n之间的所有数的阶乘值
}
return 0;
}
流程的转移控制
goto语句、break语句、continue语句和return语句是C语言中用于控制流程转移的跳转语句。
goto语句
break语句
当执行循环体遇到break语句时,循环将立即终止,从循环语句后的第一条语句开始继续执行。
continue语句
当在循环体中遇到continue语句时,程序将跳过continue语句后面尚未执行的语句,开始下一次循环,即只结束本次循环的执行,并不终止整个循环的执行。
注意,在嵌套循环的情况下,break语句和continue语句只对包含它们的最内层的循环语句起作用,不能用break语句跳出多重循环。
若要跳出多重循环,使用break语句只能一层一层地跳出。而显然goto语句是跳出多重循环的一条捷径。
如下两种进行特别适合于使用go to语句:
(1)快速跳出多重循环。
(2)跳向共同的出口位置,进行退出前的错误处理工作。