You are on page 1of 14

C 程序设计

常量与变量
• 常量:在程序执行过程中其值不变或不允
许改变的量
• 文字常量:直接书写的常数或字符串、字

• 宏定义常量:使用 #define 宏命令定义的
常量
• 符号常量:使用 const 修饰的量
• 变量:在程序的执行过程中其值允许改变
的量
常用数据类型
• 整数: int
• 双精确度实数: double
• 单数度实数: float
• 字符: char
• 短整数: short
• 长整数: long
• 无符号数: unsigned
算术运算与赋值
• 算术运算: +( 加 ) 、 -( 减 ) 、 *( 乘 ) 、 /
( 除 ) 、 %( 取模 )
• 赋值运算: =
常用格式符号
• %d :输出整数
• %f :输出小数形式的单精度实数
• %lf :输出小数形式的双精度实数
• %e :输出指数形式的单精度实数
• %le :输出指数形式的双精度实数
• %g :输出指数或小数形式的单精度实数
• %lg :输出指数或形式的双精度实数
• %c :输出一个字符
• %s :输出一个字符串
常用转义符号
• \n :回车符
• \t :制表符,即 tab 键对应的符号
• \r :换行符
• \’ :单引号’
• \” :双引号”
• \\ :反斜杠 \
• \ddd : ddd 是八进制整数表示一个符号的 ASCII 码
• \xdd : dd 是十六进制表示的一个符号的 ASCII 码
一、计算分段函数
已知一个分段函数如下:

 4x
x  15
y  f ( x)   3

2.5 x  10.5 x  15
二、求一元二次方程的根
• 已知一元二次方程表示如下:
– ax2+bx+c=0
• 输入方程的系数 a 、 b 和 c ,如果有二不
同实根,则显示其两个不同实根的值;如
果是重根,则显示重要的值及重根信息;
否则显示无实根信息。
一元二次方程求解
• 首先计算差别式,差别式计算公式如下:
– delt=b2-4ac
• 根据差别式的值判断根的情况,结果如下

– delt>0 ,两个不同的实根, x1,2=(-b±√delt)/2a
– delt=0 ,为生根,根为 -b/2a
– delt<0 ,无实根
一元二次方程求解之流程图表示
开始

输入 a,b,c

计算 delt : delt=b2-4ac

T F
Delt>=0?
T F
计算两个实根 x1,x2 Delt==0?

计算重根 x1
输出 x1 、 x2 的值 输出无实根信息
输出重根信息及 x1
三、常用数学函数
• 使用数学函数,于源程序开始处添加如下语句
– #include <math.h>
• 常用数学函数:
– sqrt(x) :计算双精度实数 x 的平方根,双精度
– fabs(x) :绝对值。 x 、结果是双精度
– pow(x,y) :指数函数, xy , x 、 y 双精度
– exp(x) : ex , x 双精度
– log(x) :对数函数 logex
– sin(x), cos(x), tan(x), atan(x) :三角函数
四、输出 1 到 100 的平方根表
• 计算 1 的平方根,并输出
• 计算 2 的平方根,并输出
• ……
• 计算 100 的平方根,并输出
算法改进
• 问题求解的描述:
– 对介于 1 与 100 之间的每个整数 n ,计算 n 的
平方根,并输出。
• 操作实现:
– 整数变量 n 由 1 依次递增到 100 ,做如下操作
• 计算 n 的平方根,并输出
C 语言实现
• for(n=1;n<=100;n++)
{
printf(“%d 的平方根 =%lg\n”,sqrt(n));
}

You might also like