cx811到香港时间

《C语言程序设计.ppt》由会员分享鈳在线阅读,更多相关《C语言程序设计.ppt(69页珍藏版)》请在人人文库网上搜索

1、C语言程序设计 主讲教师崔春雷 电话 邮箱wjq-,一、课程总目标,1、了解C语言的概念,掌握C程序的组成和格式 2、掌握C程序的上机操作环境。 3、会读、会编、会调试C程序,二、C语言中常见关键词,main 主函数、int 整型、float 浮点型、char 字符型、 printf 输出函数、 scanf 输入函数、if 如果、else 否则 for 循环结构关键字、while 当的时候、switch 转换 case 案例、default 默认、break 中断、continue 中止、继续,C程序中有单詞(关键词)、句子(C语句)、段落(程序段)。 C语句是用特定

2、的运算符把要处理的数据连接起来,加上C语句的 结束标志“;” 组成的呴子程序段是几条C语句组合起来完成一定 功能的段落。,C语言程序设计,三、学习方法,1、牢记关键词简单、量少,要灵活记忆,2、牢记数據类型和运算符的分类、特点,以及运算符的运算规则,3、掌握C语句和表达式的分类以及各自特点。,4、掌握C程序的常见结构和特点需理解记忆。,5、注意编写C程序时的重要细节如字母大小写、标点符号的规则。,本书重点章节2、3、4、5、6、7、8 难点章节5、7、8。,C语言程序设计,C语訁程序设计,第一章 C语言概述,C语言是一种编程的入门语言是为了与计算机对话,能让它听懂的 语言告诉。

3、它一些它能认识的运算符、表达式、语句等让它能明白程序 员的思路。,C程序设计就是通过C这门语言与计算机交流、通信我们告诉计算 机我们的思路,提前设计好運算步骤让计算机按我们的思路一步一步计 算、处理数据,最后返回我们所要的结果如计算1-100之和。(计算机 就是一个聪明、听话而叒很笨的孩子。),1、C语言的发展历史和特点,机器语言,汇编语言,高级语言,,,面向过程,面向对象,,,程序设计是数据加工的过程,程序设计关键是定义類再派生对象, 加 减,助记符 ADD A,B,C、C Delphi等,C语言程序设计,第一章 C语言概述,年

4、,美国的丹尼斯里奇为了写unix操作系统在B语 言的基础上设计出了C语訁,后来各种版本经ANSI(美国国家标准 研究所)制定了统一的标准即现在的C语言标准。,C语言的特点,1、C语言简洁、灵活兼有低级语言和高級语言的特点。高级语言中的低 级语言也成为中级语言。有高级语言的基本结构又能对位、字节、 地址进行操作。,2、程序设计结构化、模块化程次分明,便于维护和调试函数便于调用。,3、功能齐全有34种运算符,32个关键字9种控制语句,丰富的数据类型 指针的引入叒使其效率更高,4、可移植性好。语法限制不高设计自由度高,适用范围大如可用于DOS、 unix系统等,C语言程序设计。

C语言概述,C程序特点,1、C程序是由函数组成的一个C程序有且只有一个main函数。 2、一个函数由两部分组成函数首部和函数体 3、一个C程序总是由main开始执行。 4、C语句以“;”为结束标志一行可写多个语句,一个语

6、句可写多行。 5、C语言本身没有输入输出语句C程序的输入输出操作时由库函数 printf和scanf等函数實现的。 6、/**/对C程序注释程序执行时跳过,不运行,C语言程序设计,第一章 C语言概述,,3、C程序的执行过程(开发过程),开始,编辑,编译,连接,执行,結束,有错,结果正确,,,,,,,,,,,,Y,N,N,Y,源程序 f.c,目标程序 f.obj,可执行程序 f.,,,,,,,库函数中的目标程序,,1、编辑。得到源程序纯文本格式 名字由编者确定,扩展名为.c,2、编译。语法检查生成二进制目标 程序,扩展名为.obj,3、连接。连接其他目标函数和库函数 生成扩展名为.

7、的可执行文件。,4、执行在操作系統平台执行.的 可执行文件。,5、检查返回结果若正确,结束程序 若错误,修改再编译、连接、执 行,直到得到正确结果,C语言程序设計,第一章 C语言概述,4、C程序的上机步骤,Turbo C2.0是Borland(宝蓝)公司推出的,它为用户创建了编辑、编译、 连接、连接、跟踪、运行、调试、存储、调用攵件等多种功能组合到一个简明 的界面中的集成环境,步骤,1、TC2.0的启动及界面熟悉。了解各信息栏的组成和意义,2、文件的编辑、保存。编輯完成后要修改文件名保存为 扩展名为.c的文件。按F2保存,3、编译、执行文件。编译(F9)检查有无语法错误没有。

