25
第4第 第第第第第第 4.1 C 第第第第 C 第第第第第第第第 5 第1 第第第第第 ); 2 第第第第第第第 ); 3 第第第第第第 ); 4 第第第第 ); 5 第第第 {} 第 第第第第第第第第第第第第第 第第第第第第 一,。 第第第第第第第第第 68~69 第

第 4 章 顺序程序设计

Embed Size (px)

DESCRIPTION

第 4 章 顺序程序设计. 4.1 C 语句概述 C 语言中语句可分为 5 类: ( 1 )控制语句; ( 2 )函数调用语句; ( 3 )表达式语句; ( 4 )空语句; ( 5 )可以用 {} 把一些语句括起来成为复合语句,又称分程序。 具体内容请同学们看教材 68~69 页。. 4.2 赋值语句. 赋值语句是由赋值表达式加一个分号构成,下面讲在赋值语句中需要注意的地方: ( 1 ) C 语言中, ‘ =’ 是运算符。 ( 2 )注意区分赋值表达式与赋值语句的不同,其它语言中没有赋值表达式的概念。体会下面两个语句: int a,b=3; - PowerPoint PPT Presentation

Citation preview

Page 1: 第 4 章  顺序程序设计

第 4章 顺序程序设计4.1 C 语句概述C 语言中语句可分为 5 类:( 1 )控制语句;( 2 )函数调用语句;( 3 )表达式语句;( 4 )空语句;( 5 )可以用 {} 把一些语句括起来成为复合语句,又称分程序。具体内容请同学们看教材 68~69 页。

Page 2: 第 4 章  顺序程序设计

4.2 赋值语句赋值语句是由赋值表达式加一个分号构成,下面讲在赋值语句中需要注意的地方:( 1 ) C 语言中,‘ =’ 是运算符。( 2 )注意区分赋值表达式与赋值语句的不同,其它语言中没有赋值表达式的概念。体会下面两个语句: int a,b=3; a=b=2;

Page 3: 第 4 章  顺序程序设计

4.3 数据输入输出的概念及在 C 中的实现( 1 )输入输出是对计算机而言的。( 2 ) C 中没有输入输出语句,其操作是通过库函数来实现的。( 3 )使用 C 函数库时,要用预编译命令“ #include” 将有关“头文件”包括到用户源文件中。stdio 是 standard input & output 的缩写,它包含了与标准 I/O 库有关的变量定义和宏定义,考虑 printf 和 scanf 函数使用频繁,系统允许使用这两个函数时不加 #include 命令。

Page 4: 第 4 章  顺序程序设计

4 . 4 字符数据的输入输出 4.4.1 putchar 函数(字符输出函数)1) 作用:向终端输出一个字符。2) 形式: putchar(c); c 可以是字符变量或整型变量。3) 说明:该函数包含在 stdio.h 库中,(在程序的连接阶段要将目标文件与相应的库文件连接在一起形成最终的可执行文件。这里的 stdio.h 是所需的库文件)。因而要将 stdio.h 用预编译命令 "#include" 将其包含在原文件中。

Page 5: 第 4 章  顺序程序设计

例: #include " stdio.h "main(){char a,b,c; a='B'; b='O'; c='Y'; putchar(a); putchar(b); putchar(c); } 运行结果: BOY

注意:用 putchar 函数也可输出控制字符。 例: putchar('\n');

Page 6: 第 4 章  顺序程序设计

4.4.2 getchar 函数(字符输入函数) 1) 作用:从终端(或系统隐含指定的输入设备)输入一个字符。 2) 形式: getchar( ) ;无参数 3) 说明:该函数只能接收一个字符,其函数值可以赋给一个字符变量或整型变量,也可作为表达式的一部分,该函数包含在 stdio.h 中。例: #include " stdio.h "

main( ) {char c; c=getchar( ); putchar(c);

}

putchar(getchar());

}

Page 7: 第 4 章  顺序程序设计

4.5.1 printf 函数(格式输出函数)1) 作用:向终端输出若干个任意类型的数据。2) 格式: printf( 格式控制,输出表列 )3) 说明: ⑴ 格式控制是用双引号括起来的字符串,也称

