C语言课件第2章
第2章 C语言基础 ppt课件
/*用字符形式输出一个大于256的
printf("ch1+10=%d\n", ch1+10);
printf("ch1+10=%c\n", ch1+10);
printf("ch2+10=%d\n", ch2+10);
printf("ch2+10=%c\n", ch2+10);
}
运行程序,效果如图2.23所示。
printf("输入3个学生的身高:(单位:CM)\n"); 示信息,提示用户输入3个学生身高*/
/*输出提
scanf("%f%f%f",&a1,&a2,&a3); /*将用户输入的*/
avg=(a1+a2+a3)/3;
printf("平均身高为:%f\n",avg);
}
运行程序,效果如图2.11所示。
C语言基础
2020/12/27
1
计算学生平均身高
输入3个学生的身高,并用空格分隔开来,求这3个学生的平均身高。#include<stdio.h>
void main()
{
float a1=0,a2=0,a3=0;
/*定义存储学生身高变量并赋值*/
float avg=0;
/*定义存储平均身高的变量并赋值*/
float f=2.2f; 整型变量*/
/*定义单精度型变量
double result=i+c+f;
/*得到相加的结果*/
printf("%f\n",result);
C语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
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语言课件第2章算法-改
C程序设计(第四版)
用计算机语言表示算法 P32
• 计算机无法识别流 程图和伪代码,还 需转换成计算机语 言程序。
• 用计算机语言表示 算法必须严格遵守 所用的语言的语法 规则。
例2.18 求5!
例2.1 求1×2×3×4×5如。何求1×3×5×7×9×11?
原始方法
通用算法:设变量P为被乘数,i为乘数
S1:使P=1
S2:使i=23
S3:使P*i,乘积仍放在变量P中,表示为: P*i→ P
S4:使i的值加1,即i+12→ i 。 S5:若i≤51,1返回S3,否则结束。
问题:见P18
(若i>51,1 结束,否则,返回S3)
具有通用性、灵活性。(S3~S5组成一个循环)
C程序设计(第四版)
例 2.2 有50个学生,要求将他们中成绩在80分以上的
学号和成绩输出。用n表示学生学号,n1代表第一个学 生学号, ni代表第i个学生学号。用g代表学生成绩, gi代表第i个学生成绩。
算法:
归纳:
S1: 1 → i
P19
S2:如果gi≥80,则输出ni 和gi,否则不输出
(4)结构内不存在“死循环”(无终止的循环) 。
基本结构不一定只限于上面三种,只要具有上 述4个特点的都可以作为基本结构。
用N-S流程图表示见P29 图2-24、图2-25、图2-26 、图2-27
C程序设计(第四版)
2.4.5 用伪代码表示算法
伪代码是介于自然语言和计算机之间的文字和符号来描 述算法。 例2.16 求5! begin /*算法开始*/
C语言入门学习-C第2章_算法
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 13
2.4.6 用计算机语言表示算法
• 概念:用计算机实现算法。计算机是无法 识别流程图的。只有用计算机语言编写的 程序才能被计算机执行。因此在用流程图 或伪代码描述出一个算法后,还要将它转 换成计算机语言程序。
• 特点:用计算机语言表示算法必须严格遵 循所用的语言的语法规则。
• 用处:要完成一件工作,包括设计算法和 实现算法两个部分。设计算法的目的是为 了实现算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 14
写出了C程序,仍然只是描述了算法 ,并未实现算法。只有运行程序才是实 现算法。应该说,用计算机语言表示的 算法是计算机能够执行的算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 15
• 确定性:算法中的每一个步骤都应当是确 定的。
• 有零个或多个输入:输入是指在执行算法 时需要从外界取得必要的信息。
• 有一个或多个输出:算法的目的是为了求 解,“解” 就是输出。
• 有效性:算法中的每一个步骤都应当能有 效地执行,并得到确定的结果 。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 4
美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符 号:
起止框
判断框
处理框
输入/输出框
注释框
流向线
连接点
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 8
2.4.3 三种基本结构的流程图 三种基本结构的图示:
顺序结构
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 2
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)表中方括号内的部分是可以省略不写的。
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
程序设计基础(C语言)第2章 基本IO和基本数据类型
return 0; }
Every C program must have a main function The execution of C program starts from main()function
2.2常量与变量
常量(Constant)
–在程序中不能改变其值的量
变量(Variable)
加、减(整数) 对ASCII码值的运算
指针类型
加、减(整数)和比较运算
(2)不同类型数据占用的内存大小不同
如何计算变量或类型占内存的大小
计算变量占内存空间的大小
用sizeof运算符 一元运算符 用sizeof运算符计算变量占内存空间的大小的好处 增加程序的可移植性 编译时执行的运算符,不会导致额外的运行时间开销
程序的标识符通常采用“大小写混排”方式,如MaxValue,而UNIX 应用程序的标识符通常采用
“小写加下画线”方式,如max_value。不要将两类风格混在一起 使用。
(6)C语言的标识符是区分大小写(对大小写敏感)的。
2.2.3常量的表示形式
在程序中不能改变其值的量
包括:
十进制
长整型 无符号整八型进十制六进制
– const常量有数据类型,编译器能对其进行类型检查 – 某些集成化调试工具可以对const常量进行调试
2.3变量的类型决定了什么?
占用内存空间的大小 数据的存储形式 合法的表数范围 可参与的运算种类
(1)不同数据类型可参与的运算不同
整型
加、减、乘、除、求余
实型
加、减、乘、除
字符型
–其值在程序执行过程中是可以改变的
2.2.1变量的类型和变量的定义
变量的声明(Variable Declaration)
第2章中职类的C语言课件
(2)用法说明
· 两个整数相除结果为整数,如7/2的结果值为3, 小数部分被舍去。 · 如果参加运算的两个数中有一个数为实数,此时 所有实数都按double型进行计算,其结果是double 数据。 · 如%符号两边有一个数不是整数,则先进行强制 类型转换为整数,再求余数,如5.3%3,先进行强 制类型转换:(int)(5.3)%3=2。
(2)变量名
为了区分不同的变量,每个变量都有一个名称。 在对变量命名时,应遵循C语言的规定。C语言规定 变量名只能由字母、数字和下划线3种字符组成, 且第1个字符必须为字符或下划线。例如: hi,_day,sum,month,s23,567,average, football,Student,zhang-yang,QB和PRICE都是 合法的变量名;Sun.day,$500,@yahoo和a<=b 均为不合法的变量名。
(2)有符号和无符号整型变量 在实际应用中,有些变量的值始终为正数,如一个 人的年龄、身高和体重等。为了充分利用变量的表 数范围,节约内存空间,C语言将这类变量定义为 “无符号(unsigned)类型”。如果在变量前加上 signed(有符号),则指定变量为“有符号数”。 这时的整型变量还可以存放负数。定义变量时,既 不指定变量为signed,也不指定为unsigned,则默 认为signed。
2.2 基本数据类型
2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 划分数据类型的意义 整型数据 实型数据 字符型数据 数据类型的混合运算
在计算机中进行处理的信息都可以表达为数 据的形式。这里的数据不仅包括我们熟知的 数学运算中的数据,还包括声音、图像等复 杂信息。
2.2.1 划分数据类型的意义
2Hale Waihona Puke 实型变量实型变量有单精度型、双精度型和长双精度 型之分,分别用类型名float和double进行定 义。
《C语言程序设计》课件-第2章用C语言编写程序
input x: 2.5 f(2.50)=0.4
input x: 0 f(0.00)=0.0
软件测试的基本思想
if(x != 0) y = 1/x;
else y = 0;
input x: 2.5 f(2.50)=0.4
input x: 0 f(0.00)=0.0
软件测试
精心设计一批测试用例 [输入数据,预期输出结果] ,然后分 别用这些测试用例运行程序,看程序的实际运行结果与预 期输出结果是否一致。
double x, y;
Enter x (x>=0): 9.5 f(9.500000)=12.67
Enter x (x>=0): 15 f(15.000000)=20.00
printf("Enter x (x>=0):\n"); /* 输入提示 */
数据必须输入吗?
scanf("%lf", &x);
数据输2入.3:.4格式格化式输入化函输数入sca函nf(数) scanf()
#include <stdio.h>
scanf("%lf", &x);
scanf(格式控制字符串, 输入参数1, …, 输入参数n);
变量地址 用双引号括起来,表示输入的格式
scanf-格式控制字符串
格式控制字符串:
• 格式控制说明: 按指定的格式输入数据, %…
数据输出2.:2.格4 式格化式输出化函输数 出prin函tf()数printf()
#include <stdio.h>
printf("Hello World! \n"); printf("fahr = %d, celsius = %d\n", fahr, celsius);
第2章_C语言的基础知识
①小数表示法
127.3 ②科学计数法 36. .75 0.0
4.50e3
1.273E2
非法的浮点常量
e1 2e3.5 e
float 型浮点数的取值范围
最大值:3.402823466×1038
最小正值:1.175494351×10-38
double 型浮点数的取值范围
最大值:1.7976931348623158×10308
void main()
{
int x, y, sum;
printf("\n请以 a+b= 的形式输入两个整数\n");
scanf("%d+%d=", &x, &y); sum = x + y; printf("%d\n", sum); }
如何输入?
int a, b, c;
scanf("%d%d%d", &a, &b, &c); scanf("%d, %d, %d", &a, &b, &c);
void main()
{
int a, b, total; a = 18; b = 12; total = a * b; /*变量定义*/ /*每个月的费用*/ /*一年12个月*/ /*计算*/ /*输出*/
printf("一年的费用是%d元\n", total); }
/* 在函数内部定义的普通变量,在没有用赋值号 对其赋值之前,其初始值为不定值 */ #include <stdio.h> void main() { int a, b, total; total = a * b; printf("一年的费用是%d元\n", total);
C语言第2章PPT教学课件
如:x=x+y;
可以缩写成:: 变量 运算符=表达式;
x=x*(y+z);
如:int a=’A’;
int b=3.14159;
可写成x+=y; 可写成x*=y+z;
⑵ 10种复合赋值运算符: +=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(求余赋值)、 &=(按位与赋值)、|=(按位或赋值)、^=(按位异或赋值)、<<=(左移位赋值)、>>=(右移位赋值)
2.4.4 赋值运算符与赋值表达式
调试时若不删除原程序的文件夹, 则会出现出错对话框。
[复习] 1 作业讲评:(成绩单) 11、16、24、34号遇到问题,自己解决。26号问题是:printf(“保留两位小数:%g\n”,d);(中文分号) 下载第一次作业
文件名中有“-”号(P3),以后一律使用小写字母;文件不全(不用IE,改用flashget),可以再次上传到“补交”文件夹;
2020/12/11
3
六、逗号运算符和逗号表达式 1.逗号运算符的使用格式 表达式1,表达式2,…,表达式n 2.逗号表达式的运算规则 其结果与最后一个表达式的值相同,可以是任何类型 优先级最低,左结合性(即从左到右) 如:若有int a=2;float b=5.2; 则2*a,2*b的结果是10.4
用真值表验证
⑴写出判断整型变量i,j 不同时为0(i,j不同时为0时表达式值为1,同时为0时表达式值为0)的表达式。
⑵对于整型变量i和j ,表达式(i=j=5,i=j!=5+(1>=3<=5)的值是什么?
该表达式的值为1
第2章C语言基础知识
第二章C语言基础知识2.1 常量和变量【学习目标】(1)掌握常用标识符的命名规则(2)掌握常量和变量的定义与引用方法实例5 常量和变量——输出常量与变量的值【实例任务】定义不同类型的几个变量,然后对应输出相应的常量值和变量值。
程序的运行结果如图2-1所示。
图2-1 程序运行结果【相关知识】1.标识符标识符是用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。
C语言的字符集包括英文字母、数字字符和一些特殊字符。
用这些基本元素单位命名标识符时,一定要遵循以下四个原则:(1)必须由字母(a~z,A~Z)或下画线(_)开头;(2)由字母、数字或下画线组成的长度不超过32个字符;(3)标识符中的大小写字母有区别;(4)不能与关键字同名。
下面是不合法的标识符和变量名:M.d.,John,y 123,#33,3d642.常量常量是数据在内存中一种表示形式,在程序运行过程中值永远保持不变,常用的类型有5种,包括整型常量、实型常量、字符型常量、字符串常量、符号常量。
整型常量就是整型,常用的表示形式有十进制,如10、30等。
八进制常量表示形式要以0开头,如013、012等。
十六进制常量表示形式要以0x或0X开头,如0x13、0X12等。
实型常量就是指的是一些带小数点的数,包括指数。
如3.14、-1.2、1.2e6、10.5E8等。
其中,1.2e6表示数学上1.2×106,10.5E8表示数学上10.5×108。
字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,对应各有其ASCII 码值。
字符常量包括一些转义字符,字符形式和输出结果对照如表2-1所示。
表2-1 转义字符字符串常量是用双引号引起来的0个或多个字符。
字符串常量形式给出的是字符串在存储空间中的起始地址。
如“Hello World!”就是一个字符串常量。
符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每个字符型数据在内存中占一个字节 一个字节; 每个字符型数据在内存中占 一个字 节 ; 包括 ASCII字符表中的所有字符 字符表中的所有字符( ASCII字符表中的所有 字符 (可显示字符和非显 示字符) 示字符)。 2011/5/11 C语言程序设计教程 10 4、字符串常量: 、字符串常量: 是用一对双引号括起来的字符序列。 是用一 对双引号括起来的字符序列。 SHANGHAI”, AbcdeFGHijk”, 如:“SHANGHAI ,“ AbcdeFGHijk ,“How you”。 are you 。 注意 ‘\\‘ √ ‘’‘ × ‘\’‘ √ \ \ ‘a’与“a”的区别。 的区别。 a与 的区别 ‘\‘ \ × 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 11 请 判 断 这 些 常 量 正 确 否 : 与 120 、 -100、 0; 、 ; 0120、 072; 、 ; 0xFFFF、 0x1e、0X28AF,0XE D4 ; 、 、 , 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' ; 、 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 12 5、符号常量 是用标识符来表示一个数据;在程序不能给它赋值。 是用标识符来表示一个数 据;在程序不能给它赋值。 定义形式: 定义形式: #define 标识符 常量数据 例如: 例如: #define PI 3.14159 在程序预处理时,凡是出现标识符PI PI的地方都将用 在程序预处理时,凡是出现标识符PI的地方都将用 数据3 14159来替换 来替换。 数 据3.14159来替换。 14159。 如: 2*2.3*PI 就等价于 2*2.3*3.14159。 注意: 注意 : 符号常量与变量不同,它的值在其作用域内不能改变, 1、符号常量与变量不同, 它的值在其作用域内不能改变,也不 能再被赋值。 能再被赋值。 使用符号常量的好 处: 2、使用符号常量的好处: 含义清楚、见名知意。 (1)含义清楚、见名知意。 修改方便、一改全改,如现在想将符号常量PI PI的值修改成 (2)修改方便、一改 全改,如现在想将符号常量PI的值修改成 3.15的话 只需要将宏定义语句改为: 的话 , 即可。 3.15的话,只需要将宏定义语句改为: #define PI 3.15 即可。 2011/5/11 C语言程序设计教程 13 2.2.2 变量 变量是指以标识符为名字, ? 变量是指以标识符为名字,其值可以改变 的量。 的量。 变量代表计算机内存中的某一存储空间, ? 变量代表计算机内存中的某一存 储空间, 该存储空间中存放的数据就是变量的值。 该存储空间中存放的数据就是变 量的值。 在同一程序块中,变量不能被重复定义。 ? 在同一程序块中,变量不能被 重复定义。 ? 使用变量时必须“先定义,后使用”。 使用变量时必须“先定义,后 使用” 2011/5/11
本文由七天设计工作室贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 C语言程序设计教程 1 基本数据类型、 第2章 基本数据类型、运算符和表达式 C语言的数据类型 2.1 C语言的数据类型 2.2 常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2 .6 变量赋初值 2.7 各类数据之间的混合运算 C运算符简介 2.8 C运算符简介 2011/5/11 C语言程序设计教程 2 教学提示 本章介绍C语言提供的基本数据类型、 本章介绍C语言提供的基本数据 类型、运算 符和表达式,这些知识是程序设计的基础, 符和表达式,这些知识是程 序设计的基础, 通过本章的学习,学生将对C 通过本章的学习,学生将对C语言的数 据处 理功能有更进一步的了解。 理功能有更进一步的了解。 ? 教学目标 掌握C 掌 握C语言提供的三种基本数据类型的表示 方法,掌握各种运算符和表达式, 方法,掌 握各种运算符和表达式,掌握数据 类型转换、自增自减运算符的使用。 类型转换、 自增自减运算符的使用。 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 3 C语言的基本数据类型 2.1 C语言的基本数据类型 一、数据类型概述 字符型(char) 字符型(char) 整型(short,int,long,unsigned) 整型(s hort,int,long,unsigned) 单精度型(float) 单精度型(float) 实型 双精度型 (double) 双精度型(double) 枚举类型(enum) 枚举类型(enum) 数组类型( 数组类型([ ]) 结构体类型(struct) 结构体类型(struct) 共用体类型(uni on) 共用体类型(union) 基本类型 数据类型 构造类型 指针类型( 指针类型(*) 空类型(void) 空类型(void) 2011/5/11 C语言程序设计教程 4 2.2 常量与变量 常量是指在程序运行中,其数值不能被改变的量。 ? 常量是指在程序运行中,其 数值不能被改变的量。 常量又可分为直接常量和符号常量。 ? 常量又可分为直接常 量和符号常量。 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 5 2.2.1 常量 1.整数常量: 整数常量: 十进制形式:与数学上的整数表示相同; (1) 十进制形 式:与数学上的整数表示相同; 例如: 12, 100, 例如: 12, -100, 0 八进制形式:在 数码前加数字0 (2) 八进制形式:在数码前加数字0; 例如: 012= 10(十进制) 例如 : 012=1*81+2*80=10(十进制) 十六进制形式:在数码前加0 数字0和字母 和字母X) (3) 十六进制形式:在数码前加0X(数字 和字母 )。 例如: 12= 18(十进制) 例如 : 0x12=1*161+2*160=18(十进制) * 八进制的数码范围为 八进制的数码范围为0 ̄7;
page 3
C语言程序设计教程 第2章 C语言的基本数据类型与表达式 14 变量名2,变量名 1、定义形式:类型标识符 变量名 [,变量名 变量名 、定义形 式:类型标识符: 变量名1 变量名 变量名3……]; ; 如:int, float,char 例如:int a,b,c ; 例如 float x,y; char c1,c2; 或 int c1,c2; 自己设定, 自己设定,满足 标识符的规定。 标识符的规定。 ;不可省 2011/5/11 C语言程序设计教程 15 2.6 变量赋初值 又称为变量初始化 又称为变量初始化 在说明变量的同时给变量一个初始值。 在说明变量的同时给变量一个初始值。 在变量定义中赋初值的一般形式为: 变量1= 变量2= ……; 类型说明符 变量1= 值1,变量2= 值2,……; 例如 a=5 b=3 int a=5, b=3; √ a=b=c=3 int a=b=c=3; × int a,b,c; a=b=c=3; 2011/5/11 √ C语言程序设计教程 第2章 C语言的基本数据类型与表达式 16 例2-1:变量定义举例 main( main( ) /*定义 定义x 为整型变量* { int x,y,z,w; /*定义x, y,z,w为整型变量*/ /*定义 为无符号整型变量* 定义k unsigned int k; /*定义 k为无符号整型变量*/ x=10 y=-20;k=30 10; 30; x=10;y=-20;k=30; z=x+k; w=y+k; z=x+k;w=y+k; printf( x+k=% y+k=% printf(“x+k=%d,y+k=%d\n”, z,w); , } 程序运行结果为: 程序运行结果为: x+k=40 y+k=10 40, x+k=40, y+k=10 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 17 2.7 数据类型转换 语言允许整型、实型、字符型数据进行混合运算。 ◆ C语言允许整型、实型、 字符型数据进行混合运算。 种转换方式:自动转换、赋值转换和强制转换。 ◆ 有3 种转换方式:自动转换、赋值转换和强制转换。 一、类型自动转换 double long un signed int char,short float 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 18 例如 c=‘A ; int x=2;float y=1.6;char c= A’; 则:c+x*y = c + x * y 6 5(int)+ 2(int) * 1.6(double) = 68.2(double) 二、 赋值转换 ◆在赋值时将赋值 符右边值的类型转换成与其左边变量类 型一致的类型。 型一致的类型。 char c=68 .5; printf(“%c”,c); 有下列几种情况: ◆有下列几种情况: 整型(字符型): 去掉小数部分; ):去掉小数部分 (1) 实型 整型(字符型):去掉小数部分; 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式
page 1
018 × ; * 十六进制的数码除了数字0 ̄9外, 十六进制的数码除了数字 9 数码除了 数字0 还使用英文字母a ̄ 或 表示10 ̄15。 还使用英文字母 f (或A ̄ F)表示 表示 。 如:0x1e √ 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 6 分类: 2、分类: 根据数据所占的二进制位数分为:int short、long; :int、 根据数据所占的二进制位数分为:int、short、long; 同样存储长度的数据又分uns igned signed; unsigned、 同样存储长度的数据又分unsigned、signed; 故可组合 出六种类型。 故可组合出六种类型。 值域: 3、值域: 由机器中数据的存储长度决 定。 由机器中数据的存储长度决定。 C中 short(2字节)≤int(2字节)≤long(4字节 字节)≤int(2字节)≤long(4字节) 如Turbo C中,有short(2字节)≤int(2字节)≤l ong(4字节) 关键字 所占位数 取值范围 32768~ short 16 -32768~32767 0~ uns igned short 16 0~65535 32768~ int 16 -32768~32767 0~ unsigned 16 0~65 535 2147483648~ long 32 -2147483648~2147483647 0~ unsigned long 32 0~4 294967295 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 7 实型常量 常量: 2、实型常量: 十进制小数形式:由数字和小数点组成; (1) 十进制小数形式:由数字和小数 点组成; 例如: .3。 例如: 3.4, 4., .3。 指数形式: 十进制小数” e(或E)”+ 十进制数整 (2) 指数形式:“十进制小数”+“ e(或E) +“十进制数整 数”。 例如 : 12.5e表示12.5 12.5× 例如: 12.5e-6 表示12.5×10-6 。 注意 小数点不能单独出现; ? 小数点不能单独出现; 0.√ .0 √ . × ? e或E的两 边必须有数,且其后面必须为整数; 的两边必须有数,且其后面必须为整数; 如: 6E0.2 × e5 × 2、分类: 、分类: 关键字 float double 字节数 4 8 2011/5/11 取值范围 3.4×10-38  ̄ 3.4×1038 1.7×10-308  ̄ 1.7×10308 C语言程序设计 教程 精度( 精度(位) 7 15 第2章 C语言的基本数据类型与表达式 8 3、字符常量 用单引号括起来的一个字符; (1) 用单引号括起来的一个字符;如:‘A’、 ‘1‘、’?’等。 、 、 等 (2) 用单引号括起来的由反斜杠(\)引导的转义字符。 用单引号括起来的由反斜杠( 引导的转义字符。 字符形式 功能 \n 换行 \t 横向跳 格 \b 退格 \r 回车 \\ 反斜杠字符 \’ 单引号字符 进制数表示的ASCII ASCII码对 应的字符 \ddd 8进制数表示的ASCII码对应的字符 16进制数表示的ASCII码对应的字 符 进制数表示的ASCII \xhh 16进制数表示的ASCII码对应的字符 2011/5/11 C语言程序设计教程 第2章 C语言的基本数据类型与表达式 9 例如:字符A的ASCII码为: 例如:字符A ASCII码为: 码为 65D(十进制)=4 1H(十六进制)=101Q( 65D(十进制)=41H(十六进制)=101Q(八 进制) 进制) 字符A可以表示为‘ 、 x41’、 101’。 ∴字符A可以表示为‘A’、’\x41 、’\ 101 。 2、分类: 、分类: char; char 和 unsigned char; 值域: 3、值域: