第二章C语言课程
C语言基础知识第二章概述
2019/3/14
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
12
例如:字符A的ASCII码为: 65D(十进制)=41H(十六进制)=101Q(八 进制) ∴字符A可以表示为‘A’、’\x41’、’\101’。 2、分类: char 和 unsigned char; 3、值域: 每个字符型数据在内存中占一个字节;包括 ASCII字符表中的所有字符(可显示字符和非显 示字符)。
– 例如: 某计算机允许表示具有七位有效数字的十进制数,计算 333.3333+0.0002222222,若计算时没有位数的限制,则结果应当 是3.3335222222。 计算机由于字长位数的限制,只能表示七位有 效数字,于是只得将小数点后的七个数字全部删掉,而仅保留其 整数部分,得到和值333.3335。 (4)根据实际要求选择单精度或双精度。
2019/3/14
C语言程序设计教程
13
• 注意: • • • • (1)字符常量只能用单引号括起来,不能用双引号 或其他括号。 (2)字符常量只能是单个字符, 不能是字符串。 ‘ab’ 不是字符常量 (3)字符可以是字符集中任意字符,但数字被定义为 字符型之后就以ASCII码值参与数值运算。 如,‘6’和6是不同的,‘6’是字符常量,而6是整型 常量。
注意
‘a’与“a”的区别。
2019/3/14
C语言程序设计教程
15
• 字符常量与字符串常量的区别:
– ⑴ 定界符不同。 – 字符常量使用单引号,而字符串常量使用双引号。 – ⑵ 长度不同。 – 字符常量的长度固定为1,而字符串常量的长度可以是0,也可以 是某个整数。 – ⑶ 存储要求不同。 – 字符常量存储的是字符的ASCII码值,而字符串常量除了要存储 字符串常量的有效字符外,还要存储一个字符串结束标志‘\0’。
C语言程序设计教程第2章程序流程
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计
C语言课件第二章C语言基础
4
10-37 ~ 10+38
7位
double
8
10-307 ~10+308 16位
浮点型变量包含精度和范围两个概念。
合
⑴超过精度位数后的位数值不确定。
肥
float a; a=1.1111111111;
超出精度部分,不准确。 工
业大学 ⑵超过fabc范l===o围1a2a.*.t2溢3b34a出45,bee(,++Oc22;v01e超rf出lo1w0)3。8,溢出为为。上下当当溢溢运运,,算算系当结结统0处果果出理大小错。于于。1100+-3388称称
的运算功能强大。数据通过运算符连接的式子称为表达式,表达式
根据运算对象及运算关系得到一个值。分类介绍如下:
⒈变量赋值运算
格式:
XUAN SHANLI
V=expression;/* 将expression的值赋给变量V*/
int a=2; /*说明赋值,编译时赋值。*/ int b;
合
b=3+2; /*说明后赋值,执行时赋值。*/
中的控制字符,以及系统占用字符如:”。
合
表示方法:① \字符;② \八进制(十六进制整数,小于25肥6)
\a\
\b? 字符母号 \\’n
表示\表示BELL 表示?表示BACKSPACE 表示’表示换行 printf(“\007”);
工 业
\r” 表示”表示回车 printf(“语文\n数学\n”); 大
字符数据在内存中的存储形式及使用方法
在内存中,字符数据以ASCII码存储,存储形式与整数的存储形
XUAN SHANLI
式类似,因而,字符型数据和整型数据之间可以通用。
C语言教材 第2章
第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。
本章的难点是数据在内存中的存储形式。
第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。
例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。
计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。
不同的数据类型具有不同的取值范围和不同的操作。
C 语言提供的数据类型如图2-1所示。
在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。
其中,基本数据类型是其他数据类型的基础。
C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。
本章主要讨论这4种基本类型。
整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。
除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。
它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。
结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。
表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。
第2章 C语言入门 C语言 课件
5
§2.1 常量、变量与数据类型
§2.1.1 标识符
由字母、下划线和数字组成的字符序列 用于程序中的变量、符号常量、数组、函数、数据类 型等操作对象的名字 1.系统定义标识符
具有固定名字和特定含义的标识符 分为关键字和预定义标识符 用于对用户使用的变量、数组、函数等操作对象进行命名
2.用户定义标识符
\\
\„ \“ \ddd \xhh
反斜杠字符“\”
单引号(撇号)字符 双引号字符 1到3位8进制数所代表的字符 1到2位16进制数所代表的字符
2
92 # include <stdio.h> main() 39 { 34 printf("\101,\x42\n"); getch(); A,B }
1
8 *1+1=65=‘A’ 16 *4+2=66=‘B’
返回
测试字符和字符串长度
#include<stdio.h> void main() { char c,c1[]="abcd"; c='A'; 1 printf("字符长度: %d\n",sizeof(c)); printf("字符串长度: %d\n",sizeof(c1)); 5 printf("AB长度=%d\n\n",sizeof("AB")); 3 }
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
§2.1.3 数据类型
(2) 整型变量的分类
基本型
int
整型变量
short int long int 无符号型 unsigned int、 unsigned short、 unsigned long
C语言基础知识第二章
• •
说明: 在C语言中,没有专门的字符串变量,字符串常量如 果需要存放在变量中要用字符数组来处理。
2013/6/5
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
16
请 判 断 这 些 常 量 正 确 与 否 :
120 、 -100、 0; 0120、 072; 0xFFFF、 0x1e、0X28AF,0XED4 ; 120L, 200L ; 长整型常量 3.14、 -3.1、 5.12E-6 ; 'a' 、'#'、'\n'、'\101' ; 099、12f、 0xg 、48EA ; 019.5 、1e-08; 实型常量只能用十进制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; "changsha" 、"+++\\?ab" ; ' \' 、'\p' 、'''、'ab' ;
2013/6/5
C语言程序设计教程
18
• 注意: • 1、符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 • 2、使用符号常量的好处: • (1)含义清楚、见名知意。 • (2)修改方便、一改全改,如现在想将符 号常量PI的值修改成3.15的话,只需要将宏 定义语句改为: #define PI 3.15 即可。
C语言程序设计教程
1
第2章 基本数据类型、运算符和表达式 2.1 C语言的数据类型 2.2 常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 变量赋初值 2.7 各类数据之间的混合运算 2.8 C运算符简介
C语言 第2章 类型、运算符与表达式(2.4~2.7)
数据类型、运算符和表达式
主要内容
2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数
2
2.4.1 变量和内存的概念
变量: 程序运行过程中其值可以改变的量。 系统为程序中的每一个变量开辟存储单元。 变量名: 字母开头,后跟字母、数字和下划线组成。 C语言中的关键字不能作为变量名。
37
2.7.1
格式输出函数printf
printf函数一般格式: printf(格式控制,输出表列) 格式控制是由双引号括起来的字符串,包含三种信息: 1、格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据按照指定的格式输出。 2、普通字符:需要原样输出的字符。 3、转义字符:用于控制输出。 输出表列是一些要输出的数据。
27
2.5 数据的混合运算
1、自动转换
• 运算转换
• 赋值转换 2、强制类型转换
28
1、自动转换—运算转换
在进行运算时,不同类型的数据要先自动转换成 同一类型,然后进行运算。转换的规则按图所示。
double← float
long unsigned 转换由编译系统自动完成。 转换按数据长度增加的方向进行, 即按“向高看齐”的原则提升“ 较低”类型,以保证不降低精度。
33
2、强制类型转换
注意:对一个变量进行强制转换后,得到一个新的 类型的数据,但原来变量的类型不变。 例:x原为实型变量且值为2.6,在执行 i = (int)x 后得到一个整数 2,并把它赋给整型变量 i, 但 x 仍为实型,值为2.6。
第2章 C语言,数据类型、运算符和表达式
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例
第二章 C语言基础 C语言课件
字符型数据
字符串常量
用一对双引号括起来的一个字符串;如“hello” C规定:在一个字符串的末尾系统自动加一个字符串结束标志“\0”
在内存中占的字节数=字符个数+1 “hello”在内存中的存储形式是该字符对应的ASCII码值:
104 01 108 108 111 0
h
e
l
l
o \0
“B”
‘B’
根某每通数向重向读变据片新过据存复变取量空内创存类储问量不将间存 建 储型 空 题 的 会会的空 一 空决 间 存 改6存的地间 个 间定 写 储 变储步址的 变 的分 入 空 变值骤直地量地配值间量。。接址就址多时写的结找即要或少,入值果到该给变个将值。导或区它量连值时致者域分名续转,变通最配找的换即量过左一到存为只的变侧片该储二有空量起独空空进执间名点 有 间间 制 行中先位 的 ,。形 “保转置 内 得式 赋留换的 存 到, 值新为存 该二 ”值储, 对编空进原操应号间制来作的。。中数的的地值值 时址的位 被 候然拷的 覆 。后贝数 盖找版量。到。与。存储空间的位数量相同,即写 入值会充满整个存储空间。
的编号。 问题6:如何将值存储到该内存空间? 答:存储空间写入值时,将值转换为二进制形式,二进制数值
位的数量与存储空间的位数量相同,即写入值会充满整个存 储空间。
变量
问题7:如何写入新值? 答:重复问题6的步骤。结果导致变量的空间中保留新值,
原来的值被覆盖。 问题8:变量的值何时会发生改变? 答:向变量的存储空间写入值时,即只有执行“赋值”操作
运算符和表达式
C运算符:算术运算符、关系运算符、逻辑运算符、赋 值运算符等 C表达式:由运算对象(常量、变量、函数)、运算符 和括号组成的式子。 如:算术表达式、赋值表达式、关 系表达式、逻辑表达式、 条件表达式、逗号表达式等。
第2章C语言基础知识
第2章C语言基础知识第2章 C语言基础知识C语言是一种被广泛应用的编程语言,具有高效、灵活、强大的特点。
在学习C语言之前,我们需要掌握一些基础知识,以便更好地理解和应用这门语言。
一、数据类型C语言中有几种基本的数据类型,包括整型、浮点型、字符型和指针型等。
整型用于表示整数,浮点型用于表示小数,字符型用于表示单个字符,指针型用于表示内存地址。
在定义变量时,我们需要指定变量的数据类型,以便编译器正确地分配内存空间。
二、变量与常量在C语言中,我们可以定义变量来存储和操作数据。
变量需要在使用之前进行声明,并且可以在程序执行过程中改变其值。
相反,常量是不可改变的值,可以直接在程序中使用。
为了提高代码的可读性和维护性,建议在使用变量和常量时给它们起一个有意义的名称。
三、运算符C语言提供了各种运算符,包括算术运算符、赋值运算符、逻辑运算符等。
通过使用这些运算符,我们可以对变量进行各种操作,实现复杂的计算、逻辑判断和数据处理。
四、流程控制流程控制是指控制程序的执行顺序和执行条件。
C语言提供了多种流程控制语句,包括条件语句和循环语句。
条件语句(如if语句和switch语句)用于根据条件执行不同的代码块,而循环语句(如for循环和while循环)用于反复执行一段代码。
五、函数函数是C语言中组织代码的基本单元。
通过将代码封装在函数中,我们可以提高代码的复用性和可读性。
在使用函数时,需要注意函数的定义、调用和参数传递的规则。
六、数组与字符串数组是一组相同类型的数据的集合,而字符串则是字符数组的特殊形式。
在C语言中,我们可以使用数组和字符串来处理大量的数据。
了解数组和字符串的概念、初始化、访问和操作方法对于编写复杂的程序非常重要。
七、指针指针是C语言中的一种特殊数据类型,用于存储内存地址。
通过使用指针,我们可以直接访问和修改内存中的数据,实现高效的程序设计。
然而,指针的使用也需要注意一些细节,如空指针、野指针和指针运算等。
C语言教程第2章数据类型、运算符与表达式
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量
C语言_第2章C语言程序设计基础ppt课件
#include<stdio.h>
void main()
{
int a,b;
printf("Input a,b=");
scanf("%d,%d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
2.1 C语言的基本符号与数据类型 2.2 常量 2.3 变量 2.4 运算符与表达式 2.5 数据的输入/输出
2021/8/4Βιβλιοθήκη 精选课C 件语p言pt语言
17
2.3 变量
定义:即其值可以变化的量
• 一个变量应该有一个名字,在内存中占据一定的 存储单元。在该存储单元中存放变量的值。
• 注:区分变量名和变量值这两个不同的概念。
C规定了各种运算符的结合方向(结合性),算术 运算符的结合方向为“自左至右”,即先左后右, 因此b先与减号结合,执行a-b的运算,再执行加c的 运算。
精选课件ppt语言
34
34
➢ 自增、自减运算符:
• 作用是使变量的值增1或减1。
++ i ; -- i ; (在使用i之前,先使i的值加(减)1)
}
精选课件ppt语言
20
整型变量
➢ 整型数据在内存中的存放形式 • 数据在内存中是以二进制形式存放的,比如:
精选课件ppt语言
2211
实际上,数值是以补码表示的。一个正数的补码 和其原码的形式相同。下图就是用补码形式表示的。 如果数值是负的,在内存中如何用补码形式表示呢? 求负数补码的方法是:将该数的绝对值的二进制形式, 按位取反再加1。
C语言第2章算法
第2章程序的灵魂——算法本章重点:1、初步掌握如何设计一个算法2、掌握结构化的程序设计方法——传统的流程图和N-S流程图。
程序=算法(叙述:对操作的描述)+数据结构(叙述:数据类型及组织形式)+程序设计方法+语言工具和环境。
C程序的设计:包括分析问题,写出算法,用C语句(叙述:包括定义语句,控制语句,函数调用,表达式语句,空语句,复合语句)写出程序(设计程序),上机运行。
算法是程序设计的关键。
2.1算法的概念算法:为解决一个问题而采取的方法和步骤。
简单地说就是:解决问题需要做什么并且怎么做。
2.2 简单算法举例高级语言程序设计均是结构化的设计方法。
结构化的设计方法:使用结构清晰,便于阅读的程序结构;体现为自顶向下,逐步细化。
先理解:i=i+1同理:如i=2,p=1, p=p×i通过以下五个例子逐步熟悉算法的设计方法:P14~18例2.1求5!例2.2假设一个班有50个学生,将成绩为80分以上的学生学号及成绩打印出来。
例2.3判断2000~2500年中的哪些年是闰年,并输出结果。
见P17图的分析例2.4求1-1/2+1/3-1/4+...+1/99-1/100例2.5判断≥3的正整数是否为素数。
2.3 算法的特性1、有穷性。
若有循环,则需要有使程序结束的条件;避免死循环。
2、确定性。
算法中每一步骤都应当是确定无误的,不能模棱两可,否则产生歧义性。
3、有0或多个输入。
即程序中可以没有输入语句。
4、有一个或多个输出。
即至少要有一个输出。
5、有效性。
如设计的算法中避免用零做除数。
2.4 怎样表示一个算法本节主要介绍三种方法:自然语言,传统流程图,结构化流程图:N-S流程图。
一、用自然语言:表述要清楚、确定。
2.2节例子就是用它表示的。
缺点:需根据上下文理解正确含义,若断章取义则会失去本身含义。
二、用流程图●美国国家标准化协会ANSI规定常用的流程图符号:P20图2.3●第二节中的例子用流程图表示的结果:P20~23●传统流程图的缺点:复杂问题流程线多,容易绕糊涂,象走迷宫。
C语言课件 第2章
第 2章 基本数据类型
4. 运算操作 实型数据的运算操作有算术运算和关系运算两 大类, 运算符同整型, 运算规则与数学中实数的运算 规则相同, 但运算结果可能是一个近似值。实数没有 求余运算。
5. 4个字节
第 2章 基本数据类型
6. 应用 例 2 – 3 求两个实数的积。
/*程序 2 - 3, 求两个实数之积*/ #include ″stdio.h″ main( ) {float a, b; float m; printf(″请输入两个整数a, b: ″); scanf(″%f, %f″, &a, &b); m=a*b; printf(″积=%6.3f\n″, m);
求余运算在许多场合都非常有用,如判断整数a是不是b的倍数, 可看a%b是否等于零;a%10可得到a的个位数字,(a/10)%10可得 到a的十位数字,如此可分离一个整数的每一位数字。
一般只有除数大于0时,求余运算才有意义。当a小于0时, a%b等于− ((−a)%b)。
第 2章 基本数据类型
(2) 关系运算包括: <(小于)、 <=(小于等于)、 == (等于)、 !=(不等于)、 >(大于)、 >=(大于等 于)等六种, 运算规则与数学中相同, 运算结果为逻辑类 型数据。关系运算成立结果为1, 不成立结果为0。
第 2章 基本数据类型
′\a′: 响铃报警
′\b′:
′\f′: 走纸换行
′\r ′:
′\t′: 横向跳格
′\u′: 竖向跳格
‘\0’,空操作字符(NULL)
(4) 数字字符与数字是不同的数据,如'9'与9不同。
第 2章 基本数据类型
4. 运算操作 C语言的字符数据在存储时实际上是存储其ASCII码, 存储形式与整数的存储形式相同。基于此,C语言规定字 符数据与整型数据在ASCII码取值范围内通用,因而C语言 中字符数据可进行整型数据的相关运算及操作。 ① ′a′+′b′, 等于97+98; ② ′a′+2, 等于97+2; ③ ′a′<′b′等于97<98。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由%和格式字符组成。 整型变量的格式字符:d
由若干个变量地址组 成。(&变量名)
题解: #include “stdio.h” void main()
{int x,thun,hun,ten,id;
&x scanf(‚ %d ‛,
);
输入整型数据存放 在变量x中
}
问题4:通过什么运 算可以将每一位上 的数字取出?
问题3: 怎样输入 数据?
问题1:输 入的是什 么样的数 据?
问题5:怎 样将结果保 存并输出?
问题4:通过 什么运算可以 将每一位上的 数字取出?
C语言的数据类型
本章讨论 的基本类 型数据
整型 短整型short 整型int 长整型long 单精度型float
问题1:输 入的是什 么样的数 据?
浮点型
200 minutes=3 hours and 20 minutes
2、输入两个整数,分别存放于两个变量中,然后 将两个变量的值交换并输出。
课程回顾
1、定义一个整型的变量x,应使用的语句 为: int x; 。
2、C语言本身不提供输入输出语句,输入和输出操 作是由C函数库中的函数来实现的。最基本的输出函 ; 数是 printf(); ,最基本的输入函数是 scanf() 。
注意:强制类型转换运算符优先级高于算术运算符 优先级
练习:设 x=2.5, a=7,y=4.7
计算下列表达式的值
(int)(x+y)%(int)x/4 正确的表达式 x+a%3*(x+y)%x/4 错误的表达式
=2.5+7%3*(int)(2.5+4.7)%(int)2.5/4 =2.5+1*(int)(7.2)%2/4 =2.5+1*7%2/4 =2.5+1/4 =2.5+0.25 0 =2.75 2.5
两个整数相除结 果仍然为整数, 而且向零取整。
3. 优先级
/ % 高于 + -
*
4. 结合性:左结合性
将下列算术式子用c语言的形式表达出来: 1、3+2x÷y 2、x+5y÷(8-z)2 X+5*y/((8-2)*(8-2)) 3+2*x/y
题解: #include “stdio.h” void main()
二、实型变量 1、实型变量的分类
单精度 float 4B 有效位7位 双精度 double 8B 有效位16位 长双精度 long double 10B 2、输入 、输出格式符 单精度 %f
问题3: 怎样输入 数据?
答:scanf函数
格式: scanf(格式控制,地址列表)
由%和格式字符组成。 实型数据的格式字符:f
问题2:输 入的数据怎 样存放?
答:暂存于变量中。
整型变量如 何说明? 答:int 变量名称表 例如:int a,b;
}
问题3: 怎样输入 数据?
答:scanf函数
格式: scanf(格式控制,地址列表) 注: 1、功能:从标准输入设备上读入不同类型的多个数 据,并将它们按照指定格式进行转换后,存储于地址 列表对应的变量中。
返回
问题5:怎样将 结果输出?
答:printf函数
格式: printf(格式控制,输出项表)
由%和格式字符组成。 实型变量的格式字符:f
由若干个变量名或者 表达式组成。
题解:
#include “stdio.h” void main() {float x,y; scanf(“%f”,&x);
y=(int)(x*100+0.5)/100.;
规范化的指数形式:小数点前 有而且只有一位非零的数字
分析:程序中用到几个变量?
题解:
#include “stdio.h”
void main() { float x, y;
问题2:输 入的数据怎 样存放?
答:暂存于变量中。
实型变量如 何说明? 答:float 变量名称表 例如:float a,b;
}
(int)x+y 则只将x转换成整型,然后与y相加。
注意: 强制类型转换时,原变量类型未变化。 书写格式 (int) x 不要写成int( x ) float a=5.1,c; int b; b=a%3; c=a*b; float a=5.1,c; C的值是: int b; 10.2 10 b=(int)a%3; c=a*b
第二章
数据与数据类型
主要内容:c语言的三种基本数据类型 算术运算符以及赋值运算符
重点、难点:掌握每种数据类型的常量如何表示、 变量如何定义。
各种运算符号的运算规则、不同运 算符号之间的优先级和结合性。
问题2:输 例题:输入一个四位的正整数,提取并输出每一位 入的数据怎 上的数字。 样存放?
例如:输入1978,则输出1,9,7,8
使用变量值:实际上就是根据 变量名所标识的地址找到相应 的内存单元,从中取出数据。
在C语言中,标识符有3种: 关键字 、系统预定义的标识符 和 用户标识符
。
标识符:用来标识变量名、符号常量名、函数
名、数组名、文件名等的有效字符序列。
C中对用户自定义标识符的规定: ★只能由字母、数字、下划线组成; ★第一个字符必须为字母或者下划线;
问题1:输 入的是什 么样的数 据? 问题3: 怎样输入 数据? 样存放?
问题5:怎 样将结果保 存并输出?
问题4:通过 什么运算可以 将数据保留至 小数位后两位 并进行四舍五 入?
本章讨论的基 本类型数据
基本类型
整型 实型(浮点型) 字符型 答:小数, 枚举型 实型数据。
问题1:输 入的是什 么样的数 据?
★不能和系统的关键字重名。
例如:max min x_1 _a1
练习:判断下列标识符的正误:
stu1
√ 注:
a.1
x
a_2
√
_xy
√
x?y
x
1ab
x
int
x
1)见名知义 2)先定义,后使用;
分析:程序中用到几个变量?
题解:
#include “stdio.h”
void main() { int x,thun,hun,ten,id;
题解: #include “stdio.h” void main()
{int x,thun,hun,ten,id;
分别输出个、 十、百、千位 上的数字
scanf(“%d”,&x);
thun=x/1000;
hun= x%1000/100; ten= x%100/10; id= x%10; printf(“%d,%d,%d,%d\n”,thun,hun,ten,id);
由若干个变量地址组 成。(&变量名)
题解:
#include “stdio.h” void main() {float x,y;
输入实型 数据存放 在变量x中 );
&x scanf(‚ %f ‛,
}
问题4:通过什么运 算可以将小数四舍 五入保留到小数位 后两位?
答:算术运算
123.674 123.678 x
#include “stdio.h” void main() {float x,y; scanf(“%f”,&x); 问题4:通过运 算以将小数四舍 五入保留到小数 位后两位?
y=(int)(x*100+0.5)/100.
}
强制类型转换运算符 可以利用强制类型转换运算符将一个表达式 转换成所需类型。例如: (double)a (将a转换成double类型) (int)(x+y) (将x+y的值转换成整型) (float)(5%3) (将5%3的值转换成float型) 一般形式为(类型名)(表达式)
printf(“ %d:%d,%d,%d,%d\n “ , x,thun,hun,ten,id );
2.3整型数据
一、整型常量 十进制:由正负号以及0到9的数字组成,
不能包含小数点。 例如:12 -36 等等
八进制:以0开头,由0到7的数字组成,
例如:014 -042 等等 十六进制:以0x或者0X开头, 由0到9及a到f或者A到F的数字组成, 例如:0xb -0x22 等等
printf(“%f”,y);
}
课程回顾
1、实型变量有两种:单精度和双精度,定义变量时所
用的说明关键字分别是 float
答:算术运算
四、
算术运算符和算术表达式
1. 基本的算术运算符 +(加) -(减) *(乘) /(除) %(模,或求余,%两侧均应为整型数据)。 2.算术表达式:用算术运算符将运算对象连 接起来的式子。
例如:
表达式
2+3*2.5
表达式的值
9.5
5/2
-5/2 5%3 (-5)%3
2
-2 2 -2
二、整型变量
1、整型变量的存放形式 整型数据在内存中以二进制的补码形式存放。
2、整型变量的分类
有符号 int
基本整型 无符号 unsigned int
整型变量
有符号 long (int) 无符号 unsigned long (int)
长整型
练习:
1、输入一个分钟数,转换成小时和分钟输出。
例如输入200,则输出
题解: #include “stdio.h” void main()
{int x,thun,hun,ten,id;
scanf(“%d”,&x);
thun=x/1000;
hun= x%1000/100; ten= x%100/10; id= x%10;
}