第2章C语言的基本知识

上传人:痛*** 文档编号:224967940 上传时间:2023-08-02 格式:PPT 页数:59 大小:820.02KB
返回 下载 相关 举报
第2章C语言的基本知识_第1页
第1页 / 共59页
第2章C语言的基本知识_第2页
第2页 / 共59页
第2章C语言的基本知识_第3页
第3页 / 共59页
点击查看更多>>
资源描述
第2章 C语言的基本知识 2.1 语言的数据类型语言的数据类型2.2 变量与常量变量与常量2.3 整型数据整型数据2.4 浮点数浮点数2.5 字符型数据字符型数据本章小结本章小结习题参考答案习题参考答案 2.1 语言的数据类型vC的数据类型的数据类型数据类型指针类型空类型基本类型整型实型(浮点型)字符型单精度型双精度型枚举类型构造类型数组类型结构体类型共用体类型2.2 变量与常量v变量变量在程序运行过程中,其值可以被改变的量称为变量。1变量定义变量定义C语言中的变量遵循“先定义,后使用”的原则。在定义变量时应注意以下几点:F变量的定义必须在变量使用之前进行,一般放在函数体开头的声明部分。F允许同时定义同一数据类型的多个变量。F最后一个变量名之后必须以“;”号结束。F类型说明符与变量名之间至少要用一个空格分隔开。2.2 变量与常量2变量赋初值变量赋初值 C语言中允许在变量定义的同时对变量赋初始值,也称变量的初始化。3标识符标识符在C程序中有许多需要命名的对象,为了区分并引用这些对象,需要给对象命名,所命的名称称为标识符。C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线;并且标识符不允许与关键字重名。需要注意的是严格区分大小写字母。变量名的命名遵循标识符的命名规则。2.2 变量与常量二常量二常量1常量常量 在程序运行过程中,其值不可以被改变的量称为常量。常量也有不同的数据类型,在C语言中,常量是直接以自身的存在形式体现值和类型的,例如:123,-5是整型常量,1.5,1.2E-2是实型常量,y,*是字符常量。2.2 变量与常量2符号常量符号常量在C语言中,常量除了以自身的存在形式直接表示之外,还可以为常量命名,称为符号常量。常量命名遵循标识符命名规则。C语言中定义符号常量的形式如下:#define 符号常量名 常量符号常量仍是常量,所以不允许改变符号常量的值,企图对符号常量进行赋值的操作是不合法的。一般符号常量名习惯用大写,而变量名习惯用小写,以示区别。2.2 变量与常量例:输入圆的半径r,求圆的周长c和圆的面积s。#define PI 3.14159 main()float r,c,s;scanf(%f,&r);/*输入圆的半径*/c=2*PI*r;s=PI*r*r;printf(c=%f,s=%f n,c,s);2.3 整型数据v整型变量整型变量1整型数据在内存中的存放形式整型数据在内存中的存放形式区分正负的整型数据称为有符号整型数据。它在内存中是以二进制补码形式并按照其类型所占的字节数来存放的。最高位是符号位,0表示数值为正数,1表示数值为负数,其它位表示数值。正数的补码与原码相同;负数的补码是将其原码按位取反加1。只有正数而没有负数的整型数据称为无符号整型数据。无符号数的全部位均表示数值,包括最高位。2.3 整型数据2整型变量的分类整型变量的分类(1)基本整型类型说明符为int,在内存中占2个字节,其取值范围为-3276832767。(2)短整型类型说明符为short int或short,在内存所占字节数和取值范围均与基本型相同。(3)长整型类型说明符为long int或long,在内存中占4个字节,其取值范围为-21474836482147483647。2.3 整型数据(4)无符号型类型说明符为unsigned,此类型的整数没有负数,分为三种:F无符号基本整型:类型说明符为unsigned int或unsigned,在内存中占2个字节,其取值范围为065535。F无符号短整型:类型说明符为unsigned short或unsigned short int,在内存中所占字节数和取值范围与无符号基本整型相同。F无符号长整型:类型说明符为unsigned long或unsigned long int,在内存中占4个字节,其取值范围为04294967295。2.3 整型数据2整型变量的分类整型变量的分类整数类型表类型说明符数的范围分配字节数signed int-32768327672signed short int-32768327672Unsigned int0655352unsigned short int0655352signed long int-231231-14unsigned long0232-142.3 整型数据3整型整型变变量的定量的定义义与使用与使用变量必须先定义后使用。注意:F类型不相同的整型数据可以进行算术运算。F整型数据的溢出 整形变量的定义与使用整形变量的定义与使用v#include stdio.hvmain()v v int a,b,c,d;/*定义a、b、c、d为基本整型变量*/v unsigned u;/*定义u为无符号基本整型变量*/v a=10;b=-20;u=5;v c=a+u;v d=b-u;v printf(c=%d,d=%dn,c,d);vvc=15,d=-25整形数据的溢出整形数据的溢出v#include stdio.hvmain()vv int a,b;v a=32767;/*a的值已经达到基本整型范围的最大值*/v b=a+1;/*再对a加1会得到多少?32768吗?*/v printf(b=%dn,b);vvb=-327682.3 整型数据二二整型常量整型常量1整型常量的表示方法整型常量的表示方法整型常量就是数学中的整数,在语言中,整数可用三种形式表示:(1)十进制整型常量十进制整数,其数码为09,数值前可以有+、-符号。(2)八进制整型常量在C语言中,八进制整数必须以0开头,即以0作为八进制数的前缀,数码取值为07。(3)十六进制整型常量在C语言中,十六进制整数必须以0 x或0X开头,即以0 x或0X作为十六进制数的前缀,其数码取值为09以及AF或af。2.3 整型数据2整型常量的类型整型常量的类型整型常量有6种类型这些类型的,类型判别请注意以下几点:F一个整型常量的值在-3276832767之间,认为是int类型。F一个整型常量的值超出了-3276832767范围,在-21474836482147483647范围内,认为是long int类型。F一个整型常量后面加了后缀L或l,则被认为是long int类型常量。F若C的编译系统确定short int与int类型数据在内存中所占字节数相同时,则int类型和short int类型是通用的。一般认为是int类型。F如不特别指明,一个整型常量被认为是有符号整型常量,除非在整型常量后面加了后缀U或u,则认为该整型常量是unsigned,无符号类型。2.3 整型数据三三用用printf显示整型数据显示整型数据对于一个有意义的程序来说,应该有1个或多个输出。C语言本身不提供专门的输入输出语句,C中的输入输出操作是调用专门的输入输出函数来完成的。如果程序得到的结果是整型数据,则应该使用printf函数来显示这些整型数据。2.3 整型数据1printf函数的一般格式函数的一般格式printf函数是格式化输出函数,功能是按照指定的格式,将需要输出的数据项在标准的输出设备上输出。格式化输出函数printf的一般格式是:printf(”格式控制字符串”,输出项列表);2.3 整型数据1printf函数的一般格式函数的一般格式“格式控制字符串”是一个用双引号括起来的字符串,是用于指定数据的输出格式,它包括两种信息:普通字符,即按原样输出的字符。格式说明,由“%”和格式字符组成,如%d、%f等。一般每个格式说明都应该有一个输出项与它对应,表示将输出项的值按格式说明中指定的格式输出。格式说明总是由“%”字符开始的。2.3 整型数据2整型数据输出的格式字符整型数据输出的格式字符与整型数据相关的格式字符如下:(1)d格式符、i格式符,按照十进制整型的格式输出数据。%d,按照实际宽度输出整型数据。%md,m是整数,代表输出数据的宽度。m为正数,若数据的输出宽度小于m,则在左侧补相应数目的空格,若大于m,则按照数据实际的位数输出。m为负数,若需要补空格,则在右侧补充。%ld、%Ld输出长整型数据。%mld按照指定宽度输出长整型数据。2.3 整型数据2整型数据输出的格式字符整型数据输出的格式字符(2)o格式符,按照八进制整型的格式输出数据。输出的数据按照无符号数据看待。数据按照八进制形式输出时,不带前导0。可以使用“%lo”、“%mo”、“%mlo”格式说明。(3)x格式符、X格式符,按照十六进制整型的格式输出数据。输出的数据为无符号数据。数据按照十六进制形式输出时,不带前导0 x或oX。可以使用“%lx”、“%mx”、“%mlx”格式说明。(4)u格式符,按照无符号整型的格式输出数据。可以使用“%lu”、“%mu”、“%mlu”格式说明。2.3 整型数据printf整型数据格式字符及其说明整型数据格式字符及其说明格式字符说 明d,i有符号十进制整数形式输出整数O无符号八进制整数形式输出整数x,X无符号十六进制整数形式输出整数U无符号十进制整数形式输出整数2.3 整型数据printf整型数据附加格式说明符及说明整型数据附加格式说明符及说明 附加格式说明符 说 明l,L 加在i,d,o,x,X,u前表示长整型m(一个正整数)表示数据的输出最小宽度-输出的数据位数小于规定宽度时,空格在右侧补充 整型数据的溢出整型数据的溢出v#include stdio.hvmain()vint a=126;v long l=-1234567;v unsigned u=50000;v printf(%d,%o,%xn,a,a,a);v printf(%5d,%-5dn,a,a);v printf(%10ld,%3un,l,u);vv126,176,7ev 126,126v -1234567,500002.3 整型数据四四用用scanf输入整型数据输入整型数据一个程序有0个或多个输入。如果程序需要输入整型数据,则应该使用scanf函数调用来进行。2.3 整型数据1scanf函数的一般格式函数的一般格式scanf函数是格式化输入函数,其功能是按照指定的格式,将需要输入的变量从标准的输入设备上进行输入。格式化输入函数scanf的一般格式是:scanf(”格式控制字符串”,变量地址列表);2.3 整型数据“格式控制字符串格式控制字符串”用于指定输入格式,它包括两种信息用于指定输入格式,它包括两种信息:普通字符,即按原样输入的字符普通字符,即按原样输入的字符。输入函数的格式控制字符串当中的原样输入字符,通常是用输入函数的格式控制字符串当中的原样输入字符,通常是用来规定输入的数据之间的分隔符号来规定输入的数据之间的分隔符号。若格式控制字符串中有普通字符,输入时一定要参照该格式若格式控制字符串中有普通字符,输入时一定要参照该格式输入。输入。格式说明,由格式说明,由“%”和格式字符组成,与输出格式字符类似。和格式字符组成,与输出格式字符类似。每个格式说明都应该有一个输入地址项与它对应,表示数每个格式说明都应该有一个输入地址项与它对应,表示数据按格式说明中指定的格式输入。据按格式说明中指定的格式输入。2.3 整型数据2整型数据输入的格式字符整型数据输入的格式字符整型数据输入的格式字符与输出格式字符类似。说明:(1)长整型的数据输入一定要使用附加格式说明符l或L。(2)可以用附加格式说明符m来指定输入数据所占最大宽度。(3)附加符*不常用,表示输入的数据不存入到对应的变量中。2.4 浮点数一浮点变量一浮点变量1浮点数据在内存中的存放形式浮点数据在内存中的存放形式浮点数是以浮点小数形式存储的。系统将一个浮点数据分成小数和指数两个部分存储。2.4 浮点数2浮点型变量的分类浮点型变量的分类(1)单精度型类型说明符为float,在内存中占4个字节,其取值范围的绝对值为10-381038,提供67位有效数字。(2)双精度型类型说明符为double,在内存中占8字节,其取值范围的绝对值为10-30810308,提供1516位有效数字。(3)长双精度型类型说明符为long double,在内存中占10个字节,其取值范围的绝对值为10-4932104932,提供1819位有效数字。浮点型变量的定义与使用浮点型变量的定义与使用v#include stdio.hvmain()vfloat a,b;/*定义a、b为单精度浮点型变量*/v double d;/*定义d为双精度浮点型变量*/v a=3.56;b=12345.678;v d=12345.6789;v printf(%f,%f,%fn,a,b,d);vv3.560000,12345.677734,12345.6789002.4 浮点数二浮点常量二浮点常量1浮点型常量的表示方法浮点型常量的表示方法浮点型常量也称为实数或浮点数。在语言中,浮点数只采用十进制,有两种表示形式:(1)小数形式小数形式的浮点数是十进制的。由数字09和小数点及数值前的+、-符号组成。注意一定要有小数点。(2)指数形式由十进制数,加阶码标志“e”或“E”以及阶码(只能为十进制整数)组成。其一般形式为 a E n(a为十进制数,n为十进制整数),其值为 a*10n。2.4 浮点数二浮点常量二浮点常量2浮点型常量的类型浮点型常量的类型对于浮点数的两种表示方法,系统均默认为是双精度浮点型常量。如果一个浮点型常量的后面加上了后缀F或f,则被认为是float单精度浮点数。2.4 浮点数三用三用printf显示浮点数据显示浮点数据与浮点型数据相关的格式字符如下:(1)f格式符,按照小数形式输出数据,单精度与双精度的浮点数输出都使用f格式符。有如下几种用法:%f,不指定输出的宽度,整数部分全部输出,小数位数6位。%m.nf,指定输出的数据总宽度为m,其中小数位数n位。若数据的输出宽度小于m,则在左侧补充相应数目的空格以达到总宽度为m,若数据的输出宽度大于m,则按照数据实际所占宽度输出。%-m.nf,类似于%m.nf,若需要补空格在右侧补充。2.4 浮点数三用三用printf显示浮点数据显示浮点数据(2)e格式符、E格式符,按照指数形式输出数据,单精度与双精度的浮点数都可使用。(3)g格式符、G格式符,输出浮点数据,根据数值输出所占的宽度大小,自动选择宽度小的f格式或e/E格式,不输出无意义的零。输出浮点数时的误差输出浮点数时的误差v#include stdio.hvmain()vfloat a,b,c;v a=2222.2222;b=3333.3333;v printf(%fn,a+b);vv5555.555420输出浮点数时的指定宽度输出浮点数时的指定宽度v#include stdio.hvmain()vfloat f;v f=123.4567;v printf(%f,%12f,%10.3fn,f,f,f);v printf(%.2f,%.0f,%5.2fn,f,f,f);v printf(%-10.3f,%-12fn,f,f);vv123.456703,123.456703,123.457v123.46,123,123.46v123.457 ,123.4567032.4 浮点数四用四用scanf输入浮点数据输入浮点数据浮点型数据输入的格式字符与输出格式字符类似。说明:(1)双精度浮点型的数据输入应该使用附加格式说明符l,否则输入时无法正确接收用户输入的数据。(2)输入浮点数据时不允许规定精度。(3)输入多个浮点数据时,如果未在输入格式控制字符串中加入分隔符,同样在输入时要使用空格、回车键、Tab键将多个数值分隔开。2.5 字符型数据一字符变量一字符变量1字符型数据在内存中的存放形式字符型数据在内存中存储的是字符的ASCII码值的二进制形式,一个字符的存储占用一个字节。2字符型变量的定义与使用字符变量的类型说明符是char。由于字符变量在内存中存放的是字符的ASCII值,所以也可以把它们看成是整型量。字符型变量的定义与使用字符型变量的定义与使用v#include stdio.hvmain()vchar c1,c2;v c1=a;v c2=65;v printf(%c,%cn,c1,c2);v printf(%d,%dn,c1,c2);vva,Av97,65大小写字母的转换大小写字母的转换v#include stdio.hvmain()vchar c1=A,c2=b;v c1=c1+32;v c2=c2-32;v printf(%c,%cn,c1,c2);vva,B2.5 字符型数据二字符常量二字符常量1字符常量是用一对单引号括起来的一个字符。2转义字符转义字符有其特定的含义,不同于字符原本的含义,是用一个“”开头的字符序列来表示。2.5 字符型数据常用的转义符常用的转义符 转义字符转义字符的意义十进制ASCII码值n回车换行,将当前位置移至下一行的开头10t横向跳格,将当前位置移至下一个Tab位置9b退格,将当前位置移至前一列8r回车,将当前位置移至本行开头13f换页,将当前位置移至下一页开头12反斜杠字符本身92单引号字符39”双引号字符34ddd13位八进制数所代表的字符八进制数ddd对应的十进制数xhh12位十六进制数所代表的字符十六进制数hh对应的十进制数转义字符的使用转义字符的使用v#include stdio.hvmain()v v printf(102tbcdtxynzn);vvBcd xyvz2.5 字符型数据三三用用printf显示字符显示字符输出字符型数据的格式字符只有c格式符,将输出项按照字符形式输出。有如下两种用法:%c,按照字符的形式输出数据,输出宽度为1位。字符数据输出显示时不带单引号。%mc、%-mc,指定输出的数据总宽度为m。字符的输出字符的输出v#include stdio.hvmain()vchar c;v int a;v c=A;a=97;v printf(%3c,%cn,c,a);vv A,a2.5 字符型数据四四用用scanf输入字符输入字符输入字符型变量的格式字符是c格式符,将输入的数据以字符形式赋值给对应的字符型变量。有如下两种用法:%c,字符形式的输入。一个字符输入时所占的宽度只有1位,所以在连续多个字符的输入时,不需要加入分隔符,只需连续输入。输入字符时,转义字符如回车换行符等会作为有效字符输入。%mc,指定输入数据的宽度为m。字符的输入字符的输入v#include stdio.hvmain()vv char c1,c2,c3;v scanf(%c%c%c,&c1,&c2,&c3);v printf(%c%c%cn,c1,c2,c3);v2.5 字符型数据五五用用getchar输入字符和输入字符和putchar输出字符输出字符C语言还提供函数getchar()和putchar()专门用来做字符量的输入输出。这两个函数在使用时必须在程序中的所有函数的定义前用编译预处理命令include 或 include “stdio.h”2.5 字符型数据五五用用getchar输入字符和输入字符和putchar输出字符输出字符1putchar函数函数putchar函数的功能是向标准输出设备输出一个字符。函数调用格式:putchar(字符表达式)函数调用括号中是参数,参数是一个字符型常量、字符型变量或是字符型表达式,也可以是一个整型量。使用使用putchar()函数输出字符函数输出字符v#include vmain()v v char c;v c=a;v putchar(c);/*输出字符变量c的值*/v putchar(c-32);/*输出字符型表达式的值*/v putchar(67);/*输出整型常量67对应的字符*/v putchar(n);/*输出回车换行符常量*/vvaAC2.5 字符型数据五五用用getchar输入字符和输入字符和putchar输出字符输出字符2getchar函数函数getchar函数的功能是从标准输入设备上接收一个字符。函数调用格式:getchar()getchar函数是一个无参函数。从输入设备接收到的字符的ASCII码值作为函数的结果,即函数的返回值。使用使用getchar()函数输入字符函数输入字符v#include vmain()v v char c;v c=getchar();v putchar(c);v putchar(getchar()-32);v2.5 字符型数据六字符串常量六字符串常量1字符串常量字符串常量 C语言中的字符串常量是由一对双引号括起的字符序列。2用用printf函数输出字符串常量函数输出字符串常量使用printf函数输出字符串常量有两种方式:(1)将待输出的字符串直接写在printf函数的格式控制字符串中,作为原样输出字符进行输出。2.5 字符型数据六字符串常量六字符串常量2用用printf函数输出字符串常量函数输出字符串常量(2)使用s格式符。%s,输出字符串。%ms,指定输出字符串所占的宽度,若字符串本身的长度不到m,则在左侧补充空格。%m.ns,指定输出宽度为m,但只输出字符串的左端n个字符。%-ms、%-m.ns,-,若需要补充空格,补充在右侧。字符串的输出字符串的输出v#includestdio.hvmain()v v printf(%4s,%7s,%5.3s,%-5.2s,CHINA,CHINA,CHINA,CHINA);vvCHINA,CHINA,CHI,CH本章小结本章主要介绍了数据类型;常量与变量;各种类型数据的表示方法、数据的取值范围和数值的有效位数及相应的输入、输出方法。1C的数据类型基本类型,构造类型,指针类型,空类型2变量与常量(1)变量定义,一般形式为:类型说明符 变量名标识符,变量名标识符,.;(2)标识符命名规则,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线;并且标识符不允许与关键字重名。(3)符号常量的定义,形式如下:#define 符号常量名 常量本章小结3整型数据(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,字符串常量的输出。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!