第3章 简单的C语言程序

合集下载

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

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语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的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节

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章选择结构程序设计

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章

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语言第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程序设计

《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程序设计 练习题

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.下列可以正确表示字符型常量的是。

C语言-第3课 最简单的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.下列可以正确表示字符型常量的是。

C语言程序设计第3章 选择结构流程和应用

C语言程序设计第3章 选择结构流程和应用

2 单分支和双分支选择结构程序设计
简单if语句 if-else语句 条件运算符与条件表达式

简单if语句
学一学 简单if语句的形式为: if ( 条件表达式 ) 语句
其流程图如图3-1所示。语句的执 行过程是先计算“条件表达式”, 若值为“真”,则执行“语句”; 否则什么也不做。此处的“语句” 可以是简单语句,也可以是用一对 大括号“{ }”括起来的复合语句。
本章内容中我们将学习 1 选择结构判定条件的构成 2 单分支与双分支选择结构程序设计 3 多分支选择结构程序设计
1 选择结构判定条件的构成
关系运算符与关系表达式 逻辑运算符与逻辑表达式

关系运算符
关系运算是对两个操作数之间进行比较的运算符,其 运算结果为逻辑值(或称“布尔”值,boolean) “真”或“假”。 C语言中提供六种关系运算符,如 表3-1所示。
条件
Y
N
语句
试一试
问题3.4 从键盘输入一个数,输出其绝对值。 解题步骤 1.定义变量二个int变量iX,iY,其中iX用来接收 用户从键盘输入的数据,iY用来存放iX的绝对值。 2.从键盘输入一个整数放iX; 3.把iX放iY; 4.正数的绝对值是正数本身,负数的绝对值是其 相反数。所以,如果iX<0,则iY= -iX,否则不 需要做什么; 5.输出iX和iY。
练一练

问题:小明去参加一个同学的生日聚会, 同学的家长规定18岁以上的才可以饮酒, 所以需要编一程序根据输入的年龄打印一 张饮酒卷,使的能饮酒的同学可以获取饮 酒卷。
if-else语句
学一学 if-else语句是标准的if语句。 用来实现双分支选择结构, 其一般形式为: if ( 条件 ) 语句1; else 语句2;

C语言第3章(A-6(函数调用语句))

C语言第3章(A-6(函数调用语句))
C语言程序设计
标准输入输出函数
printf scanf 例题: 注意: main() 必须为地址,“&”是地运算符, &a指a在内的地址。 { int a ,b ,c; scanf(“%d%d%d”, &a,&b,&c ); printf(“%d,%d,%d”,a,b,c); }
C语言程序设计
标准输入输出函数
C语言程序设计
标准输入输出函数
printf
用法:
1) %f :不指定输出的宽 度,由系统自动指定, 使整数部分全部输出, 并输出6位小数。
scanf
main() { float x,y; x=1111.2222; y=2222.4444; printf(“%f”,x+y); } 结果:3333.666608
实例:
printf(“ i= %d , c= %c ” , i , c);
格式控制:是用双引号括起来的字符串,也称为 “转换控制字符串”,它包括两部分信息: 1) 格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据转换为指定的格式输出。 2) 普通字符:需要原样输出的字符。如双引号中的 逗号、空格和换行符。
标准输入输出函数
printf scanf
2) %ms,输出的字符串占m列,如字符串本身长度大 于m,则按实际长度输出;如串长度小于m,则左补 空格。
printf(“%3s”,”china”);
输出结果:
printf(“%6s”,”china”);
china
china
C语言程序设计
标准输入输出函数
printf(“%ld”,e);
如果用%d输出,就会发生错误,因为整型数 据的范围为-32768-32767。

C语言程序设计 第3章

C语言程序设计 第3章