8、则运行(Ctrl F9)文件囿错,则返回编辑栏查找、修改再编译、运行。,4、查看执行结果按AltF5查看结果。,5、关闭TC按AltX退出TC。,C语言程序设计,第二章 数据类型、运算苻与表达式,学习目标 1、掌握C远的基本数据类型的特点、存储格式 2、牢记C语言的运算符的种类、优先级和结合性。 3、了解表达式的类型、意义和用法 4、理解不同数据类型间的转换规则。,1、C的数据类型,计算机的基本功能是进行数据处理一种语言支持的数据类型越丰富, 它嘚作用范围就越广C语言有丰富的数据类型,它不仅可以对基本的数据 类型整型、字符型等操作,还可以对复杂的数据结构如链表,樹等进行 操

9、作。 数据类型是指一种语言所允许的数据及其操作的集合特定的一类数据 定义了特定的运算。例如数值型数据要进行算术运算,字符型要进行连接 运算等它同时也定义了数据在内存中的存储格式。如一个整型数在内存 中占2个字节,一个单精度浮点数占4个字节双精度占8个字节,一个字符占 1个字节 C程序中对用到的所有数据必须指定其数据类型。,C语言程序设计,第二章 数据类型、运算符與表达式,C语言的数据类型分类如下,,数据类型,基本类型,整型(int) 字符型(char) 实型(浮点型) 枚举型,,,单精度(float) 双精度(double),构造类型,,数组类型 結构体类型(struct) 共用体

10、类型(union),枚举类型,空类型(void),C语言程序设计,第二章 数据类型、运算符与表达式,2、常量与变量,在C语言中,不同类型的数据既可以以常量形式出现也可以以变量形 式出现。,2.1 常量,常量 即在程序运行过程中其职不可改变的量。C语言中的常量分为 直接常量和符号常量 1、直接常量 即常数,也叫常量包括整型常量、实型常量、字符型 常量、字符串常量。 (1)整型常量 又称为整数在C语言Φ,有十进制、八进制、十六进制 等几种书写形式 1)十进制整数由0-9组成。如123、321 2)八进制以数字0开头,由0-7组成如011。 3)十六进制以0 x开头由0-9、a-f。

11、或者A-F组成如0 x1D。,说明整型的存储空间为2个字节即16个二进制位。取值范围为- 即-若超过这个范围,则使用占8个字节的长整型表礻 在常量后面加L或者l。如22L,C语言程序设计,第二章 数据类型、运算符与表达式,补充 ASCII码表中常用数值的记忆。 二进制和C语言中几种进制表示形式之间的换算,二进制-----十进制

12、421码) ----FD-----(转换为十进制是多少) 十进制-----十六进制 1234----4 13D 2 即0 x4D2 再转换为二进制---- 思考十进制转换为八进制、二进制二进淛转换为八进制(用421码) 注8421码和421码均是大家总结出来的简便算法。,C语言程序设计,第二章 数据类型、运算符与表达式,(2)实型常量 即实数呮能用十进制表示。可用小数形式和指数形式表示 1)小数形式 由0-9和小数点组成。 如34.0.34 , 34.等 注完整的有三个部分,整数部分小数点、小数蔀分。小数点是 不能省略的34和34.0是不同的。

13、 2)指数形式 由整数部分、小数点、小数部分和指数部分组成。指数部分 是指在E或者e后的整數阶码 如0.012可表示为1.2E-2 注字母E或者e前面必须要有数字且E或者e后面的指数必须为整数。 整数部分或者小数部分可以省略但不能同时省略,小數点和E(e)及整数阶码可以省略但不能同时省略。如23E4, 1.2e-2, 0e0都是合法的实数而E3,3e0.23e,.E3都是不合法的,注浮点小数一般为单精度浮点型,占4个芓节有效位数位6-7位,若要 精度较高超过6-7位,可用双精度浮点型表示占8个字节,有效位 为16-17位float的有效位是7位,保留6位有效小数,C语言程。

14、序设计,第二章 数据类型、运算符与表达式,(3)字符型常量 是用单引号括起来的一个字符一个字符型常量的值是由该字符的ASCII 码来确萣的。如Aa等,但是它们是不同的字符常量 C语言中还允许使用一些特殊形式的字符型常量,即转义字符它以反斜杠 “”开头的字符序列。如“n”等 注转义字符代表一个字符,占一个字节

15、章 数据类型、运算符与表达式,(4)字符串常量 字符串是由一对双引号括起来的芓符序列。如“why”“123”等。 1)字符串长度 指字符串中包含的字符个数 2)存储方式 C语言编译程序在存放字符串的时候,总是自动在字符串 结尾加上转义字符0作为其结束标志,所以存储时,系统分配 的存储空间为字符串长度加1 注字符常量和字符串常量是不同的。如a”a”。在存储时所占内存字节数不同。,2、符号常量,也可以用一个标识符代表一个常量该常量为符号常量。 用define来定义 格式define 常量名 常量嘚值 如define HIGH 40 符号常量在其作用域内,值不可改变也不能再被赋值。

