语言的基本知识2PPT学习教案_第1页
语言的基本知识2PPT学习教案_第2页
语言的基本知识2PPT学习教案_第3页
语言的基本知识2PPT学习教案_第4页
语言的基本知识2PPT学习教案_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1字符集是高级语言的编译系统所能识别的字母、数字、和特殊符号。每种高级语言都有自己特定的字符集合。字符集?第第2页页/共共81页页第1页/共81页 (1) 大、小写英文字母:大、小写英文字母: A ,B, ,Z, a,b,z (2) 数字:数字: 0,1,2,9 (3) 运算符:运算符: + * / % = & | ? ! (4) 括号:括号: ( ) (5) 标点符号:标点符号: : ; (6) 特殊符号:特殊符号: _ $ # (7) 空白符:空白符:空格符空格符 换行符换行符 制表符制表符第第3页页/共共81页页第2页/共81页标识符是用来标识C程序中的变量、常量 (指符号

2、常量)、数据类型和函数。 通俗地说,标识符是程序员为变量、常量或者函数起的名字,它实际上是一个字符序列。 第第4页页/共共81页页第3页/共81页 任何一个标识符必须符合下列语法规则:任何一个标识符必须符合下列语法规则: (1) 必须以英文字母或下划线打头。必须以英文字母或下划线打头。 (2) 在第一个字符后,可以是任意的数字、在第一个字符后,可以是任意的数字、字母、下划线组成的序列。标示符长度不超字母、下划线组成的序列。标示符长度不超过过8 8个个。第第5页页/共共81页页第4页/共81页#include stdio.h#define SIZE 10void main( ) int i ;

3、for (i=1; i=SIZE; i+) printf(%d , i); printf(n); 第第6页页/共共81页页第5页/共81页 关键字(保留字)关键字(保留字)标识符的分类:标识符的分类: 特定字特定字 用户定义字用户定义字返回主目录第第7页页/共共81页页第6页/共81页保留字): 一般为小写字母。 关键字是C编译程序的标识符, 它们代表固定的意义,用户不能随便使用。 例如:printf if while for continue 等 若随便使用,可能出现,编译能通过,但运行结果不对,且不容易检查错误之所在。返回标示符分类第第8页页/共共81页页第7页/共81页具有特殊含义的标识

4、符。它们虽然不是关键字,但是在习惯上把它们看成关键字。所以一般用户定义的标识符也不要使用它们。特定字包括: define include undef ifdef ifndef endif line 返回标示符分类第第9页页/共共81页页第8页/共81页用户按照语法规则定义的标识符。 用户定义字可以用来标识用户自己使用的变量,符号常量、数据类型以及函数等。 第第10页页/共共81页页第9页/共81页 (2) 用户定义字为了标识不同的对象,标识符的前8个(甚至7个)字符要有区别。 (4) 避免使用容易混淆的字符。如l与1,0与o, z与2等。 (6) 尽量不要与某个库函数同名。返回标示符分类第第1

5、1页页/共共81页页第10页/共81页第第12页页/共共81页页第11页/共81页常量 常量 变量 类型说明符 第第13页页/共共81页页第12页/共81页在使用一个变量之前,程序员必须为每个变量起个名字,同时还要声明它的数据类型,以便编译系统根据不同的数据类型为其静态地分配内存空间。我们称之为定义变量。定义变量的语法格式为: 类型说明符 变量名表;类型说明符包括:int、float、double、char等 第第14页页/共共81页页第13页/共81页变量的不定值第第15页页/共共81页页第14页/共81页#include stdio.hvoid main( ) int r; /*定义变量定

6、义变量r */ printf(请输入圆的半径:请输入圆的半径:); /*提示用户输入半径提示用户输入半径*/ scanf(“%d”, &r); /*接收用户的输入接收用户的输入*/ printf(面积面积=%lfn,3.1415926*r*r); /*输出圆的面积输出圆的面积*/ 例2.2 用变量r存储圆的半径,求圆的面积。第第16页页/共共81页页第15页/共81页#define SIZE 10第第17页页/共共81页页第16页/共81页/*-求圆的面积、周长、球的体积求圆的面积、周长、球的体积-*/ #include stdio.h#define PI 3.1415926 /* 定