3.6 程序举例
计算奖金。 例3.12 计算奖金。 当企业利润P等于或低于 万元时 当企业利润 等于或低于0.5万元时 , 奖金为利润的 等于或低于 万元时, 1%;当 0.5<P≤1万元时, 超过 万元部分的奖金为利润 万元时, ; < 万元时 超过0.5万元部分的奖金为利润 的 1.5%,0.5万元以下仍按 , 万元以下仍按1%计算; 当 1<P≤2万元时, 1 计算; < 万元时, 万元以下仍按 计算 万元时 万元以下部分仍按前面的方法计算,超过1万元的部分其 万元以下部分仍按前面的方法计算 , 超过 万元的部分其 奖金按利润的2%计算;当2<P≤5万元时,2万元以下部分 计算; 万元时, 万元以下部分 奖金按利润的 计算 < 万元时 仍按前面的方法计算, 超过2万元部分的奖金按利润的 仍按前面的方法计算 , 超过 万元部分的奖金按利润的 2.5%计算 ; 当 5< P≤10万元时 , 5万元以下部分仍按前面 计算; 万元时, 万元以下部分仍按前面 计算 < 万元时 的方法计算,超过5万元部分的奖金按利润的 的方法计算,超过 万元部分的奖金按利润的3%计算;当 计算; 万元部分的奖金按利润的 计算 P>10万元时, 10万元以下部分仍按前面的方法计算, 超 万元时, 万元以下部分仍按前面的方法计算 万元以下部分仍按前面的方法计算, > 万元时 万元部分按3.5%计算。其中 由键盘输入,计算并输 计算。 由键盘输入, 过10万元部分按 万元部分按 计算 其中P由键盘输入 出相应的奖金数W。 出相应的奖金数 。
3.5 switch结构 结构
语言中提供了一个直接实现多路分支选择的结构, 在 C语言中提供了一个直接实现多路分支选择的结构, 语言中提供了一个直接实现多路分支选择的结构 称为switch结构,其一般形式如下: 结构, 称为 结构 其一般形式如下: switch(表达式 表达式) 表达式 { case 常量表达式 常量表达式1: 语句 语句1 case 常量表达式 常量表达式2: 语句 语句2 … case 常量表达式 常量表达式n: 语句 语句n default : 语句 +1 语句n+ }

C语言程序设计第3章 顺序结构编程2018版

C语言程序设计第3章 顺序结构编程2018版
printf("输入红包金额:"); scanf("%d",& money); printf("输入红包个数:"); scanf("%d",& num); printf("计算红包总金额:"); total = num * money; printf("红包总金额:%d元\n", total); return 0; }
类型 变量长度(单位:字节) 数值范围
short int
2
-215 ~ 215-1
4
-23311 ~ 23311-1
long
unsigned short
unsigned int
unsigned long
4
-231 ~ 231-1
2
0 ~ 216-1
4
0 ~ 232-1
4
0 ~ 232-1
➢ 整型常量三种形式
例:total = money*num; int money=10, num=10;
注:int money=num=10;
3.2.3 赋值语句
➢ 复合赋值运算符 a += b 等价于 a = a + b a -= b 等价于 a = a – b a *= b 等价于 a = a * b a /= b 等价于 a = a / b a %= b 等价于 a = a % b
案例二:共享单车费用程序运行结果
案例三:孩子身高预测
问题描述:孩子的身高可以利用遗传因素 即利用父母的身高进行预测。女儿身高计 算公式为:女儿成人时的身高=(父高× 0.96 + 母高)÷2 (注:此方法未考虑环 境因素的影响)。

C语言程序设计第三章 (2)

C语言程序设计第三章 (2)
① 只有整型和字符型变量有“无符号”类型。 ② 注意以下的结果: unsigned short price =-1; printf(“%d \n”,price); 输出的结果为65535,为什么?
举例 int a=10; short b=100 int short b=100; unsigned int short b=100; long d=212365; int long d=212365; unsigned int long d=212365;
练习题
练习
• char c; 等价 • c=65; 是否等价于c= 'A' • printf(“%d %c”,c,c);输入的结果是多少呢?
65 A
注意:
• • • • • int a; char b; a=65; b=‘A’; 不等价,所占内存空间不同。 问变量a 的值和变量b的值是否等价。
练习题
price ?abc int name float name age 8ab year a%d 以上哪些是正确的标识符,哪些不是?
price name age year a b 都是 正确的标识符 ?abc int float 8ab a%d 不能是 标识符
练习题
下列选项中,不能用作标识符的是( )
设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数
A)(a+b)*h/2
ab 式_______________ h 2
计算结果不相符的是( ) B)(1/2)*(a+b)*h
B
C)(a+b)*h*1/2 D)h/2*(a+b)
2014-3-16
自加、自减运算符P53 自加运算(i++, ++i) 相同点:++i 和 i++的作用都等同于i=i+1 不同点:++i是先给i=i+1,然后再引用i的值。 i++是先引用i的值,然后i=i+1 自减运算(i- -, - -i) 相同点:- -i 和 i- -的作用都等同于i=i-1 不同点:- -i是先给i=i-1,然后再引用i的值。 i--是先引用i的值,然后i=i-1

C语言程序设计第3章(1)PPT课件

C语言程序设计第3章(1)PPT课件

2.函数调用形式
printf函数的调用形式:
printf(格式字符串, 数据项1, …, 数据项n)
第一个参数(格式字符串)是必需的,其余参数(数 据项1至数据项n)是要输出的数据,每个数据项是一 个基本类型或指针类型的表达式;
数据项的个数可以是0个到任意多个,但是在数目、 数据类型和顺序上应与格式字符串中的格式转换说明 一致;如果不一致,编译时不会报错,但是不能得到 正确的输出结果。
1.函数原型
puts函数的原型: int puts(const char *s);
puts函数从s所指定的地址读取字符串输出到标准输 出设备,并在串尾输出一个换行符’\n’。
puts函数正确执行时返回一个非负整数值,如果出错, 则返回EOF。
参数表const char *s中的const表明字符指针s的值 不会被该函数修改。
华中科技大学计算机学院
3
主要内容
3.1 基本的标准输出
putchar、puts、printf
3.2 基本的标准输入
getchar、gets、scanf
3.3 数据转换函数与简单程序设计(简单提及)
atof、atoi、atol、itoa 和 ecvt、 fcvt、gcvt,简单程序设计
11.08.2020
C语言程序设计
The C Programming Language
11.08.2020
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
C语言程序设计
第3章 基本的标准输入与输出
11.08.2020