“转换控制字符串”,它包括两种信息: 格式说明:由“ %” 和格式字符组成。

普通字符:即需要原样输出的字符。 ⑵ 输出表列是需要输出的数据,可以是常量 、 变

量或表达式。

4.5 格式输入与输出

Page 8: 第 4 章  顺序程序设计

4) 格式字符:对不同类型的数据用不同的格式字符,有以下几种: ⑴ d 格式符 : 用来输出十进制整数 %d 按整型数据的实际长度输出。 %md m 为指定的输出字段的宽度。 %ld 输出长整型数据。 %mld 输出长整型数据, m 为指定的输出宽度。 ⑵ o 格式符:以 8 进制形式输出整数,符号位被作为 8 进制的一部分输出,不会输出带负号的 8 进制数。也可分为 %o , %mo , %lo ,%mlo 几种。

Page 9: 第 4 章  顺序程序设计

⑶ x格式符:以 16 进制形式输出整数,同样不会出现负的 16 进制数。也可分为 %x ,%mx , %lx , %mlx几种。⑷ u 格式符:输出 unsigned 型数据,以十进制形式输出。 注意:一个 int 型整数可以用 %u 格式输出,一个 unsigned 型数据也可以用%d 格式输出,按相互赋值的规则处理。

Page 10: 第 4 章  顺序程序设计

例 main() {unsigned int a=65535;

int b=-2; printf("a=%d,%o,%x,%u\n",a,a,a,a); printf("b=%d,%o,%x,%u\n",b,b,b,b); }

运行结果:a=-1,177777,ffff,65535b=-2,177776,fffe,65534

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

a

b

Page 11: 第 4 章  顺序程序设计

⑸ c 格式符:用来输出一个字符。⑹ s 格式符:用来输出一个字符串。 %s 按字符串原长输出。 %ms 输出字符串占m 列,右对齐,左补空格 %-ms 输出字符串占m 列,左对齐,右补空格 %m.ns 字符串占m 列,但只取左端 n个字符,右对齐,左补空格 %-m.ns 字符串占m 列,但只取左端 n个字符,左对齐,右补空格

Page 12: 第 4 章  顺序程序设计

⑺ f 格式符:用来输出以小数形式表示的实数 %f 不指定字段宽度,由系统自动指定,整数部分全部输出,输出 6 位小数,单精度有效位为 7位,双精度有效位为 16位。 %m.nf  输出数据共占m 列,其中有 n 位小数,右对齐,不足左边补空格。 %-m.nf  输出数据共占m 列,其中有 n 位小数,左对齐,不足右边补空格。

Page 13: 第 4 章  顺序程序设计

例 main( ) { int a=6,b=10; float x=2.3,y=1.58; printf(" a=%d,b=%3d\n ",a,b); printf(" x=%f,y=%6.2f ",x,y); }

运行结果: a=6,b= 10 x=2.300000,y= 1.58

Page 14: 第 4 章  顺序程序设计

  4.5.2 scanf 函数(格式输入函数)  1) 作用:输入任何类型的多个数据。  2) 形式: scanf( 格式控制,地址表列 )  3) 说明 :  ⑴格式控制与 printf 函数中的格式控制相同。  ⑵地址表列是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

Page 15: 第 4 章  顺序程序设计

例:   main( ) {int a,b,c;

scanf(" %d%d%d ",&a,&b,&c);printf(" %d,%d,%d\n ",a,b,c);

}

“&” 是地址运算符, &a 指 a 在内存中的地址。“ %d%d%d” 表示按十进制整数形式输入数据,输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键 Tab ,但不能用逗号。

Page 16: 第 4 章  顺序程序设计

4) 格式说明: 格式说明符与 printf 中相似,以“ %”开头,以一个格式字符结束,中间可以插入附加的字符。另有几点说明: (a) 在 scanf 中对 unsigned 型数据,可以用 %u , %d , %o , %x格式进行输入。 (b) 可以指定输入数据所占列数,系统自动按它截取所需数据。 scanf(" %3d%3d ",&a,&b); 输入 123456 , 则自动将 123=> a , 456=>b scanf(" %3c ",&ch); 输入 3 个字符,把第一个字符赋给变量 ch 。