7、义符号常量定义符号常量PI */ void main( ) int r; printf(请输请输入入圆圆的半的半径径:); scanf(%d, &r); printf(圆圆面面积积=%lfn, PI*r*r); printf(圆圆周周长长=%lfn , 2*PI*r); printf(球体球体积积=%lfn, 4*PI*r*r*r/3); 返回主目录第第18页页/共共81页页第17页/共81页#include stdio.hvoid main( ) int a=100000,b=200000; printf(a+b=%dn,a+b); 程序运行结果:a+b=300000例2.3 计算并

8、输出两个数的和。第第19页页/共共81页页第18页/共81页#inclu de stdio.hvoid main( ) int a=100000,b=200000; printf(a*b=%dn,a*b); /*输出两个数的乘积输出两个数的乘积*/ 程序运行结果:错误?a*b= -147836480例2.4 计算并输出两个数的乘积(错误的)。第第20页页/共共81页页第19页/共81页数据的类型不同,使用的场合也不同;例如:l 计算人数、学校教室的间数等要用整数;l 计算教室的面积、球的体积等用实数(小数);l 人名、地名等要用字符类型。第第21页页/共共81页页第20页/共81页 第第22页

9、页/共共81页页第21页/共81页 短整型 长整型 不同数据类型的数据由于其在内存的存储方式不同,不同数据类型的数据由于其在内存的存储方式不同,存储所占的二进制位(存储所占的二进制位(bitbit)大多不相同。即使是相)大多不相同。即使是相同类型的数据在不同种类型的计算机所占位(同类型的数据在不同种类型的计算机所占位(bitbit)数也不完全相同。数也不完全相同。 返回主目录第第23页页/共共81页页第22页/共81页返回主目录第第24页页/共共81页页第23页/共81页整型常量的写法 #include stdio.hvoid main( ) int a,b; printf(“请输入长方形的长

10、和宽:n”); /*提示输入*/ scanf(%d%d, &a,&b); /*接收整型数*/ printf(面积=%d 周长=%dn, a*b,2*(a+b); /*输出结果*/整型变量的定义 第第25页页/共共81页页第24页/共81页整型变量所占的二进制位数的取值范围: short(短整型) -128 +127 int (普通整型) -32768 +32767 long (长整型) -2147483648 +2147483647按照整型变量所占的二进制位数来分类: short(短整型)占内存1个字节,即8个二进制位 int(普通整型)占内存2个字节,即16个二进制位 lon

11、g (长整型)占内存4个字节,即32个二进制位返回整型数据第第26页页/共共81页页第25页/共81页根据整型变量是否带符号位来分类:n 不带符号的整型变量n 带符号的整型变量 说明:无符号用关键字unsigned表示l 说明整型变量的语法:限定词 int 变量名表; 限定词包括:long、short、unsigned 例1:short int data1; 或: short data1; 例2:unsigned data2; 返回整型数据第第27页页/共共81页页第26页/共81页 十进制表示:十进制表示:正常表示正常表示 八进制表示:八进制表示: 以数字以数字 0 0开头开头 十六进制表示

12、:十六进制表示:以数字以数字0 x0 x开头开头 长整型:长整型:要在数字后加上字母要在数字后加上字母L L int a,b,c; a = 10; b = 010; c = 0 x10; long s; s=10L ;第第28页页/共共81页页第27页/共81页 的是:如果整型常量超过机器所能 表示的范围,则会发生溢出,而在C语言中的整数溢出并不会使程序出错,而是得到一个非正确的值。 例如:short int a,b; a = 10000; b = 10000000; 变量b的值会被系统认为是-27008。返回整型数据注意:VC+6.0的短整型为2个字节,普通整型和长整型相同,为4个字节。第第

13、29页页/共共81页页第28页/共81页 printf函数的使用格式: printf( “格式信息”, 输出项1, 输出项2, );第第30页页/共共81页页第29页/共81页#include stdio.h void main( ) int i; for (i=0;i=15;i+) /*循环16次*/ printf(%d %o %xn, i,i,i); /*输出i的值*/ 每个格式之间有2个空格第第31页页/共共81页页第30页/共81页printf(%d %o %xn,i,i,i); printf(%3d %3o %3xn,i,i,i); printf(%-3d %-3o %-3xn,i,

14、i,i); 返回整型数据第第32页页/共共81页页第31页/共81页scanfscanf函数的使用格式函数的使用格式:scanf( “scanf( “格式信息格式信息”, ”, 输入项输入项1, 1, 输入项输入项2, );2, ); 功能:通过在功能:通过在“格式信息格式信息”中使用中使用%和和转换转换字符字符来指定不同数据类型数据的输入方式。来指定不同数据类型数据的输入方式。注意:注意:输入项必须使用地址,普通变量的地址输入项必须使用地址,普通变量的地址是在变量名前加取地址符是在变量名前加取地址符&。第第33页页/共共81页页第32页/共81页输入整型数据的转换字符有d,o,x,u