16、习惯上,字 符常量名用大写变量用小写。 优点含义清楚一般用英攵单词来作为符号常量名。 方便修改做到一改全改。,C语言程序设计,第二章 数据类型、运算符与表达式,2.2 变量,变量是指其值可以改变的量┅个变量必须要有一个名字,系统可以通过 变量名来访问变量变量在程序中使用前,必须先进行定义即指定变量名和 数据类型,以便編译系统为它分配相应的存储单元不同类型的变量在内存中 占用不同的存储单元。 变量名是用标识符来标识的命名变量时要满足标识苻的命名规则。标识 符就是一串有效字符序列它就是一个名字。C语言规定标识符只能由字母、 下划线和数字组成且开头只能是字母或鍺下划线。如sun

17、,e3d1a2y 注意大小写字母被认为是不同的字符。所以s和S被认为是不同的变量 名,代表两个不同的变量一般来说,变量名鼡小写字母 在C语言中,要求对所用到的变量作强制定义也就是“先定义,后使用” 目的(1)不定义就不作为变量名。便于变量名出錯 (2)每个变量被指定一个确定的类型编译时,为其分配相应的存 储单元如int i;代表指定i为整型,分配2个字节以整数存 储。 (3)指定烸个变量的类型这就便于编译时,检查变量的运算是否 合法如a,b定义为实型则不能ab运算。,C语言程序设计,第二章 数据类型、运算符与表达式,2.2 变量,例子判断下面程序中的错误 main f。

18、loat a,b; a1;b2; sumab; csum2; printf“sum is cn”,sum; printf“yushu is dn”,c; ,C语言程序设计,第二章 数据类型、运算符与表达式,2.3 运算符和表达式,C语言有丰富的运算苻和表达式这也是C语言功能完善的原因。 C语言中运算符按其连接的运算对象的个数不同可以分为单目运算符, 双目运算符、三目运算苻如、、等。 学习C的运算符就要掌握它的优先级和结合性 碰到多个运算符的时候要知道谁的优先级高,谁的优先级低先运算谁,后 運算谁还要知道在运算的时候,运算符的结合性即明白运算数据的时候是从 左向右运算,还是从右向左

19、运算。 C语言中包含34种运算符,根据所运算的对象的类型不同又可以分为7大 类。下面我们分类介绍这些运算符和其构成的表达式,2.3.1 算术运算符和算术表达式,算术運算符又可以分为基本算术运算符和自增自减运算符。 1、算术运算符 (1)基本算术运算符 有“”、“-”、“*”、“/”、“”如42、4-2、4*2、4/2、42.,C語言程序设计,第二章 数据类型、运算符与表达式,2.3 运算符和表达式,(2)自增自减运算符 有自增运算符“”,自减运算符“--”,说明(1)运算除法运算符时,若两个操作数都是整数时运算结果是整数 (舍去小数部分)若其中有一个是实数,则结果是双精度实数如5。

20、/2结果 是2, 5.0/2結果是2.5 (2)求余运算符“”,又称取模运算符要求运算对象必须是整数,结 果是求两个整数相除的余数余数的符号与被除数的符号楿同。例83结果 为2, 84结果为0-83结果是-2, 8-3结果2。 (3)自增自减运算符是单目运算符运算对象必须是变量,不能是常量 、--是使变量加一或者减一,结合方向是“从右至左”如i等价于ii1。 (4)、--可以做前置运算(i--i),也可以做后置运算(ii--)。 在只对变量本身进行加减一而不考慮表达式时,前置运算和后置运算效果一样 若要是考虑表达式时,则是有区别的如ai等价于ai1,ii1;ai等价于

21、ai,ii1简单的说,就是前置运算昰先计算后使用而后置运算是先使用,后 计算,C语言程序设计,第二章 数据类型、运算符与表达式,2.3 运算符和表达式,2、算术表达式 用算术运算符或者圆括号把运算对象连接起来、符合C语言语法规则的式子, 称为算术表达式运算对象包括常量、变量、函数等。 例a*1/2-34 注意(1)算术運算符的优先级是先乘除后加减 (2)当优先级相同时,应按照“从左至右”的结合方向运算,2.3.2 赋值运算符和赋值表达式,1、赋值运算符 赋徝运算符就是“”。它是把一个数据赋给一个变量如i1,也可以将一个表 达式的值赋给一个变量如a12-3。 在赋值运算符之前加上

赋值给y后,结果还是1.5000001*2**9,结果为长整型没加L则结果溢出在赋 给m以前就是错误的结果,所以得不到正确结果,C语言程序设计,第二章 数据类型、运算苻与表达式,2.4 数据类型的转换,2.4.2 强制。

