第二章顺序结构程序设计

合集下载

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

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

一、实验准备实验准备实验准备实验准备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语言程序设计教程第2章程序流程

C语言程序设计教程第2章程序流程
画出
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计

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); }

实验二-顺序结构程序设计

实验二-顺序结构程序设计

实验二顺序结构程序设计2.1实验要求与目的1.掌握程序设计的基本思想2.熟悉及掌握C语言基本数据类型(int,long,float,double)的说明3.掌握C语言程序设计中格式输入和输出函数的灵活应用4.算术表达式在实际问题中应用5.掌握算法:两数的交换、一个整数的拆数6.数学头文件的包含7.格式输入/输出函数scanf/printf的正确使用2.2 实验指导程序设计的学习过程也是算法积累的过程。

算法是在有限步内求解某一问题所使用的基本运算及规定的运算顺序所构成的完整的解题步骤。

也就是说是计算机解题的过程。

程序设计的基本思想:1)分析问题,理解题意、提出问题;2)建立模型,确立算法,寻找解决问题的有效算法或直接公式;4)编写程序,根据C语言程序结构编程;5)调试程序,若结果正确,结束。

否则检查程序,修改程序,重新调试程序,依次类推,直到调试结果正确为止。

初次自已动手编程,先要建立程序设计的基本思想,结构化程序设计的基本思想就是模块化。

即构成C语言程序的基本单位是函数,函数也是C程序中模块化程序程序设计的基础。

我们将程序设计比拟成“搭积木”,每个模块或每个算法都看成是一个形状及功能不同的“积木”,然后根据设计要求取材,搭建成完美的成品。

C语言是有且仅有一个主函数和若干个子函数组成。

从一个简单的程序设计开始学习,即先学习主函数(main)模块框架。

主函数(main)模块的基本框架设计。

#include <stdio.h>int main(){ 所有数据的数据类型定义说明;数据输入;算法或公式;数据输出;}首次编程,先来熟记2个编程时常用提示信息。

1) 每条语句之后必须有分号“;”。

若程序语句的某一条漏写了分号,在编译时会报如下的错误:error C2146: syntax error : missing ';' before identifier 'scanf'含义: C2146错误:语法错误: 标识符 “scanf” 之前缺少“;”。

顺序结构程序设计实训报告

顺序结构程序设计实训报告

顺序结构程序设计实训报告一、引言计算机编程是当今社会中普及的一项技能,对于想要从事软件开发等IT行业的人士来说,掌握编程技能是必不可少的。

而要成为真正的程序员,需要具备良好的程序设计能力,尤其是顺序结构程序设计能力。

顺序结构程序设计是基础,也是必修课程中重要的一部分,正是我们本次实训所涉及的内容。

本文将详细介绍本次实训的具体内容、设计思路和实现过程,同时也会对遇到的问题及解决方案进行说明,希望能对学习者有所帮助。

二、实训内容本次实训的主要内容是制作一份简单的学生信息管理系统,其中包含对学生信息的添加、删除、修改和查询操作。

具体实现的功能如下:1.添加学生信息:用户通过键入学生的姓名、性别、年龄等信息来添加学生信息。

添加成功后,会提示用户添加成功,并返回主菜单。

2.删除学生信息:用户可以通过学生的学号或姓名来删除指定的学生信息。

删除成功后,会提示用户删除成功,并返回主菜单。

3.修改学生信息:用户可以在程序中选择要修改的学生信息,并修改学生的各项信息。

修改成功后,会提示用户修改成功,并返回主菜单。

4.查询学生信息:用户可以通过学生的学号或姓名来查询指定的学生信息。

查询结果将显示在屏幕上,并在查询完毕后返回主菜单。

三、设计思路本次实训主要是基于顺序结构程序设计的实现,因此我们需要明确四个基本元素:输入、输出、处理和控制。

在程序中,数据的输入主要是通过键盘录入来完成,而输出则是通过屏幕输出来呈现给用户。

程序中的处理部分是指对输入的数据进行操作和计算的过程,而控制部分则是指控制程序的运行流程和调用相应的处理程序。

