1 / 25

第 四 章 顺 序 程 序 设 计

第 四 章 顺 序 程 序 设 计. 主要内容. 一、 C 语句分类 二、赋值语句 三、数据输入与输出 四、顺序结构程序设计. 一、 C 语句分类. 第四章 顺序结构程序设计. if () ~ else ~ switch for () ~ while () ~ do ~ while() continue break goto return. if (x>y) z=x; else z=y;. 控制语句. C 语句. printf("Hello!");. 函数调用语句. 由一次函数调用加一个分号构成一个语句。.

coby
Download Presentation

第 四 章 顺 序 程 序 设 计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 四 章 顺 序 程 序 设 计

  2. 主要内容 一、C语句分类 二、赋值语句 三、数据输入与输出 四、顺序结构程序设计

  3. 一、C语句分类 第四章 顺序结构程序设计 if () ~ else ~ switch for () ~ while () ~ do ~ while() continue break goto return if (x>y) z=x; else z=y; 控制语句 C语句 printf("Hello!"); 函数调用语句 由一次函数调用加一个分号构成一个语句。 ? a=3; 表达式语句 由表达式加一个分号构成一个语句。 ? 1、出现在函数体的执行 部分。 2、作用是向计算机系统 发出操作指令。 空语句 { t=a; a=b; b=t; } ; 复合语句 由{ }将一些语句括起来。

  4. 二、赋值语句 第四章 顺序结构程序设计 构成方式 由赋值表达式加分号构成。 例1 a=3; b=a*3+5; 1、C语言中赋值号"="是一个运算符。 2、C语言中既有赋值表达式又有赋值语句的概念。 3、C语言把赋值语句和赋值表达式区分开来,赋 值表达式可以包括在其他表达式中,增加了表 达式的种类,使表达式的应用几乎无孔不入, 能实现其他语言难以实现的功能。 赋值表达式与赋值语句的区别 例2 if ((a=b)>0) t=a; if ((a=b;)>0) t=a;  

  5. 第四章 顺序结构程序设计 三、数据输入与输出 (一)、C的输入与输出 (二)、单个字符的输出 (三)、单个字符的输入 (四)、格式输出 (五)、格式输入

  6. (一)、C的输入与输出 第四章 顺序结构程序设计 1、所谓输入输出是以计算机为主体而言的。 2、输入输出操作是由函数实现的。 说明 标准输入输出函数 putchar( ) getchar( ) puts( ) gets( ) printf( ) scanf( ) 预编译命令 在使用C语言库函数时,要用预编译命令"#include"将有关的"头文件"包括到用户源文件中。 举例 #include <stdio.h> main() { printf("Hello!" ); } #include "stdio.h" 注:在TC环境中,若使用printf()或scanf()函数,则前面的预编译命令可以省略!在VC++环境中不能省略!

  7. (二)、单个字符的输出——putchar函数 第四章 顺序结构程序设计 输出 显示器 作用 向终端(或系统默认的输出设备)输出一个字符。 A 格式 putchar(ch); ? 注:ch可以是一个字符型(整型)变量、常量或表达式; 也可以是一个转义字符,如 putchar('\n')、putchar('\101')。 举例 #include <stdio.h> void main() { char ch1='B',ch2='O',ch3='Y'; putchar('\"'); /*输出双引号*/ putchar(ch1); putchar(ch2); putchar(ch3); /*输出BOY*/ putchar('\"'); /*输出双引号*/ } "BOY" putchar('B');

  8. (三)、单个字符的输入——getchar函数 第四章 顺序结构程序设计 输出 输出 键盘 作用 从终端(或系统默认的输入设备)输入一个字符。 格式 getchar(); 注:getchar函数没有参数,所接受的字符可以赋给字符型或整型变量,也可以作为表达式的一部分。 ? a _ 举例 #include<stdio.h> void main() { char c1; c1=getchar(); putchar(c1); putchar(getchar()); } 输入: a  ab_ 输入: a b 

  9. (四)、格式输出——printf函数 第四章 顺序结构程序设计 作用 向终端(或系统默认的输出设备)输出若干个任意类型的数据。 格式 printf("格式控制字符串"[,输出列表]); 将输出的数据转换为指定的格式输出。 说明 1、 "格式控制字符串"是用双撇号引起来的字符串,包括三种信息: (1)格式说明:由%和格式字符组成。 (如%d、%f) (2)普通字符:需要按原样输出的字符。 (3)转义字符: (如\t、\n、\b、\r等) 2、"输出列表"是需要输出的一些数据,可以是表达式。

  10. 输出 输出 例1 如果x=100,ch= ' A ',那么下面的输出语句将输出什么结果? printf("sum=%d \n%c", x, ch); sum=100 A_ 普通字符 转义字符 格式说明 输出列表 例2 #include <stdio.h> void main() {int a,b; a=3; b=4; printf("输出结果为:"); printf("%d %d\n",a,b); printf("a=%d, b=%d\n",a,b); printf("a+b=%d",a+b); } 输出结果为:3 4 a=3, b=4 a+b=7 _

  11. 格式说明的一般形式 格式说明必须以%开始,以格式字符结束。 一般形式如下: % [标志] [宽度] [.精度] [l] [格式字符] 长整型整数 输出数据向左靠拢 d/f/c/u/s等 - - m n 对实数:输出小数点位数; 对字符串:截取字符的个数 输出数据最小宽度

  12. 格式字符 第四章 顺序结构程序设计 字符 说明 l 用于长整型数据输出,可加在d o x u 前面 m 数据最小宽度 n 对实数,表示输出n位小数;对字符串,表示 截取的字符个数 - 输出数据向左靠拢 格式字符 格式说明 d, i 以带符号的十进制数输出整数(正数不输出符号) c 以字符形式输出,只输出一个字符 f 以小数形式输出单、双精度数,隐含6位小数 e,E 以指数形式输出实数 o 以八进制无符号形式输出整数(不输出前导符0) x,X 以十六进制无符号形式输出整数(不输出前导符0x) …… …… 格式字符 P78 附加格式说明字符

  13. 格式输出举例——d格式符 #include <stdio.h> main() { int num1=123; long num2=123456; /*用3种不同格式,输出int型数据num1的值*/ printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n", num1,num1,num1,num1); /*用3种不同格式,输出long型数据num2的值*/ printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2); printf("num1=%ld\n",num1); }

  14. 格式输出举例——f格式符 第四章 顺序结构程序设计 整数部分全部输出, 小数部分输出6位 因有效位数为7位,因此 后面数字不准确。 综合举例 float x,y; x=111111.111; y=222222.222; printf("%f",x+y); 333333.328125 float x=123.456; printf("%f",x); printf("%10f",x); printf("%10.2f",x); printf("%.2f",x); printf("%-10.2f",x); 123.456001 123.456001 123.46 123.46 123.46 实数最常用的 两种输出格式

  15. 格式输出举例——e格式符 第四章 顺序结构程序设计 综合举例 float x=123.456; printf("%e",x); printf("%10e",x); printf("%10.2e",x); printf("%.2e",x); printf("%-10.2e",x); 1.234560e+002 1.234560e+0021.23e+002 1.23e+002 1.23e+002 输出: 1.234560e+002 尾数部分 指数部分 2 6 5 总宽度为 13

  16. 格式输出举例——c格式符 输出 #include <stdio.h> void main() { char c='A'; int i=65; printf("c=%c,%5c,%d\n",c,c,c); printf("i=%d,%c",i,i); } c=A,A,65 i=65,A 注意 在C语言中,整数可以用字符形式输出,字符数据也可以用整数形式输出。将整数用字符形式输出时,系统首先求该数与256的余数,然后将余数作为ASCII码,转换成相应的字符输出。

  17. 格式输出举例——s格式符 #include <stdio.h> void main() { printf("%s,%5s,%-10s,","Internet","Internet","Internet"); printf("%10.5s,%-10.5s,%4.5s\n","Internet","Internet","Internet"); } 输出: Internet,Internet,Internet, Inter,Inter,Inter 注意 系统输出字符和字符串时,不输出单引号和双引号。

  18. (五)、格式输入——scanf函数 第四章 顺序结构程序设计 作用 从终端(或系统默认的输入设备)输入若干个任意类型的数据。 格式 scanf("格式控制字符串"[,地址列表]); • 1、 "格式控制字符串"与printf函数类似。可以包含以下三种类型 的信息: • 格式说明:与printf类似,以%开始,以一个格式字符结束; • 空白字符(空格、\t、\n):输入多个数据时的缺省分隔符,可以省略,在输入数据时可以以任一种空白字符分隔; • 普通字符(照原样输入)。 • 2、 "地址表列"是由若干个地址组成的列表,各地址之间用逗号分隔。如变量的地址表示为:&变量名。 说明

  19. 格式输入举例——d格式符 第四章 顺序结构程序设计 34 3,4 int a,b; scanf("%d%d",&a,&b); printf("%d,%d",a,b); 举例 3 4 3,4 int a,b; scanf("%d,%d",&a,&b); printf("%d,%d",a,b); 3 , 4 3,4 当输入多个数据时,若各个格式说明之间没有其他字符,则系统默认使用空格键、回车键和Tab键进行间隔;若格式说明之间有其他字符,则必须照原样输入。 注意

  20. 格式输入举例——f格式符 第四章 顺序结构程序设计 float a; scanf("%f",&a); printf("%f",a); 输入: 3.2 举例 输出: 3.200000 输入: 3.218 float a; scanf("%3.2f",&a); printf("%f",a); 输出: -107374176.000000 当输入实型数据时,不能规定精度。如果指定了精度,编译时不会报错,但输入的数据将不可预知。 注意

  21. 格式输入举例——c格式符 第四章 顺序结构程序设计 char ch1,ch2,ch3; scanf("%c%c%c",&ch1,&ch2,&ch3); printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3); 举例 输入: abc 输出: ch1=a,ch2= ,ch3=b 其中:ch2的值为空格。 使用格式说明符"%c"输入单个字符时,空格和转 义字符均作为有效字符被输入。 注意

  22. 四、顺序结构程序设计 第四章 顺序结构程序设计 在顺序结构程序中,各语句(或命令)是按照位置的先后次序,顺序执行的,且每条语句都会被执行到。 例1 从键盘输入一个大写字母,转换成相应的小写字母输出。 运行情况: #include <stdio.h> void main() { char c1,c2; //增强人机交互性。 printf("请输入一个大写字母:"); c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); } 请输入一个大写字母:A A,65 a,97

  23. 第四章 顺序结构程序设计 输入a,b,c p (a+b+c)/2 ssqrt(p*(p-a)*(p-b)*(p-c)) 输出s 例2 输入三角形的三边,求三角形的面积。 分析 a,b,c:表示三角形的三边。 p:中间变量。 p=(a+b+c)/2 s:三角形面积。 以上变量均为实型。 #include <stdio.h> #include <math.h> void main() { float a,b,c,p,s; printf("请输入三角形的三边:"); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("s=%7.2f\n",s); } 运行情况: 请输入三角形的三边:3 4 5 s=6.00 若输入 3 4 8 -2 -3 9 ?

  24. 例3 输入任意三个整数,求它们的和及平均值。 ?数据类型 分析 num1,num2,num3:表示三个整数。 sum:求和结果 aver:平均值 #include <stdio.h> void main(){ int num1,num2,num3,sum; float aver; printf("请输入三个整数:"); scanf("%d,%d,%d",&num1,&num2,&num3);/*输入三个整数*/ sum=num1+num2+num3; /*求累计和*/ aver=sum/3.0; /*求平均值*/ printf("num1=%d,num2=%d,num3=%d\n",num1,num2,num3); printf("sum=%d,aver=%7.2f\n",sum,aver);} 请输入三个整数:3,6,10 num1=3,num2=6,num3=10 sum=19,aver= 6.33 3.0改为3可以么?

  25. 作 业 第四章 顺序结构程序设计 P84: 4.4, 4.6, 4.8, 4.9, 4.10

More Related