15、 第第34页页/共共81页页第33页/共81页#include stdio.hvoid main() short x, y, z1; int z2; printf(n请输入四个整数:); scanf(%d%o%x%d, &x,&y,&z1,&z2); /*接收4个数*/ printf(n%d,%d,%d,%dn, x,y,z1,z2); /*输出4个变量的值*/第第35页页/共共81页页第34页/共81页注意:scanf读入一组整数时,scanf扫视输入信息,跳过空格、tab或换行,寻找下一个输入数。例如,若输入为: 当键入: 782 319 20 (回车符)

16、38 第第36页页/共共81页页第35页/共81页注意:注意:(2) 格式信息中除了有格式信息中除了有 %开始的转换说明,还可以开始的转换说明,还可以有普通字符,只是这些字符不是显示在屏幕上的,有普通字符,只是这些字符不是显示在屏幕上的,而是要求使用者在输入数据时,要在相应位置输入而是要求使用者在输入数据时,要在相应位置输入相同的字符(除了空格、相同的字符(除了空格、tab或换行符或换行符)。)。第第37页页/共共81页页第36页/共81页返回整型数据注意输入格式!第第38页页/共共81页页第37页/共81页返回主目录第第39页页/共共81页页第38页/共81页浮点数在机器中的表示一般分为三部

17、分:符号位、阶码、尾数。l 32位浮点数的有效数字的是7位十进制数,取值范围为10-38 1038,64位浮点数的有效数字是15位十进制数字,取值范围为10-308 10308。 不同的机器可能会有一些微小的差别。返回到浮点数浮点数?第第40页页/共共81页页第39页/共81页 单精度浮点数和双精度浮点数两者在计算机上的表示方式是完全相似的,只是所占的二进制位数不同,单精度浮点数的有效数字(或称精度)和取值范围与双精度浮点数不同。 VC+6.0中,单精度浮点数占32位,双精度占64位。返回到浮点数第第41页页/共共81页页第40页/共81页数学数学:小数表示法:小数表示法 127.3 127.

18、3 科学计数法科学计数法 1.2731.27310102 2 在在C C语言中,语言中,实际上也是用这两种方式,只实际上也是用这两种方式,只不过不过10102 2 用用E+2E+2表示。表示。 C C程序中的浮点常数由整数部分、小数部分、程序中的浮点常数由整数部分、小数部分、指数部分构成。指数部分构成。例如:例如:1.273e+21.273e+2第第42页页/共共81页页第41页/共81页浮点常量构成规则是:浮点常量构成规则是:(1)(1)整数部分可以不写,小数部分也可以不写,整数部分可以不写,小数部分也可以不写, 但不能同时不写。但不能同时不写。(2)(2)指数部分可以省略(相当于使用小数表

19、示法)指数部分可以省略(相当于使用小数表示法)(3)(3)若有指数部分,若有指数部分,e e( (或或E)E)两边都至少有一位数。两边都至少有一位数。(4)(4)指数的数字必须是整数(范围为指数的数字必须是整数(范围为1 1到到3 3位的整位的整数),可以为负或正,正号可以省略。数),可以为负或正,正号可以省略。例如:4.50E3、1.0、1.、.1234、123.4、1e10、 .5e100都是合法的浮点常量。第第43页页/共共81页页第42页/共81页注意:注意: 浮点常量在存储时按double类型存储,即占64位(bit)。 浮点常量也象整型常量一样,如果浮点常量超过机器所能表示的范围,

