第2章C语言的基本知识.ppt

上传人:本田雅阁 文档编号:3423461 上传时间:2019-08-24 格式:PPT 页数:59 大小:820.04KB
返回 下载 相关 举报
第2章C语言的基本知识.ppt_第1页
第1页 / 共59页
第2章C语言的基本知识.ppt_第2页
第2页 / 共59页
第2章C语言的基本知识.ppt_第3页
第3页 / 共59页
第2章C语言的基本知识.ppt_第4页
第4页 / 共59页
第2章C语言的基本知识.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《第2章C语言的基本知识.ppt》由会员分享,可在线阅读,更多相关《第2章C语言的基本知识.ppt(59页珍藏版)》请在三一文库上搜索。

1、第2章 C语言的基本知识,2.1 语言的数据类型 2.2 变量与常量 2.3 整型数据 2.4 浮点数 2.5 字符型数据 本章小结 习题参考答案,2.1 语言的数据类型,C的数据类型,2.2 变量与常量,变量 在程序运行过程中,其值可以被改变的量称为变量。 1变量定义 C语言中的变量遵循“先定义,后使用”的原则。 在定义变量时应注意以下几点: 变量的定义必须在变量使用之前进行,一般放在函数体开头的声明部分。 允许同时定义同一数据类型的多个变量。 最后一个变量名之后必须以“;”号结束。 类型说明符与变量名之间至少要用一个空格分隔开。,2.2 变量与常量,2变量赋初值 C语言中允许在变量定义的同

2、时对变量赋初始值,也称变量的初始化。 3标识符 在C程序中有许多需要命名的对象,为了区分并引用这些对象,需要给对象命名,所命的名称称为标识符。 C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线;并且标识符不允许与关键字重名。需要注意的是严格区分大小写字母。 变量名的命名遵循标识符的命名规则。,2.2 变量与常量,二常量 1常量 在程序运行过程中,其值不可以被改变的量称为常量。 常量也有不同的数据类型,在C语言中,常量是直接以自身的存在形式体现值和类型的,例如:123,-5是整型常量,1.5,1.2E-2是实型常量,y,*是字符常量。,2.2 变量与常量,2

3、符号常量 在C语言中,常量除了以自身的存在形式直接表示之外,还可以为常量命名,称为符号常量。常量命名遵循标识符命名规则。 C语言中定义符号常量的形式如下: #define 符号常量名 常量 符号常量仍是常量,所以不允许改变符号常量的值,企图对符号常量进行赋值的操作是不合法的。 一般符号常量名习惯用大写,而变量名习惯用小写,以示区别。,2.2 变量与常量,例:输入圆的半径r,求圆的周长c和圆的面积s。 #define PI 3.14159 main( ) float r,c,s ; scanf(“%f“ , ,2.3 整型数据,整型变量 1整型数据在内存中的存放形式 区分正负的整型数据称为有符号

4、整型数据。它在内存中是以二进制补码形式并按照其类型所占的字节数来存放的。最高位是符号位,0表示数值为正数,1表示数值为负数,其它位表示数值。正数的补码与原码相同;负数的补码是将其原码按位取反加1。 只有正数而没有负数的整型数据称为无符号整型数据。无符号数的全部位均表示数值,包括最高位。,2.3 整型数据,2整型变量的分类 (1) 基本整型 类型说明符为int,在内存中占2个字节,其取值范围为-3276832767。 (2) 短整型 类型说明符为short int或short,在内存所占字节数和取值范围均与基本型相同。 (3) 长整型 类型说明符为long int或long,在内存中占4个字节,

5、其取值范围为-21474836482147483647。,2.3 整型数据,(4) 无符号型 类型说明符为unsigned,此类型的整数没有负数,分为三种: 无符号基本整型:类型说明符为unsigned int或unsigned,在内存中占2个字节,其取值范围为065535。 无符号短整型:类型说明符为unsigned short或unsigned short int,在内存中所占字节数和取值范围与无符号基本整型相同。 无符号长整型:类型说明符为unsigned long或unsigned long int,在内存中占4个字节,其取值范围为04294967295。,2.3 整型数据,2整型变量