为了更好地进行程序设计,我们还需要明确程序的整体架构和功能模块,具体如下:1.主菜单:程序一开始会输出主菜单,用户可以选择对应的功能模块来进行操作。

2.添加学生信息:当用户选择添加学生信息时,程序会提示用户输入学生的相关信息,然后将新的学生信息保存至文件中。

3.删除学生信息:当用户选择删除学生信息时,程序会提示用户输入需要删除的学生学号或姓名,并将指定学生的信息从文件中删除。

第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

第二章程序的灵魂——算法

第二章程序的灵魂——算法

S1: 1 i;
S2: 如果gi80,则打印ni和gi,否则不打印。 S3: i+1 i; S4: 如果i50,返回s2,继续执行,否则算法结束。 本例中,变量i作为下标,用它来控制序号(第几个
学生,第几个成绩)。当 i超过50时,表示已对50 个学生的成绩处理完毕,算法结束。
例4
判断2000年---2500年中的每一年是否闰 年,将结果输出。
束。最后得到的p就是5!的值。
例2.求1×3×5×7×9 ×11
• 如果题目改为求1×3×5×7×9 ×11。 上述算法稍作改动: s1: 1 p; s2: 3 i; s3: p ×i p; s4: i+2 i s5: 若i11,返回s3;否则,结束。
求1×3×5×7×9 ×11
可以看出,用这种方法表示的算法 具有通用性、灵活性。S3到s5 组成一个 循环,在实现算法时,要反复多次执行 s3、s4、s5等步骤,直到某一时刻,执 行s5步骤时经过判断,乘数i已超过规定 的数值而不返回s3步骤为止。
•N-S流程图适于结构化程序设计
顺序结构程序设计
•依次顺序执行程序语句 执行a块 执行b块
先执行a操作,再执行b操作
判别选择结构程序设计
满足条件否
满足
不满足
执行a块 执行b块
•当条件成立,执行a操作,当条件不成立,执行b操作。 a,b操作允许空操作,即什么都不做。注意选择结构 是一个整体,代表一个基本结构。
买电视机的步骤:
选好货物 开票 付款
拿发票
取货
回家
考大学上大学的步骤
填报名单 交报名费
拿准考证
参加考试
报到注册
得到录取通知书
2.2、 简单算法举例

第二章 顺序结构程序设计

第二章 顺序结构程序设计

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

C语言程序设计习题集第2章-(答案)基本数据类型及顺序结构程序设计

C语言程序设计习题集第2章-(答案)基本数据类型及顺序结构程序设计

word格式-可编辑-感谢下载支持第2章基本数据类型及顺序结构程序设计一、选择题1、以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定2、以下选项中不合法的标识符是(C)A)print B)FOR C)&a D)_003、可在C程序中用作用户标识符的一组标识符是(A)A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Big14、以下选项中不属于字符常量的是(B )A)'C' B)"C" C)'\xCC0' D)'\072'5、以下选项中,合法的一组C语言数值常量是(B)A)028 B)12. C).177 D) 0x8A.5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e56、以下正确的字符串常量是(A)A) "\ \ \" B) ' abc ' C)Olympic Games D) ""7、下列定义变量的语句中错误的是(D)。

A)int _int;B)double int_; C)char For;D)float USS8、下列变量定义中合法的是(A)。

A) short _a=1.le-1;B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1e-3;9、以下定义语句中正确的是(C)A)int a=b=0 ; B)char A=65+1,b='b';C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;10、设有说明语句:char a=’\72’;则变量a(A)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

程序设计基础(2)顺序结构和分支结构

