C语言第三章课件

合集下载

C语言课件第三章

C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }

C语言程序设计实用教程第3章精品PPT课件

C语言程序设计实用教程第3章精品PPT课件
例如:#include<stdio.h>
#include <math.h> 这里的#include是编译预处理命令,其作用是将某个已经存在的文件 包含到程序中来。包含了头文件”stdio.h”才能调用标准输入输出函数; 包含了”math.h”才能调用数学函数。考虑到printf和scanf函数使用频 繁,系统允许使用这两个函数时可不加#include命令。 ② 库函数调用规则
?
6
第三章 顺序结构程序设计
3.1.1 控制语句
if~else~语句 选择分支语句 switch语句
结构化语句
while语句
控制语句
循环语句 do-while语句 for语句
非结构化语句
continue语句 限定转向语句 break语句
return语句
?
C语句
控制语句
if( ) ~ else ~ switch for ( ) ~ while ( ) ~ do ~ while( ) continue
break
goto
return
if (x>y) z=x;
else z=y;
a=3;
表达式语句 由表达式加一个分号构成一个语句。
复合语句
由{ }将一些语句括起来。
重点与难点:
各种数据类型的输入和输出格式控制。
11.10.2020
C语言程序设计
1
第三章 顺序结构程序设计
第三章 顺序程序设计
3.1 C语句概述 3.1.1 控制语句 3.1.2 表达式语句 3.1.3 复合语句
3.2 数据的输入与输出 3.2.1 字符输入输出函数 3.2.2 格式输出函数 3.2.3 格式输入函数

c语言第三章ppt课件

c语言第三章ppt课件