6、的分类 整数类型表,2.3 整型数据,3整型变量的定义与使用 变量必须先定义后使用。 注意: 类型不相同的整型数据可以进行算术运算。 整型数据的溢出,整形变量的定义与使用,#include “stdio.h“ main( ) int a,b,c,d; /*定义a、b、c、d为基本整型变量*/ unsigned u; /*定义u为无符号基本整型变量*/ a=10;b=-20;u=5; c=a+u; d=b-u; printf(“c=%d,d=%dn“,c,d); c=15,d=-25,整形数据的溢出,#include “stdio.h“ main( ) int a,b; a=32767; /*a

7、的值已经达到基本整型范围的最大值*/ b=a+1; /*再对a加1会得到多少?32768吗?*/ printf(“b=%dn“,b); b=-32768,2.3 整型数据,二整型常量 1整型常量的表示方法 整型常量就是数学中的整数,在语言中,整数可用三种形式表示: (1) 十进制整型常量 十进制整数,其数码为09,数值前可以有+、-符号。 (2) 八进制整型常量 在C语言中,八进制整数必须以0开头,即以0作为八进制数的前缀,数码取值为07。 (3) 十六进制整型常量 在C语言中,十六进制整数必须以0x或0X开头,即以0x或0X作为十六进制数的前缀,其数码取值为09以及AF或af。,2.3 整型

8、数据,2整型常量的类型 整型常量有6种类型这些类型的,类型判别请注意以下几点: 一个整型常量的值在-3276832767之间,认为是int类型。 一个整型常量的值超出了-3276832767范围,在 -21474836482147483647范围内,认为是long int类型。 一个整型常量后面加了后缀L或l,则被认为是long int类型常量。 若C的编译系统确定short int与int类型数据在内存中所占字节数相同时,则int类型和short int类型是通用的。一般认为是int类型。 如不特别指明,一个整型常量被认为是有符号整型常量,除非在整型常量后面加了后缀U或u,则认为该整型常量是

9、unsigned,无符号类型。,2.3 整型数据,三用printf显示整型数据 对于一个有意义的程序来说,应该有1个或多个输出。 C语言本身不提供专门的输入输出语句,C中的输入输出操作是调用专门的输入输出函数来完成的。 如果程序得到的结果是整型数据,则应该使用printf函数来显示这些整型数据。,2.3 整型数据,1printf函数的一般格式 printf函数是格式化输出函数,功能是按照指定的格式,将需要输出的数据项在标准的输出设备上输出。 格式化输出函数printf的一般格式是: printf ( ”格式控制字符串” , 输出项列表 );,2.3 整型数据,1printf函数的一般格式 “格

10、式控制字符串”是一个用双引号括起来的字符串,是用于指定数据的输出格式,它包括两种信息: 普通字符,即按原样输出的字符。 格式说明,由“%”和格式字符组成,如%d、%f等。一般每个格式说明都应该有一个输出项与它对应,表示将输出项的值按格式说明中指定的格式输出。格式说明总是由“%”字符开始的。,2.3 整型数据,2整型数据输出的格式字符 与整型数据相关的格式字符如下: (1) d格式符、i格式符,按照十进制整型的格式输出数据。 %d,按照实际宽度输出整型数据。 %md,m是整数,代表输出数据的宽度。m为正数,若数据的输出宽度小于m,则在左侧补相应数目的空格,若大于m,则按照数据实际的位数输出。m为

11、负数,若需要补空格,则在右侧补充。 %ld、%Ld输出长整型数据 。 %mld按照指定宽度输出长整型数据。,2.3 整型数据,2整型数据输出的格式字符 (2) o格式符,按照八进制整型的格式输出数据。输出的数据按照无符号数据看待。 数据按照八进制形式输出时,不带前导0。 可以使用“%lo”、“%mo”、“%mlo”格式说明。 (3) x格式符、X格式符,按照十六进制整型的格式输出数据。输出的数据为无符号数据。 数据按照十六进制形式输出时,不带前导0x或oX。 可以使用“%lx”、“%mx”、“%mlx”格式说明。 (4) u格式符,按照无符号整型的格式输出数据。 可以使用“%lu”、“%mu”