程序设计基础(2)顺序结构和分支结构
例如,将a、b中的小数,放入Min Min=IIf(a<b,a,b)
25
思考 下列程序的运行结果是?
a=1 b=3 b = IIf(a = b, b + 1, b - 1) MsgBox ( b)
2
26
6. Select Case语句
格式:
Select Case <测试表达式> Case< 表达式值1> <语句块1> Case< 表达式值2> <语句块2> …… [Case Else 语句块n+1]
privatesubbutton1clickdimcjasintegercjinputbox请输入您的考试成绩selectcasecjcaseis90msgbox您的考试成绩为a级caseis80msgbox您的考试成绩为b级caseis70msgbox您的考试成绩为c级caseis60msgbox您的考试成绩为d级caseelsemsgbox您的考试成绩为f级endselectendsub
5
一、顺序结构
表达式中的变量必须是赋过值的,否则变量的初值 自动取零值(变长字符串变量取空字符)。
Dim a as integer, b as integer, c as Integer
a=1
c=a+b+3
′b未赋过值,为0
执行后,c 值为 4
赋值语句跟数学中等式具有不同的含意,例如
x=x+1
End Sub
22
4.If...Then ...ElseIf语句(多分支结构)
If<条件1>Then <语句块1>
ElseIf <条件2>Then <语句块2>

C语言实验报告-实验2 顺序结构程序设计

C语言实验报告-实验2 顺序结构程序设计

实验2 顺序结构程序设计一、实验目的1. 学会使用自然语言或伪代码描述算法2. 掌握变量、运算符、表达式的使用3. 熟悉顺序结构程序中语句的执行过程4. 掌握标准输入流对象cin及标准输出流对象二、实验内容编写程序在屏幕上显示如图2-1所示的菜单。

图2-1 学生选课管理系统主界面实验步骤:范例:1)在VS2008中新建项目,在项目中新建C++源文件,输入下面程序,并且编译、连接。

//***************************************************************//* 程序名:实训2_1.cp *//* 主要功能: *//* 显示主菜单,并获取用户输入的模块编号 *//***************************************************************#include <iostream> // 包含输入输出接口文件using namespace std; // 引用标准命名空间void mainMenu();int main() // 定义主函数{ // 主函数开始mainMenu();return 0;}void mainMenu(){system("cls");cout<<"\n\n\n\n\n";cout<<"\t\t|---------------学生选课系统(学生版)------------|\n";cout<<"\t\t|\t 0. 退出 |\n";cout<<"\t\t|\t 1. 学生信息管理 |\n";cout<<"\t\t|\t 2. 教师信息管理 |\n";cout<<"\t\t|\t 3. 课程信息管理 |\n";cout<<"\t\t|\t 4. 学生选课管理 |\n";cout<<"\t\t|\t 5. 学生成绩管理 |\n";cout<<"\t\t|\t 6. 信息统计模块 |\n";cout<<"\t\t|-----------------------------------------------|\n\n";cout<<"\t\t\t请输入模块编号(0-6):";}2)运行范例所示程序,观察输出结果实训1要求编写程序在屏幕上显示如图2-2所示的菜单。

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); }

全国计算机等级考试二级c语言公共基础知识总结

全国计算机等级考试二级c语言公共基础知识总结

全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。

特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第—章顺序结构程序设计教学时间:6学时教学目的:1、掌握常量与变量的书写和定义2、掌握三种基本数据类型3、掌握运算符和表达式的使用内容、重点、难点:内容:2.1 常量和变量2.2 整型数据2.3实型数据2.4字符型数据2.5变量的初始化2.6运算符和表达式重点:1、三种基本数据类型的定义和使用2、各种运算符的使用难点:1、运算符的使用2、使用顺序结构编程顺序结构是一组按书写顺序执行的语句。

本章将主要介绍程序中用到的一些基本要素(常量、变量、运算符、表达式和输入输出语句等),以及基本的数据类型(整型、实型和字符型)2.1 常量和变量2.1.1常量1)常量:在程序运行的过程中,其值不能被改变的量。

如2、4、-1.6 等。

2)分类:普通常量和符号常量3)符号常量:用一个标识符代表一个常量,这样的标识符称为符号常量。

如用P I代表3.14159264)注意:符号常量的值在其作用域内不能改变,也不能再被赋值。

如在程序中,对P I重新赋值:PI= 2;这样是不允许的。

2.1.2 变量1)变量C语言规定在程序运行的过程中,其值可以改变的量,称为变量。

2) 标识符:用来标识变量名、符号常量名、函数名、数组名、类型名和文件名的有效字符序列。

