




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语言程序设计 基础篇 第 2 章 简单程序设计之一 * C语言程序设计 基础篇 常量和变量 顺序结构程序设计 C语句概述 选择结构程序设计 简单循环结构程序设计 内容概述内容概述 Date C语言程序设计 基础篇 教学目标教学目标 掌握常量与变量的定义和使用方法; 学会三种结构的简单程序设计; 从整体上把握和了解C程序的基本结构,对C 语言程序开发设计有初步的感性认识。 Date C语言程序设计 基础篇 2.1 常量与变量 常量:程序运行过程中不能被改变的量。 在程序中,数据显式写法均表示常量 如s=2*3.14*r中的2和3.14都是常量; 符号常量: #define PRICE 586 ; 1.常量 Date C语言程序设计 基础篇 2.变量 变量:程序执行过程中可以改变它的值。变量包 括变量名和变量值。 变量名:用标识符命名,对应一定数量的内存存 贮单元,其单元数视变量类型而定。 在【例1.1】中 : c = a+b;/*计算和*/ a、b、c是三个变量,而且是整型变量。 Date C语言程序设计 基础篇 在C语言中,变量须先定义,后使用。 如: int total ; /*变量定义*/ total =30 ; 是合法的。 若没有定义变量直接写成: total =30; 则编译时会指出未定义错误。 变量一旦被定义,其类型便确定即可在编译时为 其分配相应数量的单元。 Date C语言程序设计 基础篇 3 标识符 标识符:由字母、数字、下划线组成且由字母或下 划线开头的字符串。 如:_sum, sum, stu_name, price等为合法的标识符 。 7ax,x 例如,int a=10; 利用赋值语句为变量赋初值 ,格式为: =; 例如,a=10+3; 利用格式化输入函数为变量赋初值 ,格式为: scanf(“格式控制字符串”,变量地址表列); 例如, scanf(“%d“, 定义后的变量其值是随机的、不确定的,只有通 过赋值操作,其值才是确定的,才能被使用。 Date C语言程序设计 基础篇 2.2 顺序结构程序设计 程序设计犹如“搭积木”和“写作”,将零件或素材 按一定的顺序和结构组织起来,就完成了“搭积木”和 “写作”。 顺序结构程序设计就是根据问题要求设计的程序 ,其执行过程是按程序书写的顺序,从上到下,逐条 语句顺序地执行,没有跳转,一直到最后一条语句, 程序才算执行完毕,退出程序。 Date C语言程序设计 基础篇 问题分4个步骤来处理: (1)输入两个整数给变量a和b; (2)输出a和b的值; (3)交换a和b的值; (4)输出a和b的值。 【例2.2】由键盘输入两个整数给变量a和b,然后输 出a和b。在交换a和b的值后,再输出a和b,验证两个变 量中的数值是否正确地进行了交换。 Date C语言程序设计 基础篇 #include void main() int a,b,t; printf(“Enter a and b:n“); scanf(“%d %d“, /*输入两个整型变量a和b*/ printf(“a=%d,b=%dn“,a,b); /* 输出a和b的值 */ t=a; /* 交换a和b的值 */ a=b; b=t; printf(“a=%d,b=%dn“,a,b); /* 输出a和b的值 */ 程序运行情况如下: Enter a and b: 123 456 a=123,b=456 a=456,b=123 Date C语言程序设计 基础篇 数据输入输出的概念及在C语言中的实现 所谓输入输出是以计算机为主体而言的。 数据输入是从标准输入设备输入,也就是键盘。 数据输出到标准输出设备,也就是显示器。DOS 下整个屏幕是标准输出设备,Windows下当前窗 口是标准输出设备。 在语言中,所有的数据输入输出都是由库函 数完成的,因此都是函数语句。 在使用语言库函数时,需要用预编译命令 include包含标准输入输出头文件stdio.h,即: #include Date C语言程序设计 基础篇 格式输出函数printf()函数 n函数功能: 按用户指定的格式,把指定的数据显示到显示 器屏幕上。 n一般形式: printf(“格式控制字符串”, 输出表列); 格式字符串是以%开头的字符串,在%后面跟有 各种格式字符,以说明输出数据的类型、形式 、长度、小数位数等。如:“%d”表示按十进 制整型输出。 输出表列中给出了各个输出项,要求格式字符串 和各输出项在数量和类型上应该一一对应 Date C语言程序设计 基础篇 格式输入函数scanf ()函数 n函数功能: 按用户指定的格式从键盘上把数据输入到指定的变量 之中。 n一般形式 scanf(“格式控制字符串”,地址表列); 其中,格式控制字符串的作用与printf函数相同,但 不能显示非格式字符串。地址表列中给出各变量的地 址。 地址是由地址运算符“ 赋值语句; y+z; 加法运算语句,但计算结果不能保留, 无实际意义; Date C语言程序设计 基础篇 2.函数调用语句 由函数名、实际参数加上分号 ;组成。 其一般形式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数 定义中的形式参数,然后执行被调函数体中的语句, 求取函数值 (在后面函数中再详细介绍) 。 例如: printf(”C Programn”); 调用库函数,输出字符串。 Date C语言程序设计 基础篇 3.控制语句 控制语句用于控制程序的流程, 以实现程序 的各种结构方式。它们由特定的语句定义符组成。 语言有九种控制语句。可分成以下三类: 条件判断语句: if语句、switch语句; 循环执行语句: do while语句、while语句、for语句; 转向语句: break语句、continue语句、return语句。 Date C语言程序设计 基础篇 4.复合语句 把多个语句用括号 括起来组成的一个语句称复合语句 。 在程序中应把复合语句看成是单条语句,而不是多条语 句。例如下面的一组语句是一条复合语句。 x=y+z; a=b+c; printf(”%d%dn”,x,a); 注意:复合语句内的各条语句都必须以分号“;”结尾, 在括号“”外不能加分号。 Date C语言程序设计 基础篇 5.空语句 只有分号“;”组成的语句称为空语句。空语句是什么 也不执行的语句。在程序中空语句可用来作空循环体 。 例如: while (getchar()!=n) ; 本语句的功能是,只要从键盘输入的字符不是回车则 重新输入。这里的循环体为空语句。 Date C语言程序设计 基础篇 2.3.2 赋值语句 赋值语句是由赋值表达式再加上分号构成的。 一般形式为: 变量=表达式; 变量1=变量2=表达式; 例如: int a=5; () int b,c; () b=c=3; () 但定义时连续赋值是错误的。 int a=b=c=5; ( x ) Date C语言程序设计 基础篇 2.4 选择结构程序设计 用if语句可以构成分支结构。它根据给定的条件 进行判断,以决定执行某个分支程序段。 if语句有三种基本形式: if if-else if-else-if Date C语言程序设计 基础篇 第一种形式为基本形式,形式为: 其语义是: 如果表达式的值为真,则 执行其后的语句,否则不 执行该语句。其过程可表 示为右图。 if (if (表达式表达式) ) 语句语句 Date C语言程序设计 基础篇 【例2.3】由键盘输入两个不同的整数给变量a和 b,然后输出a和b中较大的数。 #include int main() int a,b,max; printf(“Input two numbers: “); scanf(“%d%d“, max=a; if (max int main() int a, b; printf(“Input two numbers: “); scanf(“%d%d“, if(ab) printf(“max=%dn“, a); else printf(“max=%dn“, b); return(0); 运行结果为: Input two numbers: 5 12 max=12 Date C语言程序设计 基础篇 第三种形式为: if-else-if 前两种形式的if语句一般都 用于两个分支的情况。当 有多个分支选择时,可采 用if-else-if语句。 其语义是:依次判断表达 式的值,当出现某个值为 真时,则执行其对应的语 句。然后跳到整个if语句 之外继续执行程序。 如 果所有的表达式均为假, 则执行语句n。然后继续 执行后续程序。 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else if(表达式m) 语句m; else 语句n; 一般形式为: Date C语言程序设计 基础篇 Date C语言程序设计 基础篇 【例2.4】个人年收入低于1万元,可免个人所得税; 年收入在1万2万元之间,超过1万元的部分交5%的 个人所得税;年收入在2万元以上则交总收入的7%的 个人所得税。请编写一个程序,根据个人年收入计算 个人所得税(精确到元)。 个人年收入和个人所得税分别用整型变量x、y保存。根 据题意,个人所得税与个人年收入的关系可用一个分段 函数表示: Date C语言程序设计 基础篇 #include“stdio.h“ void main() int x,y; printf(“请输入个人年收入:“); scanf(“%d“, /*输入个人年收入*/ if (x 89) /*90100分,积点5*/ grade=5; else if(score79) /*8089分,积点4*/ grade=4; else if(score69) /*7079分,积点3*/ grade=3; else if(score59) /*6069分,积点2*/ grade=2; else /*590分,积点0*/ grade=0; printf(“成绩%d的对应积点是%dn“,score,grade); 程序运行情况如下: 请输入成绩:76 成绩76的对应积点是3 【例2.5】计算学习成绩积点 Date C语言程序设计 基础篇 在使用if语句中还应注意以下问题 在三种形式的if语句中,在if关键字之后均为表达式 。该表达式通常是逻辑表达式或关系表达式,但也可 以是其它表达式,如赋值表达式等,甚至也可以是一 个变量。 例如: if (a=5) 语句; if (b) 语句; 都是允许的。只要表达式的值为非0,即为“真”。 Date C语言程序设计 基础篇 在if语句的三种形式中,所有的语句应为单个语 句,如果要想在满足条件时执行一组(多个)语句 ,则必须把这一组语句用括起来组成一个复合 语句。但要注意的是在之后不能再加分号。 if (xy) x = x+5; y = y+10; else x = 10; y = 5; 例如: 在if语句中,条件判断表达式必须用括号括起来, 在语句之后必须加分号。 例如:if (b) 语句; Date C语言程序设计 基础篇 当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。 其一般形式可表示如下: if(表达式) if语句; 或者为 if(表达式) if语句; else if语句; 在嵌套内的if语句可能又是if-else型的,这将 会出现多个if和多个else重叠的情况,这时要特别 注意if和else的配对问题。 Date C语言程序设计 基础篇 例如: if(表达式1) if(表达式2) 语句1; else 语句2; 其中的else究竟是与哪一 个if配对呢? 应该理解为: if(表达式1) if(表达式2) 语句1; else 语句2; 还是应理解为: if(表达式1) if(表达式2) 语句1; else 语句2; 为了避免这种二义性,语言规 定,else 总是与它前面最近的 if配对,因此对上述例子应按前 一种情况理解。 Date C语言程序设计 基础篇 2.5 简单循环结构程序设计 问题 计算1+2+100的值,即 int i, sum; i = 1; sum = 0; sum = sum+i; i=i+1; sum = sum+i; i=i+1; : sum = sum+i; i=i+1; 如何避免出现这种情况? 重复100次同样的语句 ,程序显得很笨拙。 Date C语言程序设计 基础篇 前面的例子是一种循环执行的情况,也就是: 在给定条件(i100)成立时,反复执行某程序 段(sum=sum+i; i=i+1),直到条件不成立为 止。 给定的条件称为循环条件,反复执行的程序段 称为循环体。 这种结构被称为循环结构,它是程序中一种很重 要的结构。 Date C语言程序设计 基础篇 语言提供了多种循环语句,可以组成各 种不同形式的循环结构。 用goto语句和if语句构成循环;(不介绍 ,不推荐使用) 用while语句; 用do-while语句; 用for语句。 Date C语言程序设计 基础篇 2.5.1 while语句 格式: while (表达式) 语句; 其中表达式是循环条件,语句为 循环体。 功能: 当表达式的值为非0时,执行 while语句中的循环体。结构流程 图如图所示。 用while语句来实现“当型”循 环结构。 Date C语言程序设计 基础篇 【例2.6】用while语句求 用N-S图表示算法, 如右图所示: 0sum, 1i i int main() int i, sum; i=1; sum=0; while (i int main() int i, sum; i=1; sum=0; do sum = sum + i; i+; while (i main() int sum=0,i; scanf(“%d“, while(i int main() int sum=0,i; scan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高铁站台安全知识培训课件
- 集安市2025-2026学年七年级下学期语文月考模拟试卷
- 电路基础自锁知识培训课件
- 电芯厂消防知识培训课件
- 高边坡施工安全知识培训课件
- 电脑贴膜专业知识培训课件
- 高血压病课件
- 电脑知识培训活动课件
- 电脑知识培训实施方案课件
- 智慧化工园区数字孪生应用方案
- 体育旅游市场结构分析及创新产品开发路径研究
- 初中体育与健康排球运动作业设计
- 聘请执行校长合同协议
- 订购白酒居间合同协议
- GB/T 6516-2025电解镍
- 2024年中考英语考纲词汇重点单词800词(复习必背)
- 高中物理第八章 静电场专题复习
- 西柏坡的故事与红色教育
- (完整版)常见中药材和中药饮片造假、掺假现象及鉴别方法
- 学生欺凌治理委员会
- 2024全球工程管理前沿
评论
0/150
提交评论