上次作业中的问题 !!有真正上机 任务→程序设计语言→正确程序 没有加作业要求中的注释只能给一半平时成绩。 抄袭者与被抄袭者均从平时成绩上扣分。 大多数同学反映 对上机和书写C语言不熟悉这是正常现象,多 练就会越来越熟悉。 学习方法: 读例题 模仿例题自己写程序 上机调试 再与例题的源程序进行比较
1 上次作业中的问题 ▪ !!!!!!!!!没有真正上机 ▪ 任务→程序设计语言→正确程序 ▪ 没有加作业要求中的注释只能给一半平时成绩。 ▪ 抄袭者与被抄袭者均从平时成绩上扣分。 ▪ 大多数同学反映: 对上机和书写C语言不熟悉,这是正常现象,多 练就会越来越熟悉。 ▪ 学习方法: ▪ 读例题 ▪ 模仿例题自己写程序 ▪ 上机调试 ▪ 再与例题的源程序进行比较
第2章简单C程序设计 本讲:将从一个问题出发,分析问题, 解决问题,并介绍一些相关语法
第2章 简单C程序设计 本讲:将从一个问题出发,分析问题, 解决问题,并介绍一些相关语法
问题的提出 编写C程序计算圆的周长和面积,并将 结果输出到屏幕
3 问题的提出 ▪ 编写C程序计算圆的周长和面积,并将 结果输出到屏幕
问题的分析 甲:请给我计算一下圆的周长和面积。 乙:请问半径是多少? 甲:5.3。 乙:圆的周长=2*53=33.3 圆的面积=*53*53=8825 算法? 开始 1.输入半径 2.计算周长和面积 3.输出计算结果 结束
4 问题的分析 ▪ 甲:请给我计算一下圆的周长和面积。 ▪ 乙:请问半径是多少? ▪ 甲:5.3。 ▪ 乙:圆的周长=2*π*5.3=33.3 圆的面积=π*5.3*5.3=88.25 算法? ▪ 开始 1.输入半径 2.计算周长和面积 3.输出计算结果 ▪ 结束
1、输入半径-分析 计算机如何区分半径,周长,面积? 为不同的数据定义不同的变量名,例如: r circumference, area 计算机上处理的数据有几种类型?这些数 据又是什么类型? 三种:整数类型〔int)、实数类型(f|oat和 double)、字符类型(char),不同类型的数据 其编码方式和所占空间不同。 半径等数据都是实数类型
5 1、输入半径-分析 ▪ 计算机如何区分半径,周长,面积? ▪ 为不同的数据定义不同的变量名,例如: r,circumference,area. ▪ 计算机上处理的数据有几种类型?这些数 据又是什么类型? ▪ 三种:整数类型(int)、实数类型(float和 double)、字符类型(char),不同类型的数据 其编码方式和所占空间不同。 ▪ 半径等数据都是实数类型
1、输入半径-分析 用什么语句实现输入? Canto 输入的数据存放在哪? 内存 系统根据变量的数据类型自动为其分配空 间,并将内存地址与变量名进行关联。我们 根据变量名使用变量,系统根据其对应的 内存地址对数据进行读写
6 1、输入半径-分析 ▪ 用什么语句实现输入? ▪ Scanf() ▪ 输入的数据存放在哪? ▪ 内存 ▪ 系统根据变量的数据类型自动为其分配空 间,并将内存地址与变量名进行关联。我们 根据变量名使用变量,系统根据其对应的 内存地址对数据进行读写
1、输入半径-结果 确定半径的数据类型 float和变量名r 使用 Scant0函数,前边要加上 # include 3”内表示输入数据的格式 值* &求地址运算符。 %的个数应该与变量的个数和类型一致 幕上提示:请输入半径* scanf(%f”,&r):输入半径*/ 7
7 1、输入半径-结果 float r; /*定义单精度实数变量r,用于保存半径的值*/ printf(“please input radium: “); /*在屏幕上提示:请输入半径*/ scanf(“%f”,&r); /*输入半径*/ 确定半径的数据类型float和变量名r 从键盘上输入半径的值 •使用 Scanf()函数,前边要加上 #include •“”内表示输入数据的格式. •&求地址运算符。 •%的个数应该与变量的个数和类型一致
2、计算周长和面积 WAA float r, circumference, area; 根扌定义单精度实数变贵的同时,定义周长 circumference printf("please input radium: 在屏幕上提示:请输入半径 scanf(%f”,&r):^输入半径*/ circumference=23.14159 re area=3.14159产r ⌒上述两个表达式求周长和面积;2和3.14159称为常量, 它们也有类型;=是赋值运算符,表示把其右边的值赋给 左边的变量/
8 2、计算周长和面积 确定周长和面积的类型和变量名。 根据公式计算。 float r,circumference,area; /*定义单精度实数变量r的同时,定义周长circumference 和面积area,这些定义一定在写在前面*/ printf(“please input radium: “); /*在屏幕上提示:请输入半径*/ scanf(“%f”,&r); /*输入半径*/ circumference=2*3.14159*r; area=3.14159*r*r; /*上述两个表达式求周长和面积;2和3.14159称为常量, 它们也有类型;=是赋值运算符,表示把其右边的值赋给 左边的变量*/
3、输出结果 printf area %f\n",area) printf circumference %f \n",circumference): 或 printf area %f, circumference =%f \n,area circumference) printf中给出几个参数参数之间用逗号分隔; “”内表示输入数据的格式其中有三种类型的符号: 直接按原样输出的普通字符,如:area= 以\开头的转义字符,如:Wn表示回车 表示输出数据的格式,如%表示foat类型,%的 个数应该与变量的个数和类型一致
9 3、输出结果 printf("area = %f\n", area); printf("circumference = %f\n", circumference); 或 printf("area = %f,circumference = %f\n ", area, circumference); •printf()中给出几个参数,参数之间用逗号分隔; •“”内表示输入数据的格式.其中有三种类型的符号: •直接按原样输出的普通字符,如:area = •以\开头的转义字符,如:\n表示回车 •表示输出数据的格式,如%f表示float类型, %的 个数应该与变量的个数和类型一致
另一种编译预处理命令(宏定义 定义一个符号常量,则在编译前,将下边所有“”以外的P工替换成 3.14159 习惯:常量名大写 include <stdio.m Define PI 3.14159 根据输入的半径,输出圆的面积和周长*/ void maino float r, area, circumference;定义实数变量*/ printf(" Please input r:"):显示提示信息*/ scanf(%f",&r):/从键盘获得一个实数r*/ area=P*r*r;/*计算面积 circumference2*·area):输出面积 printf("area=%fn P*r;/*计算周长* printf( circumference=%f\n", circumference):/输出周长* 10
10 问题解决: #include #define PI 3.14159 /*根据输入的半径,输出圆的面积和周长*/ void main() { float r,area,circumference; /* 定义实数变量*/ printf("Please input r:"); /* 显示提示信息 */ scanf("%f",&r); /* 从键盘获得一个实数r*/ area= PI * r * r; /* 计算面积 */ printf("area = %f\n", area); /* 输出面积 */ circumference =2 * PI * r; /* 计算周长 */ printf("circumference = %f\n", circumference); /* 输出周长 */ } •另一种编译预处理命令(宏定义) •定义一个符号常量,则在编译前,将下边所有“”以外的PI替换成 3.14159 •习惯:常量名大写