1 C语言程序设计-第三章 C语言程序设计 第三章 算法和基本程序设计 主讲教师 胡 滨 计算机学院软件工程系 [email protected] 2011年9月 1 2 C语言程序设计-第三章 结构化程序设计和基本程序结构 数据结构+算法=程序 数据结构:指对数据(操作对象)的描述。 算法:指对操作步骤的描述。 正确的算法应具有的特性: 1、有穷性2、确定性3、有0—n个输入数据 4、有1—n个输出数据5、有效性 算法的表示形式: 1、自然语言 2、流程图3、N-S图 4、伪代码 5、PAD图 2 3 C语言程序设计-第三章 特性 n有穷性:一个算法必须在执行有限个操作步骤后 终止; n确定性:算法中每一步的含义必须是确切的,不 可出现任何二义性; n可行性:算法中的每一步操作都应该能有效执行 。例如,一个数被0除的操作就是无效的,应当 避免这种操作。 n有输入:输入是指在算法开始之前所需要的初始 数据。这些输入的多少取决于特定的问题。 n输出:在一个完整的算法中至少会有一个输出。 3 4 C语言程序设计-第三章 评价标准 n正确性:合法输入有正确输出 n可读性:易懂 n健壮性:容错 n高效率和低存储量需求 4 5 C语言程序设计-第三章 C语言程序设计 第三章 算法和基本程序设计 n算法的表示 可用自然语言、数学方法、某种计算机语言描述 规范的方法:流程图、结构图、伪代码、PAD图 n流程图 5 6 C语言程序设计-第三章 例:求三个整数的和 流程图 开始 输出sum的值 结束 输入x,y,z sum=x+y+z main( ) { float x,y,z,sum; scanf(“%f%f%f\n”, sum=x+y+z; printf(“sum=%f\n”,sum); } 6 7 C语言程序设计-第三章 例2:求三个数中最小数 流程图 开始 输出min的值 输入a,b,c a main() { int a,b,c,min; scanf(“%d%d%d“, if(a 或 #include “stdio.h“ 19 20 C语言程序设计-第三章 1. putchar 函数(字符输出函数) 字符数据的输入/输出 格式: putchar( c ) 参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上 例: #include main() { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } A B 20 21 C语言程序设计-第三章 2、getchar函数(字符输入函数) 格式: getchar( ) 功能:从键盘读入一字符, 遇回车结束并回显 例: #include main( ) { char c; c=getchar( ); putchar( c ); } a a 21 22 C语言程序设计-第三章 getch函数 格式: getch ( ) 功能:从键盘读入一字符, 不用回车结束,不回显 例: #include main( ) { char c; c=getch ( ); putchar( c ); } a a 22 23 C语言程序设计-第三章 getche函数 格式: getche ( ) 功能:从键盘读入一字符, 不用回车结束,回显 例: #include main( ) { char c; c=getche ( ); putchar( c ); } a aa 23 24 C语言程序设计-第三章 getche函数 例: # include main( ) { char ch; ch=getch(); putchar(ch-32); } 24 25 C语言程序设计-第三章 gets,puts函数 例: # include main( ) { char ch[80]; gets(ch); puts(ch); } 25 26 C语言程序设计-第三章 格式输入与输出 输出若干个任意类型的数据 1、printf函数(格式输出) 格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 说明:标准库函数,函数原型在头文件“stdio.h”中 格式控制串: 格式说明: 普通字符或转义序列: %格式字符,用于指定输出格式 原样输出 输出表:要输出的数据(可以没有,多个时以“,”分隔) 26 27 C语言程序设计-第三章 格式字符 1、%d 十进制格式 2、%o 八进制格式 3、%x 十六进制格式 4、%u 无符号的十进制格式 5、%c 一个字符格式 6、%s 字符串格式 7、%f 实数格式 8、%e 指数格式 9、%g 27 28 C语言程序设计-第三章 d x,X o u c s e,E f g %% 十六进制无符号整数 不带符号十进制整数 十进制整数 指数形式浮点小数 单一字符 字符串 八进制无符号整数 小数形式浮点小数 e和f中较短一种 百分号本身 int a=567;printf ( “%d”,a); int a=255;printf(“%x”,a); int a=65;printf(“%o”,a); int a=-1;printf(“%u”,a); char a=65;printf(“%c”,a); printf(“%s”,“ABC”); float a=567.789;printf(“%e”,a); float a=567.789;printf(“%f”,a); float a=567.789;printf(“%g”,a); printf(“%%”); 567 ff 101 65535 A ABC 5.67789e+02 567.789000 567.789 % 格式字符 28 29 C语言程序设计-第三章 附加格式说明符 .n 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 修饰符 功 能 m 输出数据域宽,数据长度 #include main( ) { float a, b, c, s, area; printf(“input a, b, c: “); scanf(“%f,%f,%f“, s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%7.2f\n“,area); } input a, b, c: 3,4,6 area= 5.33 33 34 C语言程序设计-第三章 C程序上机的步骤 C程序从开发到执行的过程 用户 C源程序 .c文件 目标程序 .obj文件 可执行程序 .exe文件 结 果 编 辑 编 译 连 接 运 行 编译 出错 连接 出错 运行 出错 对源文件进行语法和逻辑结构检查将目标程序、库函数或其他目标程 序连接成一个可执行文件 34 35 C语言程序设计-第三章 VC环境介绍 新建文件 35 36 C语言程序设计-第三章 36 37 C语言程序设计-第三章 保存文件 后缀为.c 37 38 C语言程序设计-第三章 编译结果 编译 38 39 C语言程序设计-第三章 链接结果 链接 39 40 C语言程序设计-第三章 运行 40 41 C语言程序设计-第三章 用Ctrl+空格切换中英文输入方式 41 42 C语言程序设计-第三章 注意逗号,为英文方式下的字符输出结果 42
展开阅读全文