12、、“%mlu”格式说明。,2.3 整型数据,printf整型数据格式字符及其说明,2.3 整型数据,printf整型数据附加格式说明符及说明,整型数据的溢出,#include “stdio.h“ main( ) int a=126; long l=-1234567; unsigned u=50000; printf(“%d,%o,%xn“,a,a,a); printf(“%5d,%-5dn“,a,a); printf(“%10ld,%3un“,l,u); 126,176,7e 126,126 -1234567,50000,2.3 整型数据,四用scanf输入整型数据 一个程序有0个或多个输入

13、。 如果程序需要输入整型数据,则应该使用scanf函数调用来进行。,2.3 整型数据,1scanf函数的一般格式 scanf函数是格式化输入函数,其功能是按照指定的格式,将需要输入的变量从标准的输入设备上进行输入。 格式化输入函数scanf的一般格式是: scanf ( ”格式控制字符串” ,变量地址列表 );,2.3 整型数据,“格式控制字符串”用于指定输入格式,它包括两种信息: 普通字符,即按原样输入的字符。 输入函数的格式控制字符串当中的原样输入字符,通常是用来规定输入的数据之间的分隔符号。 若格式控制字符串中有普通字符,输入时一定要参照该格式输入。 格式说明,由“%”和格式字符组成,与

14、输出格式字符类似。每个格式说明都应该有一个输入地址项与它对应,表示数据按格式说明中指定的格式输入。,2.3 整型数据,2整型数据输入的格式字符 整型数据输入的格式字符与输出格式字符类似。 说明: (1) 长整型的数据输入一定要使用附加格式说明符l或L。 (2) 可以用附加格式说明符m来指定输入数据所占最大宽度。 (3) 附加符*不常用,表示输入的数据不存入到对应的变量中。,2.4 浮点数,一浮点变量 1浮点数据在内存中的存放形式 浮点数是以浮点小数形式存储的。系统将一个浮点数据分成小数和指数两个部分存储。,2.4 浮点数,2浮点型变量的分类 (1) 单精度型 类型说明符为float,在内存中占

15、4个字节,其取值范围的绝对值为10-381038,提供67位有效数字。 (2) 双精度型 类型说明符为double,在内存中占8字节,其取值范围的绝对值为10-30810308,提供1516位有效数字。 (3) 长双精度型 类型说明符为long double,在内存中占10个字节,其取值范围的绝对值为10-4932104932,提供1819位有效数字。,浮点型变量的定义与使用,#include “stdio.h“ main( ) float a,b; /*定义a、b为单精度浮点型变量*/ double d; /*定义d为双精度浮点型变量*/ a=3.56;b=12345.678; d=1234

16、5.6789; printf(“%f,%f,%fn“,a,b,d); 3.560000,12345.677734,12345.678900,2.4 浮点数,二浮点常量 1浮点型常量的表示方法 浮点型常量也称为实数或浮点数。在语言中,浮点数只采用十进制,有两种表示形式: (1) 小数形式 小数形式的浮点数是十进制的。由数字09和小数点及数值前的+、-符号组成。注意一定要有小数点。 (2) 指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为十进制整数)组成。其一般形式为 a E n (a为十进制数,n为十进制整数),其值为 a*10n。,2.4 浮点数,二浮点常量 2浮点型常量的类型

