第二章 顺序结构

合集下载

第二章顺序结构程序设计教案

第二章顺序结构程序设计教案

一、实验准备实验准备实验准备实验准备1、C语言程序的上机操作语言程序的上机操作语言程序的上机操作语言程序的上机操作C是编译型语言,设计好一个C源程序后,需要经过编译生成目标文件(扩展名.obj)、连接生成可执行文件(扩展名.exe),然后执行。

一个C程序的具体开发步骤如下: (1) 启动启动启动启动VC++ 6.0:“开始”“程序”“Microsoft Visual C++ 6.0” (2) 新建文件新建文件新建文件新建文件:“文件”“新建”在“新建”对话框中选择“文件”标签列表框中选“C++ Source File”,在右边指定文件名和保存位置。

(3) 编辑编辑编辑编辑:录入或修改源程序并保存(Ctrl+S) (4) 调试运行调试运行调试运行调试运行:编译(Ctrl+F7)连接(F7)运行(Ctrl+F5),若有错需修改源程序后再调试程序 (5) 关闭工作区关闭工作区关闭工作区关闭工作区:“文件”“关闭工作空间”,一个程序调试结束后需关闭当前工作空间,再从第(2)步开始下一个程序的调试 2、、、、C程序的调试程序的调试程序的调试程序的调试调试即是在源程序中查找错误并修改错误的过程。

程序的错误一般分为两类:语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误语法错误和逻辑错误。

①语法错误语法错误语法错误语法错误:指不符合C语言语法规则而产生的错误。

语法错误系统能检测出来并告之原因及位置,设计者可参考修改。

②逻辑错误逻辑错误逻辑错误逻辑错误:指程序的运行结果与预期的结果不符而产生的错误。

这类错误拔除难度较大,一般需祥细分析算法或在程序运行过程中设置断点、追踪程序的运行来纠错。

(1)语法错误调试案例(建立程序名为ex1-1.c)# include <stdio.h> void main() { int i=0 //错误原因:语句结束位置缺分号printf("i=%d\n",i); } 调试并查找以上程序的语法错误并分析原因并改正。

C语言基础知识答案

C语言基础知识答案
16 B 17 B 18 D 19 C 20 C 21 A 22 B 23 C 24 C 25 B 26 D 27 C 28 A
29 C 30 B 31 A 32 A 33 B 34 B 35 A 36 D 37 B 38 B
二填空题
10 72k *k3*x t4int * *t5(1)s=p+3;(2)s=s-2(3)66(4)*(s+1)(5)4
16 A 17 D 18 B 19 C C 27 D 28 B
29 D 30 A 31 C 32 A 33 D 34 D 35 B 36A 37 D 38 C 39 C 40C 41C
42B 43A
二填空题
1IJKLEFGHABCD23394752661371 3 6879(double*)
第一章C语言基础知识
一选择题
1 B 2 DBD 3 BE 4 A 5 B 6 C 7 B 8 C 9 D 10 BDD 11 D 12 D 13 C
14 AC 15 A 16 CC 17 D 18 A 19 AAA 20 D 21 D 22 BDDBB 23 A 24 D
25 D 26 A 27 C 28 A 29 B 30 CG 31C 32 DDBA 33 C 34 D 35 D 36 D
16 D 17 D 18 B 19 D 20 B 21 C22 A 23 A 24 A 25 C 26 A 27 B 28 D 29B
30 B 31D
二填空题
12223435 2410 4516 6 struct STRU 7 ex 8 sizeof(struct node)
9 b->day, (*b).day 10 3,3 11 struct link *next 12 struct node * 13 struct STRU*

C语言程序设计 第2章 顺序结构与分支结构程序设计

C语言程序设计 第2章 顺序结构与分支结构程序设计

main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }

顺序结构

顺序结构

各位评委老师,您们好!今天我说课的题目是《循环结构的程序设计》。

我将从教学内容分析,教学对象分析,教学目标分析,教学策略设计,教学过程设计,以及作业的设计几个方面来说一下我的课程。

下面是我说课的具体内容。

一.说教材:《顺序结构》是选取四川人民出版社高一《信息技术》下册第二章第五节的内容。

本节课主要内容为:顺序程序的结构和顺序程序设计对于发展学生思维、培养能力方面有重要作用。

顺序结构是程序设计语言的三种结构之一,对于学生将要学习的分支结构和循环结构起到了一个铺垫作用。

二.学情分析在此之前,学生们已经学习vb 的基础知识,认识了程序结构和程序的输入运行等知识,在上机操作也有了一定的技巧,这为过渡到本节内容的学习起到了铺垫的作用。

根据上述教材分析,学情分析,考虑到学生已有的认知结构心里特征,我将教学目标和教学重难点确定如下:(一)教学目标:(1)知识目标:1.初步掌握简单顺序结构程序的设计方法。