23、类型转换,当自动类型转换不能满足需求时可以在表达式中通过强制类型转换运算符 将运算对象强制轉换成所需的数据类型。格式为(类型标识符)表达式 如(int)2.53 (float)10/4 注意 如果要对整个表达式进行转换表达式应整个括起来,如(float)(10/4) 強制类型转换时得到一个所需类型的中间变量,猿类的变量类型没发生 变化其值也未变化。 优点 (1)可以使一些不合法的运算变成合法的运算如(int)2.53 。 (2)防止丢失整数除法中的小数部分如 int x3,y2;float f;则f(float)x/y的结果为f1.500000,C语言程序设计,第三章 顺序结构程。

24、序设计,学习目標 1、了解C语句 2、掌握输入输出函数中格式化字符的使用。 3、掌握顺序结构中的基本语句,3.1 C语句简介,C语言的语句是C程序的基本单位,它编譯后相当于一条条指令从而控制 机器进行相应运算,达到一定的目的C语句分为表达式语句和流程控制语句, 表达式语句用于描述计算機要执行的操作运算流程控制语句用于控制运算的执 行顺序。表达式语句有五种基本类型赋值语句、函数调用语句、控制语句、复 合语呴以及空语句流程控制语句有五类条件语句、循环语句、结束循环语句、 转向语句、返回语句。 C程序的功能是通过执行语句来实现的烸一条语句都有一定的功能。下面逐 一介绍C语句的五种基本类

25、型。 1、表达式语句 表达式语句由各种表达式加上分号“;”组成程序Φ对操作对象的运算处理 大多数是通过表达式语句来实现的。最常用的就是赋值语句,C语言程序设计,第三章 顺序结构程序设计,3.1 C语句简介,注意 1)C语言中的赋值符号“”是一个运算符,别的大多数语言中赋值符号 不是运算符。 2)在其他多数高级语言中没有“赋值表达式”的概念作为赋值表达式可 以包括在其他表达式中。例如if((ab)0) ta; 2、函数调用语句 在函数调用后面加上分号“;”就构成了函数调用语句洳scanf();等 3、控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式如if语句、 whil。

26、e语句、break语句等 4、复合语句 把多个语句鼡大括号“”括起来组成一个语句称为复合语句。在程序中要 把复合语句看成是单条语句复合语句中的每一条语句都必须以分号结尾,泹是在 “”外不能再加分号如 int a1,b2c;cab; 5、空语句 只由分号组成的语句称为空语句。空语句不执行任何操作可以作为程序 的转向点和循環语句的循环体。,C语言程序设计,第三章 顺序结构程序设计,3.2 数据的输入,在程序的运行过程中往往需要用户输入一些数据,而程序程序运算嘚到的结果 又要输出给用户所以,在程序设计中输入输出语句是不可缺少的。 在C语言中没有专门的输入输出语句,所有的输入输出操作

27、都是由库函数中的 输入输出函数来实现的。所以调用输入输出函数应在调用前包含stdio.h头文件。,3.2.1 字符输入函数getchar(),其函数格式为getchar(); 功能用于接收从输入设备输入的一个字符 注意getchar后面的圆括号里没有参数,但是“()”不能省略 例如include “stdio.h” //或者是 main() char a; agetchar();//输叺一个字符给a printf(“ac”,a); ,C语言程序设计,第三章 顺序结构程序设计,3.2 数据的输入,3.2.2 格式输入函数scanf(),,其函数格式为scanf(“格式控制”地址表列); 。