17、对于浮点数的两种表示方法,系统均默认为是双精度浮点型常量。 如果一个浮点型常量的后面加上了后缀F或f,则被认为是float单精度浮点数。,2.4 浮点数,三用printf显示浮点数据 与浮点型数据相关的格式字符如下: (1) f格式符,按照小数形式输出数据,单精度与双精度的浮点数输出都使用f格式符。有如下几种用法: %f,不指定输出的宽度,整数部分全部输出,小数位数6位。 %m.nf,指定输出的数据总宽度为m,其中小数位数n位。若数据的输出宽度小于m,则在左侧补充相应数目的空格以达到总宽度为m,若数据的输出宽度大于m,则按照数据实际所占宽度输出。 %-m.nf,类似于%m.nf,若需要补空格在

18、右侧补充。,2.4 浮点数,三用printf显示浮点数据 (2) e格式符、E格式符,按照指数形式输出数据,单精度与双精度的浮点数都可使用。 (3) g格式符、G格式符,输出浮点数据,根据数值输出所占的宽度大小,自动选择宽度小的f格式或e/E格式,不输出无意义的零。,输出浮点数时的误差,#include “stdio.h“ main( ) float a,b,c; a=2222.2222; b=3333.3333; printf(“%fn“,a+b); 5555.555420,输出浮点数时的指定宽度,#include “stdio.h“ main( ) float f; f=123.4567;

19、 printf(“%f,%12f,%10.3fn“,f,f,f); printf(“%.2f,%.0f,%5.2fn“,f,f,f); printf(“%-10.3f,%-12fn“,f,f); 123.456703, 123.456703, 123.457 123.46,123,123.46 123.457 ,123.456703,2.4 浮点数,四用scanf输入浮点数据 浮点型数据输入的格式字符与输出格式字符类似 。 说明: (1) 双精度浮点型的数据输入应该使用附加格式说明符l,否则输入时无法正确接收用户输入的数据。 (2) 输入浮点数据时不允许规定精度。 (3) 输入多个浮点数据时,

20、如果未在输入格式控制字符串中加入分隔符,同样在输入时要使用空格、回车键、Tab键将多个数值分隔开。,2.5 字符型数据,一字符变量 1字符型数据在内存中的存放形式 字符型数据在内存中存储的是字符的ASCII码值的二进制形式,一个字符的存储占用一个字节。 2字符型变量的定义与使用 字符变量的类型说明符是char。 由于字符变量在内存中存放的是字符的ASCII值,所以也可以把它们看成是整型量。,字符型变量的定义与使用,#include “stdio.h“ main( ) char c1,c2; c1=a; c2=65; printf(“%c,%cn“,c1,c2); printf(“%d,%dn“

21、,c1,c2); a,A 97,65,大小写字母的转换,#include “stdio.h“ main( ) char c1=A,c2=b; c1=c1+32; c2=c2-32; printf(“%c,%cn“,c1,c2); a,B,2.5 字符型数据,二字符常量 1字符常量是用一对单引号括起来的一个字符。 2转义字符 转义字符有其特定的含义,不同于字符原本的含义,是用一个“”开头的字符序列来表示。,2.5 字符型数据,常用的转义符,转义字符的使用,#include “stdio.h“ main( ) printf (“102“tbcd“txynzn“); B“cd“ xy z,2.5 字

22、符型数据,三用printf显示字符 输出字符型数据的格式字符只有c格式符,将输出项按照字符形式输出。有如下两种用法: %c,按照字符的形式输出数据,输出宽度为1位。字符数据输出显示时不带单引号。 %mc、%-mc,指定输出的数据总宽度为m。,字符的输出,#include “stdio.h“ main( ) char c; int a; c=A;a=97; printf(“%3c,%cn“,c,a); A,a,2.5 字符型数据,四用scanf输入字符 输入字符型变量的格式字符是c格式符,将输入的数据以字符形式赋值给对应的字符型变量。有如下两种用法: %c,字符形式的输入。一个字符输入时所占的宽

23、度只有1位,所以在连续多个字符的输入时,不需要加入分隔符,只需连续输入。输入字符时,转义字符如回车换行符等会作为有效字符输入。 %mc,指定输入数据的宽度为m。,字符的输入,#include “stdio.h“ main( ) char c1,c2,c3; scanf(“%c%c%c“, ,2.5 字符型数据,五用getchar输入字符和putchar输出字符 C语言还提供函数getchar()和putchar()专门用来做字符量的输入输出。 这两个函数在使用时必须在程序中的所有函数的定义前用编译预处理命令 include 或 include “stdio.h”,2.5 字符型数据,五用get