2.理解程序的顺序结构的概念。

3 掌握顺序结构程序流程图的画法;(2)技能目标:培养学生分析问题,解决问题的能力,掌握利用顺序语句实现循环结构,解决实际问题。

(3)情感目标:培养学生互相帮助、合作的能力四教学方法:采用“任务驱动”“分组合作”,“分层次教学方法”即“确定目标,设计任务,自组探索,积极协作,归纳总结,评价成果。

采用多媒体课件、板书相结合的教学手段,以多媒体教学为主采用分组竞赛的教学方式,培养学生自己动手解决问题和合作交流意识,从而体现信息技术的基本理念,通过抢答方式激发学生的学习兴趣,活跃课堂气氛。

五学法:学生学习过程遵循认知规律,充分发挥主体作用,采用观察法,探究法,练习法等,是学生独立学习和协作学习相结合。

六说教学媒体1、带网络电脑机房进行,教学软件PPT 、VB程序、顺序结构读程序练习。

为了完成教学目标,解决教学难点和重点,课堂教学准备按一下环节展开:教学过程:(一)创设情境、导入新课[教学情境:]《四季交替》。

Pascal入门教程 (1)

Pascal入门教程 (1)

第二章顺序结构程序设计内容提要本章介绍了PASCAL中的数和符号的表示方法;四种标准数据类型;常量,变量和标准函数;表达式和输入、输出语句的用法。

学习要求通过对本章的学习,要求能够理解PASCAL中关于数、符号、常量、变量、四种基本的数据类型等知识点,掌握READ、WRITE语句的用法,能够进行顺序结构程序设计。

第一节PASCAL中的数和符号1.1符号在PASCAL中,允许使用的符号很多,但有一定的规则:1标点符号:“;”是每一句的结束标志,但在BEGIN后不用,最后一个END后用“.”,“,”一般用在括号和变量表中,用以分隔多个参数;单引号“ˊ”用于字符型中;“( )”中一般是参数,“[ ]”一般用于集合和数组中,“{ }”是用来存放注释信息的;“:”是在变量和数据类型之间起分隔作用的。

2运算符:算术运算符有:+,-,*,/;关系运算符有:>,<,=,>=,<=,<>;逻辑运算符有:AND,OR,NOT;1.2 标识符在PASCAL语言中,一些事先定义好的由字母开头,后跟数字和字母组成的字符串,它们代表了一定的意义,我们把它们称为标识符。

例如:PROGRAM就表明一个程序的开始,VAR则表明后面将要进行变量说明。

系统事先定义了不少的标识符,我们把它们叫做保留字;另外,我们也可以自己定义标识符,自定义标识符要注意以下几点:1自定义的标识符不要与系统定义的标识符同名。

如:你不能定义一个叫BEGIN 的标识符。

2标识符要以字母开头,后跟字母或数字或下划线,中间不能出现空格,长度一般不超过8位。

3标识符要先定义后使用,这一点我们在后面章节中会学到。

4标识符的英文字母不分大小写。

第二节标准数据类型PASCAL给编程人员提供了几种标准数据类型,同时也允许自己定义数据类型。

1实型(REAL)实型就是实数类型,是一种最常见的数据类型。

在PASCAL中,实数有两种表示方法:小数表示法和指数表示法(也称科学表示法)。

Luogu深入浅出程序设计竞赛题解目录

Luogu深入浅出程序设计竞赛题解目录

Luogu深⼊浅出程序设计竞赛题解⽬录第⼀部分语⾔⼊门第⼀章简简单单写程序第⼆章顺序结构程序设计例题P5703 红 例5P5704 红 例6P5705 红 例71P5706 红 例8P1425 红 例10P3954 红 例11(NOIP 2017 PJ T1)P5707 橙 例12习题P5708 红 习2第三章分⽀结构程序设计例题P5710 红 例1P5711 红 例2P5712 红 例3P5713 红 例5P5714 红 例7P5715 红 例8P5716 红 例9P1085 红 例10(NOIP 2004 PJ T1)P1909 红 例11(NOIP 2016 PJ T1)P1055 橙 例12(NOIP 2008 PJ T1)习题P1422 红 习4P1424 红 习5P1888 红 习6P1046 红 习7(NOIP 2005 PJ)P5717 橙 习8P4414 红 习9(COCI 2006)第四章循环结构程序设计例题P5718 红 例2P5719 红 例3P5720 红 例4P5721 红 例6P1980 红 例8P1035 红 例9(NOIP 2002 PJ)P2669 红 例10(NOIP 2015 PJ T1)P5722 红 例11P5723 橙 例13习题P1307 红 习3(NOIP 2011 PJ T1)P1720 红 习4P5724 红 习5P1420 红 习6P1075 红 习7(NOIP 2012 PJ T1)P5725 红 习8P5726 橙 习9P4956 红 习10(COCI 2017)P1089 红 习11(NOIP 2004 TG T1)第五章数组与数据批量储存习题第六章字符串与⽂件操作第七章函数与结构体例题习题第⼆部分初涉算法第⼋章模拟与⾼精度例题习题第九章排序例题习题第⼗章暴⼒枚举例题习题第⼗⼀章递推与递归例题习题第⼗⼆章贪⼼例题习题另⼀篇题解:第⼗三章⼆分查找与⼆分答案例题习题第⼗四章搜索例题习题第三部分简单数据结构第⼗五章线性表例题习题第⼗六章⼆叉树例题习题第⼗七章集合例题习题第⼗⼋章图的基本应⽤例题习题第四部分基础数学与数论后⾯的讲解居多。