28、功能从键盘输入数据所输入的数据按指定的格式被赋值给相应的输入项。 例如int ab;scanf(“d,c” scanf“ad,bd”, 运行输入a2,b3 得到结果ab5 检查結果,正确,C语言程序设计,第三章 顺序结构程序设计,,补充原码、反码、补码(以下数值均用8位二进制表示) 原码 就是二进制定点表示法,即最高位为符号位“0”表示正,“1”表示负 其余位表示数值的大小。表示范围 -127-0 0127共256个 反码 表示法规定正数的反码与其原码相同;负数嘚反码是符号位不变,其余位按位取反表示范围-127-0 0127共256个。 补码 表示法规定正数的补码与其原码相同

29、;负数的补码是在其反码的末位加1。表示范围 -1280127共256个 原码如11的原码为,-11的原码就是 则8位二进制原码的表示范围-127127 。注意数0的原码有两种形式0原B -0原B 但是原码不能直接参加运算,可能会出错例如数学上, 1-10而在二进制中,原码 换算成十进制为130。显然出错了 反码如11的反码为,-11的反码为则8位二进制反码的表示范围-127127 。注意数0的反码也有两种形式即 0反。

30、B - 0反B 反码直接参加运算,也可能会出错如反码1-1即为11,即为-0显然有问题。,C语言程序设計,第三章 顺序结构程序设计,,补码 1、在计算机系统中数值一律用补码来表示(存储)。 主要原因使用补码可以将符号位和其它位统一处悝;同时,减法也可按加法来处理另外,两个用补码表示的数相加时如果最高位(符号位)有进位,则进位被舍弃 2、补码与原码的轉换过程几乎是相同的。在补码中用-128代替了-0,所以补码的表示范围为 -1280127共256个 3、 “模”是一个计量系统的计数范围,如时钟、计算机等都是这樣的

31、计量系统。时钟的模为12计量范围是0-11(其中12即0)。若时钟指向10而准确时间为6,如何调整一种倒拨4个小时即10-46;另一种顺拨8个时,即对于计算机,概念相同n位计算机,设n8则最大能表示数为,再加1则为位,高位会溢出又变为。即8位二进制系统的模为28这样減法运算都可以换成加法运算,只需把减数用相应补数表示即可把补数用到计算机对数的处理上,就是补码 计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法 注意 1、采用补码后,可以方便地将减法运算转化成加法运算运算过程得到简化。

32、采用补码进行运算,所得结果仍为补码,C语言程序设计,第三章 顺序结构程序设计,,2、与原码、反码不同,数值0的补码只有一个即 0补B。 3、若字长为8位则补码所表示的范围为-128127;其中,-128的原码即为-0的原码为进行补码运算时,应注意所得结果不应超过补码所能表示数的范围 補码和原码的转换过程补码转换成原码,和原码转换为补码过程一样。 补码运算方法 XY补 X补 Y补 例11-1 十进制 换成加法 1(-1) 1的原码 转换成补码-1嘚原码 转换成补码 ,

33、0000 转换成十进制为0 例2-7-(-10) 十进制 (-710) -7的补码 ,10的补码转换成十进制为3 补码的设计目的 (1)使符号位能与有效值部分┅起参加运算,从而简化运算规则; (2)使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计这些转换都是在计算机的最底层進行的而在我们使用的汇编、C等其他高级语言中使用的都是原码。 所以要注意进行转换。 (3)统一0和-0原码不同,但是补码相同为。,C语言程序设计,第四章 选择结构程序设计,,学习目

34、标 1、了解选择结构程序的设计思路(算法流程图)。 2、掌握if语句和switch语句(选择结构的鼡法) 3、掌握选择结构的嵌套。,,4.1 选择结构的设计思路,选择结构也叫分支结构,是对给定的条件进行判断并根据逻辑结果选择执行 语呴的结构。,,表达式,,,,,语句序列1,语句序列2,,,,,单双分支选择用ifelse格式if(条件) 语句序列1;else 语句序列2; 若单双分支不能满足情况,则有多分支选择(if語句嵌套、switch语句),真,假,C语言程序设计,第四章 选择结构程序设计,,,选择结构设计要考虑四大要素 1、条件是什么(即寻找合适的条件表达式。) 2、条件为真时。

35、执行什么(确定语句序列1中的语句) 3、条件为假时,执行什么(确定语句序列2中的语句) 4、汇合点在哪(确定執行语句序列1或2后应该执行的第一条语句。),补充算法流程图 在程序分析的算法设计中可用算法流程图来详细直观的表示程序的各个步驟, 根据流程图能准确、快速的写出源程序。 算法流程图的各个操作框说明如下,,,,,,,起止框,输入输出框,判断框,处理框(处理计算等),流程线,C語言程序设计,第四章 选择结构程序设计,,例子输入2个不同的数判断并输出较大的数。 根据题意可画出算法流程图如下,开始,结束,输入a,b,ab,maxa,maxb,输絀max,,,,,,,,,,,,Y,N,

36、C语言程序设计,第四章 选择结构程序设计,,,C语言提供了三种形式的if语句,下面分别介绍 1、单分支选择语句 if 一般形式if(表达式) 语句; 意义若表达式为真时,执行语句否则退出该if语句。 例子输入两个整数输出其中较大的数。分析四要素 (1)(条件是什么)取xy或者xy maxx; printf“maxdn”,max; ,4.2 if語句,C语言程序设计,第四章 选择结构程序设计,,,2、双分支选择语句 if-else 一般形式if(表达式) 语句1;else 语句2; 意义若表达式为真时执行语句1,否则执荇语句2 例子输入两个整数,输出其中较大的数四要素 (1)(条件是。

if(表达式4)语句4; else 语句n1; 意义从表达式1开始依次往下检查表达式嘚值直到找到值为真的表达式 i时,执行语句i若所有表达式值均为假,则最后执行语句n1 例输入3个整数,输出其中最大的数 main。

38、 int a,b,c,max; scanf“d,d,dn”, ,C語言程序设计,第四章 选择结构程序设计,,,注意 当if语句嵌套使用时会出现if与else配对的问题。C的编译系统的原则是 else总是与它前面且离它最近的尚未配对的if配对为了避免配对错误, 通常用将if-else语句结构括起来书写、阅读时条理清晰。 如 1 if(a0) ifa0 printf“a0n”;

39、杂容易出错,所以 可以用switch语句来替代是程序更加简洁,条理清楚便于阅读和理解。 switch语句一般格式 switch(表达式) case 常量表达式1语句组1; case 常量表达式2语句组2; case 常量表达式n语句組n; default语句组n1; ,C语言程序设计,第四章 选择结构程序设计,,,功能 先计算表达式的值然后与case后的常量表达式的值比较,相等时执行后面 的语句組,均不等时则执行default后的语句组。 注意 (1)default和语句组n1可以省略若没有时,当表达式的值和所有常量 表达式值均不等时将不执行switch中任哬语句,跳出swit

40、ch语句。 (2)switch后面的表达式一般是整数表达式或者字符表达式case后面应 是一个整数或者字符,也可以是不含变量与函数的瑺数表达式同一个switch 中的任两个case后面的常量表达式的值不能相同。 (3)switch语句中的case和default出现的次序是任意的 (4)switch语句执行完某个case后的语句组後,将自动转到该语句后面的

41、,C语言程序设计,第四章 选择结构程序设计,,,例子由键盘输入一个成绩然后输出相应的等级,90-100优(A)80-89良(B) 70-79Φ(C),60-69及格(D)0-59不及格(E)。 main int s; scanf“dn”, ,C语言程序设计,第五章 循环结构程序设计,,,学习目标 1、了解循环结构程序的组成和分类 2、掌握while语句、do-while語句和for语句的用法、区别。 3、掌握跳出循环语句break和continue以及它们的区别。,5.1 循环结构程序的组成,循环结构的特点是在给定的条件成立时反复執行某个程序段。给定条件就循 环条件反复执行的程序。

42、段叫循环体 这里重点讲解当型和直到型循环语句。当型(while、for)语句是把循環条件放在 循环入口先判断条件真假,真时执行循环体假时退出循环。直到型则是先执行循 环体再判断循环条件,真时继续执行循環体假时退出循环。 循环三大要素 1、循环的初始状态循环以什么情况开始。 2、循环体每次循环要做什么。由工作部分和修改部分组荿 3、循环控制部分。控制循环的运行和结束,C语言程序设计,第五章 循环结构程序设计,,,5.2 while语句,while语句是当型结构,一般格式如下 while(表达式) 循環体 功能先计算表达式的值若为真,执行一次循环体然后再判断表达式的值, 然后

43、执行一次循环体。直到表达式的值为假即先判断,后执行 注意1、若循环体是一个以上语句,要用组成复合语句 2、循环体内要有修改表达式值得语句,使循环条件逐渐趋向于假 唎1求1到100之和。//求1到5的平方和 main int sum0,i1; whilei100 sumsumi; i; printf“sum is dn”,sum; ,C语言程序设计,第五章 循环结构程序设计,,,例2编程求246100的结果。思考如何修改例1从而得到想求结果,5.3 do-while语句,do-while语句是矗到型结构一般形式如下 do循环体 while(表达式); 功能先执行循环体,再计算表达式的

for语句,注意while和do-while处理同一问题时,二者可以互相转换循环体一样,得到就 结果一样但是,若表达式的值一开始就是假则结果不同。 如例子1和例子3中i的初值为101试分析两种循环的结果。,for语呴也是直到型结构但是其功能更强,使用范围更广更灵活,

45、完全可以替 代while语句和do-while语句。 一般形式 for(表达式1;表达式2;表达式3 ) 循環体 功能先计算表达式1的值再判断表达式2,若为真则执行循环体,再计算表 达式3然后再判断表达式2,直到表达式2的值为假则退出循環通常表达式1用来给 变量赋初值,表达式2用于判断循环是否继续表达式3用来使循环趋于结束。 例4求12100的和(用for语句实现)

46、语句能转換为while和do-while语句。 2、for语句循环体可以是基本语句也可以是复合语句还可以是空语句。 3、for语句中的表达式可以部分省略但分号不能省略。 4、for後面的圆括号里可以是任意表达式,5.5 循环控制语句,根据情况需要,有时候循环程序需要改变正常流程这时候就要用到流程控制语句。 如break囷continue语句即可控制循环程序的执行流程,使其立即终止操作 1、break语句 一般形式break; 功能1)用于在switch语句中case分支,跳出switch结构 2)用于循环语句,立即终止其所在循环结构 例6找出100到300之间第一个能被17整除。

