1 / 66

第 3 章 顺序结构程序设计

第 3 章 顺序结构程序设计. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 表达式语句. C 语言语句用来向计算机发出 操作指令 。一个 C 语言源程序一般包含若干条语句, C 语言的语句都要以 分号 结束。. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 表达式语句. 函数调用语句. 控制语句. 复合语句. 空语句. 3.1 C 语言的语句和输入 / 输出的概念. 3.1.1 C 语言的语句. 3.1.1.1 表达式语句.

Download Presentation

第 3 章 顺序结构程序设计

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. 第3章顺序结构程序设计

  2. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 表达式语句 C语言语句用来向计算机发出操作指令。一个C语言源程序一般包含若干条语句,C语言的语句都要以分号结束。

  3. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 表达式语句 函数调用语句 控制语句 复合语句 空语句

  4. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.1 表达式语句 表达式语句是在表达式后加分号“;”构成。其语法格式如下: 表达式; 例如: x=2; sum=a+b; i++; 执行表达式语句就是计算表达式的值。

  5. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.2 函数调用语句 函数调用语句由函数名、实际参数表加上分号构成。其语法格式如下: 函数名(实际参数表); 例如: printf("china\n"); /*调用库函数,输出字符串*/ scanf("%d,%d",&a,&b); /*调用库函数,输入两个整型值给变量a和b*/ 执行函数语句就是调用函数体,并把实际参数赋予给函数定义中的形式参数,然后执行被调用的函数,求取函数值。

  6. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.3 控制语句 C语言共有9种控制语句,可分为以下3类。 (1) 条件判断语句 (2) 循环执行语句 (3) 转向语句

  7. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.4 复合语句 复合语句是由一对花括号{}括起来的语句组。在C语言中,复合语句也可称为“语句块”,它将多个相关语句组成一个整体,如包含多个语句的循环体,要用复合语句。 复合语句形式如下: {语句1; 语句2; …; 语句n; }

  8. 3.1 C语言的语句和输入/输出的概念 3.1.1 C语言的语句 3.1.1.5 空语句 空语句是只有一个分号的语句,它什么也不做,一般用于一些特殊情况的处理,如空循环。 例如: for(i=0;i<1000;i++) { ; }

  9. 3.1 C语言的语句和输入/输出的概念 3.1.2 输入/输出的概念 输入/输出是以计算机主机为主体而言的。 从计算机向外部输出设备(如显示器、打印机、磁盘等)输出数据称为“输出” 从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为“输入”

  10. 3.1 C语言的语句和输入/输出的概念 3.1.2 输入/输出的概念 注意: (1)C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。 (2)在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户的源文件中。 例如: #include <stdio.h> 或 #include “stdio.h”

  11. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.1 函数功能 printf函数的功能是按指定格式向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。

  12. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 printf函数的一般格式: printf("格式控制字符串" [,输出列表]); “格式控制字符串”用于控制输出转换和格式化的方式,“输出列表”给出将要输出的数据项。 例如: int a=3,b=5; printf(“a=%d,b=%d“,a,b);

  13. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 一、格式控制字符串 “格式控制字符串”包括两种信息: (1) 格式说明符: 以“%”和格式说明符组成。如%d。 作用:将输出的数据转换为指定的格式输出。 (2) 普通字符: 即为原样输出的字符,它主要起提示作用。 printf(“a=%d,b=%d“,a,b);

  14. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 二、输出列表的形式 是一组由逗号“,”分开的参数序列,每个参数可以是常量、变量或表达式。 输出列表可以为空,此时格式控制字符串后,不能再加逗号“,”。 printf(“a=%d,b=%d“,a,b);

  15. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 printf(“a=%d,b=%d“a,b); printf(“a=%d,b=%d“,); printf(“a=%db=%d“,a,b); printf(“a=%d,b=%d“,ab); printf(“a=%d,b=%d,“,a,b);

  16. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.2 函数的语法格式 三、输出列表中参数的个数和类型 输出列表中的常量、变量和表达式,与控制字符串中的格式说明符个数应相等且类型一致,否则输出结果可能不是预期值。 int a=3,b=5,c=10; printf(“a=%d,b=%d\n,“a,b,c); printf(“a=%d,b=%d,c=%d\n“,a,b); printf(“a=%db=%d,\n“,b,a);

  17. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-1 printf函数的常用格式说明符及其意义

  18. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-1 printf函数的常用格式说明符及其意义

  19. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-2 printf函数的常用附加格式说明符及其意义

  20. 3.2 数据的输出 3.2.1 格式化输出函数printf 3.2.1.3 printf函数的格式说明符 表3-2 printf函数的常用附加格式说明符及其意义

  21. 3.2 数据的输出 【例3-1】写出以下程序的运行结果。 main() { char ch=‘C’; int a=99; unsigned b=74; long c=74000; double y=74.58; float x=85.47; printf(“line 1:%d,%c\t%d,%c\n“,ch,ch,a,a); printf(“line 2:%u\n“,b); printf(“line 3:%ld\n“,c); printf(“line 4:%f,%f\n“,x,y); printf(“line 5:%3.1f,%4.1f\n“,x,y); printf(“line 6:%8s%-4.2s\n“,”china”,”china”); printf(“line 7:%10.2f\n“, y); }

  22. 3.2 数据的输出 【例3-1】写出以下程序的运行结果。 main() { int n1=123; long n2=123456; printf("n1=%d,n1=%5d,n1=%-5d, n1=%2d\n", n1,n1,n1,n1); printf("n2=%ld,n2=%8ld,n2=%5ld\n ",n2,n2,n2); printf("n1=%ld\n",n1); }

  23. 3.2 数据的输出 【例3-2】“格式控制字符串”中转义字符和普通字符的使用。 #include <stdio.h> main() { int a=3; printf(“%%d:a=%d\n\101“, a); }

  24. 3.2 数据的输出 在TC中,printf函数输出列表中的求值顺序为从右到左。 【例3-3】求值顺序的演示示例。 #include <stdio.h> main() { int i=8; printf(“%d,%d,%d,%d,%d\n”,++i,--i,i--,i++,-i--); }

  25. 3.2 数据的输出 【例3-4】分析运行结果,比较与例3-3的区别。 #include <stdio.h> main() { int i=8; printf(“%d,”,++i); printf(“%d,”,--i); printf(“%d,”,i--); printf(“%d,”,i++); printf(“%d”,-i--); }

  26. 3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.1 函数功能 putchar函数将一个字符输出到标准输出设备,通常是指输出到显示器。

  27. 3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.2 函数语法格式 putchar函数的一般格式: putchar(c); 其中,参数c表示输出对象,它可以是字符型变量或整型变量,也可以是一个整数、控制字符或其他转义字符。 使用putchar函数时,必须在程序开头出现包含头文件“stdio.h”的行:#include <stdio.h>。而且不能省略。

  28. 3.2 数据的输出 3.2.2 单个字符输出函数putchar 3.2.2.2 函数语法格式 #include <stdio.h> main() { char c=‘A’; int a=97; putchar(c); putchar(a); putchar(97); putchar(‘\n’); putchar(‘\’’); }

  29. 3.2 数据的输出 【例3-5】在屏幕上显示单词。 #include <stdio.h> main() { char c1,c2,c3; int c4; c1=‘G’; c2=‘O’; c3=‘\117’; c4=68; putchar(c1); putchar(c2); putchar(c3); putchar(c4); putchar(‘\n’); putchar(‘\!’); }

  30. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.1 函数功能 scanf函数用于输入若干个任意类型的数据。

  31. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 scanf函数的语法格式: scanf("格式控制字符串",地址列表); scanf(“%d,%d”,&a,&b); 说明: (1)scanf函数的格式控制字符串,包含格式说明符和 普通字符。 (2)地址列表由若干个地址组成,各地址间用逗号隔开。 变量首地址的表示方法: &变量名 (其中“&”是地址运算符)

  32. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 与printf函数中的格式说明符相似,以%开始,以一个格式字符结束,中间可以插入附加的字符。如%d、%o、%x、%c、%s、%f、%e等格式说明符,它们与在printf函数中的意义一样。 例如: scanf(“%d,%d”,&a,&b);

  33. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符

  34. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符

  35. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符

  36. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 #include <stdio.h> main() { int a; scanf(“%3d”,&a); printf(“%d\n”,a); }

  37. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 一、格式说明符 #include <stdio.h> main() { int a,b; scanf(“%3d%d”,&a,&b); printf(“a=%d,b=%d\n”,a,b); }

  38. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 二、普通字符 在格式控制字符串中,除格式说明符外的其他字符。 作用:在输入数据时在对应位置输入相同的字符。 例如: scanf(“a=%d,b=%d”,&a,&b);

  39. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 如果相邻2个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的2个输入数据之间,至少用一个空格分开,或者用Tab键分开,或者输入1个数据后,按回车,然后再输入下1个数据。 “格式字符串”中出现的普通字符(包括转义字符形式的字符),务必原样输入。

  40. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 scanf(“%d%d”,&a,&b); 假设给a输入12,给b输入36,则正确的输入操作为: 12□36↙ 或者: 12↙ 36↙ 注意:使用“↙”符号表示按回车键操作,在输入数据操作中的作用是,通知系统输入操作结束。

  41. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 scanf(“a=%d,b=%d”,&a,&b); 假设给a输入12,给b输入36,则正确的输入操作为: a=12,b=36↙ 原样输入

  42. 3.3 数据的输入 3.3.1 格式化输入函数scanf 3.3.1.2 函数的语法格式 三、数据输入操作 提高人机交互性建议:为改善人机交互性,同时简化输入操作,在设计输入操作时,一般先用printf( )函数输出一个提示信息,再用scanf( )函数进行数据输入。 printf(“a=“); scanf(“%d”,&a); printf(“b=“); scanf(“%d”,&b);

  43. 3.3 数据的输入 【例3-7】根据格式字符的含义从输入值中取得数据。 #include <stdio.h> main() { int a; char b; float c; printf("input a,b,c:"); scanf("%d%c%f",&a,&b,&c); printf("a=%d,b=%c,c=%f\n",a,b,c); } 输入:1234r5678.9123 结果: a=1234,b=r,c=5678.912109

  44. 3.3 数据的输入 【例3-8】根据域宽从输入数据中取值。 #include <stdio.h> main() { int a,b,c; printf("input a,b,c:"); scanf("%2d%3d%3d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); } 输入:123456789 结果: a=12,b=345,c=678

  45. 3.3 数据的输入 【例3-9】“跳过”取值。 #include <stdio.h> main() { int a,b; printf("input a,b:"); scanf("%2d%*3d%4d",&a,&b); printf("a=%d,b=%d\n",a,b); } 输入:123456789 结果: a=12,b=6789

  46. 3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.1 函数功能 getchar函数从标准输入设备读取一个字符,通常是指从键盘上接收一个字符。通常用法是把输入的字符赋给一个字符变量,构成赋值语句。

  47. 3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.2 函数的语法格式 getchar函数的语法格式: 变量=getchar(); (1)变量可以是字符型变量或整型变量。如果是字符型变量,存入的就是字符本身;如果是整型变量,存入的就是该字符的ASCII码值。 (2)getchar函数没有参数; a=getchar();

  48. 3.3 数据的输入 3.3.2 单个字符输入函数getchar 3.3.2.2 函数的语法格式 (3)getchar函数的函数值就是从输入设备得到字符。如果其读入的字符不赋给任何变量,则该函数可以作为表达式的一部分使用。 (4)使用getch函数时,必须在程序开头出现包含头文件“stdio.h”的行:#include<stdio.h>。 例如: putchar(getchar()); printf("%c",getchar());

  49. 3.3 数据的输入 3.3.2 单个字符输入函数getchar 【例3-10】从键盘输入一个字符,然后显示出来。 #include <stdio.h> main() { char ch; ch=getchar(); putchar(ch); }

  50. 3.3 数据的输入 3.3.3 字符输入函数getch 3.3.3.1 函数功能 getch函数从键盘上接收一个字符,这个字符不会显示在屏幕上。

More Related