第3章 简单的C语言程序
C语言程序设计 第3版 第3章 算法与流程图

输入/输出框
处理框
流程图表示法一般包括三部分:
(1)表示相应操作的框; (2)带箭头的流程线; (3)框内外符
C语言程序设计
2. 流程图
符号表示 简单实例
用流程图表示下面的分段函数。
2x 1 y 0
3x 1
x0 x0 x0
C语言程序设计
3. 程序设计结构
顺序结构 选择结构 循环结构
(4)有零或多个输入:根据算法的不同,有的在实现过程中需要输入一些原始数据,而有 些算法可能不需要输入原始数据;
(5)有一个或多个输出:设计算法的最终目的是为了解决问题,为此,每个算法至少应有 一个输出结果,来反应问题的最终结果。
C语言程序设计
2. 流程图
符号表示 简单实例
流程图常用的符号:
起止框
顺序结构 选择结构 循环结构
循环结构流程图:
某学生在操场上跑步,一共要跑四圈,每一圈 都要跨过障碍,请画出该算法的流程图。
不成立 条件? 成立
A
圈数≤4? 成立
跨障碍
不成立
执行过程:
先判断条件,如果条件成立,执行A,再循环判断条件, 否则,跳出循环。
C语言程序设计
谢谢
C语言程序设计
第3章 算法与流程图
提纲
1.算法定义及特征 2. 流程图表示法 3. 程序设计结构
1. 算法
算法定义 算法特征
定义:
现实生活中解决问题时,一般都要制订一个针对具体问题的步骤和方法,以此为据去实现目标。 将为了解决问题所制订的步骤、方法称为算法(Algorithm)。
计算下面的分段函数。
特征:
(1)有穷性:算法中所包含的步骤必须是有限的,不能无穷无止,应该在一个人所能接受 的合理时间段内产生结果;
c语言程序设计第五版谭浩强习题答案第三章课后答案

c语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的C程序设计 ----顺序程序设计1、假如我国国民⽣产总值的年增长率为7%,计算10年后我国国民⽣产总值与现在相⽐增长多少百分⽐。
计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相⽐的倍数。
题⽬解析:此题的关键主要是利⽤数学库math中pow函数进⾏计算,若不熟悉可以查阅帮助⽂档,查看pow函数的⽤法。
代码⽰例:#include<stdio.h>#include <math.h>int main(){Cfloat p, r, n;r = 0.07;n = 10;p = pow(1 + r, n);printf("p=%f\n", p);return 0;}运⾏结果:2、存款利息的计算。
有1000元,想存5年,可按以下5种办法存:(1)⼀次存5年期(2)先存2年期,到期后将本息再存3年期(3)先存3年期,到期后将本息再存2年期(4)存1年期,到期后将本息再存1年期,连续存5次(5)存活期存款,活期利息每⼀季度结算⼀次2017年银⾏存款利息如下:1年期定期存款利息为1.5%;2年期定期存款利息为2.1%;3年期定期存款利息为2.75%;5年期定期存款利息为3%;活期存款利息为0.35%(活期存款每⼀-季度结算⼀-次利息)如果r为年利率,n为存款年数,则计算本息的公式如下:1年期本息和: P= 1000* (1+r);n年期本息和: P= 1000* (1+n* r);存n次1年期的本息和: $P=1000* (1+r)^n$;活期存款本息和: P= 1000 *(1+$\frac{r}{4}$)$^{4n}$;说明: 1000*(1+$\frac{r}{4}$)是⼀个季度的本息和。
题⽬解析:理解题意很关键,其次就是利⽤数学库math中pow函数进⾏幂次⽅计算代码⽰例:#include<stdio.h>#include <math.h>int main(){float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5;p = 1000;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5); // ⼀次存5年期p2 = p*(1 + 2 * r2)*(1 + 3 * r3); // 先存2年期,到期后将本息再存3年期p3 = p*(1 + 3 * r3)*(1 + 2 * r2); // 先存3年期,到期后将本息再存2年期p4 = p*pow(1 + r1, 5); // 存1年期,到期后将本息存再存1年期,连续存5次p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。
C语言程序设计 简单的算术运算和表达式(3.1.2)--3.1节-3.5节