Page 17: 第 4 章  顺序程序设计

(c) %后的“ *”附加说明符,用来表示跳过它相应的数据。 scanf(" %2d %*3d %2d ",&a,&b); 输入 12 345 67 则将 12=> a , 67=> b , 345 被跳过 (d) 输入数据时不能规定精度。 scanf(“ %7.2f ”,&a);非法

Page 18: 第 4 章  顺序程序设计

  例.已知三角形的三边长,求三角形面积。 # include " math.h "   main()   {float a,b,c,s,area;   scanf(" %f,%f,%f ",&a,&b,&c);   s=1.0/2*(a+b+c);   area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“ a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n\ ",a,b,c,s);   printf(" area=%7.2f\n ",area); }

Page 19: 第 4 章  顺序程序设计

例.从键盘输入一个大写字母,要求改用小   写字母输出。 # include " stdio.h " main() {char c1,c2; c1=getchar(); printf(" %c,%d\n ",c1,c1); c2=c1+32; printf(" %c,%d\n ",c2,c2); }

Page 20: 第 4 章  顺序程序设计

例 . 输入一个华氏温度,要求输出摄氏温度, 公式为

main() { float c,ft; scanf(" input a f %f ",&ft); c=5.0/9*(ft-32); printf(" \nc=%7.2f\n ",c); }

)32(9/5 fc

Page 21: 第 4 章  顺序程序设计

例 : 计算等差数列前 n项和已知等差数列的第一项为 a1, 公差为 d ,前 n 项和的计算公式为: s=a1*n+n(n-1)*d/2 #include "stdio.h" main() { int a1,n,d,s; scanf("%d,%d,%d",&a1,&n,&d); s=a1*n+n*(n-1)/2*d; printf("a1=%d,n=%d,d=%d,s=%d\n",a1,n,d,s); }输入: 1 , 30, 2a1=1,n=30,d=2,s=900

Page 22: 第 4 章  顺序程序设计

养成良好的源程序书写风格──顺序程序段左对齐 顺序程序段中的所有语句(包括说明语句),一般与本顺序程序段的首行左对齐。

Page 23: 第 4 章  顺序程序设计

C程序的上机步骤: 在编好一个 C 源程序后,如何上机运行呢?下面我们以微型机下的 Turbo C 2.0 为例,讲述其运行步骤。一、 Turbo C 2.0 系统环境。 首先获得一 Turbo C 2.0打包文件,解包后在硬盘上形成 TC目录树,其目录结构如下: TC主目录,下面有 TC 系统文件、 include (头包含文件)和 lib (库文件)子目录。二、 Turbo C 2.0集成环境。 在 dos提示符下键入: tc ,则调出 Turbo C 2.0 的集成环境,窗口分为三个部分: 菜单区、编辑区和信息区。

Page 24: 第 4 章  顺序程序设计

菜单区有 FILE EDIT RUN COMPILE PROJECT OPTIONS DEBUG 组成,开始时光标位于 FILE处,可回车显示子菜单。如: Load Pick New Save Write to Directory Change dir Os shell Quit 。 编辑窗口中用户可进行源程序的编辑和修改。 信息区中可提供编译时的信息。 三、 C 程序上机步骤 1.编辑源程序 按 FILENew 可编辑新源程序。 2.编译源程序

C程序的上机步骤

Page 25: 第 4 章  顺序程序设计

按“ F9”键( COMPILE )可进行编译、链接,并在屏幕上显 示编译信息。如有错误可返回 2重新编辑。 3.运行程序 按“ Ctrl+F9” 或 F10RUN回车,可运行该程序。 4.观看结果 按“ Alt+F5” 或 F10RUNUser Screen回车,观看程序的运行结果。 5.退出系统 按“ Alt+X” 或 F10FILEQuit回车,退出 Turbo C 2.0集成环境。

C程序的上机步骤