3) C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。

一般变量名的长度不能超过8 个字符。

如下面是合法的标识符,也是合法的变量名:sum,average,day ,month ,student ,_above,k_1_2_3 ,basic 下面是不合法的标识符和变量名:M.D.John ,$123 ,#33,3D64,a>,-ab在C语言中,要求对所有用到的变量作强制定义,也就是〃先定义,后使用〃。

2.2 整型数据2.2.1 整型常量C语言整型常数可用以下三种形式表示:1. 十进制整数:数码直接开头的十进制数。

2. 八进制整数:以0 开头的常量是八进制数。

3. 十六进制整数:以0x 开头的数是16 进制数。

2.2.2 整型变量1. 整型变量的分类整型变量可分为:基本型、短整型、长整型和无符号型四种,其定义的关键字如下:(1)基本型,以int表示。

范围为-32768〜32767,即-215〜(215-1 )。

( 2)短整型,以short int 或short 表示。

范围与基本型相同。

(3)长整型,以long int或long表示。

若一个整型常量后面加上一个字母I或L,则认为是long int 型常量。

范围为-2147483648〜214783647 即-231〜(231-1)(4)无符号型,在实际应用中变量的值常常是正的,如年龄、工资、成绩等,因此可以将变量定义为〃无符号〃类型。

无符号型又分为:①无符号整型, 以unsigned int 或unsigned 表示。

范围:0〜65535 即0〜(216-1 )。

②无符号短整型,以unsigned short 表示。

范围:0〜65535即0〜(216-1)。

③无符号长整型,以unsigned long 表示。

范围:0〜4294967295 即0〜(232-1)。

2. 整型变量的定义变量的定义格式为:数据类型变量表列;其中若定义多个同类型的变量,则用逗号分开。

例:int a,b ;(指定变量a,b 为整型)unsigned short c,d ;(指定变量c,d 为无符号短整型) long e,f ;(指定变量e,f 为长整型) 3. 整型数据的输入整型变量键盘输入,是通过scanf函数实现的,seanf函数是数据输入函数,格式为:scanf (格式控制,地址表列);例如:scanf ("% d % d" ,& a,&b);(1 )格式控制是用双引号括起来的字符串,由〃%〃和格式字符组成,作用是将输入数据转换为指定的格式输入。

(2)格式字符,对于不同的数据用不同的格式字符。

d 格式符是用来输入十进制整数的。

因为本节问题中变量a, b 是整型变量,所以输入时,用了 d 格式符。

(3)&a,&b中的"&"是"地址运算符",&a是指a在内存中的地址。

上面seanf函数的作用是:将a、b的值放到a, b在内存的地址单元中去。

所以,在该问题中,若输入: 3 5 / 则输出结果为a+ b= 84. 整型数据的输出整型数据的输出用printf 函数来实现。

如printf(" a+b=%d",c);printf 函数的格式为:printf (格式控制,输出表列) ;(1)格式控制和输入函数sea nf的格式控制基本一致。

(2)输出表列是需要输出的数据或表达式。

(3)在输出整型数据时,格式字符如下:①%d,按整型数据的实际长度输出。

②%md , m为输出字段的宽度,如果输出数据的位数小于m则左端补以空格,若大于m ,则按实际位数输出。

例如printf ( "% 4d,%4d" ,a,b);若a= 123, d = 12345,则输出结果为V123,12345 (注:V表示空格字符,下同)③%ld,输出长整型数据。

如long a= 135790;printf ( " %8ld" ,a);输出结果为:VV135790一个int型数据可以用%d或%ld格式输出。

④%u,输出unsigned型数据,即无符号类型,如unsigned u ;那么u在输出的时候,应该用u 格式控制符,那么输出时应使用语句:printf (" %u" ,u);例 2.1 从键盘输入任意一个整数,输出这个数的平方的值。

main( ){ int a;long s;scanf(" %d" ,&a);s= a*a;printf( " s=% ld\n " ,s);}2.3 实型数据2.3.1 实型常量实数在 C 语言中,又称浮点数。

实数有两种表示形式:1.十进制数形式。

