用C语言编写程序.ppt_第1页
用C语言编写程序.ppt_第2页
用C语言编写程序.ppt_第3页
用C语言编写程序.ppt_第4页
用C语言编写程序.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 用C语言编写程序,2.1 在屏幕上显示 Hello World! 2.2 求华氏温度 100F 对应的摄氏温度 2.3 计算分段函数 2.4 输出华氏摄氏温度转换表 2.5 生成乘方表与阶乘表,例2-1 在屏幕上显示一个短句: Hello World!,/* 显示“Hello World!” */ # include int main(void) printf(“Hello World! n”); return 0; ,注释文本,编译预处理命令,主函数,输出文字,换行符,输出函数,1. 任何程序都有主函数 2. 程序由若干语句组成 3. 语句由;结束,例子,例2-2 在屏幕上显示一个短

2、句: Programming is fun! And Programming in C is even more fun!,# include int main(void) printf(Programming is fun! n); printf(And Programming in C is even more fun! n); return 0; ,例子,#include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn,

3、 fahr, celsius); return 0; ,例2-3 求华氏温度 100F 对应的摄氏温度。 摄氏温度 C=(5/9)(F-32),fahr =100, celsius = 37,例子,A. 字面常量(直接常量): 要区分不同的类型 整型常量 1,-2,3 实型常量 1.5, -3.2 字符常量 a, b 注意:字面常量不需定义,可直接使用。,1、常量:程序运行过程中其值不能改变的量。,B. 符号常量:用一个标识符代表一个常量。 符号常量的使用:宏定义 书写习惯:符号常量名采用大写字符。,宏定义,#include,int main(void),float r,area;,r=5;,

4、area=PI * r * r;,printf(“The area is %f .”,area);,return 0;,#define PI 3.1415926,2、变量:程序运行中其值改变的量。,可以用标识符对变量命名。 在c语言中变量必须“先定义,后使用”。 书写习惯:变量名常用小写字符。 形式: a、sum、st_count、boy1、_string,(3).区分变量的三个属性:变量名、变量值、存储单元,读取:变量名实际代表一个确定的存储单元。程序编译完成后,变量就与数据存储单元一一对应。对变量读取操作,就是到对应的存储单元中读取数据,而且取之不尽! 改写:就是给变量赋与新值, 原值被覆

5、盖,注意: (1).变量的定义方法与符号常量不同: 符号常量:#define 标识符 常量 变量定义:数据类型 标识符;,(4).变量数据的读取与改写,(2).变量在内存中占据一定的存储单元;,关键字、标识符,1. 关键字:C语言中的一些保留字,在程序中表示固定的意义,不能被重新定义用作它用。C的关键字有32个。,2. 标识符:由程序员定义的一些名字,通常是一些字符序列。 命名规则: (1)有效字符:只能由字母、数字和下划线组成,且 以字母或下划线开头。 (2)有效长度:随系统而异,但至少前个字符有效。 如果超长,则超长部分被舍弃。 (3)C语言中的关键字不能用作标识符。 (4)选择标识符时,

6、应做到“见名知意”。 注意:C语言是区分大小写的语言。,运 算:对数据进行计算处理的过程 例: y=x*x、 y=cos(x) 运算符:表示不同运算的符号(它代表各种运算的含义) 例: + 、 - 、 *、 、b,几个基本概念,算术运算,名 称 运算符 运算规则 加 + 加法 减 - 减法 乘 * 乘法 除 / 除法 注意:两个整数相除的结果取整数 模 % 整除取余,两侧均为整数,而且 分子分母 ,结果=余数。 分子分母 ,结果=分子。,基本的算术运算符,赋值运算,格式:变量=表达式 ; 运算规则:先计算等号右边的表达式, 然后将其值赋给等号左边的变量。,注意:C语言赋值运算符与数学中的等号其

7、含义有着本质的不同。,例: x = 10 ; y = x*x+x ; x=x+1;,赋值运算符 =,赋值运算,由赋值运算符连接一个变量和一个表达式构成。 格式: 表达式;,例1: int x,y; x=5; y=10; y/=5; x=10*(y=5); 例2:char c1; c1=a;,赋值表达式,赋值表达式,格式:printf (格式控制,输出表列);,说明: 输出格式控制部分用于规定相应输出项的格式,由一系列格式转换说明符(简称格式符)和普通字符组成。 输出表列是指定要输出的数据,可以是变量,常量或表达式。,注意: a.多个变量、常量或表达式时,用逗号“,”分隔。 b.输出变量、常量或

8、表达式的个数要与格式符个数相同,举例:,例2-4 分段计算水费,要解决的问题: 输入 计算分段函数 输出,并保留2位小数,例子,#include int main(void) double x, y; printf(Enter x (x=0):n); /* 输入提示 */ scanf(%lf, ,Enter x (x=0): 15 f(15.000000)=20.00,Enter x (x=0): 21.3 f(21.300000)=42.75,关系运算符,名 称 运算符 小于 大于等于 = 等于 = = 不等于 ! =,优先次序 前四种高于后两种; 低于算术运算符, 高于赋值运算符;,格式,