§3.3 赋值语句
“=“是一个运算符 注意赋值表达式与赋值语句的区别
§3.4 输入输出在c中的实现
输入输出是以计算机主机为主体而言 输入输出是由函数来实现的
库函数:由厂商预先编写好,并编译成目标文件 使用库函数时,用预编译命令“#include”将有
关的“头文件”包含到用户源文件中。
#include <stdio.h> printf,scanf可不加#include命令
%m.ne和%-m.ne ,n指小数部分的小数位数 printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f, f,f); 设f=123.456,输出结果为
1.23456e+02 1.23456e+02 1.2e+02 1.2e+02 1.2e+02 ❖g格式符,用来输出实数,根据数值的大小,自动选
printf(“%f %10f %10.2f %.2f %-10.2f \n”,f,f,f,f,f) ;
运} 行结果:
123.456001 123.456001 123.46 123.46 123.46
❖e格式符:以指数形式输出实数 %e ,不指定输出数据所占宽度和数字部分的小数位数。 数值按规范化指数形式输出。 如:printf(“%e”,123.456);输出结果为1.23456e+02
❖格式控制:包含两种信息 格式说明: %格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
❖输出表列:要输出的数据(可以没有,也可以是表达 式,多个时以“,”分隔
printf(参数1,参数2,参数3……参数n )
格式字符
❖d格式符:输出十进制整数 %d ,按整型数据的实际长度输出 %md,m为指定的输出字段的宽度。如果数据的位数 小于m,则左端补空格,否则按实际位数输出 例:printf(“%4d,%4d”,a,b); 若a=123,b=12345,则输出结果为▂123,12345 %ld,输出长整型数据 例:long a=135790;printf(“%ld”,a); 也可以指定字段宽度,如%8ld

C语言教程第3章简单的C程序设计PPT课件

C语言教程第3章简单的C程序设计PPT课件

10
C语言大学实用教程
3.4 基本输入/输出操作的实现
附 # include <stdio.h>
例 main()
{ char a='B',b='o',c='k';
putchar(a);putchar(b);putchar(b);
putchar( c);putchar('\t');
putchar(a);putchar(b); 运行结果:
C语言大学实用教程
第3章 简单的C程序设计
23.11.2020
1
C语言大学实用教程
第3章 简单的C程序设计
本章主要教学内容 C语句分类 字符输入/输出函数 格式输入/输出函数
23.11.2020
2
C语言大学实用教程
3.1 C语句分类
变量声明语句
int x, y;
表达式语句
i++;
i = i + 1;
printf("Press a key and then press Enter:");
ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n'); }
Press a key and then press Enter: A↙
You23.1p1r.2e0s20sed A
4
C语言大学实用教程
3.3 复合语句和空语句的作用
在什么情况下使用复合语句?
条件语句和循环语句在语法上只允许带一条 语句 当分支和循环中需要进行多项操作时
{

C语言课件第三章PPT

C语言课件第三章PPT

标准输入输出
格式输出函数 printf() 格式: 输出格式, 格式: printf(输出格式 输出表列 输出格式 输出表列) 功能: 功能 : 在屏幕上按输出格式的说明输出表列 中指定的各表达式的值。 中指定的各表达式的值。 注意:输出格式一般包括以下三部分内容: 注意:输出格式一般包括以下三部分内容: • 原样照印的字符信息。如: X=; 原样照印的字符信息。 • 格式说明符 见以下列表 一个格式说明符 格式说明符(见以下列表 见以下列表),一个格式说明符 对应输出表列中一个表达式. 对应输出表列中一个表达式 如: %f %d; • 格式控制符 如: \n 换行。 格式控制符. 换行。
标准输入输出
字符输出函数 putchar()
格式: 格式: putchar(c) 功能: 在屏幕上输出变量c的值 的值。 功能: 在屏幕上输出变量 的值。 注意: 可以是字符型或整型变量 可以是字符型或整型变量, 注意 : c可以是字符型或整型变量,也可以是控制字符或转 义字符(其后介绍 其后介绍)。 义字符 其后介绍 。 例: 运行该程序,将在屏幕上显示:good (c401.c) 运行该程序,将在屏幕上显示: # include “stdio.h” /*putchar()函数在 函数在stdio.h文件中 文件中*/ 函数在 文件中 main() { char a,b; int c,d; a='g'; b='o'; c=111; d=100; putchar(a); putchar(b); putchar(c); putchar(d); }
C语句分类
由一个表达式构成的语句。 表达式语句 由一个表达式构成的语句。 如: x=5; i=i+1; ++y; c--; x+y; 是一个语句,但无实际意义。 是一个语句,但无实际意义。 函数调用语句 由一个函数调用加一个分号构 成的语句。 成的语句。如: printf(“输入三个数 输入三个数k,j,f:”); 输入三个数 scanf(“%d,%d,%f”,&k,&j,&f); 完成一定的控制功能,有以下9种 控制语句 完成一定的控制功能,有以下 种: 1) if ( ) ~ else ~ (条件语句 条件语句) ) 条件语句 2) switch ~ (多分支选择语句 多分支选择语句) ) 多分支选择语句 3) for ( ) ~ (循环语句 循环语句) ) 循环语句 4)while ( ) ~ (循环语句 循环语句) ) 循环语句

C语言课件_第三章_数据类型