第2章 简单程序设计(C++版)_第五节 数据输入输出

第2章 简单程序设计(C++版)_第五节 数据输入输出

例2.8 利用getchar函数接收键盘输入。 #include <cstdio> #include <iostream> using namespace std; int main( ) { char ch; ch=getchar(); //读入字符 cout<<"input="<<ch<<endl; }
一、字符输入函数getchar
getchar函数是接收从键盘输入的单个字符数据。它是一个无参
函数,其语法格式为: getchar(); 【说明】 1)通常把输入的字符赋予一个字符变量,构成赋值语句。例如: char ch; ch=getchar(); 2) getchar函数只能接受单个字符,输入数字也按字符处理。 3)输入多于一个字符时,只接收第一个字符。 4) getchar函数等待用户输入,直到按回车键才结束,可用于暂 停程序的运行,直到输入一个回车键。system(“pause”); 5)如果在程序中连续有两个以上getchar()函数,应该一次性输 入所需字符,最后再按回车键,否则会把回车作为一个字符传给后 面的getchar()函数。
f e
用于输入十进制整数 以无符号十进制形式输入十进制整 数 用于输入八进制整数 用于输入十六进制整数 用于输入单个字符 用于输入字符串(非空格开始,空 格结束,字符串变量以′\0′结尾) 用于输入float型实数(小数或指数 均可) 与f相同(可与f互换)
表2-7 scanf函数的附加格式说明符 附加格式 l(字母) h 说 明
例如,对如下程序段 int i=1; long j=123; printf("%d,%2d,%03d,%1d,%-4ld,%05ld",i,i,i,j,j,j); 输出:1, 1,001,123,123 ,00123

PASCAL上机练习题题解 第二章 顺序结构

PASCAL上机练习题题解 第二章 顺序结构

