1 / 25

第 4 章 顺序程序设计

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

Download Presentation

第 4 章 顺序程序设计

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

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

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

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

  5. 例:#include " stdio.h " main() {char a,b,c; a='B'; b='O'; c='Y'; putchar(a); putchar(b); putchar(c); } 运行结果: BOY 注意:用putchar函数也可输出控制字符。 例:putchar('\n');

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

  7. 4.5 格式输入与输出 4.5.1 printf函数(格式输出函数) 1) 作用:向终端输出若干个任意类型的数据。 2) 格式:printf(格式控制,输出表列) 3) 说明: ⑴ 格式控制是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息: 格式说明:由“%”和格式字符组成。 普通字符:即需要原样输出的字符。 ⑵ 输出表列是需要输出的数据,可以是常量 、 变量或表达式。

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

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

  10. a 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 b 例 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,65535 b=-2,177776,fffe,65534

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

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

  13. 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

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

  15. 例: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,但不能用逗号。

  16. 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。

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

  18.   例.已知三角形的三边长,求三角形面积。  例.已知三角形的三边长,求三角形面积。 # 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); }

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

  20. 例. 输入一个华氏温度,要求输出摄氏温度, 公式为 main() { float c,ft; scanf(" input a f %f ",&ft); c=5.0/9*(ft-32); printf(" \nc=%7.2f\n ",c); }

  21. 例 : 计算等差数列前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,2 a1=1,n=30,d=2,s=900

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

  23. 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的集成环境,窗口分为三个部分: 菜单区、编辑区和信息区。

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

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

More Related