第二章——用C语言编写程序
1.printf()函数——系统提供的库函数
printf("fahr=%d,celsius=%f\n",fahr,celsius);
*输入法错误
*忘记加分号;
2.数据类型
(整型)int - %d (字符型)char - %c (单精度浮点型)float - %f (双精度浮点型)double - %lf
*一一对应,否则计算错误
*保留小数,%.2f即保留两位小数
*输出宽度,%4f即数据的输出宽度为4
*赋值运算(变量=表达式)
3.运算符的优先级及结合方式
优先级 | 运算符 | 名称 | 特征 | 结合方向 |
1 | () 【】 -> . | 圆括号 下标 指针引用结构体成员 取结构体变量成员 | 初等运算符 | 从左到右 |
2 | ! ~ + - * & ++ -- sizeof | 逻辑非 按位取反 正号 负号 类型强制转换 取指针内容 取地址 自增 自减 长度运算符 | 单目运算符 (只有一个操作数) | 从右到左 |
3 | * / % | 相乘 相除 取两整数相除的余数 | 算术运算 | 从左到右 |
4 | + - | 相加 相减 | ||
5 | << >> | 左移 右移 | 位移运算 | |
6 | > < >= <= | 大于 小于 大于或等于 小于或等于 | 关系运算 | 从左到右 |
7 | == != | 等于 不等于 | 从左到右 | |
8 | & | 按位“与” | 位逻辑运算 | |
9 | ^ | 按位“异或” | ||
10 | | | 按位“或” | ||
11 | && | 逻辑“与” | 逻辑运算 | |
12 | || | 逻辑“或” | ||
13 | ?: | 条件运算 | 三目运算 | 从右到左 |
14 | = += -= *= /= %= &= ^= |= >>= <<= | 赋值运算 | 从右到左 | |
15 | , | 逗号运算 | 从左到右 |
4.scanf()函数——系统提供的用于输入的库函数
scanf("%d%d",&x,&y);
*有空格在输入时也要带空格
*少写取地址运算符&
5.if-else ——常用于计算二分段函数
if(x!=0)
{y=1/x;}
else
{y=0;}
*括号要首尾对应
6.常用数学函数
函数 | 计算 | 例子 |
平方根函数sqrt(x) | √x | sqrt(4.0)=2.0 |
绝对值函数fabs(x) | |x| | fabs(-3.56)=3.56 |
幂函数pow(x,n) | pow(4,2)=16 | |
指数函数exp(x) | exp(2.3)=9.974182 | |
以e为底的对数函数log(x) | In x | log(123.45)=4.815836 |
*调用以上函数,在#include <stdio.h>下面加#include <math.h>
7.for语句
for(a=lower;a<=upper;a++)
{b=(5.0/9.0)*(a-32);
printf("%d%6.1f\n",a,b);
}
------------------------------------------------------------------------------------------
int denominator,flag,i,n;
double item,sum;
flag = 1; denominator = 1; item = 1; sum = 0;
for(i=1;i<=n;i++)
{ sum=sum+item;
flag=-flag;
denominator=denominator+2;
item=flag*1.0/deniminator;
}
*在for( ; ;)加;错误
若加;,则for语句的循环体变成空语句。
*循环体有多条语句,必须加大括号{ }
*步长
fahr++ | 步长为1 |
fahr=fahr+n | 步长为n |
* 注意首取值,取1还是0
8.自定义函数
#include <stdio.h>
double fact(int n); /*自定义函数以分号结束*/
int main()
{ int i,n;
dounle result;
................................;
result=fact(i);
.................................;
return 0;
}
double fact(int n)
{ int i;
double product;
......................;
return product;
}