北京科技大学《C语言》第3章.ppt_第1页
北京科技大学《C语言》第3章.ppt_第2页
北京科技大学《C语言》第3章.ppt_第3页
北京科技大学《C语言》第3章.ppt_第4页
北京科技大学《C语言》第3章.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第3章 顺序结构程序设计,北京科技大学 计算机系,C 语言程序设计,2019/8/3,2,程序的三种基本结构,顺序结构,N-S结构图,流程图,选择结构,第4章介绍,2019/8/3,3,程序的三种基本结构,循环结构,直到型循环,当型循环,N-S结构图,流程图,第5章介绍,本章介绍 C语言的语句类型 数据输出 数据输入 顺序结构程序设计,2019/8/3,4,3.1 C语言的语句类型,主要内容: 说明性语句 表达式语句 控制语句 复合语句,2019/8/3,5,3.1.1 说明性语句,对程序中使用的变量、数组、函数等操作对象进行定义、声明的描述语句 只起说明作用,不产生可执行的机器指令代码。 例如:int a,b; float function( int, int);,C程序由函数组成。函数的格式: 函数名(参数表) 说明部分; 执行部分; ,数据类型说明语句,可执行语句,2019/8/3,6,表达式后面加一个分号,构成表达式语句 x=3; y=y+5; x=a-b ,3.1.2 表达式语句,注意: 分号是语句必不可少的一部分 单独的一个分号“;” 构成一个空语句 例如: ; (空语句,是最简单的C语句),2019/8/3,7,3.1.3 控制语句,1选择分支控制语句 if ( ) else switch ( ) 2循环控制语句 for ( ) while ( ) do while ( ) 3其他控制语句 break、continue、goto return,2019/8/3,8,3.1.4 复合语句,用一对花括号括起来的若干条语句 花括号中可以是说明语句、表达式语句、控制语句,也可以是复合语句,例如: if (ab) max=a; min=b; for(n=1; n= 100 ) printf(“dn”, p); break; ,2019/8/3,9,3.1.4 复合语句(续),复合语句中如果有说明性语句,应该写在可执行语句的前面,例如: main( ) int a,b; a=b=100; float c=10.23; printf(“%fn“,c); printf(“%d %dn“,a,b); ,要特别注意: 花括号的配对 花括号的位置,C语言学习的难点之一,2019/8/3,10,3.2 数据输出,主要内容: 字符输出函数 格式输出函数,2019/8/3,11,3.2.1 字符输出函数,函数调用的一般形式 putchar(ch) 功能: 在标准输出设备(即显示器屏幕)上输出一个字符。,例如: putchar(b); putchar(n); putchar(101); putchar(st);,2019/8/3,12,说明,putchar是C语言的标准库函数,使用时必须加编译预处理命令: #include “stdio.h“ 或 #include 【例3.1】利用putchar函数输出字符。,#include “stdio.h“ main( ) char c1,c2; c1=a ; c2=b ; putchar(c1);putchar(c2); putchar(n); putchar(c1-32);putchar(c2-32); putchar(n); ,输出结果:ab AB,例jc3_1,2019/8/3,13,3.3.2 格式输出函数,函数调用的一般形式 printf(格式控制, 参数2,参数n) 功能:按格式控制所指定的格式,在标准输出设备上输出参数2、参数n的值。,例如有程序段 : int a=123,b=100; printf(“%d %d %dn“,a,b,a+b); printf (“c = %d + %d = %dn“,a,b,a+b );,2019/8/3,14,格式控制,用双引号括起的字符串,用于指定输出数据的类型、格式、个数 包括:普通字符和格式说明符,照原样输出,printf (“c=%d+%d=%dn“, a, b, a+b );,格式说明符:指定输出3个十进制整型数,分别为变量 a、b、ab的值,2019/8/3,15,输出格式说明符,在和格式符之间可以使用附加说明符,2019/8/3,16,附加格式说明符,例如: %ld 输出十进制长整型数 %m.nf 右对齐,m位域宽,n位小数或n个字符 %-m.nf 左对齐,2019/8/3,17,例3.2 整型数据的输出,main( ) int a=11,b=22; int m=-1; long n=123456789; printf(“%d %dn“,a,b); printf(“a=%d, b=%dn“,a,b); printf(“m: %d, %o, %x, %un“,m,m,m,m); printf(“n=%dn“,n); printf(“n=%ldn“,n); ,程序输出: 1122 a=11, b=22 m: -1, 177777, ffff, 65535 n=-13035 n=123456789,例jc3_a,2019/8/3,18,例3.3 实型数据的输出,main( ) float x=1234.56,y=1.23456789; double z=1234567.123456789; printf(“x=%f, y=%f n“,x,y); printf(“z=%fn“,z); printf(“z=%en“,z); printf(“z=%gn“,z); printf(“z=%18.8fn“,z); printf(“x=%10.3fn“,x); printf(“x=%-10.3fn“,x); printf(“x=%4.3fnn“,x); ,程序输出: x=1234.560059, y=1.234568 z=1234567.123457 z=1.23457e+06 z=1234570 z= 1234567.12345679 x= 1234.560 x=1234.560 x=1234.560,例jc3_b,2019/8/3,19,例3.4 字符型数据的输出,main( ) int m=97; char ch=B; printf(“m: %d %cn“,m,m); printf(“ch: %d %cn“,ch,ch); printf(“%sn“,“student“); printf(“%10sn“,“student“); printf(“%-10sn“,“student“); printf(“%10.3sn“,“student“); printf(“%.3snn“,“student“); ,程序输出: m: 97 a ch: 66 B student student student stu stu,例jc3_c,2019/8/3,20,注意:,printf函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。 格式说明符的 % 和后面的描述符之间不能有空格。除 %X、%E、%G外类型描述符必须是小写字母。 长整型数应该用ld(或lo、lx、lu)格式输出,否则会出现输出错误。 printf函数的参数可以是常量、变量或表达式。在计算各参数值时,Turbo C采用从右至左的顺序求值。,2019/8/3,21,3.3 数据输入,主要内容: 字符输入函数 格式输入函数,2019/8/3,22,3.3.1 字符输入函数,函数调用的一般形式 getchar( ) 功能: 从标准输入设备(即键盘)上交互输入一个字符。,例如: getchar( ) ; c = getchar( ); printf(“%c n“,getchar( );,2019/8/3,23,例如:,【例3.8】getchar函数的应用。,#include “stdio.h“ main( ) char ch; ch=getchar( ); printf(“%c %dn“,ch,ch); printf(“%c %dnn“,ch-32,ch-32); ,程序运行时输入:m 并按回车键后 输出结果是: m 109 M 77,例jc3_8,2019/8/3,24,说明:,getchar是C语言的标准库函数,使用时必须加编译预处理命令: #include “stdio.h“ 或 #include getchar函数需要交互输入,接收到输入字符之后才继续执行程序。 连续使用getchar函数时,要注意字符的输入形式 ,例如执行如下程序段:,char ch1,ch2; ch1=getchar( ); ch2=getchar( );,必须连续输入两个字符,中间不能有其他字符,2019/8/3,25,3.3.2 格式输入函数,函数调用的一般形式 scanf(格式控制, 地址参数2,地址参数n); 功能:按格式控制指定的格式,从标准输入设备(即键盘)交互输入数据,并依次存放到对应地址参数指定的变量中(即将输入值赋给变量)。 例如: scanf (“%d%f“,2019/8/3,26,格式控制,用双引号括起的字符串,用于指定输入数据的类型、格式、个数以及输入的形式 包括:普通字符和格式说明符,照原样输入,scanf (“a=%d, b=%d“, ,格式说明符:指定输入2个十进制整型数赋给变量 a 和 b,2019/8/3,27,输入格式说明符,在和格式符之间可以使用附加说明符,2019/8/3,28,附加格式说明符,例如: %ld、%lo输入十进制、八进制长整型数 %lf、%le输入双精度实型数 %mf输入m位数(域宽) %*d忽略输入的一个整型数,对float和double型指整数位数+小数点 +小数位数,2019/8/3,29,例如:,scanf (“%d%d%d“, 输入的形式是:a=32, b=28 (普通字符要照原样输入),2019/8/3,30,程序:,main( ) int a,b,c; long m; float x; double y; char ch, string20; printf(“input a,b,c,m: “); scanf(“%d %o %x %ld“, ,运行jc3_d,2019/8/3,31,使用scanf函数应注意:,要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。 地址参数形式:&变量名(除数组或指针变量) 格式控制中有普通字符时,必须照原样输入。 格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。 double型数据输入时,必须用%lf或%le格式 实型数输入时域宽不能用m.n形式的附加说明 为了减少不必要的输入量,除了逗号、分号、空格符以外,格式控制中尽量不要出现普通字符,也不要使用 n 、t 等转义字符,2019/8/3,32,scanf (“%c%c%c“, 要输入:abc 不能输入:abc 注意数值型数据与char型数据的混合输入,注意(续) :,格式符之间若无普通字符,则: 输入的数值型数据用空白符分隔 输入的 char型数据不必分隔,例如: scanf (“%d%d“, ,错误输入:3228 a,正确输入:3228a ,附加格式说明m和*,2019/8/3,33,int a,b; float c; scanf(“%2d%3d%*2d%5f”,输入:123456789.34567 问:a、b、c ?,2019/8/3,34,3.4 顺序结构程序设计,3.4.1 顺序结构程序的一般算法描述,可用: 变量初始化 赋值语句 输入函数调用语句,注意各个语句的顺序,2019/8/3,35,3.4.2 顺序结构程序设计举例,【例3.15】数据交换。从键盘输入a、b的值,输出交换以后的值。 思路:在计算机中交换变量a和b的值, a=b ; b=a ;,?,正确的交换方法:,123,78,123,c=a ;,a=b ;,b=c;,2019/8/3,36,程序:,main( ) int a,b,c; printf(“ninput a, b: “); scanf(“%d,%d“, ,程序运行情况如下: input a, b: 32, 57 before exchange: a=32 b=57 after exchange: a=57 b=32,运行jc3_15,2019/8/3,37,举例:,【例3.16】已知三条边a、b、c,求三角形面积。计算三角形面积的海伦公式:,其中:,设定义: 整型变量 a、b、c 实型变量 s 、 area,2019/8/3,38,程序如下:,#include “math.h“ main( ) int a,b,c; float s,area ; scanf(“%d, %d, %d“, ,程序运行情况如下: 3,4,5 area = 6.000,实际上还需要判断a、b、c是否能构成三角形,即应该进行选择判断处理,运行jc3_16,?,2019/8/3,39,举例(补充),【例3.17】从键盘输入两个整数,输出它们相除

温馨提示

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

评论

0/150

提交评论