13、编一程序,输入三角形的三边a、b、c(假设 这三边可以构成一个三角形),求三角形的面积 S?(提示:可利用海伦公式 Program sanjiaoxinmianji; Var a,b,c,s,p:real; Begin Writeln(‘pleas input sanjiaoxindebian:’); Read(a,b,c); P:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln(‘sanjiaoxindemianji=’,s:8:2); Readln End.
Program ex8; Var a,b,c:integer; Begin a:=50;b:=43;c:=13; a:=a div3;b:=b+a;c:=c+a; b:=b div3;a:+a+b;c:=b+c; c:=c div 3;a:=a+c;b:=b+c; writeln(a,b,c); readln; readln End.
9.交换两个变量的值:由键盘输入两个正整数A 9.交换两个变量的值:由键盘输入两个正整数A和B,编程交换这两个变量的值。 交换两个变量的值 编程交换这两个变量的值。
Program ex8; Var a,b,t:integer; Begin read(a,b); t:=a;a:=b; b:=t; writeln(a,b); readln; readln End.
8、有三个小朋友甲乙丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖 有三个小朋友甲乙丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖 50粒糖果 43粒糖果 13 现在他们做一个游戏。从甲开始,将自己的糖分三份, 果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一 其余两份分别给乙与丙,多余的糖果自己吃掉, 份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依 次这样做。问最后甲、 丙三人各有书多少粒糖果? 次这样做。问最后甲、乙、丙三人各有书多少粒糖果?

第二章 顺序结构程序设计

第二章 顺序结构程序设计

printf("c1+200=%c\n",c1+200);
printf("c1+256=%d\n",c1+256);
printf("c1+256=%c\n",c1+256);
}
11
2.2.2 各种类型数据的输出设计
4.字符串的输出
字符串可以用格式说明符%s输出。
【例2-7】字符串的输出。 #include <stdio.h>
2.2.2 各种类型数据的输出设计
3)对不同类型的数据,要用不同的格式字符提供输出格式。
常用的格式说明,见表2-1。
格式说明
功能
%d 以带符号的十进制形式输出整数(正数不输出符号) %f 以小数形式输出单、双精度数,隐含输出6位小数 %e 按指数格式输出浮点数(规格化表示) %c 以字符形式输出,只输出一个字符 %s 输出字符串
}
%d,按整数的实际长度进行输出,整数有几位就输出几位。
%md,m为指定的输出宽度。如果整数的位数小于m,则左补空格, 如果整数的位数大于m,则按实际的位数输出。
%ld,输出长整型。长整型的输出也可以指定宽度,即%mld。
14
2.2.2 各种类型数据的输出设计
【程例 序2运-行9】结f果格如式下符:使用修饰符 #1d2=i31n.2c43l54u6506d07e18,9<0□s12□t3d1.i42o43..4h45>6001,□□□□123.46,123.46□□□□,123.46 main( )
{ float f=123.456;
double d=1234567890123.11111,d=%f\n",f,d);

C语言复习题

C语言复习题
第二章顺序结构程序设计 一、 选择题 1、 以下程序输出结果是:C #include <stdio.h> void main() { int x=10,y=20,z; z=x; x=y; y=z; printf("x=%d,y=%d,z=%d",x,y,z); } A、x=10,y=20,z=10 B、x=20,y=40,z=10 C、x=20,y=10,z=10D、x=10,y=20,z=10 2、 以下程序中,为了使变量 a、b、c 的值分别为数据 3、 A、24.5,则不正确的输入格式是:D #include <stdio.h> void main() { int a; char b; float c; scanf("%d%c%f",&a,&b,&c); } A、 3A<回车>24.5<回车> B、 3A24.5<回车> C、 3A<空格>24.5<回车> D、 3<回车>A<回车>24.5<回车> 3、 以下程序运行结果是:D #include <stdio.h> void main() { int s=10,t=20; ++s; t--; printf("%d\n",t-s); } A、10 B、9C、11 D、8 4、 若定义“double s=123.5” , 则正确输出 s 的值所用的语 句为:D A、printf(“s=%d”,s) B、printf(“s=%ld”,s) C、printf(“s=%f ”,s) D、printf(“s=%lf ”,s) 5、 以下程序输出结果是:B #include <stdio.h> void main() { int x=5,y=10; printf("%d,%d\n",x--,y-x); } A、编译错误 B、5,5 C、4,6 D、4 6 6、 以下选项中不是 C 语句的是:D A、i++; B、; C、{a++; b++;} D、scanf(“%d”,&a) 7、 已有定义语句 “float a=32.7;” , 则能正确执行的语句是: C A、printf(“%3.2f\n”,a); B、scanf(“%3.2f ”,&a); C、printf(“%3.1f\n”,a); D、scanf(“%3.2f ”,&a); 8、 若变量都已正确定义, 则能够实现变量 a 与 b 的值互换 的选项是:C A、a=t;t=b;b=a B、a=b;b=a; C、t=a;a=b;b=t; D、t=a;b=t;a=b; 9、 已知华氏温度转换为摄氏温度的公式为 C=5/9(F-32), 若已定义”float f, c;”,则错误的转换语句为:B A、c=(f-32)*5/9; B、c=5/9*(f-32); C、c=(float)5/9*(f-32); D、c=5.0/9.0*(f-32); 10、 以下程序输出结果是:D #include <stdio.h> void main() { int x=100,y=-100; x%=y-2*x; y%=x-2*y; printf("x=%d,y=%d",x,y); } A、x=0,y=100 B、x=0,y=-100

第1部分 第二章 § 2 2.1 顺序结构与选择结构

第1部分 第二章 § 2  2.1  顺序结构与选择结构

返回
1.定义 在算法中,需要判断条件的真假,依据判断的结果 决 定后面的 步骤 ,像这样的结构通常称为选择结构. 2.算法框图
返回
3.执行步骤的方式
每次仅能执行一个步骤.当条件为 真 时,执行步 骤 甲 ;当条件为假时,执行步骤 乙 .不能同时执行 这两个步骤,也不能一个步骤也不执行.
返回
1.顺序结构的特点: 顺序结构的语句与语句之间,框与
知识点一 第
§2 算法 框图
2.1
顺 序 结 构 与 选 择 结 构
理解教材新知


知识点二

法 初 步
的基
本结
考点一 把握热点考向 考点二 考点三 应用创新演练
构及
设计
返回
返回
2.1
顺序结构与选择结构
返回
返回
某市劳动保障部门规定:某工种在法定工作时间内,工 资为每小时8元,加班工资为每小时12元.已知某人在一周
内工作60小时,其中加班20小时,他每周收入的10%要交纳
税金.下图是计算此人这周所得净收入的算法框图.
返回
问题:上述框图中,各步之间有次序要求吗? 提示:有.按照从上到下的顺序依次执行.
返回
1.定义
按照 步骤 依次执行的一个 算法 ,称为具有“顺序结构 ”的算法,或者称为算法的顺序结构. 2.算法框图
值时,函数解析式不同,因此当给出一个自变量x的值时,必
须先判断x的范围,所以在算法框图中需要设计选择结构.
返回
3.画出求方程ax2+(a+1)x+1=0的根的算法框图. 解:算法框图如下图所示:
返回
4.根据算法框图,回答后面的问题: (1)该算法框图所解决的问题是什么? (2)当输入的x值为1时,输出的y值有多 大?要使输出的y值为8,输入的x应

计算机等级考试二级C语言高频考点(C语言部分)

计算机等级考试二级C语言高频考点(C语言部分)

计算机等级考试二级C语言高频考点(C语言部分)第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。

源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。

C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数又称主函数,是C程序的入口。

main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体。

一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。

每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。

【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。

二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。

数据的存放位置就是它的地址。

【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。

一行内可写多条语句,一个语句可写在多行上。

【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。

标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。

(2)标识符的第一个字符必须是字母或下划线,不能为数字。

C语言标识符分如下3类(1)关键字。

它们在程序中有固定的含义,不能另作他用。

如int、for、switch 等。

(2)预定义标识符。

预先定义并具有特定含义的标识符。

如define、include 等。

(3)用户标识符。

用户根据需要定义的标识符,符合命名规则且不与关键字相同。

《顺序结构》--教学设计

《顺序结构》--教学设计

《顺序结构》教学设计一、教材分析本节课是《算法与程序设计》(选修)第二章第三节的内容。

这一课时介绍了程序三种基本结构中的顺序结构。

教材选用了交换两个变量的值这个程序,个人认为这个例子典型却有一定难度,在实际教学安排时作为顺序结构的第二课时的教学内容。

这一课时本人选用一个更为简单的例子——计算图形的周长、面积并打印为主线介绍顺序结构的特点、执行过程和基本思想,并通过这个程序抽象出代码设计的四个基本部分:定义常变量、输入数据、处理数据、输出数据。

顺序结构是三种基本结构中最为简单的一种,通过这一课时的学习让学生进一步体验可视化编程的完整过程,为学生日后学习其他两种基本结构奠定基础。

二、学情分析前几节课主要介绍了VB集成开发环境(包括控件、对象、属性、事件和事件驱动机制)和VB语言基础知识(VB中的常用数据类型、变量与常量、运算符与表达式、语句与函数),学生在VB知识储备上已经十分充足,但缺乏程序设计的“实战”经验。

这节课通过解决一个具体问题,学生进一步体验可视化编程的完整过程:设计界面,编写程序代码,调试并运行程序,保存程序文件,尤其是编写和调试程序。

由于大部分学生是初次接触程序设计,而一般人对于程序设计有着“难”的偏见,因此学生既有好奇心,又有畏难情绪。

因此教师应充分了解这一点,通过简单的例子,让同学体验成功的快乐,在揭开“编程”神秘的面纱的同时,激发学生学习的积极性和对程序设计的兴趣。

三、教学目标1、知识与技能目标:★掌握顺序结构程序执行的基本思想。

★能使用顺序结构编写简单的程序解决具体问题。

2、过程与方法★通过知识点的回顾来导入新课,学生进行自主探究学习、小组合作交流学习等方式,激发学生的学习兴趣,让学生在“做中学”,既考验其动手能力和举一反三能力,又避免纸上谈兵,理解不透彻。

老师在分析一个完整的程序基础上布置难易适中的任务,在学生操作过程中巡视指导。

3、情感态度和价值观★培养学生自主探索、协作学习的能力。

C语言第二章 顺序结构

C语言第二章 顺序结构

第二章 顺序结构程序设计
程序基本结构:DICO
声明 Declaration 输入 Input int ia,ib,isum; scanf("%d%d",&ia,&ib);
计算
输出
Compute
Output
isum = ia+ib;
printf("%d+%d=%d\n",ia,ib,isum);
第二章 顺序结构程序设计
在程序语句中使用较为复杂的表达式时,请尽 量多的使用括号来保证准确的计算顺序。
第二章 顺序结构程序设计
2.7 实型数据
第二章 顺序结构程序设计
实型变量 实型变量的分类 单精度(float):占4字节,提供7位有效数字 双精度(double):占8字节,提供15~16位有效 数字 长双精度(long double)
第二章 顺序结构程序设计
其他格式符 (1)%ld,输出长整型数据 (2)%o,以八进制无符号形式输出整数。
例如:int a=65;
printf(“%o”,a);
输出结果:101
(3) x格式符,以十六进制无符号形式输出整数。 int a=255; printf(“%x”,a); 输出结果:ff
第二章 顺序结构程序设计
A+B问题:计算两个整数之和
#include <stdio.h> void main() { int ia,ib,isum; printf("input two integer please:"); scanf("%d%d",&ia,&ib); isum = ia+ib; printf("%d+%d=%d\n",ia,ib,isum); }

第二章 顺序结构程序

第二章 顺序结构程序

第二章顺序结构程序顺序结构前面的简单程序已体现出处理问题步骤、思路的顺序关系,这就是顺序结构程序。

[例1.6]交换两个变量的值:由键盘输入两个正整数A和B,编程交换这两个变量的值。

解:交换两个变量的值,可以想象成交换两盒录音带(称为A和B)的内容,可以按以下步骤处理:步骤①:拿一盒空白录音带C为过渡,先将A翻录至C;步骤②:再将B翻录至A;步骤③:最后将C翻录至B。

这样操作,可达到题目要求。

Pascal程序:Program Exam16;Var a,b,c : integer;BeginWrite(‘A,B=’);Readln(a,b);C:= A; {等价于步骤1}A := B; {等价于步骤2}B := C; {等价于步骤3}Writeln(A,B);End.[例1.7] 分钱游戏。

甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。

经上述三次分钱之后,每个人的钱数恰好一样多。

求原先各人的钱数分别是多少?解:设甲、乙、丙三人的钱数分别为A,B,C。

用倒推(逆序)算法,从最后结果入手,按反相顺序,分步骤推算出每次各人当时的钱数:(在每个步骤中,各人钱数分别存在A、B、C中)步骤①: A=8 B=8 C=8 {这是最后结果的钱数,三人都一样多 }步骤②: A=A/2 (=4) B=B/2 (=4) C=A+B+C(=16) { A,B未得到丙分给的钱时,只有结果数的一半;C应包含给A,B及本身数三者之和 }步骤③: A=A/2 (=2) C=C/2 (=8) B=A+B+C(=14) {A,C未得到乙分给的钱时,只有巳有数的一半;B应包含给A,C及本身数三者之和 }步骤④: B=B/2 (=7) C=C/2 (=4) A=A+B+C(=13)C未得到甲分给的钱时,只有巳有数的一半;A应包含给B,C及本身数三者之和 }步骤⑤: 输出A(=13)B(=7)C(=4){此时的A,B,C 就是三人原先的钱数 }Pascal程序:Program Exam17;Var a,b,c: integer;Begina:=8; b:=8; c:=8; {对应于步骤①}a:=a div 2; b:=b div 2; c:=a+b+c; {对应于步骤②}a:=a div 2; c:=c div 2; b:=a+b+c; {对应于步骤③}b:=b div 2; c:=c div 2; a:=a+b+c; {对应于步骤④}Writeln('a=',a,' ': 4,'b=',b,' ': 4,'c=',c) ; {输出} Readln细心观察,会发现本程序语句的顺序很关键。