由数字和小数点组成(注意必须有小数点)。

2 •指数形式。

但注意字母 e (或巳之前必须有数字,且e后面指数必须为整数,如e3、2.1e3.5、.e3、e都不是合法的指数形式。

2.3.2 实型变量在本节问题中,已知两个数是实数,那么两数之和与积也必定为实数,所以需要设四个实型变量,分别为a,b,sum,mul 。

定义语句为:float a,b,sum,mul ;C实型变量分为:1. 单精度型(float 型)一个float型数据在内存中占4个字节(32位),在TURBO C中,单精度实数的范围约为—1038〜1038之间并提供7位有效位;小于10-38 的数被处理成零值。

2. 双精度型(double 型)一个double 型数据在内存中占8 个字节,双精度实数的数值范围约为—10308〜10308。

并提供15〜16位有效位,具体精确多少位与机器有关;小于10-308的数被处理成零值。

2.3.3 实型数据的输入和输出1. 实型数据的输入实型数据的输入也用seanf函数实现的,格式符使用的是f字符,以小数的形式输入数据, 也可以使用 e 字符,以指数的形式输入数据。

如本节问题中的scanf(〃%f%f',&a,&b);2. 实型数据的输出实型数据的输出用printf函数实现,格式符使用f字符,以小数的形式输出数据。

输出时应(1)%f:不指定字段宽度,整数部分会全部输出,并输出6位小数。

(2)%m.n :指定输出数据共占m列,其中有n位小数。

如果数值长度小于m,则左端补空格。

(3)%—m.n :指定输出数据共占m列,其中有n位小数。

如果数值长度小于m,则右端补空格。

(4)若是双精度型变量输出时应用%lf格式控制,如double f;输出时应使用语句:printf (〃%lf〃,f);2.4 字符型数据2.4.1 字符常量1. 字符常量C语言的字符常量是用一对单引号括起来的单个字符。

^ 口:’ a'、b '、X'、D'、’?’、$' 等都是字符常量。

2. 转义字符除了这样的字符常量外, C 语言还允许用一种特殊形式的字符常量,就是以一个开头的字符序列•例如,前面已经用到,在printf函数中的’\n ',它表示一个"换行"符。

例 2.2 字符常量的输出。

main ( ){printf (" ab c\n\tde ");}运行结果: ab cde2.4.2 字符变量在本节问题中,设了两个字符型变量cl和c2。

定义形式如下:char c1,c2;它表示cl和c2为字符型变量,各可以放一个字符。

可以用下面语句对c1= ' ac1,c2 赋值: ' ;; c2= ' b';因此在内存中一个字符变量只占一个字节。

2.4.3 字符数据的存储形式字符在内存中存储的不是字符本身,而是它的ASCII码,例如字符'a '的ASCII码为97, 'b'的ASCII码为98。

那么字符的存储形式与整数的存储形式是类似的。

C语言使字符型数据和整型数据是通用的。

例 2.3 main (){char a1,a2;a1 = 97; a2 = 98;printf ( " %c %c\n" ,a1,a2);printf ( " %d %d\n" ,a1,a2);}程序运行时输出如下:a b97 98字符型数据和整型数据是通用的,但应该注意字符数据只占一个字节,它只能存放0〜255范围内的整数。

例 2.4 大小写字母的转换。

main ( ){char a1,a2;a1=' a';a2='ba1= al - 32; a2 = a2 —32;printf (” %c %c\n" ,a1,a2);}运行结果为:A B程序的作用是将两个小写字母a和b转换成大写字母A和B。

’ a'的ASCII码为97,而’A' 为65,' b'为98, 'B'为66。

从ASCII码表中可以看到每一个小写字母比它相应的大写字母的ASCII 码大32。

2.4.4 字符型数据的输入和输出1 .getchar 函数和putchar 函数例 2.5 #inelude " stdio.h"main ( ){char c;c= getchar ();putchar (c) ;} 在运行时,如果从键盘输入字符' a'a/ (输入’a'后,按回车键)a (输出变量c 的值' a')注意:getchar ( )只能接收一个字符。

相关文档
最新文档