C语言程序设计第3章顺序程序设计.ppt_第1页
C语言程序设计第3章顺序程序设计.ppt_第2页
C语言程序设计第3章顺序程序设计.ppt_第3页
C语言程序设计第3章顺序程序设计.ppt_第4页
C语言程序设计第3章顺序程序设计.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

语言程序设计,主讲:王奇志,4 课时,第3章 顺序程序设计,C语言程序设计,导航目录,知识点、重点、难点,知识点: 数据的存储 C中常见的类型 变量和常量 运算符和表达式 重 点: C中常见的类型 变量和常量 运算符和表达式 难 点: 数据在计算机内部的存储 运算符的优先级和结合性,算法是程序的灵魂,一、算法是程序的灵魂 算法与数据结构 一个程序应包括以下两方面内容: 数据结构(data structure):对数据的描述,在程序中要指定数据的类型和数据的组织形式。 算法(algorithm): 对操作的描述。即操作步骤, “数据是原料,算法是工艺,程序是产品” 计算机科学家沃思(Nikiklaus Wirth)提出一个公式 数据结构 + 算法 = 程序 算法与语言无关,数据结构与语言有关。 算法可以分为两大类别:数值运算算法和非数值运算算法。,算法是程序的灵魂续, 算法的表示 ()自然语言 举例求1+2+3+100的和并输出 i=1,s=0 s=s+i i=i+1 如果i不大于100,则到,否则到 输出s的值 ()流程图(传统),算法是程序的灵魂续,举例求1+2+3+100的和并输出 ()N-S流程图 举例求1+2+3+100的和并输出,算法是程序的灵魂续,()使用伪代码表示 举例求1+2+3+100的和并输出 i=1 s=0 while i=100 s=s+I i=i+1 end while print s,程序的三种基本结构,二、程序的三种基本结构 顺序结构 分之结构 循环结构,语句总述,三、语句综述 严格意义上的语句是用来向计算机系统发出操作指令,语句经编译后产生若干条机器指令,c语句都是用来完成一定操作任务的。声明部分的内容不应称为语句。如:int a; 不是一个c语句,它不产生机器操作,而只是对变量的声明。 一个函数包含声明部分和执行部分,执行部分即由语句组成。 程序应该包括数据描述(由声明部分来实现)和数据操作(由语句来实现)。数据描述主要定义数据结构(用数据类型表示)和数据初值。数据操作的任务是对已提供的数据进行加工。,语句总述续,C语句分类 () 控制语句 完成一定的控制功能。C只有9种控制语句: if()else (条件语句) for() (循环语句) hile() (循环语句) dohile() (循环语句) continue (结束本次循环语句) break (中止执行switch或循环语句) sitch (多分支选择语句) goto (转向语句) return (从函数返回语句),语句总述续,()函数调用语句 由一次函数调用加一个分号构成一个语句,例如:printf(“this is a c stateent”); () 表达式语句 由一个表达式构成一个语句,最典型的是,由赋值表达式构成一个赋值语句。 a=3 /*赋值表达式*/ a=3;/*赋值语句*/ 任何表达式都可以加上分号而成为语句,例如i+;,有人把c语言称作“表达式语言”。,语句总述续,() 空语句 下面是一个空语句: ; 即只有一个分号的语句,它什么也不做。有时用来做被转向点,或循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。 ()复合语句 可以用 把一些语句括起来成为复合语句,又称分程序。如下面是一个复合语句。 z=x+y; t=z/100; printf(“%f“,t); ,赋值表达式和赋值语句,四、赋值表达式和赋值语句 赋值运算符 “=”是一个赋值运算符,其他大多数语言中赋值号不是运算符。 “赋值表达式”的概念,例如: if(a=b)0)t=a; 复合的赋值运算符 a+=4 (a=a+4) x*=y+8 ( x=x*(y+8) += -= *= /= %= 2赋值表达式 格式: 变量名表达式,赋值表达式和赋值语句续,理解下列表达式: a=3 b=a+3 c=b=a=10 a=5+(c=6) a=(b=4)+(c=6) a=3*4=c 赋值中的类型转换 变量 i 表达式 int = double float float = double int = char char = int long short signed = unsigned unsigned = signed,赋值表达式和赋值语句续,赋值语句 a=3; a=b=c=4; if (a=3;)0) t=a 5变量赋初值 int a=3; char c1=a,c2; 思考如果变量不赋值,是否可用,可有默认值?,数据的输入与输出,五、数据的输入与输出 输入输出的概念 C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。 C标准函数库中提供printf函数和scanf函数,用于格式化输入输出,使用他们,应包含”stdio.h”头文件,数据的输入与输出续,字符数据的输入输出 ()putchar函数(字符输出函数) putchar函数的作用是向终端输出一个字符 例如: putchar(c) 例子:输出字符 运行结果: b o y,#include main() char a,b,c; a=b;b=o;c=y; putchar(a);putchar(n); putchar(b);putchar(n); putchar(c); ,数据的输入与输出续,()getchar函数(字符输入函数) 此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。getchar函数没有参数,其一般形式为 getchar() 函数的值就是从输入设备得到的字符。例如: 例 输入单个字符 getchar()只能接收一个字符, getchar函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分,#include main() char c; c=getchar(); putchar(c); ,数据的输入与输出续,演示 简单的打字练习程序,直到按”/”结束(add3-1.c)查看 简单的格式输入输出 ()printf函数 格式: printf(格式控制,输出表列) “格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:,#include “stdio.h“ main() char c; while(c=getchar()!=/) putchar(c); ,数据的输入与输出续, 格式说明,由“%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。 普通字符,即需要原样输出的字符。例如上面printf函数中双引号内的逗号、空格和换行符。 “输出表列”是需要输出的一些数据,可以是表达式。 () 格式字符 d格式符 按十进制整型数据的实际长度输出,可以使用“%md” 指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于,则按实际位数输出。 如 printf(“%4d,%4d“,a,b); 若a=123,b=12345,则输出结果为: 123,12345,数据的输入与输出续, %i 作用同d,少用。 c 用来输出一个字符。 char ch=A; printf(“%c”,ch); 注意:整数也可以以c格式来输出。 演示 输出ASCII表中的可见字符(add3-2.c)查看 s 用来输出一个字符串。 f 用来输出实数(单、双精度)。 演示 输出实数时的有效位数(-5.c)查看,数据的输入与输出续,演示 输出双精度时的有效位数(3-2.c)查看 e 以指数形式输出实数 printf(“%e“ ,123.456); 输出为: 1.234560e+002 ()scanf函数 格式: scanf(格式控制,地址表列) “格式控制”的含义和printf中格式控制含义基本一致。地址列表是有若干个变量的地址或字符串的首地址组成的列表。 演示 使用scanf函数输入数据(3-3.c)查看,数据的输入与输出续7,说明: 对unsigned型变量,可用%u、%d、%o,%x格式 可以指定输入数据所占列数,系统自动按它截取所需数据。 如,scanf(“%3d%3d“,&a,&b); 输入: 123456 系统自动将123赋给a,456赋给b。此方法也可用于字符型: 如:scanf(“%3c“,&ch); 如果从键盘连续输入3个字符abc,由于ch只能容纳一个字符,系统就把第一个字符a赋给ch。 如果在%后有一个“*”附加说明符,表示跳过它指定的列数。 如:scanf(“%2d %*3d %2d”,&a,&b);,数据的输入与输出续8,如果输入如下信息: 12 345 67 将12赋给a,%*3d表示读入3位整数但不赋给任何变量。然后再读入2位整数67赋给b。 也就是说第2个数据“345”被跳过。在利用现成的一批数据时,有时不需要其中某些数据,可用此法“跳过”它们。 输入数据时不能规定精度,例如, scanf(“%72f“,&a); 是不合法的,不能企图用这样的scanf函数并输入1234567而使a的值为1234567,scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); /*如何正确输入?*/,数据的输入与输出续8,在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入: scanf(“%c%c%c“,&c1,&c2,&c3); 如输入 a b c 字符a送给c1,字符 送给c2,字符b送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此 作为下一个字符送给c2。 在输入数据时,遇以下情况时该数据认为结束。 遇空格,或按“回车”或“跳格”(tab)键。 按指定的宽度结束,如“%3d”,只取3列。 遇非法输入。,提高部分,1有符号整数赋值给长度相同的无符号整型变量 按字节原样传送 分析 P77页例3.10 无符号整数赋值给长度相同的有符号整数整型变量 按字节原样传送 分析 P77页例3.11 复杂格式的输出 复杂格式的输入 C+的输入输出 cinabc; cout“a=“a“,b=“b“,c=“c; #include “iostream.h“ 演示 C+的输入输出(add3

温馨提示

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

评论

0/150

提交评论