结构化程序

结构化程序
第二章 结构化程 序基本结构
2.1顺序结构
问题: 1、c语言的运行环境? 2、此环境的运行步骤?
目的: (1)了解C语言顺序结构流程; (2)学会正确使用scanf和printf语句; (3)掌握顺序结构算法步骤; (4)进一步学习调试程序;
一、顺序结构
1、定义 :程序中出现的语句按顺序依次逐 条执行,这种结构称为顺序结构。
例1:从键盘输入两个数,并交换它们的值 步骤(1)定义变量x,y,t (2)输入x,y (3)控制语句t=x;x=y;y=t; (4)输出x,y
1.
2.
3. 4. 5.
Include<stdio.h> main() { int x,y,t; scanf(“%d%d\n”,&x.&y); t=x; x=y; y=t; ptintf(“x=%d,y=%d\n”,x,y); }
练习:从键盘输入3个数分别放在a,b,c中,并交换a和 b的值,再交换a和c的值。 main() { 定义 a,b,c,x,y; 输入a,b,c的值; 交换语句x=a;a=b;b=x; y=a;a=c;c=y; 输出a,b,c的值; }
例2 编程有选择项的菜单,如下图
------User management-----1-Add new user 2-Change user password 3-Show user information 4-Exit
2、实现功能:给变量赋值; 数据的输入与输出。
(1)、赋值语句 形式:变量=表达式;
(2)、数据输入与输出 scanf(“% ”,&变量); printf(“% ”,变量);
二、顺序结构算法步骤
#include<stdio.h> main() { 定义变量; 输入取值scanf; 控制语句; 输出变量printf; }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 顺序结构
该章内容:这章我们学习三大结构之一:顺序结构,它是程序从上往下顺序执行,是程序运行最简单的方式。printf 和 scanf 函数使用和特例是必考知识。本章是考试的重点章节。 学习方法:从简单的顺序结构题目入手,逐步把难度加大,对比记忆 printf 和 scanf 函数。
第一节 表达式与语句
2、空语句与复合语句
; 1、这个分号也是一个语句,称为“空语句” 。 “空语句”表示程序执行时不产生任何动作。注意: 随意使用空语句会导致逻辑上出现错误,需要慎用。 2、所谓复合语句,就是把好几个语句复合到一起,那么用什么符号把多个语句复合到一起来? 我们要记住是用花括号“ {”把多个语句括起来组成了一个复合语句。 复合语句具体形式:{语句 1;语句 2;…… 语句 n;}
说明: 1) 对于长整型数据的输出,一定要在%和 d 之间加上英文小写字母 l,即格式%ld。 2) 对于双精度数据的输出,一定要在%和 f 或 e 之间加上英文小写字母 l, 即格式%lf 或%le。 3) 用表 1 所列出的格式说明时,系统自动决定输出数据所占的宽度,并采用右对齐的方式。 常考题型: 例 7: 若有以下程序段(注意:n 所赋的是八进制数) int x=32767,y=032767; printf("%d,%o\n",x,y); 执行后输出结果是 A) 32767,032767 B) 32767,32767 C) 32767,77777 D) 32767,077777 分析:整型变量 x 和 y 分别存放的是十进制整数 32767 和八进制整数 32767。在 printf 语句中, 把 x 和 y 两个变量分别按%d(十进制有符号的形式)和%o(八进制无符号形式)形式输出。那么得 到的结果应该是 32767,32767,即答案 B 正确。 例 8:同例 7 相似,只是在 printf 函数中的%o 之间加上#,变为%#o。
知识点:语句和表达式之间的联系;分号的使用;复合语句 重要程度:★★★
1、表达式与语句
“ 表达式 “ X=9;
”语句 ” 。例如:
算术表达式 x+y 算术语句 x+y; 自加表达式 i++ 自加语句 i++;
从图中可以很清楚的看见,表达式和语句的区别就是一个有分号,一个没有分号。这个分号是考 试的重点,尤其是在上机考试的改错题目,最喜欢不写分号,我们要加一个分号!
2、printf 函数第二个参数讲解
printf 函数第二个参数可以是常量数据,也可以是变量,也可以是表达式。 例 4:printf("x=%d",1); 输出数据列表是常量 屏幕显示:x=1 printf("x=%d",x); 输出数据列表是变量 若 x 为 9,屏幕显示:x=9 printf("x=%d",x+y); 输出数据列表是表达式 若 x+y 为 12,屏幕显示:x=12 第二个要记住的:各个数据之间用逗号分隔开。 第三个要记住:输出数据的个数与输出控制中的格式转换说明的个数相等,并且在顺序上要一一 对应且类型匹配。注意一点:如果类型不匹配,这时系统并不报错,但不能得到正确的结果。 例 5:printf("%d,%f",9.87,2); 这里是不会报错的,但是得不到正确的结果,因为,第一个格式说明“%d”表示要把输出数据 按整数形式输出,而它对应要输出数据却是实数 9.87,对应出错了。第二个格式说明“%f”是要把输 出数据按实数形式输出,而第二个要输出的数据却是整数 2,显然不匹配。 在输出控制中,格式说明的个数(也就是第一部分%d 的个数)应与第二部分输出项的输出数据 个数相同。 情况一:格式说明的个数 < 输出项的个数。处理方式:多于的输出项不予输出; 情况一的例子:printf("%d,%d",2,3,4);的输出结果为 2,3。数据 4 不会被输出。 情况二:格式说明的个数 > 输出项的个数,处理方式:对多于的格式说明将输出不定值。
输出数据格式 输出单精度或双精度数且小数点后有 6 位小数数位 输出一个字符 输出八进制无符号形式整型数(不带前导 0) 输出十六进制无符号形式整型数(不带前导 0x 或 0X) 输出八进制无符号形式整型数(带前导 0) 输出十六进制无符号形式整型数(带前导 0x 或 0X) 输出无符号的十进制整数 以[-]m.dddddexx 或[-]m.dddddeXX 的形式输出单精度或双精度数。d 的个数 由精度决定。系统隐含的精度为 6, d 的个数隐含为 5。
3
int x=32767,y=032767; printf("%d,%#o\n",x,y); 那么该例子得到的结果为:32767,032767, 可以看到%o 与%#o 之间的区别。就是一个不要输 出八进制中前导的 0,而另外一个是要输出前导的 0。 例 9:若有以下程序段 int i=0xabc,j=0xabc; i-=j; printf("%X\n",i); printf("%#X\n",i); 执行后输出结果是 A) 0X0 B) 0x0 C) 0 D) 0XABC 0 0 0x0 0xABC 分析:第一行:整型变量 i 和 j 里面存放的都是十六进制整数 abc。第二行:执行 i-=j;语句,i 值 变为 0。第三行:在 printf 语句中,把 i 存放的整数 0 以%X(十六进制无符号形式)形式输出,得到 的结果是 0,第四行:把 i 存放的整数 0 以%#X 形式输出,得到的结果是 0x0。所以正确答案是 C。 例 10: 若变量 a,b 已定义为 int 类型并赋值 22 和 66, 要求用 printf 函数以 a=22,b=66 的形式输出, 请写出完整的输出语句______。 分析:根据题目要求,变量 a、b 要求以 int 类型输出,从表 1 中可知:输出时应使用格式说明 %d 来对应整型,同时输出的形式为 a=21,b=55,那么也就是有一部分的内容要原样输出。这些内容是 “a= ,b=” ,所以在输出控制的双引号内,我们写上代码“a=%d,b=%d” 。最后,整个需要输出语句为: printf("a=%d,b=%d",a,b); 重要说明: (考得很少) 1) 在%和格式字符之间加入一个整数来控制输出数据所占的宽度,如%5d, 情况一:整数指定的宽度大于实际输出数据的宽度。处理方式:数据的输出采用右对齐的方式, 左边自动补空格; 情况二:整数指定的宽度小于实际输出数据的宽度。处理方式:以输出数据的实际宽度输出。 表 2 举例说明了未指定宽度和指定宽度时的对比结果。
4
情况二: 当实际输出数据的小数个数 < “整数 2” 指定的个数时。 处理方式: 在小数的右边添 0 补 足。 重要的一句话:碰到“整数 1.整数 2”形式,首先用“整数 2”处理小数部分,处理完后,在用 “整数 1”处理整个数据,包括已经处理好的小数部分。
表 3 “%整数 1.整数 2f”的输出格式(“ ”代表空格)
表 4 输出的八进制数、十六进制数前分别添加 0、0x
输出语句 printf("%o",254); printf("%#o",254); printf("%x",254); printf("%#x",254);
输出结果 376 0376 fe 0xfe
其它使用说明: ,即“%%”来表示,也就是要 1) 输出“%”字符的方法,应该在格式控制中用两个连续的“%” 在格式控制中出现两个连续的“%” 。 例 11:printf("%%d",255);不会输出整数 255。因为“%%”的意图是要输出一个“%” ,这个时候 “d”会当作一个字符按原样输出。同时,由于这时因为没有格式说明,整数 254 无法输出到屏幕上。 输出到屏幕上的结果为“%d” 。 例 12:printf("%%%d",255); “%%”意图输出一个“%”,后面的“%d”是格式说明,对应后面 的 255。那么这个时候输出的结果是为%255。 2) 注意格式说明会导致结果不同。 printf(“%d”,65); 把 65 以整型输出,得到结果是 65。 printf(“%c”,65); 把 65 以字符形式输出,得到结果是大写字母 A。 3) int 的输出的格式说明:%d float 输出的格式说明:%f char 输出的格式说明:%c 字符串输出的格式说明:%s double 输出的格式说明:%lf long int 输出的格式说明:%ld
输出结果
625 1.250000 1.250000 1.250000
说明:在输出时,小数点占一位,对于 float 和 double 类型一定要保证小数后是六位,不足的补 0。 2) 在%和格式字符 f 之间加入“整数 1.整数 2”来控制输出数据的格式时,如%3.2f。 “整数 1”指定整个输出数据占的总宽度。 “整数 2”指定输出实数的小数部分的个数。 情况一:当实际输出数据的小数个数 > “整数 2”指定的个数时。处理方式:截去多余的数据, 并对截去的第一位小数做四舍五入处理。
3、顺序结构
程序中的多个语句按照语句从上往下出现的先后次序顺序逐条执行,这种执行方式是最基本的执 行方式,称为顺序结构,是三大基本结构之一。 记住一句话:看到顺序结构就想到从上往下。
1
第二节 数据输出
考 点:pirntf 函数的使用;printf 两个参数的使用方法;格式说明符号对应的意思;
重要程度:★★★★(每年必考)
2
情况二的例子:printf("%d,%d",2);的输出结果为 2,772。第二个数据是不定值。 例 6:有以下程序(常考题型) main( ) { int a=888,b=999; printf("%d\n",a,b); } 程序运行后的输出结果是 A)错误信息 B)999 C)888 D)888,999 分析: 在 printf 语句中, 格式控制的格式说明只有一个 “%d” , 但是而输出列表项有两项 “888,999” , 即 a 和 b。由于只有一个%d,输出的结果只有一个,即 printf 函数的第二部分中第一个出现的变量 a 的值。则正确的答案是:C。
相关文档
最新文档