20、则会发生溢出。 浮点溢出也不会使程序出错,而是得到一个非正确的值 。第第44页页/共共81页页第43页/共81页#include stdio.hvoid main( ) double a,b; /*定义两个浮点变量*/ printf(“请输入长方形的长和宽:n”); /*提示*/ scanf(%lf%lf,&a,&b); /*接收用户输入的两个浮点数*/ printf(面积=%6.2lf 周长=%6.2lfn, a*b,2.0*(a+b); 返回到浮点数第第45页页/共共81页页第44页/共81页#include stdio.hvoid main() float x; doub

21、le y; x=12.3456789;y=987654.321098; printf(n%e,%le,x,y); printf(n%f,%lf,x,y); printf(n%.3f,%.3lf,x,y); printf(n%14.3f,%14.3lf,x,y); printf(n%-14.3f,%-14.3lf,x,y); printf(n%8.3f,%8.3lf,x,y); printf(n%14f,%14lf,x,y); 返回到浮点数注意域宽的表示!第第46页页/共共81页页第45页/共81页第第47页页/共共81页页第46页/共81页#include stdio.h void main(

22、) double x, y; printf(Please enter two double:); scanf(%lf%le,&x,&y); printf(n%lf,%lf,x,y); printf(n%le,%le,x,y); 返回到浮点数按双精度输入浮点和指数型数据第第48页页/共共81页页第47页/共81页返回主目录第第49页页/共共81页页第48页/共81页字符型常量的写法 字符型变量的定义 字符型数据的输入 字符型数据的输出 第第50页页/共共81页页第49页/共81页#include stdio.hvoid main( ) char a,b,c,d,i; printf

23、(“请输入4 个小写字母:n); scanf(%c%c%c%c,&a,&b,&c,&d); i=a-A; printf(对应的大写字母是 :%c%c%c%cn, a-i, b-i, c-i, d-i); 返回到字符类型第第51页页/共共81页页第50页/共81页 例如:在ASCII编码表中,A用数值65表示,其8位二进制表示是: 01000001返回到字符类型第第52页页/共共81页页第51页/共81页字符型变量?第第53页页/共共81页页第52页/共81页字符型变量和常量的区别第第54页页/共共81页页第53页/共81页(1) 单引号中的字符只能是一个字符。

24、例如 char beta; beta=ab是错误的。(2) 不能用双引号括起一个字符表示单个字符常量。例如 char beta; beta =a是错误的。注意字符型常量的表示形式第第55页页/共共81页页第54页/共81页(3) 非图形字符,如退格,换行等,也可以表示成字符型常量。表示方法是使用转义符与一些特殊字符构成转义序列。例如n就是一个转义序列,表示“回车换行”(4)字符型数据可以像整型数据一样参与四则运算。返回到字符类型转义字符?第第56页页/共共81页页第55页/共81页#include stdio.hvoid main( ) char i; /*定义变量i*/ for (i=0;i

25、=9;i+) /*循环10次*/ printf(%c ,i); /*输出一个字符*/ printf(n);注意:输出的是字符,不是数字!返回到字符类型使用格式符%c输出字符例2.15 用printf显示字符。若写成: printf(“%d ”,i);第第57页页/共共81页页第56页/共81页使用格式符%c控制输入字符第第58页页/共共81页页第57页/共81页l 尽量不要将%c与其它转换说明一起使用。l 当scanf读入一组数据时,如果不使用%c做转换时,scanf扫视输入信息,跳过空格、tab或换行,寻找下一个输入域。l但是若使用%c做转换时,情况则不同,scanf不会跳过空格、tab或换