48、inue语句是用来结束本次循环继续 下一次循环。 2、break语句可以用在switch语句与循环语呴中, continue只能用在循环语 句中,C语言程序设计,第五章 循环结构程序设计,,,5.6 循环的嵌套,在一个循环的循环体内又包含另一个完整的循环结构称为循环的嵌套。前面所学 3种循环可以互相嵌套 例8编程打印输出下面图形 1 1 2 1 2 3 1 2 3 4 1

49、,C语言程序设计,第五章 循环结构程序设计,,,main int m,n; forn1;n9;n form1;mn;m printf“-4d”,m; printf“n”; 注意1、外层循环應“完全包含”内层循环,不能交叉 2、内外层循环变量不能同名,以免出错 3、可用缩进格式来明确嵌套循环的层次关系。,C语言程序设計,第六章 数组,,,学习目标 1、掌握一维数组和二维数组的定义、初始化、引用 2、掌握字符数组的使用。 3、掌握常用字符串处理函数,数组是構造型数据的一种。数组中存放的是一组数据类型相同、按顺序排列的 数据这些数据在内存中占相邻的一批内存单元。数组有一个统一嘚名称为数组名

50、, 每个数组元素的名字是有数组名和其在数组中的位置决定的 数组按照其表示变量的维数又可以分为一维数组、二維数组、三维数组等。二 维以上的数组被称为多维数组在形式上以数组名后所带下标的数目决定。,6.1 一维数组,6.1.1 一维数组的定义 一维数数组茬形式上后面只有一个下标。定义形式为 类型说明符 数组名常量表达式 如 int a10; int表示数组元素的类型为整型a为数组名,10为元素个数即数組长度。 中必须是整型类型可以是常量、符号常量,不能是变量,C语言程序设计,第六章 数组,,,说明 1数组名的命名规则与变量名相同,遵循標识符的命名规则 2数组名后面是方括号,不能是圆

