《c语言第三章》PPT课件
合集下载
C语言第3章数据类型、运算符与表达式ppt课件
第三章
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,
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 格式输入函数
#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教学课件
①声明部分:定义函数中要用的数据 ②执行部分:由相关语句组成
2020/12/10
11
3.主和被调函数在程序中位置无关,
程序执行从main开始,到main结束
4.书写格式自由,一行可写多句,一句
可写在多行。
5.数据和语句定义以分号(;)结束。
6.I / O 操作由函数库提供的scanf
和printf等标准函数完成。
{ int z;
if (x>y) z=x;
else z=y ;
return (z) ;
} 2020/12/10
10
C的结构特征
1.每个程序至少有一个主函数和若干个被 调函数组成,被调函数可由系统提供或用户 自定义
2.函数的组成 (1)首部:包括类型、名称、形参及类型 (2)函数体:由{ …} 组成 函数体中的内容有
7./ * ……*/ 注释,起说明作用,不编
译不执行,增强程序的可读性。
C++中是// 2020/12/10
12
1.4 C程序的上机步骤
在Turbo C编译系统的目录下键入:TC ↙ 屏幕上出现Turbo C的窗口,在窗口的顶部 出现主菜单,其中:
1.File:文件菜单项
对文件操作,命令有: (1)Load:从磁盘调一文件装入内存。 (2)Pick:从装入的多达8个文件中选一个 装入内存。
Microsoft C,Turbo C,
Quick C,Borland C, Visual C++等
C语言宗师 Brain Kernighan
2020/12/10
4
1.2 C语言的特点
1.简洁,紧凑,方便,灵活
32个关键词有特殊含义p365
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语言程序设计》课件——第三章课件PPT
21
第三章 数据类型、 运算符和表达式
第四节 算术运算符和算术表达式 Arithmetic Operations and Expressions
4.1 基本算术运算符 4.2 运算符的优先级和结合性 4.3 自增、自减运算符
22
4.1 基本算术运算符
第三章 数据类型、 运算符和表达式
+(加法运算或正号运算符) -(减法运算或负号运算符) * (乘法运算符) /(除法运算符) % (求余运算符,或称模运算符)
int a=0,b=0,c=0; /*指定a,b,c为整型变量,a、b、c的 初值为0*/
19
3.4 实型变量
第三章 数据类型、 运算符和表达式
1、分类
所占位数 取值范围
float
单精度
32
-3.4*10-38 ~3.4*1038
double 双精度
64
-1.7*10-308 ~1.7*10308
基本类型
– 整型 – 字符型 – 实型(浮点型)
• 单精度、双精度
构造类型
– 数组类型 – 结构体类型 – 共用体类型
指针类型
空类型
第三章 数据类型、 运算符和表达式
3
第三章 数ቤተ መጻሕፍቲ ባይዱ类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
long double长双精度
128 -1.2*10-4932 ~1.2*104932
2、变量的定义
float x,y; double z;
/*指定x,y为单精度实型变量*/ /*指定z为双精度实型变量*/
20
C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
c语言基础 ppt第3章
23/33
循环结构与应用 三种循环比较
循环特性
前置条件检查 后置条件检查 循环体中要更改 循环变量的值? 循环种类 for循环 是 否 否 while循环 是 否 是 do while 否 是 是
循环重复的次数
最少执行循环次数 何时重复执行循环
一般已知
0次 循 环
未知
0次 条 件 成
未知
1次 立
24/33
循环体
条件判断 真 循环外的语句 假
16/33
循环结构与应用 使用do-while循环结构实现累加计算
17/33
循环结构与应用
使用do-while循环结构实现累加计算
#include <stdio.h> void main () { int nSum; /* 用于保存计算和*/ int i; /* 循环控制变量,也是参与运算的操作数*/ nSum=0; i=1; /*初始化循环控制变量*/ do { nSum+=i; i++; /*改变循环控制变量的值*/ }while(i<101); printf("1+2+3+……+99+100=%d\n",nSum); } 18/33
循环结构与应用
break的作用
#include<stdio.h> void main() { int i,j; int s = 0; for(j=1;j<5;j++) { for (i = j; i <= 10; i++) { if (i == 6) break; s += i; } printf("%d\n",s); } }
C语言第3章PPT课件
6/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
3.2 几个基本概念 标识符的分类:
标识符
关键字 预定义标识符 用户标识符
第三章 基本 程序语句
7/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
3.2 几个基本概念
第三章 基本 程序语句
#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); ➢含义清晰
2、整型变量
如果将一个变量的数据类型定义成整型, 则此变量就称为整型变量
1.整型数据在内存中的存放形式
➢整型数据在内存中占用2个字节 ➢数值是以补码表示的
15/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
第三章 基本
3.3 C语言3种的数据类型 程序语句 例:整型数10的二进制存储形式
第三章 基本
3.3 C语言3种的数据类型 程序语句
*八进制的数码范围为0~7; 018
* 十六进制的数码除了数字0~9外, 还使用英文字母a~ f (或A~ F)表示10~15。
如:0x1e √
14/100
长春信息技术职业学院---CJ语il言in 程Un序iv设er计sity
第三章 基本
《c语言第三章》课件
2 比较运算符
用于比较两个值的大小关系,返回布尔值(真或假)。
3 逻辑运算符
用于连接两个或多个条件,判断复合条件是否成立,返回布尔值。
条件控制语句
if语句
根据条件判断是否执行某段代码块,可以包含多个嵌套的if语句。
switch语句
根据表达式的值选择执行不同的代码块,可以使用多个case和default语句。
《c语言第三章》PPT课 件
这是一份关于《c语言第三章》的PPT课件。课件将重点介绍C语言数据类型、 变量和常量、运算符和表达式、条件控制语句以及循环控制语句的内容。
课件概述
1 目标和重点
2 结构和内容概要
第三章的目标是让学生掌握C语言的基本数据 类型、变量和常量的使用,以及条件和循环 控制语句的应用。
循环控制语句
1
while循环
当条件为真时,重复执行一段代码块,
for循环
2
循环开始前先判断条件是否成立。
指定循环的初始条件、循环条件和循环
结束后的操作,自动进行迭代。
3
do-while循环
先执行一次代码块,再判断条件是否成 立,满足条件则继续循环。
课件按照数据类型、变量和常量、运算符和 表达式,以及控制语句的顺序组织,内容涵 盖了基Hale Waihona Puke 知识和实际应用。C语言数据类型
基本数据类型
包括整型、浮点型和字符型,用于存储不同类型的数据。
派生数据类型
通过基本数据类型组合和修改得到的数据类型,如数组、指针和结构体。
枚举数据类型
用于定义一组常量,可以用于表示某种状态或特定的取值范围。
变量和常量
1 变量声明和定义
在使用变量之前,需要先声明或定义变量,确定数据类型和变量名。
用于比较两个值的大小关系,返回布尔值(真或假)。
3 逻辑运算符
用于连接两个或多个条件,判断复合条件是否成立,返回布尔值。
条件控制语句
if语句
根据条件判断是否执行某段代码块,可以包含多个嵌套的if语句。
switch语句
根据表达式的值选择执行不同的代码块,可以使用多个case和default语句。
《c语言第三章》PPT课 件
这是一份关于《c语言第三章》的PPT课件。课件将重点介绍C语言数据类型、 变量和常量、运算符和表达式、条件控制语句以及循环控制语句的内容。
课件概述
1 目标和重点
2 结构和内容概要
第三章的目标是让学生掌握C语言的基本数据 类型、变量和常量的使用,以及条件和循环 控制语句的应用。
循环控制语句
1
while循环
当条件为真时,重复执行一段代码块,
for循环
2
循环开始前先判断条件是否成立。
指定循环的初始条件、循环条件和循环
结束后的操作,自动进行迭代。
3
do-while循环
先执行一次代码块,再判断条件是否成 立,满足条件则继续循环。
课件按照数据类型、变量和常量、运算符和 表达式,以及控制语句的顺序组织,内容涵 盖了基Hale Waihona Puke 知识和实际应用。C语言数据类型
基本数据类型
包括整型、浮点型和字符型,用于存储不同类型的数据。
派生数据类型
通过基本数据类型组合和修改得到的数据类型,如数组、指针和结构体。
枚举数据类型
用于定义一组常量,可以用于表示某种状态或特定的取值范围。
变量和常量
1 变量声明和定义
在使用变量之前,需要先声明或定义变量,确定数据类型和变量名。
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语言程序设计第三章课件PPT课件
an integer
result
-2 5 -11
the result is the remainder of -11/5
-10
remainder
-1
an integer
第10页/共51页
求余(Modulus)
11 Example: % -5 = 1
an integer
result
-2 -5 11
10
similar to
j = i – 2; i = i + 1;
i 56 j ?3?
第30页/共51页
后缀(Postfix)增1和减1运算 符
int a=3; printf("%d", -a++);
similar to
printf("%d", -a); a = a + 1;
a 34
第31页/共51页
• 当算术表达式包含两个或两个以上的算术 运算符时 ◘ 首先要确定运算顺序 ◘ 所有的运算符都有一个优先级 ( Order of Precedence )
第13页/共51页
算术表达式 (Arithmetic Expression)
优先级(Order of Precedence)
High: Low: + -
an integer
the result is a float
第7页/共51页
求余(Modulus)
• It returns the remainder that occurs after performing the division of 2 operands
• Rule:
• Operands must be integers
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);
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可执行文件 101110100110011110010000010010110010010010010010001100000010101110110110000
School of Information Science & Engineering , Lanzhou University
0x00000000
9-5=4 9+7=16=(4)12
School of Information Science & Engineering , Lanzhou University
3.1 C的数据类型
• C的数据类型如下:
整型
短整型short 整型int
长整型long
基本类型 实型
单精度型float 双精度型double
3.2 C语言的基本元素
• 符号集(字符集)
– C语言中使用的基本符号共有以下五种:
1. 大写字母:A~Z 2. 小写字母:a~z 3. 阿拉伯数字:0~9 4. 下划线:_ 5. 标点符号和运算符:算术、赋值、逗号等
School of Information Science & Engineering , Lanzhou University
-- 重点
运算符和表达式
•算术运算符与算术表达式 -- 重点 •赋值运算符与赋值表达式 -- 重点 •逗号运算符与逗号表达式
School of Information Science & Engineering , Lanzhou University
提出并分析问题
设计算法
建立表现模型 (流程图等)
编 译 器
Turboc等
目标文件2 001101000100010111101101000001101110010011
链 接 程 序
源文件2
int max(int a,int b) { if(a>b)return a; else return b; }
其他目标文件 10101110010110110000001101011100101001100011011100010001
张晓炜 zhangxw@
School of Information Science & Engineering , Lanzhou University
第三章 数据类型、运算符与表达式
常量与变量
C中的基本数据类型
•整型、浮点型、字符型 -- 重点
各种类型数据的混合运算
•类型转换规则
C 数 构造类型 据
类 型 指针类型
字符类型char 数组 结构体struct 共用体union 枚举类型enum
数据类型决定:
1.数据占内存字节数 2.数据取值范围 3.其上可进行的操作
C语言中的数据有常
空类型void
量和变量之分,它们
定义类型typedef
分属于以上各种类型
School of Information Science & Engineering , Lanzhou University
0x10001007 0x10001008
0x1000101F
0x3000FFFA 0x3000FFFB 0x3000FFFC 0x3000FFFD 0x3000FFFE 0x3000FFFF
0xFFFFFFFF
main(){ int x,y,z; x=10; y=20; z=max(x,y); printf("maxmum=%d",z); system(); return 0;}
输 入 源 程 序
C语言程序的开发过程目标文件1ຫໍສະໝຸດ 源文件10101100
int max(int a,int b);
1011101 0110101
main()
0001010 0010001
{
1001010
int x,y,z;
1111010 001
x=10;y=20; z=max(x,y); printf("maxmum= %d",z); }
0x10000000 0x10000001 0x10000002 0x10000003 0x10000004 0x10000005 0x10000006 0x10000007
0x10000100 0x10000101 0x10000102 0x10000103 0x10000104
0x10001000
3.2 C语言的基本元素
• 标识符
– 定义:用来标识变量、符号常量、函数、数组等的 字符序列
– 要求
• 以字母、数字、下划线三种字符组成,且第一个字符必须 是字母或下划线,不能是数字
• C中的标识符区分字母的大小写 • 不能是C中的关键字 • 不同的C语言版本对标识符长度有一定的限制,一般以长度
– 内存以字节为单元组成 – 每个字节有一个地址 – 一个字节一般由8个二进
制位组成
– 每个二进位的值是0或1
School of Information Science & Engineering , Lanzhou University
• 数值的表示方法——原码、反码和补码
– 原码:最高位为符号位,其余各位为数值本身的绝对值 – 反码:
• 字节和位
0x3000FFFB 0 0 0 1 0 1 0 0 0x3000FFFC 0 0 0 0 1 0 1 0 0x3000FFFD 0 0 0 1 0 1 0 0
0x3000FFFE 0 0 0 1 0 1 0 0 0x3000FFFF 0 0 0 0 1 0 1 0
b==y a==x z==max(x,y) y==20 x==10
• 正数:反码与原码相同 • 负数:符号位为1,其余位对原码取反
– 补码:
• 正数:原码、反码、补码相同 • 负数:最高位为1,其余位为原码取反,再对整个数加1
原码
反码
补码
+7
00000111
00000111
00000111
-7
10000111
11 12 1
10
2
9
3
8
4
765
11111000
11111001
程序读写头
主 函 数
PC
int max(int a,int b) { if(a>b)return a; else return b;} }
printf( ){
} system( ){
}
自
程
定
序
义 函
区
数
库
函
SP
数
数据读写头
b
堆
a
栈
z y
区
数
x
据
区
School of Information Science & Engineering , Lanzhou University