24、char输入字符和putchar输出字符 1putchar函数 putchar函数的功能是向标准输出设备输出一个字符。 函数调用格式: putchar(字符表达式) 函数调用括号中是参数,参数是一个字符型常量、字符型变量或是字符型表达式,也可以是一个整型量。,使用putchar()函数输出字符,#include main( ) char c; c=a; putchar(c); /*输出字符变量c的值*/ putchar(c-32); /*输出字符型表达式的值*/ putchar(67); /*输出整型常量67对应的字符*/ putchar(n); /*输出回车换行符常量*/ aAC,2.5 字

25、符型数据,五用getchar输入字符和putchar输出字符 2getchar函数 getchar函数的功能是从标准输入设备上接收一个字符。 函数调用格式: getchar( ) getchar函数是一个无参函数。 从输入设备接收到的字符的ASCII码值作为函数的结果,即函数的返回值。,使用getchar()函数输入字符,#include main( ) char c; c=getchar( ); putchar(c); putchar(getchar( )-32); ,2.5 字符型数据,六字符串常量 1字符串常量 C语言中的字符串常量是由一对双引号括起的字符序列。 2用printf函数输出

26、字符串常量 使用printf函数输出字符串常量有两种方式: (1) 将待输出的字符串直接写在printf函数的格式控制字符串中,作为原样输出字符进行输出。,2.5 字符型数据,六字符串常量 2用printf函数输出字符串常量 (2) 使用s格式符。 %s,输出字符串。 %ms,指定输出字符串所占的宽度,若字符串本身的长度不到m,则在左侧补充空格。 %m.ns,指定输出宽度为m,但只输出字符串的左端n个字符。 %-ms、%-m.ns,-,若需要补充空格,补充在右侧。,字符串的输出,#include“stdio.h“ main( ) printf(“%4s,%7s,%5.3s,%-5.2s“,“C

27、HINA“,“CHINA“,“CHINA“,“CHINA“); CHINA, CHINA, CHI,CH,本章小结,本章主要介绍了数据类型;常量与变量;各种类型数据的表示方法、数据的取值范围和数值的有效位数及相应的输入、输出方法。 1C的数据类型 基本类型,构造类型,指针类型,空类型 2变量与常量 (1) 变量定义,一般形式为: 类型说明符 变量名标识符,变量名标识符,.; (2) 标识符命名规则,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线;并且标识符不允许与关键字重名。 (3) 符号常量的定义,形式如下: #define 符号常量名 常量,本章小结,3整型数据

28、 (1) 整型变量的类型,主要掌握int,long,unsigned int这几种类型,掌握各整型类型的字节数、取值范围。 (2) 整型常量的十进制、八进制、十六进制的表示形式。长整型、无符号整型常量的后缀L/l、U/u。 (3) 使用printf和scanf函数对整型数据进行输入输出,掌握常用的格式符即可。 4浮点型数据 (1) 浮点型变量的类型float,double,掌握它们的字节数、大致的取值范围、有效数字。有效数字是值确保没有误差的位数,反映数据的精确程度。 (2) 浮点型常量的小数、指数的表示形式。浮点常量默认是double型,若常量为float型,则要加F/f的后缀。 (3) 使用printf和scanf函数对浮点型数据进行输入输出,掌握常用的格式符即可。,本章小结,5字符型数据 (1) 字符变量的内存存储形式决定了字符与整型的通用性,转义字符的用处,使用printf和scanf函数对字符型数据进行输入输出。 (2) getchar、putchar函数进行字符数据的输入输出。注意getchar函数的调用形式,它是一个无参函数。 (3) 字符串常量与字符常量是不同的,字符串常量有一个特殊的结束标志即0,字符串常量的输出。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1