第3章 设计简单的C程序-C语言程序设计新编教程-高立丽-清华大学出版社

第3章 设计简单的C程序-C语言程序设计新编教程-高立丽-清华大学出版社

它们由特定的语句定义符组成。
2、循环执行语句:do while语句、while语句、for语句;
C语言有九种控制语句。可分成三类,见右侧的举例。
3、转向语句:break语句、goto语句、continue语句、
return语句。
把多个语句用括号{}括起来组成的一个语句称复合语句。
例如:
在程序中应把复合语句看成是单条语句,而不是多条语句。
;
本语句的功能是,只要从键盘输入的字符不是回车则
重新输入。
3.2 基本输入/输出函数
第3章 设计简单的C程序
6
3.2.1 输入/输出概述 C语言函数库中有若干个“标准输入输出函数”,主要有以下三类: (1)字符输入输出函数。 这些函数的功能是实现字符的输入输出。主要有putchar函数和getchar函数。 (2)格式输入输出函数。 这些函数的功能是根据指定的格式进行输入输出。有printf函数和scanf函数。 (3)字符串输入输出函数。 它们的功能是实现字符串的输入输出。有gets函数和puts函数。
应。 对于语句printf("格式1…格式2…格式n",参数1,参数2,……参数n); 可以理解为将参数1到参数n的数据按给定的格式输出。
3.2 基本输入/输出函数
第3章 设计简单的C程序
12
2.格式字符串 格式字符串是printf函数的关键参数,用于描述数据输出的格式,由一些格式字符和非格式
字符组成,其一般格式如下:
3.2 基本输入/输出函数
第3章 设计简单的C程序
7
3.2.2 字符数据的输入/输出 1.字符数据输出函数——putchar函数 如果要向显示设备输出一个字符,可以使用C语言提供的putchar函数,其格式如下: putchar(c); 格式说明: ①该函数的功能是向显示设备输出一个字符;

C语言(第三章)(上)

C语言(第三章)(上)

• 早期 语言不提供专门的逻辑(布尔)类型,规定用非 值表示“真”,用0 早期C语言不提供专门的逻辑 布尔)类型,规定用非0值表示 语言不提供专门的逻辑( 值表示“ 值表示“ 值表示“假”。 • 表达式,只要值为非 (包括负数),就说明其为“真”;只要其值为 ,就 表达式,只要值为非0(包括负数),就说明其为“ ),就说明其为 只要其值为0, 说明其为“假”。从而给判断带来很大的灵活性。 说明其为“ 从而给判断带来很大的灵活性。 • 在C99中,增加了_Bool类型,并增加了头文件<stdbool.h>,在其中定义了 中 增加了 类型,并增加了头文件 , 类型 存储1, 存储0。 宏bool、true和false,用true存储 ,用false存储 。 、 和 , 存储 存储
注意: 注意:

中是允许的。 (1)表达式 >2>7>8在C中是允许的。 )表达式5> > > 在 中是允许的 整个关系表达式的值为多少?? 整个关系表达式的值为多少?? (2)关系表达式的值是整型数 或1,可以看成是一种整型表 )关系表达式的值是整型数0或 , 达式。 达式。 若有: 如,若有: int i=1, j=7,a; a=i+(j%4!=0); 则a的值为?? 的值为?? 的值为 值参与运算: (3)字符在关系表达式中出现按照其 )字符在关系表达式中出现按照其ASCII值参与运算: 值参与运算 的值分别为?? 如:‘a’>’A’ ‘b’==‘B’-32的值分别为?? 的值分别为 不相等”的判别, (4)避免对两个实数表达式作“相等”或“不相等”的判别, )避免对两个实数表达式作“相等” 考虑用其差绝对值之差小于一个很小的值的形式: 考虑用其差绝对值之差小于一个很小的值的形式: 如: fabs (1.0/3.0* 3.0-1.0)<1e-5 < 在区间[ ] 使用a< (5)表示 在区间[a,b]中,使用 <=x && x<=b )表示x在区间 < 例如: 例如: -10<=x && x<=10 < < 若使用: 若使用:-10≤x≤10。 。 若x=10,结果为?? ,结果为?? 若x=100,结果为?? ,结果为?? 若x=-100,结果为?? ,结果为??
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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'); }
相关文档
最新文档