Download presentation
Presentation is loading. Please wait.
Published byLiani Atmadjaja Modified 6年之前
1
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
2
3.1 C语句概述 3.2 程序的三种基本结构 3.3 赋值语句 3.4 格式输入与输出 3.5 字符数据的输入输出函数 3.6 顺序结构程序设计举例
3
3.1 C语句概述 C语言的语句分为如下五大类: (1)表达式语句: 表达式后面加一个分号就构成了一个表达式语句。 例如:
sum=a+b; /*赋值语句*/ i++; /*自加运算表达式语句*/ x=1,y=2; /*逗号表达式语句*/ (2)函数调用语句: 函数调用语句由一个函数加一个分号构成。 printf(“This is a C statement.”);
4
3.1 C语句概述 (3)复合语句: 用花括号{ }将多个语句组合在一起称为复合语句,又称为语句块(block)。 例如:
{ int x,y; z=x+y; printf(“d%”,z); } (4)空语句: 只有一个分号(;)的语句称为空语句。 在程序中空语句经常被用作循环体,比如常见的用于延时的一种循环语句。 例如: for(i=0;i<=1000;i++) ;
5
3.1 C语句概述 (5)控制语句 控制程序执行顺序,实现基本结构的语句,有下面九种: ① if-else语句 (条件语句)
② switch语句 (多分支选择语句) ③ for语句 (循环语句) ④ while语句 (循环语句) ⑤ do-while语句 (循环语句) ⑥ continue语句 (结束本次循环语句) ⑦ break语句 (终止执行循环语句或switch语句) ⑧ goto语句 (转向语句) ⑨ return语句 (函数返回值语句)
6
3.2 程序的三种基本结构 A B C语言是结构化程序设计语言,结构化程序设计的结构主要有:顺序结构、选择结构和循环结构三种。
3.2 程序的三种基本结构 C语言是结构化程序设计语言,结构化程序设计的结构主要有:顺序结构、选择结构和循环结构三种。 1. 顺序结构 顺序结构是最基本、最简单的程序结构,它由若干语句块从上到下依次排列次序顺序执行。 顺序结构如图3.1所示,先执行A块,再执行B块,两者是从上到下的顺序执行关系。 A B
7
3.2 程序的三种基本结构 2. 选择结构 选择结构就是根据给定条件从两条或多条可能的分支中选择一个分支执行。如图3.2,图3.3,图3.4所示 需要注意的是:不管是几条分支,在程序的一次执行过程中,只有一条分支被选 中执行。
8
3.2 程序的三种基本结构 3. 循环结构 循环结构是由循环控制条件来控制循环体是否执行。 这种结构也有两种形式:
3.2 程序的三种基本结构 3. 循环结构 循环结构是由循环控制条件来控制循环体是否执行。 这种结构也有两种形式: “当型循环”和“直到型循环” 假 (1)当型循环结构 如图3.5所示,当条件P成立时,反复执行A操作,直到条件P不再成立时才跳出循环。 真
9
3.2 程序的三种基本结构 3. 循环结构 (2)直到型循环结构
3.2 程序的三种基本结构 3. 循环结构 (2)直到型循环结构 如图3.6所示,先执行A操作,再判断条件P是否成立,若P成立,则再执行A操作,如此反复,直到条件P不成立时跳出循环。 假 真
10
3.3 赋值语句 赋值语句的组成:在赋值表达式的后面加上一个分号。 基本形式为: 变量 = 表达式 ; 例如: X=8
3.3 赋值语句 赋值语句的组成:在赋值表达式的后面加上一个分号。 基本形式为: 变量 = 表达式 ; 例如: X=8 X=Y/5-3 是表达式。 而 X=8; /*将整数8赋给变量X*/ X=Y/5-3; /*将表达式Y/5-3的值赋给变量X*/ 就是赋值语句。
11
3.3 赋值语句 注意: (1)C语言中的赋值号“=”是一个运算符,而在其他大多数高级语言中赋值号不是运算符。
3.3 赋值语句 注意: (1)C语言中的赋值号“=”是一个运算符,而在其他大多数高级语言中赋值号不是运算符。 (2)要区别赋值表达式和赋值语句。 例如: if((a=b)>0) t=a; 此处if语句中a=b是赋值表达式而不是赋值语句。
12
3. 4 格式输入与输出 信息从计算机的外部设备流入计算机称为输入。 信息从计算机主机流向外部设备称为输出。
3. 4 格式输入与输出 信息从计算机的外部设备流入计算机称为输入。 信息从计算机主机流向外部设备称为输出。 C语言中没有输入输出语句,而是由输入输出函来实现的输入/输出的。C标准函数库中包含的常用输入输出函数有: 格式输出函数printf() 格式输入函数scanf() 单个字符输出函数putchar() 单个字符输入函数getchar() 使用标准输入输出库函数时,要用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。即: #include<stdio.h> 或 #include“stdio.h”
13
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 一般格式: printf(格式控制”,输出列表);
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 一般格式: printf(格式控制”,输出列表); 例如:printf(“a=%d,b=%c\n”,a,b) 功能:向默认输出设备(一般是显示器)输出“输出列表”中各数据项。 1. 格式控制 格式控制也称“控制字符串”,是由双引号括起来指定输出格式的字符串。他由格式说明、控制字符和普通字符三部分组成。
14
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (1)格式说明 构成:由“%”字符开始后面跟有各种格式字符。
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (1)格式说明 构成:由“%”字符开始后面跟有各种格式字符。 作用:以说明输出数据的类型、形式、长度、小数位等格式。 C语言提供的常用printf()函数格式说明:
15
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)控制字符
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)控制字符 控制字符用于控制设备的动作,如下表中制表符“\t”、换行符“\n”等。 转义字符 表示含义 \n 换行,将当前位置移到下一行开头 \t 横向跳格,横向跳到下一个输出区 \r 回车,将当前位置移到本行开头 \f 走纸换页,将当前位置移到下页开头 \b 退格,将当前位置移到前一列 \v 竖向跳格 例如:printf(“x=%d\n”,x);
16
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (3)普通字符
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (3)普通字符 除格式说明和控制字符之外,其他字符均属普通字符,打印时按原样输出。例如: printf(“x=%d,%c”,12,6*8); 其中“x=”和“,”都是普通字符。 输出结果是:x=12,48
17
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 2.输出列表
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 2.输出列表 输出列表:就是需要输出的各数据项表达式,表达式之间用逗号分隔。 注意: (1)表达式可以由变量构成,也可以由常量构成; (2)表达式之间的逗号不是逗号表达式,而是确定计算顺序的分隔符,自右向左进行的计算。
18
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 3.附加说明符 在%与格式字符间插入附加说明符,组成:
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 3.附加说明符 在%与格式字符间插入附加说明符,组成: “% <附加说明字符><格式符>”输出格式来达到更高输出格式要求。
19
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 附加说明符 意 义 l
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 附加说明符 意 义 l 用于长整型,可以加在格式符d、o、x、u的前面 m(正整数) 数据输出的最小宽度,当数据实际宽度超过m时,则按实际宽度输出,如实际宽度短于m,则输出时前面补0或空格。 .n(正整数) 对实数表示输出n位小数,对字符串,表示从左截取的字符个数 - 输出的字符或数字在域内向左对齐,默认右对齐 + 输出的数字前带有正负号 在数据前多余空格处补0 # 用在格式字符o或x前,输出八进制或十六进制数时带前缀0或0x
20
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.1】输出整型、长整型、无符号整型数据
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.1】输出整型、长整型、无符号整型数据 #include “stdio.h” void main() { int y=20; long a=1024; unsigned b=54321; printf(“%d,%ld,%u\n”,y,a,b); printf(“%+8d,%+8ld,%+8u\n”,y,a,b); printf(“%08d,%08ld,%08u\n”,y,a,b); printf(“%-8d,%-8ld,%-8u\n”,y,a,b); printf(“%o,%lo,%o\n”,y,a,b); printf(“%#x,%#lx,%#x\n”,y,a,b); printf(“%8o,%8lo,%8o\n”,y,a,b); printf(“%-8x,%-8lx,%-8x\n”,y,a,b); }
21
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 运行结果如下:(ㄩ代表空格) 20,1024,54321
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 运行结果如下:(ㄩ代表空格) 20,1024,54321 ㄩㄩㄩㄩㄩ+20,ㄩㄩㄩ+1024,ㄩㄩㄩ54321 , , 20ㄩㄩㄩㄩㄩㄩ,1024ㄩㄩㄩㄩ,54321ㄩㄩㄩ 24,2000,152061 0x14,0x400,0xd4321 ㄩㄩㄩㄩㄩㄩ24,ㄩㄩㄩㄩㄩ2000,ㄩㄩ152061 14ㄩㄩㄩㄩㄩㄩ, 400ㄩㄩㄩㄩㄩ, d4321ㄩㄩㄩ
22
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.2】输出字符和字符串
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.2】输出字符和字符串 #include “stdio.h” void main() { char ch=’a’; printf(“%c\n”,ch); printf(“%-3c\n”,ch); printf(“%3c\n”,ch); printf(“%s\n”,”programing”); printf(“%15s\n”,”programing”); printf(“%-15s\n”,”programing”); printf(“%10.5s\n”,”programing”); printf(“%-10.5s\n”,”programing”); } 运行结果如下: a aㄩㄩ ㄩㄩa programing ㄩㄩㄩㄩㄩprograming programingㄩㄩㄩㄩㄩ ㄩㄩㄩㄩㄩprogr progrㄩㄩㄩㄩㄩ
23
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.3】输出实型数据 #include “stdio.h”
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 【例3.3】输出实型数据 #include “stdio.h” void main() { float x,y; double a; x= ;y= ; a= ; clrscr(); printf(“%f\n”,x); printf(“%f\n”,a); printf(“%10f,%10.2f,%.2f,%-10.2f\n”,x,x,x,x); printf(“%e\n”,x); printf(“%e\n”,a); printf(“%10e,%10.2e,%.2e.%-10.2e\n”,a,a,a,a); printf(“%f,%e,%g”,y,y,y); }
24
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 程序运行结果如下: 111111.109375
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 程序运行结果如下: , ㄩ , , ㄩ e+05 e+08 e+08, ㄩㄩㄩ3.3e+08,3.3e e+08ㄩㄩㄩ , e+02,
25
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 4. 在使用printf()函数时,还应注意以下问题
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) 4. 在使用printf()函数时,还应注意以下问题 (1)转换说明与输出参数不一致时可能产生错误。 printf()函中格式符串中的数目多于列表参数个数时,则会输出错误数据;如果格式符串中的数目少于列表参数个数,则多出的参数不被输出。 例如: #include “stdio.h” void main() { int i=-6,x=5; float y= ; printf(“%d,%d\n”,i); printf(“%-4d,%f”,i,y,x); } 输出结果为: -6, /*多余格式符输出错误数据*/ -6ㄩㄩ, /* x未被输出*/
26
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 例如: ① #include “stdio.h” void main() { float x= ,y= ; printf("%f",x+y); } 输出结果为: /*前7位是有效数字,后面数字无意义*/
27
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。
3. 4 格式输入与输出 3.4.1 printf( )函数(格式输出函数) (2)“f”格式符一般为7位有效数字,双精度一般为16位。 ② #include “stdio.h” void main() { double x= ,y= ; printf("%lf",x+y); } 输出结果为: /*可达16位是有效数字,小数点保留6位*/
28
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 一般形式: scanf("格式控制",地址列表);
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 一般形式: scanf("格式控制",地址列表); 功能:从键盘向程序中的变量输入一个或若干个任意类型的数据。 例如: scanf("%d,%d",&a,&b); 1. 格式控制 格式控制与printf基本相同,由格式说明、附加说明字符和普通字符三部分组成。 "% <附加说明字符><格式符>"
29
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式字符 作 用 %d,%i 输入带符号的十进制整数 %u
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式字符 作 用 %d,%i 输入带符号的十进制整数 %u 输入无符号十进制整数 %x,%X 输入无符号的十六进制整数(不区分大小写) %o 输入无符号形式八进制整数 %f 输入实数,可以用小数形式或指数形式输入 %e,%E %g,%G 与%f作用相同,%e、%f、%g可以互相替换 %c 输入单个字符 %s 输入字符串,将字符串送到一个字符数组中,在输入时以非空字符开始,遇到回车或空格字符结束
30
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式修饰符 作 用 L或l
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 格式修饰符 作 用 L或l 用在格式字符d、o、x、u的前,表示输入长整型数据,用在f或e前,表示输入double型数据。 h 用在格式字符d、I、o、x前,表示输入短整型数据 m 指定输入数据所占宽度,不能用来指定实数型数据宽度,应为正整数 * 表示该输入项在读入后不赋值给相应的变量
31
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 2. 地址列表
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 2. 地址列表 地址列表:用逗号分隔的若干接收输入数据的变量地址。各变量地址间用逗号“,”分隔。 变量地址组成:由地址运算符“&”后跟变量名组成。 例如: #include<stdio.h> void main() { int a,b, c; scanf(“%d%d%d”,&a,&b,&c); printf(“a=%d,b=%d,c=%d\n”,a,b,c); } 输入数据的格式表示什么意思?
32
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行时按以下方式输入a,b,c的值:
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行时按以下方式输入a,b,c的值: 3ㄩ4ㄩ5↙ (输入a,b,c的值,用空格间隔) a=3,b=4,c= (输出a,b,c的值) 注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,不能用逗号作为两个数据的分隔符。 下面输入均为合法: ①3ㄩ4ㄩ5↙ ②3↙ 4 5↙ ③3(按Tab键)4↙ 5↙ 如下面的输入不合法: 3,4,5↙
33
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 3. 使用scanf()函数时应注意的问题
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 3. 使用scanf()函数时应注意的问题 (1)地址列表中的各个参量都是变量地址,而不是变量名。 例如:设a 、 b 分别为整型变量和浮点型变量,则 scanf(“%d %f”,&a,&b);是合法的。 而 scanf("%d %f",a,b);是非法的。
34
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (2)普通字符在输入数据时,在对应位置上输入相同字符。 例如:
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (2)普通字符在输入数据时,在对应位置上输入相同字符。 例如: scanf("%d,%d",&a,&b) 输入时应用如下形式: 3,4↙ 以下输入格式是不对的: 3ㄩ4↙ 3 : 4。 又如:scanf(”%d:%d:%d”,&x,&y,&z); 输入形式应为:12:13:14。
35
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (3)对于实型数据,输入时不能规定其精度。 例如:
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (3)对于实型数据,输入时不能规定其精度。 例如: scanf(“%6.3f”,&x); 是不合法的。 (4)在用“%c”格式输入字符时,空格字符和“转义字符”都将作为有效的字符输入。 scanf("%c%c%c",&c1,&c2,&c3); 如果输入: aㄩbㄩc↙ 则字符'a'→c1,字符'ㄩ'→c2,字符'b'→c3。 正确输入方法是: abc↙(中间没有空格) c1、c2、c3的值分别是什么?
36
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (5)在输入数据时,遇到下列情况时,输入数据认为结束:
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (5)在输入数据时,遇到下列情况时,输入数据认为结束: 遇空格或按“回车”或“跳格”(Tab)键; 遇宽度结束,如“%3d”,只取3列; 遇非法输入; 例如: scanf("%d%c%f",&a,&b,&c); 若输入 123a456o.26↙ 123→a ,字符a→b,456→c 注:第3个数 错打成456o.26,由于456后面出现了英文字母“o”,就认为此数据结束,则将会把456送给c,后面的数据将不被接受。
37
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数)
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) (6)当使用多个scanf()函数连续给多个字符变量赋值时,例如: #include<stdio.h> void main() { char c1,c2; scanf(“%c”,&c1); scanf(“%c”,&c2); printf(“c1 is %c,c2 is %c”,c1,c2); }
38
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行该程序时 如果输入: A↙ 输出结果为:
3. 4 格式输入与输出 3.4.2 scanf( )函数(格式输入函数) 运行该程序时 如果输入: A↙ 输出结果为: c1 is A,c2 is ↙ (即C2接收了一个回车符↙,而没有被赋值) AB↙ c1 is A,c2 is B。 (7)对于unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。
39
3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数)
格式:putchar(c); c为字符型或整型常量、变量或表达式。 功能:向终端(显示器)输出一个字符,如果c为整型,则输出ASCII码值等于参数c的字符。 例如: putchar(“a”) /*输出结果为:a*/ putchar(97) /*输出结果为:a*/ 注意:使用本函数是必须要用文件包含命令:#include<stdio.h>
40
3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 例如: #include<stdio.h>
void main() { char x,y,z; x=’B’; y=’Y’; z=’E’; putchar(x);putchar(y);putchar(z); } 运行结果为: BYE
41
3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 用putchar()函数可以输出也可以输出屏幕控制字符
如果将上面例题的最后一行改为: putchar(x); putchar(‘\n’); putchar(y); putchar(‘\n’); putchar(z); 运行结果为: B Y E
42
3.5 字符数据的输入输出函数 3.5.1 putchar函数(字符输出函数) 其次putchar()函数还可输出转义字符。
putchar(‘\101’); /*输出结果为字母:a */ putchar(‘\\’’); /*输出结果为单引号:’ */ putchar(‘\\”’) ; /*输出结果为双引号:” */ putchar(‘\255’); /*输出结果为图形符号:!*/
43
3.5 字符数据的输入输出函数 3.5.2 getchar()函数(字符输入函数) 格式:getchar();
功能:从键盘(或系统默认的输入设备)输入一个字符。 例如: char x ; x=getchar(); putchar(x); 运行结果: A↙ (通过键盘输入’A’,按回车键) A (输出变量x的值’A’) 注意:(1)getchar()函数没有参数。 (2)该函数只能接收一个字符。 (3)使用函数前需加上文件包含命令:#include<stdio.h>。
44
3.5 字符数据的输入输出函数 3.5.2 getchar()函数(字符输入函数) 【例3.4】字符输入输出函数的使用
#include<stdio.h> void main() { char c1,c2; char c3=’X’; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); putchar(c3); } 运行时若输入 A↙ 输出结果为: A X
45
3.6 顺序结构程序设计举例 【例3.5】从键盘输入一个小写字母,输出其对应的大些字母及其相应的ASCII码值。
3.6 顺序结构程序设计举例 【例3.5】从键盘输入一个小写字母,输出其对应的大些字母及其相应的ASCII码值。 分析:从ASCII码表中得知: 小写字母的ASCII码-32=大写字母ASCII码 程序如下: #include<stdio.h> void main() { char ch1,ch2; ch1=getchar(); ch2=ch1-32; printf("\n letter:%c,ASCII=%d",ch1,ch1); printf("\n letter:%c,ASCII=%d",ch2,ch2); }
46
3.6 顺序结构程序设计举例 【例3.6】输入三角形的三边长,求三角形的面积。 分析:根据数学知识可知求三角形的面积公式为: area=
3.6 顺序结构程序设计举例 【例3.6】输入三角形的三边长,求三角形的面积。 分析:根据数学知识可知求三角形的面积公式为: area= (注: s=(a+b+c)/2) 程序如下: #include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); /*调用函数库中求平方根函数sqrt()*/ printf(“a=%7.2f\nb=%7.2f\nc=%7.2f\narea=%7.2f\n”, a, b, c, area); }
47
3.6 顺序结构程序设计举例 【例3.7】求方程的根。a,b,c由键盘输入,设 。 分析:根据数学知识可得一元二次方程的根为:
3.6 顺序结构程序设计举例 【例3.7】求方程的根。a,b,c由键盘输入,设 。 分析:根据数学知识可得一元二次方程的根为: 可以将上面的分式分为两项: 则 x1= p+q, x2= p-q
48
3.6 顺序结构程序设计举例 程序如下: #include<stdio.h> #include<math.h>
3.6 顺序结构程序设计举例 程序如下: #include<stdio.h> #include<math.h> void main() { float a,b,c,disc,x1,x2,p,q; scanf("a=%f,b=%f,c=%f",&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q,x2=p-q; printf("x1=%5.2f\nx2=%5.2f\n",x1,x2); }
Similar presentations