C语言课件_第三章_数据类型
第三章 数据类型
引言 1、计算机中的数据不单是简单的数字,所有计算机处理的信息,包括文字、 声音、图像等都是以一定的数据形式存储的。数据在内存中保存,存放的情况 由数据类型所决定。
2、数据类型即数据结构,决定了数据在内存中的存储形式。不同类型数据在 内存中所占存储空间的大小不同(同一类型数据在不同字长的计算机中所占存 储空间大小也不同),从而导致不同类型可存放数据的大小范围不同。但不论 何种数据类型,其在内存中都是以补码的形式存在的。 3、C语言提供的数据类型包括基本类型、构造类型、指针类型和空类型等,由 这些数据类型可构造出其它更复杂的数据结构(eg:表、栈、树等)。
C、存储:2个字节(Byte)即16位(bit),补码形式
第三章 数据类型
二、整型数据(描述的数据是整数的一个子集) 2、整型变量(分为基本整型、拓展整型) (1)基本整型 D、运算操作 a、算术运算 +(加法) -(减法) *(乘法) /(除法) %(求余)
运算规则:除了除法外,与数学中相同 eg:1+1=2 1-1=0 1*1=1 5%3=2
注意:由于字符在内存中是以二进制存放的,因此char和int可相互赋值,但必 须在一定范围内(0~255)。 (自学:P50 例3.6 向字符变量赋予整数、P51 例3.7 大小写字母的转换)
eg:char 型与 int 型互相赋值
#include <stdio.h> void main( )
{ int i; char c;
问题:用什么变量来存放字符串?
第三章 数据类型
五、变量与常量的定义 (符号常量和变量必须先定义,后使用) 1、常量(符号常量) 通过宏定义预处理命令来实现。 格式: #define 标识符 常量 例如: #define PRICE 30

标准课件C语言第3章

标准课件C语言第3章

3.5.3 if语句 语句
两种格式: 两种格式: 格式1: 表达式) 格式 if (表达式 表达式 语句; 语句 例:if(x>y) {x=x-y; printf(“%d”,x);} 格式2: 表达式) 格式 if (表达式 表达式 语句1; 语句 else 语句 ; 语句2; 例:if(x>y) printf(“%d”,x); else printf(“%d”,y); if(x>y) x=x-y; printf(“%d”,x);
习题:阅读程序,写结果: 习题:阅读程序,写结果:
main() {int x,y; scanf(“%d”,&x); y=-1; if(x!=0) { if(x>0) y=1;} else y=0; printf(“y=%d\n”,y); }
说明: 说明 (1) 表达式一般为逻辑表达式或关系表达式, 表达式一般 逻辑表达式或关系表达式 一般为 表达式或关系表达式, 任何类型的表达式 包括整型、 但也可为任何类型的表达式(包括整型 实型、字符型、 但也可为任何类型的表达式 包括整型、实型、字符型、 指针型); 指针型); 非零,则条件成立, 非零,则条件成立, 成立 否则条件不成立。 条件不成立 否则条件不成立。 例1:if(3) printf(“OK”); : 例2:if(‘a’) printf(“%d”,’a’); : (2) if、 else后的单条语句要有分号; 、 后的单条语句要有分号; 后的单条语句要有分号 else子句必须与 配对使用。 子句必须与if配对使用 子句必须与 配对使用。 括起来, (3) if、 else后的多条语句,要用 }括起来,成为一个 后的多条语句, 、 后的多条语句 要用{ 括起来 复合语句
以内的整数和: 求100以内的整数和 以内的整数和 #include <stdio.h> main() 对数据的描述 { int i,sum=0; 对数据操作的描述 for(i=1;i<=100;i++) sum=sum+1; printf(“sum=%d\n”,sum); }

C语言第3章ppt课件

C语言第3章ppt课件

a 12
注意:对变量值的存取是通过变量名实现的
20/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
第三章 基本
3.3 C语言3种的数据类型 程序语句
例.整型数据的溢出
main
{
int a,b;
运行结果为:
a=32767; b=a+1;
32767,-32768
printf("%d,%d",a,b);
#include <studio.h>
#define PI 3.14 /*定义符号常量*/
main() {
习惯上符号常量名用大写
float l,s;
3.1415926
l = 2* 3P.1I4 *6;
#define PI 3.1415926
s = 3P.1I4 *6*6;
使用符号常量的优点:
printf(“l=%f,s=%f”,l,s); }
二、实型数据
1、实型常量
实数又称为浮点数,有两种表达方式: (1)小数表示法 如:0.123、123.0 (2)科学记数法 如:123e3或123E3、123E-2
注意 小数点不能单独出现; 0.√ .0 √ . e或E的两边必须有数,且其后面必须为整数; 如: 6E0.2 e5
24/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
int num,total;
num = 10;
total =num*PRICE;
printf("total=%d", total);
}
注意:不可以对符号常量进行赋值!
10/100

C语言课件(谭浩强版)第3章课件

C语言课件(谭浩强版)第3章课件

例 void main() 3位8进制数代表的字符
2011-1-13
{ }
printf(“Y\b=\n”); aaa
\xhh
2位16进制数代表的字符 运行结果: 屏幕显示:= 打印机输出:¥
C语言程序设计
字符串常量
定义:用双引号( ) 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动 自动加一个 存储:每个字符串尾自动加一个 ‘\0’ 作为字 符串结束标志
含义 -----------’\n’ 运行结果:(屏幕显示) ‘A’-------’\101’-------’\x41’--------65 { ‘\376’换行 -----------’ ’ \t ‘\x61’ -----------’a’ \n A B C 水平制表 printf("\101 -----------’0’ ‘\60’ \x42 C\n"); ‘\483’ ----------(×)are you?” \b 垂直制表 退格 \v printf("I say:\"How are you?\"\n"); Isay:”How \C Program\ \r printf("\\C Program\\\n"); \f 回车 Turbo ‘C’ 换页 < \a printf("Turbo \'C\'"); \\ 响铃 反斜线 \‘ } \“ 单引号 双引号 \ddd
long

int
char,short
例 char ch; ch/i int i; int float f; double d; int
C语言程序设计
例 /*ch2_003.c*/ #define PRICE 12.5 void main() { int num=3; float total; char ch1,ch2=‘D’;

C语言第3章课件.ppt

C语言第3章课件.ppt
例如: “x>0” 隐含 x 的值是否大于0
P56
3.1.2 关系表达式
P56
用关系运算符将两个表达式(可以是算术表达 式或关系表达式、逻辑表达式、赋值表达 式、字符表达式)连接起来的式子,称关系 表达式。
例如,下面都是合法的关系表达式:
a>b, a+b>b+c, (a=3)>(b=5), 'a'<'b', (a>b)>(b<c)
x=5; printf("%d ",!x); 输出0 printf("%d ",3 && ‘A’); 输出1
printf("%d ",(x=2) || 0); 输出1 printf("x=%d\n",x); 输出x=2
逻辑运算的规则
&&:两个运算量都为非零,结果是真, 值为1;否则,结果是假,值为0
x=1;
printf("%d ",x>=0 && x<=2); 输出1


x=5;


printf("%d ",x>=0 && x<=2); 输出0
printf("%d ", x<-3 || x>3 ); 假真
输出1
x=0; printf("%d ",x<-3 || x>3); 输出0 printf("%d ",!x); 输出1
x2+1 (当20≤x<30时)
x+3 (当x≥30时)
scanf("%f",&x);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

功能 复合加法 复合减法 复合乘法 复合除法 复合取余
使用举例 I += 6 I -= 6 I *= 6 I /= 6 I %= 6
等价于 I=I+6 I = I-6 I=I*6 I=I/6 I=I%6
操作数 双目
结合方式
自右 至左
2019/5/12
28/51
已知 int a = 3; 执行 a += a -= a * a 后,变量a的值?
第3章 简单的算术运算 和表达式
本章学习内容
算术运算符 增1和减1运算符 宏常量与 const常量 表达式与赋值中的自动类型转换 强制类型转换运算符 常用的标准数学函数
2019/5/12
2/51
float f=3.65656; n=f; printf("%d",f);
2019/5/12
33/51
前缀( Prefix )增1和减1运算符
例子: int i=5
j = ++i - 2
i = i + 1; j = i – 2;
i 56 j ?4?
2019/5/12
34/51
后缀(Postfix)增1和减1运算符
Example: int i=5
j = i++ - 2
j = i – 2; i = i + 1;
#define 标识符 字符串 宏常量(Macro constant )
–也称符号常量 –一般采用全大写字母表示 宏定义不是语句,而是一种编译预处理 命令
2019/5/12
44/51
【例3.4】计算圆的周长和面积
宏替换
2019/5/12
45/51
计算圆的周长和面积
#include <stdio.h>
-2 5 -11
-10
-1
2019/5/12
12/51
求余(Modulus)
11 Example: % -5 = 1
-2 -5 11
10
1
2019/5/12
13/51
求余(Modulus)
Example:
11.0 % 5 = ?
错误
2019/5/12
14/51
算术表达式 (Arithmetic Expression)
变量1 = 变量2 = 表达式 ;
2019/5/12
25/51
3.1.2复合的赋值运算符 (Combined Assignment Operators)
变量x = 变量x 运算符op 表达式 ;
变量x 运算符op = 表达式;
这种形式看起来更直观,且执行效率一般也更高一些
2019/5/12
26/51
– 某些集成化调试工具可以对const常量进行调试
i 56 j ?3?
2019/5/12
35/51
后缀(Postfix)增1和减1运算符
int a=3; printf("%d", -a++);
printf("%d", -a); a = a + 1;
a 34
2019/5/12
36/51
3.1.3增1和减1运算符
(Increment and Decrement)
#define PI 3.14159;
#define R 5.3;
main()
{
printf("area = %f\n", PI * R * R);
printf("circumference = %f\n", 2 * PI * R);
} 相当于执行
语法错误
#include <stdio.h>
main()
当算术表达式包含两个或两个以上的算术 运算符时
首先要确定运算顺序 所有的运算符都有一个优先级
2019/5/12
15/51
算术表达式 (Arithmetic Expression)
优先级(Order of Precedence)
高: * / % 低: + -
不同优先级时的运算顺序:
——从高到低
2019/5/12
39/51
int i=10, y=10; y = x++ * x++; // y=100, x=12 printf("x = %d,y = %d\n",x,y); y = ++x * ++x; // 14*14, x=14 printf("x = %d,y = %d\n",x,y); y = ++x * x++; // 15*15 x= 16 printf("x = %d,y = %d\n\n",x,y);
关键是如何分离个位、十位、百位数字?
153 % 10 = 3 153 / 100 = 1
153 - 1*100 = 53
53 / 10 = 5
2019/5/12
22/51
【例3.1】计算并输出一个三位整 数的个位、十位和百位数字之和
2019/5/12
23/51
编程练习1 设计题目
基本要求:编写程序实现依次显示任意数字 的千位,百位,十位,个位。例如3461
(Increment and Decrement)
n++,n--,++n,--n – ++让参与运算的变量加1,--让参与运算的变量减1 – 作为后缀(postfix)运算符时,先取n的值,然后加/减1 – 作为前缀(prefix)运算符时,先加/减1,然后取n的值
m = ++n;
n++; m = n;
2019/5/12
浮点数除法 (Floating Division) W 或 Z 是浮点数
7/51
整数除法(Integer Division)
Example: 11 / 5 = 2
整数
2019/5/12
整数
结果是整数
8/51
实数除法(Floating Division)
Example: 11.0 / 5 = 2.2
浮点数
2019/5/12
整数
浮点数
9/51
求余(Modulus)
取余“%” 的作用是取得2个操作数除法运 算的余数,同时要求操作数必须为整型数据。 如整型的变量I和S,I%S得到的结果是I/S的余 数部分。
printf("%d\n", 12 % 3);
printf("%d\n ", 30 % 7);

-3%9, 12%-5, -12%-4, -4%-8
余数的符号与被除数的符号一致。
2019/5/12
10/51
求余(Modulus)
Example: 11 % 5 = 1
2 5 11
10
1
remainder
2019/5/12
11/51
求余(Modulus)
-11 Example: % 5 = -1
巧妙使用圆括号改变运算顺序 –从内往外运算
Example:
(9–(3+2))*3=?
2019/5/12
18/51
算术表达式 (Arithmetic Expression)
Example:
( 9 – (–34 + 25 3 = 12
例子:
W+Z
操作数 (Operand)
2019/5/12
运算符 (Operator)
操作数 (Operand)
5/51
3.1.1算术运算符和表达式
Arithmetic Operators
+ -
2019/5/12
%
/ *
6/51
除法(Division)
例子:
W/Z
整数除法 (Integer Division) W 和 Z 是整数
42/51
使用幻数存在的问题?
假如直接使用常数,会有什么影响? – 程序的可读性变差 – 容易发生书写错误 – 当常数需要改变时,要修改所有引用它的代码,
工作量大,还可能有遗漏
解决方案: – 避免使用幻数 – 把幻数定义为常量(宏常量、const常量……)
2019/5/12
43/51
3.2宏常量与宏替换
3.1.2复合的赋值运算符 (Combined Assignment Operators)
例子:
num = num + 5;
15 + 5 20
num 1250
例子: num += 5; similar to num = num + 5
2019/5/12
27/51
运算符
+= -= *= /= %=
2019/5/12
40/51
【例3.2】计算圆的周长和面积
2019/5/12
41/51
【例3.3】计算圆的周长和面积
在程序中直接使用的常数称 为幻数(Magic Number)
Input r: 5.3↙
circumference = 33.300854
area = 88.247263
2019/5/12
创新要求1 : 将结果以原数字逆序的结构显 示出来. 例如,3461显示为1643
创新要求2:计算并输出一个三位整数的个 位、十位和百位数字之和。
2019/5/12
24/51
相关文档
最新文档