9、功能,if (e) S1; else S2;,e 的结果为真(非0), 则执行 S1。 e 的结果为假 (0) , 则执行 S2。,Please input a,b: 100,99 max=100,例: 输入两个整数, 将较大的数输出。,int main(void ) int a,b; printf(“nPlease input a,b:”); scanf(“%d,%d”, ,一般格式:scanf (“格式控制”,地址表列);,scanf ( “%d%f ”, ,格式符,变量地址,地址运算符( printf(“Enter fahr: n); scanf(%d, ,Enter fahr: 100

10、 fahr =100, celsius = 37,例子,例2-3 求华氏温度 100F 对应的摄氏温度。 摄氏温度 C=(5/9)(F-32),#include命令 用户调用库函数时,将相应的头文件包含到源程序中。 例如 调用scanf, printf,需要 #include 调用sqrt,需要 #include ,库函数 C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(), printf(), exp() 在相应的系统文件(头文件)中定义一些必需的信息。,平方根函数 sqrt(x) 绝对值函数 fabs(x) fabs(-3.56) 的值为3.56 幂函数 pow(x, n

11、) :xn pow(1.1, 2) 的值为1.21(即1.12) 指数函数 exp(x):ex exp(2.3) 的值为e2.3 以e为底的对数函数 log(x):ln x log(123.45) 的值为4.815836 以10为底的对数函数 log10(x):log10 x log10(123.45) 的值为2.091491。,例2-5 计算存款的本息,输入存款金额 money、存期 year 和年利率 rate,根据公式计算存款到期时的本息合计sum(税前),输出时保留2位小数。 sum = money ( 1 + rate)year,sum = money * pow(1 + rate)

12、, year),例子,# include # include int main(void) int money, year; double rate, sum; printf(“Enter money:); scanf(%d, ,Enter money: 1000 Enter year: 3 Enter rate: 0.025 sum = 1076.89,例2-6 输入2个整数lower和 upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是lower, upper,每次增加1F。,例子,fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1

13、 35 1.7,#include int main(void) int fahr, lower, upper; double celsius; printf(Enter lower:); scanf(%d, ,fahr = fahr+1,Enter lower: 30 Enter upper: 35 fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7,例2-8中for语句的流程,for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32);

14、printf(%d %6.1fn, fahr, celsius); ,fahr = fahr+2 输出?,Enter lower: 30 Enter upper: 35 fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7,格式,for(表达式1;表达式2;表达式3 ) 循环体语句; ,举例,例1: 用for循环语句计算 1 + 3 + 5 +.+ ( 2n-1) 。 其中 n=1,2,.100。,#include int main(void) int n,sum; for(sum=0,n=1;n=100;n+) sum+=2*n-1

15、; printf(sum=%dn,sum); return 0; ,例2: 编一个程序求满足下列条件的四位数: 该数是一个完全平方数;第一、三位数字之和为10,第二、四位数字之积为12。,解题思路: 根据题意,设 j 是要找的四位数,则j=i*i,而 i只能在3299之间变化 (因为3121000, 3221024,9929801, 1002=10000)。 设 a 为 j 的千位数,a=j/1000。 设 b 为 j 的百位数,b=j/100-a*10。 设 c 为 j 的十位数,c=j/10-a*100-b*10。 设 d 为 j 的个位数,d=j-a*1000-b*100-c*10。 最

16、终: j=a*1000+b*100+c*10+d。,#include int main(void ) int i,j,a,b,c,d; for(i=32;i=99;i+) j=i*i; a=j/1000; b=j/100-a*10; c=j/10-a*100-b*10; d=j-a*1000-b*100-c*10; if(a+c=10 ,例3: 用for循环语句计算 1! + 2! + 3! +.+ 20! 。,设:n 为数列项变量和循环控制变量。 s 为累加和变量,t 为阶乘变量。,设i为循环变量,则: 指定循环起点的表达式1:i = 1 给出循环条件的表达式2:i = 100 设置循环步长

17、的表达式3:i+ 循环体语句:sum = sum + i; for(i=1; i=100; i+) sum =sum+i;,求 1+2+100 抽取具有共性的算式:sum = sum + i sum初值为0,该算式重复100次,i从1变到100,/* 计算1 + 2 + 3 + + 100 */ #include int main(void) int i, sum; sum = 0; /* 置累加和sum的初值为0 */ for ( i = 1; i = 100; i+ ) /* 循环重复100次 */ sum = sum + i; /* 反复累加 */ printf( “sum = %dn”

18、, sum); /* 输出累加和 */ return 0; ,for(i=1; i=100; i+) sum=0; sum=sum+i; ,sum=5050,#include int main(void) int i, sum; sum = 0; for ( i = 1; i = 100; i+ ) sum = sum + i; printf( “sum = %dn”, sum); return 0; ,求 1+1/2+1/3+ 1/100,for(i=1; i=100; i+) sum=sum+1.0/i;,int i; double sum;,printf( “sum = %fn”, sum);,一般包含四个部分: 初始化:指定循环起点 给循环变量赋初值,如i = 1; 进入循环之前,设置相关变量的初值,如sum = 0。 条

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论