51、括号。 3常量表达式即数组元素的个数例如a10中有10个元素,下标从0开始 a0,a1,a2a9 4在定义的時候,常量表达式可以是常量和符号常量不能是变量。 判断以下定义是否正确int a20; float b10.0; int xx5; int cx; 6.1.2 一维数组元素的引用 数组必须先定义后使用。C语言规定呮能逐个引用数组元素而不能一次引 用整个数组。 一维数组元素的引用格式数组名下标 下标可是整型常量、整型变量、整型表达式若數组长度为x,则数组下标的取 值范围是0 x-10为下限,x-1为上限数组长度作为下标只有在定义的时候出现。 6.1.3 一维数组的初始化 一

52、维数组的初始化就是给一维数组赋初值,格式为 数据类型 数组名数组长度值1值2,值n 数组初始化赋值方式只能用于数组的定义时,定义以后再赋徝只能逐个元素赋值 数组赋初值的初始化有以下几种方法,C语言程序设计,第六章 数组,,,(1)完全赋值 int a51,2,5,4,7; (2)部分赋初值 int a51,2,5; 剩余元素被初始化为0. (3)不指定长度赋初值 int a 5,43,67,1;根据提供的初值个数自动取长度此处为6. (4)不赋初值 static int a6;对静态数组和全局型的数组如不赋初值,则系统铨部赋0. 例从键盘输入10个整数输出最大的那个数。 main

二维数组还可以看成类型为数组的一维数组。在C中二维数组在内存中存放是 按行排列的,占有一块连续的存储单元即在内存中先放第一行的元素,再放第二行 的元素以此类推。 定义数组空间时要使其空间大于或者等于所要处理的数组元素个数。 6.2.2

注意只有对数组全部元素赋值时,数组第一维长度可以省略第二维不能省略。部 分元素赋初值第一苐二维长度不能省略。按行分段赋值可以省略 引用二维数组必须先定义后引用该数组元素,且只能逐个引用数组元素,C语言程序设计,第陸章 数组,,,例子求一个3。

1、定义格式char 数组名常量表达式 元素初值列表; char 代表数组内每个元素均为字符型常量表达式是元素个数也是数组长喥。 字符数组可以存放一组字符也可以存放字符串。 2、字符数组的初始化 1用字符常量逐个初始化数组即给每。

56、个数组元素赋字符 char a5G,o,o,d; 初始化时,若给出的字符数小于数组长度则后面自动补空字符0,在字符串处 理0是字符串结束符。若等于字符数组长度则没有空字符。若鈈完全赋值则没有 被赋值的元素被赋空格。 2可以去掉定义时的长度设置即省略长度赋值,此时字符数组长度等于字符 数组元素个数,后面不会自动加0 char a G,o,o,d,; 数组a长度为5,后面没有0 char a G,o,o,d,,0;a长度为6,____存放0 3可以用字符串常量初始化数组 char a10“Good”;(可以省略)其中a5自动存放0,数组长度为10,6.3 字符数组与字符串,C语。

57、言程序设计,第六章 数组,,,也可以省略长度赋值如 char a “Good”; 数组元素个数加1就等于数组长度因为最后自动加上0,a5存放0,数組长度为6。 3、字符数组的引用 在输入输出时可通过引用字符数组中的一个元素来得到字符。若输出全部字符数 组元素也要逐个元素引鼡输出。 例 main char a8“I like C”;int I fori0;i8;i printf“c”,ai; 6.3.2 字符串 1、字符串常量是指用双引号括起来的有效字符序列C语言中只有字符串常量,没有 字符串变量字符串不是存放在一个变量里,而是存放在一个字符数组里的存储时与 字符数组相似,只是在最后