13
printf("area = %f\n", area);
14 }
【例题解析】本题用宏常量代替了程序中多次出现的常数,提高了程序的可读性和可维
护性。
【例 3.5】使用 const 常量定义,编程从键盘输入圆的半径 r,计算并输出圆的周长和面
积。
1 #include <stdio.h>
2 main()
a)(s
b)(s
c)
,s=
1பைடு நூலகம்2
(a
b
c)
试编程从键盘输入 a,b,c 的值(假设 a,b,c 的值可以保证其构成一个三角形),计算
并输出三角形的面积。
程序如下:
1 #include <stdio.h>
2 #include <math.h>
3 main()
4{
5
float a, b, c, s, area;
3{
4
const double pi = 3.14159; /* 定义实型的const常量pi */
5
double r;
6
double circum;
7
double area;
8
printf("Input r:");
9
scanf("%lf", &r);
10
circum = 2 * pi * r;
11
6
printf("(float)(m/2) = %f\n", (float)(m/2));
7
printf("(float)m/2 = %f\n", (float)m/2);
C语言程序设计第3章选择结构程序设计

√
!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件
√
程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;
c语言第03章

活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例
算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计
3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式
C语言第3章

/*将变量c的值通过返回语句带回调用
C语言程序设计
第二章 数据类型和运算
3.2
程序结构
• 3.2.2 顺序结构 – 程序运行时按语句书写的次序依次执行 – 最简单、最基本的结构 【例3-3】分析下面程序结构。 #include <stdio.h> void main() { int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("c=%d\n",c); }
C语言程序设计
第二章 数据类型和运算
说明:
C语言程序设计
第二章 数据类型和运算
格式输入函数
格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数
地址表:变量的地址,常用取地址运算符& 格式字符:d,i,o,x,u,c,s,f,e
例 scanf(“%d”,&a); 输入:10 则 a=10 例 scanf(“%x”,&a); 输入:11 则 a=17
C语言程序设计
第二章 数据类型和运算
3.3
赋值语句
• 3.3.2 复合赋值语句 • a+=3; /*相当于a=a+3 */ • b-=6; /*相当于b=b-6 */ • c/=2; /*相当于c=c/2 */ – 在构造以上赋值语句之前,变量必须已经初始化或赋值。 下面的程序是错误的: • int a; • a+=10; • 因为a+=10相当于a=a+10,而右边表达式中的a是刚 刚定义的,还没有具体的值。
C语言程序设计
《C语言程序设计》第3章简单的C程序设计

输出函数
使用printf()函数将结果输出到屏幕上。
3
格式化字符串
通过占位符指定输出的格式,如%d表示整数。
C语言提供了丰富的语法和库函数,使得程序设计更加灵活和可控。
C程序设计环境搭建
选择代码编辑器
选择一款适合您的操作系统的代 码编辑器,如Visual Studio Code或Sublime Text。
安装编译器
安装适合您操作系统的C编译器, 如GCC或Visual C++。
配置终端
配置终端以运行C程序,如 Windows上的CMD或Linux上的 终端。
变量定义
使用数据类型声明变量,并为其分配内存空间。
命名规则
变量名由字母、数字和下划线组成,不能以数字开 头。
常量的定义和使用
使用常量
常量是固定的值,可以直接在程 序中使用。
常见常量
如整数常量、浮点数常量或字符 常量。
常量表达式
常量也可以作为表达式的一部分。
输入和输出
1
输入函数
使用scanf()函数从用户获取输入。
《C语言程序设计》第3 章简单的C程序设计
介绍C语言程序设计,包括特点和优势,搭建C程序设计环境,并演示第一个 C程序:"Hello World!"
什么是C语言程序设计
基础语言
C语言是一种通用、强大的编程语言,具有广泛的应用领域。
高效性能
使用C语言进行程序设计可以获得高效的执行速度和卓越的性能。
灵活性
第一个C程序: Hello World!
写一个简单的C程序,打印出“Hello World!”,作为开始学习C语言程序设计的 第一步。
C程序中的注释
C语言-第3章 最简单的C程序设计 练习题

第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。
A)switch B)cher C)case D)default2. C语言提供的合法关键字是。
A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。
A) long B) print C)default D)typedef4. 下列不正确的标识符是。
A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。
A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。
A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。
A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。
A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。
A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。
A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。
A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
含义 修饰d,u,o,x时,用于输出long型数据 修饰f,e,g时,用于输出long double型数据
修饰d,o,x时,用于输出short型数据 指定输出项输出时所占列数,数据长度<m,左边补空
格;否则按实际宽度输出 对于实数,指定小数位数(四舍五入)
对于字符串,指定从字符串左侧开始截取的子串字符 个数
/*单个字符的输出举例*/
#include <stdio.h>
void main()
{ int a; char b,c,d;
运行结果:
a=65;
b='B';
例
c='\103';
d='\x44'; //不可以用X
putchar(a); putchar('\n');
putchar(b); putchar('\n');
2.putchar函数
使用格式:putchar(参数); 功能:把字符写到屏幕的当前光标位置。
例如: 演示如何使用getchar()和putchar()函数。
#include<stdio.h> main( ) { char c;
c=getchar( ); /*从键盘读入一个字符,按回车
键结束输入,该字符被存入变量c*/
/*输出a和b的值*/
3.表达式语句
由一个表达式加上一个分号构成。
如:A++; p+=q*4+5;
x=1; y=4>2?6:1;
4.复合语句
用一对大括号,把若干条语句括起来, 就形成了一条复合语句。形式如下:
复合语句的形式为:
例如: {语句1;语句2;…语句n;} { z=x+y; z++; u=z/100; printf(“%f”,u); }
思考:如果将输出 语句改为 printf(“ %d,%d\n”, a); 输出结果会怎样?
B 如果格式转换说明符 的个数大于输出项的 个数,则多余的格式 将输出不定值。
格式转换说明符的完整形式如下:
% - 0 # m.n l或h 格式字符
修饰字符 英文字母l 英文字母h 最小域宽m
显示精度.n
- + 0 #
本章的4.2、4.3和4.4中将陆续介绍这些控制语句。
2.函数调用语句
函数调用语句是由一个函数调用加一个分号构成的 语句。
它的一般形式是:
函数名( [ 参数列表 ] );
例如: printf(“This is a C Program。\n”);
/*用于显示双引号中的字符串*/
printf(“变量a=%d\n变量b=%d\n",a,b);
putchar(c);
}
注意
①getchar函数无参数,它从标准输入设备(键盘)上 读入一个字符,直到输入回车键才结束,回车前的 所有输入字符都会逐个显示在屏幕上。函数值为从 输入设备输入的第1个字符,空格、回车和Tab都能 被读入。
②putchar函数的参数是待输出的字符,这个字符可以 是可打印字符,也可以是转义字符。
空语句出现的位置是有限制的。预 注意 处理命令、函数头和花括号“}”
之后都不允许出现空语句。
3.2 字符的输入和输出
• 数据的基本操作之一:键盘输入和屏幕输出 • C语言是如何实现数据的输入和输出的呢?
3.2 字符的输入和输出
C语言不提供输入和输出语句,输入和输出通过调 用C的标准库函数来实现。C的标准函数库中提供许多 用于标准输入和输出的库函数(附录D),使用这些标 准输入和输出库函数时,要用预编译命令“#include”将 有关的“头文件”包括到用户源文件中。
putchar(c); putchar('\n');
putchar(d); putchar('\n');
putchar('C'); putchar('\n');
putchar('\x42'); putchar('\n'); //不可以用X
putchar(0x43); putchar('\n');
putchar(0X44); putchar('\n');
说明:
①“输出表列”是需要输出的一些数据。可以是表 达式,各个数据之间用逗号隔开。
以下的printf函数都是合法的:
printf("I am a student.\n");
printf("%d",3+2); 注意: 输出数据的数据类型与格式转换说明符必 须顺序匹配,否则会引起输出错误。
如:printf(" %d,%f",3.89 , 6); 错误! ②一般情况下,格式转换说明符与输出项个数相同。
有三种字符: 一、%引导的格式符---控制后面的输出项
1、常量 2、变量
二、转义字符
1、控制作用(如:’\n’,换行)
3、表达式
2、显示作用(如:’\x61’,显示字符a)
三、普通字符-------原样显示
最基本的3种格式符: 1、%d ----控制整型数据输出 2、%f ----控制实型数据输出 3、%c ----控制字符数据型输出
putchar('\141'); putchar('\n');
putchar(0142); putchar('\n');
}
/*单个字符的输出举例*/ #include <stdio.h> void main() { printf("\n单个字符的输出举例:\n"); 例 putchar('\\'); putchar('\n');
运行结果:
3.3 格式化输出
• 前面的getchar和putchar函数形式简单,使 用方便,但只能输入输出一个字符,且不 能定制输入输出格式。格式化输入输出函 数既能输入输出各种类型的数据,又能定 制输入输出格式。
例3.3 从屏幕上输出两个整数。
#include<stdio.h>
void main() { int a,b;
单个字符输入函数
格式:c=getchar( ) 功能:从键盘读一字符 有返回值,输入的字符保存在变量c中
• 单个字符的输入输出
• getchar()和putchar()。 1.getchar函数
使用格式:变量=getchar( ); 功能:从键盘读入一个字符,返回该字符
的ASCII值,可以将该结果赋值给字符变 量或整型变量,并自动将用户击键结果 回显到屏幕上。
printf(“%s”,”Hello”); printf(“%f”,314.56); printf(“%e”,314.56); printf(“%g”,314.56);
printf(“%%”);
输出结果 65
65000 101 41 A Hello 314.560000 3.145600e+002 314.56 %
例如:
int max(int a, int b)
/*求两个整数的最大值*/
{
;
/*此处的空语句表示在以后添
加内容,保证当前的程序正常运行*/
}
例如:实现空循环 while( getchar()!=’\n’); /*此语句表示只要从键盘输
入的字符不是回车键则重新输入*/ 例如:实现跳转到目标点 int i=0, sum=0; ex: ; sum+=i++; if( x<100 ) goto ex; …
在调用标准输入输出库函数时,文件开头应有以下 预编译命令:
# include <stdio.h>
或 # include “stdio.h”
其中,h为head之意,std为standard之意,i为input之意, o为output之意。
C语言无I/O语句,I/O操作由函数实现 必须掌握的如下3对函数:
一般情况下,格式控制字符串包括3种字符,一是转 义字符,起相应显示和控制作用,二是普通字符,这 些字符在输出时照原样输出;三是格式转换说明符, 用于控制要输出的内容以何种方式进行输出显示,格 式转换说明符由“%”开始,并以一个格式字符结束。
例如:
格式转换说明符
转义字符
printf("a= %d ,b= %d \n", a,b);
a=10;
输出结果是: output a and b:a=10,b=20
b=20;
printf("output a and b:");
/*输出双引号中的字符串*/
printf("a=%d ,b=%d\n",a,b);
/*输出a和b的值*/
}
格式化输出函数---printf函数
• 格式: printf(格式控制字符串);
大括号中的语句,可以是简单语句、空语 句、复合语句、流程控制语句,等等,所有 这些语句括在一起,在语法上看成是一条语 句,执行时顺序执行大括号中的每条语句。 复合语句多用于流程控制语句中。
5.空语句
仅仅以分号“;”作为标识。
空语句的形式为:
;
/*空语句*/
ห้องสมุดไป่ตู้
空语句本身没有实际功能,只是表示什么操作都不 做。设置空语句的目的,一是在未完成的程序设计 模块中,暂时放一条空语句,留待以后对模块逐步 求精实现时再增加语句;二是实现空循环等待;三 是实现跳转目标点等。
putchar('\''); putchar('\n'); putchar('\"'); putchar('\n'); putchar('%%'); putchar('\n'); putchar('A'); putchar('\n'); putchar('\t'); putchar('A'); putchar('\n'); putchar('B'); putchar('\n'); }