26、行,而是直接把下一个字符输入给参数,不论它是什么。格式符%c控制输入字符第第59页页/共共81页页第58页/共81页 使用scanf(%d%c,&i,&c);语句输入,若从键盘输入29 w,那么c的结果不是字符w,而是空格。 解决的方法是在控制字符串中加空格分隔。scanf(%d %c,&i,&c);返回到字符类型注意细节:%c控制输入字符第第60页页/共共81页页第59页/共81页第第61页页/共共81页页第60页/共81页#include stdio.hvoid main( ) char a,b,c,d,i; printf(“请输入四个小 写字母:); a=

27、getchar(); b=getchar(); c=getchar(); d=getchar(); i=a-A; printf(对应的四个大写字母:); putchar(a-i); putchar(b-i); putchar(c-i); putchar(d-i); putchar(n); /*输出换行*/ 返回到字符类型例2.16 : 修改例2.10编写程序从键盘输入若干个小写字母, 输出这些字符的大写字母。(使用getchar和putchar函数)什么叫“系统的仿效返回 ”?第第62页页/共共81页页第61页/共81页 例:“how are you. 1234.5 字符串的存储与字符不同。C

28、编译程序在存储字符串常量时自动采用作为字符串结束标志。实际上所占的字节数是第第63页页/共共81页页第62页/共81页a”与a是完全不同的,前者是字符串常量,占的字节数是2,后者是字符常量,占的字节数是1。字符串常量的输出: printf(how are you); printf(%s,how are you);返回到字符类型字符常量与字符串常量有区别!第第64页页/共共81页页第63页/共81页 例如: printf(%lf ,3*5.6); 表达式中的3是整型数,5.6是双精度浮点数,3*5.6是什么数据类型呢?是双精度浮点型!系统自动做了转换返回到字符类型级别低的向级别高的看齐!第第65

29、页页/共共81页页第64页/共81页2.7.1 自动转换 系统根据规则自动将两个不同数据类型的运系统根据规则自动将两个不同数据类型的运算对象转换成同一种数据类型的过程。算对象转换成同一种数据类型的过程。第第66页页/共共81页页第65页/共81页2.7.2 强制转换 在在C语言中,允许程序员根据自己的意愿将语言中,允许程序员根据自己的意愿将一种数据类型强制转换成另一种数据类型。一种数据类型强制转换成另一种数据类型。 强制转换的格式为:强制转换的格式为: ( (数据类型名数据类型名) ) 操作对象操作对象注意:强制转换并不改变操作对象的数据类型和数值 。 (int)f 的含义?注意强制转换的格式

30、!第第67页页/共共81页页第66页/共81页2.7.3 赋值表达式的类型转换 当左边的变量与赋值运算符右边的表达式的时,不需要进行数据类型的转换。 当左边的变量与赋值运算符右边的表达式的时,将右边的数据类型转换成左边的数据类型。安全转换安全转换?不安全转换不安全转换?第第68页页/共共81页页第67页/共81页第第69页页/共共81页页第68页/共81页第第70页页/共共81页页第69页/共81页#include stdio.hvoid main() int SCORE; printf(请输入一个整数:); scanf(%d,&score); /* score 未定义,错误语句*/

31、printf(%dn, score); /* score未定义,错误语句*/如何修改?第第71页页/共共81页页第70页/共81页#include stdio.hvoid main() int x; /*定义变量*/ printf(n请输入一个整数:n); /*提示输入*/ scanf(%d, x); /*接收输入, 错误语句*/ printf(%d*%d=%dn, x,x,x*x); /*输出*/如何修改?第第72页页/共共81页页第71页/共81页#include stdio.hvoid main( ) int a,b,sum; /*定义变量*/ a=1;b=2; /*赋值给变量a和b*/

32、 sum=sum+a+b; /*计算sum*/ printf(a add b is %d n,sum);如何修改?第第73页页/共共81页页第72页/共81页#include stdio.h void main() int x,y,z; x=129, y=0127 , z=0 x128; printf(%6d%6d%6dn,x,y,z); printf(%6o%6o%6on,x,y,z); printf(%-6x%-6x%-6xn,x,y,z); 运行结果?第第74页页/共共81页页第73页/共81页#include stdio.h void main() int x,y,z; x=-129, y=-0127 , z=-0 x128; printf(%d,%d,%dn,x,y,z); printf(%u,%u,%un,x,y,z); printf(%o,%o,%on,x,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论