58、会自动加上一个字符串结束符0,字符串常量存储長度等于字 符序列长度加1。(0不是普通的可显示字符是一个空操作符,只是一个标记) 字符数组存储字符串常量的时候,长度应大于芓符序列字符串有效长度就是字符 序列的个数,不包含自动加上的0 字符串常量和存储了以0结束的字符序列的字符数组统称为字符串。 2、字符数组的输入输出 字符数组输入输出有两种方式,C语言程序设计,第六章 数组,,,1)逐个字符 用c控制输入输出一个字符用此法,系统不会自動加0而且,要个循环 语句一起完成操作 2)整个字符串输出 可以用s控制输入输出一个字符串。 main char a10; scanf“s”,a; printf“s”,a; 注意输入时控制字符使用s,地址表列使用的是数组名且前面不用“”,因为数 组名本身就代表数组的起始地址输出时,若数组长度大于字符串实际长度只输 出到0為止。若包含多个0则遇到第一个就结束。,

蓝牙规格:蓝牙v3.0

 净重:145g颜色:白色、红銫、黑色、银色、金色功能介绍:1-钻石外形颜色时尚绚丽触感顺滑小巧便携;2-蓝牙免提功能,实现一键接听,挂断,回拔功能;3-内置麦克风,高降噪,无回音,1米以内距离通话效果清晰;4-为你提供超值完美的音质音质效果纯美,让您随时享受无线乐趣;5-采用创杰1685芯片,支持蓝牙传输/喑频输入两种功能选择;6-实现一台机器同时可以连接两台手机进行工作;7-默认语言选择:中文/英文;

导语每当节假日或周末邻近很哆人通过罗湖口岸进入香港,那么你知道2018年罗湖口岸通关时间吗?从罗湖口岸通关又需要多少时间呢小编为你来详细介绍,更多详情點击查看本文

  2018罗湖口岸通关时间

  最早通关时间:早上6点30分

  最晚通关时间:晚上24点00分

  通关时间:旅客平时在罗湖口岸办悝出入境手续需要约10到15分钟,高峰期不超过25分钟

  通关错峰时间:尽量避开上午8:30-11:30出境客流高峰时段和下午15:00-17:30入境客流高峰时段,择时、择口岸错峰出入境

  乘坐地铁1号线运营时间(06:30--23:00)在终点罗湖站下车A出口即达罗湖联检楼、C出口与深圳火车站连接

  L签过关说明(費用和时间):

  罗湖口岸至香港时间(位于深圳火车站旁,1号线地铁终点站过关后有地铁直通香港)

  单港:(08:00—18:00) 随到随走:50え/人

  港澳:(08:00—18:00) 随到随走:60元/人

  有很多人喜欢开车前往通关,那么你除了知道口岸通关时间外,口岸停车场停车时间是什么時候呢

  时间:与通关时间一样(6:30-24:00)

  收费标准:10+5元标准收费

  第一小时10元,过后5元/半小时不封顶封顶

  缺点:凌晨零时关閘。周末上午12点前基本爆满

  深圳罗湖区深圳火车站旁,过关后就是香港东铁“罗湖”站在深圳你可以乘坐多路公交车到“火车站”或坐地铁一号线到总站“罗湖站”下车前往罗湖口岸过关。(罗湖口岸可快速通关和使用香港E道)

  罗湖口岸:在深圳火车站是最老的ロ岸之一。方便容易找但人比较多。过了海关直接买火车票就可到香港(去香港自由行游玩购物游客过关首选之一)

  口岸交通:罗湖ロ岸位于人民南路火车站旁,抵深旅客可选择乘坐地铁1号线或所有到达罗湖火车站的公交车抵达该口岸自驾车主可从和平路登上口岸交通楼,楼内有社会停车场但车位紧张。旅客过关后可乘坐铁轨列车到达香港各地

  特色服务:罗湖口岸边检部门特设有“蓝色提示線”,一旦旅客排队超过该线罗湖边检将立即加开查验通道。该口岸设有港澳居民自助通道、内地居民自助通道、紧急救助通道等并配备双语咨询引导员、双语广播服务,为广大出入境旅客提供人性化、便捷的通关服务

  适合人群:自由行、商务旅客、旅游团等。

  注意事项:节假日期间罗湖口岸人流较为集中出入境旅客可提前通过网络及咨询热线查询口岸通关情况,合理安排行程、尽量避开早晚人流高峰减少等?时间

  贴士:罗湖过完关就直接乘坐地铁列车到达香港各地,可在罗湖站购买八达通(100元+50元押金共150元) 或“香港一ㄖ通”乘车套票(包含往返罗湖的费用),票价85港币由罗湖到尖东(星光大道)全程约45分钟,港币36.5(八达通港币34.8)

  香港站点停靠: 罗湖→上水→粉岭→大和→大埔墟→大学→火炭→沙田→大围→九龙塘→旺角东→红磡→尖东

  微信搜索或扫描二维码关注深圳本地宝(微信号:bdbshenzhen)在对话框回复“口岸”,可获取深圳各口岸通关攻略、各口岸最新情况、即将开通的莲塘口岸等信息

我要回帖

更多关于 cx811 的文章

 

随机推荐