C语言教程C语言基础.pptx
《C语言教程C语言基础.pptx》由会员分享,可在线阅读,更多相关《C语言教程C语言基础.pptx(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1C语言教程语言教程(jiochng)C语言基础语言基础第一页,共71页。2进位进位(jnwi)计数制计数制n n十进制十进制 n n有十个不同的记数符号有十个不同的记数符号(fho)(fho):0,1 90,1 9。逢十进一。逢十进一n n二进制数制二进制数制 n n只有两个记数符号只有两个记数符号(fho)(fho),0 0和和1 1。逢二进一。逢二进一。第1页/共71页第二页,共71页。3n n八进制八进制 n n有有8 8个不同个不同(b tn(b tn)的记数符号:的记数符号:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7;逢;逢8 8进进1 1n n十六进制十
2、六进制 n n有有1616个不同个不同(b tn(b tn)的记数符号:的记数符号:0,1,2 0,1,2 9,A,B,C,D,E,F9,A,B,C,D,E,F;逢;逢1616进进1 1。n n不同不同(b tn(b tn)记数制之间的转换记数制之间的转换n n可用计算器完成可用计算器完成第2页/共71页第三页,共71页。4数制间的相互数制间的相互数制间的相互数制间的相互(xingh)(xingh)转换转换转换转换1 1、十进制、十进制-二进制二进制 整数部分:除整数部分:除2 2取余取余 小数小数(xi(xi osh)osh)部分:乘部分:乘2 2取整取整2 2、二进制、二进制-八进制八进制
3、 3 3位位 1 1位位3 3、二进制、二进制-十六进制十六进制 4 4位位 1 1位位 (1011)2=1 230221 21+1 20=11(125.3)8=182+281+580+38-1=85.375第3页/共71页第四页,共71页。5十十进进二进二进八八进进1616进进十进十进二进二进八进八进1616进进 1 100010001 1 1 1 1 9 910011001 11 11 9 9 2 200100010 2 2 2 2101010101010 12 12 A A 3 300110011 3 3 3 3111110111011 13 13 B B 4 401000100 4 4
4、 4 4121211001100 14 14 C C 5 501010101 5 5 5 5131311011101 15 15 D D 6 601100110 6 6 6 6141411101110 16 16 E E 7 701110111 7 7 7 7151511111111 17 17 F F 8 810001000 10 10 8 816161000010000 20 20 10 10第4页/共71页第五页,共71页。6数值数值(shz)型数型数据的编码据的编码n n机器数机器数n n在在计计算算机机中中,约约定定第第一一位位为为符符号号位位,0 0表表示示正正,1 1表表示示负负
5、。这这种种在在计计算算机机中中连连同同(lintng)(lintng)符符号号一一起起数数码码化化的的数数称称为为机机器数器数 n n数值是以补码数值是以补码(complement)(complement)表示的表示的第5页/共71页第六页,共71页。7n n原码(yun m)、反码和补码n n 转换规则 原码 反码(fn m)补码101011 00101011 00101011 00101011101011 10101011 11010100 11010101第6页/共71页第七页,共71页。8非数值型数据非数值型数据(shj)的的编码编码n nASCIIASCII码码(American S
6、tandard Code for (American Standard Code for Information Interchange)Information Interchange)n n英文字符英文字符(z f)(z f)采用采用ASCIIASCII码进行编码。码进行编码。n nASCIIASCII码采用七位二进制位编码,共可表码采用七位二进制位编码,共可表示示128128个字符个字符(z f)(z f)。n n A:01000001(65)A:01000001(65)n n a:01100001(97)a:01100001(97)第7页/共71页第八页,共71页。9第8页/共71页第九
7、页,共71页。10C C的数据类型的数据类型的数据类型的数据类型 构造类型构造类型构造类型构造类型 指针指针指针指针(zhzhn)(zhzhn)类型类型类型类型空类型空类型空类型空类型(lixng)(lixng)(无值类型(无值类型(无值类型(无值类型(lixng)(lixng))void void枚举类型枚举类型枚举类型枚举类型 enumenum数组类型数组类型数组类型数组类型结构类型结构类型结构类型结构类型 structstruct联合类型联合类型联合类型联合类型 unionunion 基本类型基本类型基本类型基本类型整型整型整型整型 intint字符型字符型字符型字符型 charchar
8、实型(浮点型)实型(浮点型)实型(浮点型)实型(浮点型)单精度实型单精度实型单精度实型单精度实型floatfloat双精度实型双精度实型双精度实型双精度实型doubledouble第9页/共71页第十页,共71页。11常量常量常量常量(chngling)(chngling)常量常量常量常量(chngling)(chngling),程序运行过程中其值,程序运行过程中其值,程序运行过程中其值,程序运行过程中其值不变的量不变的量不变的量不变的量类型类型类型类型整型常量整型常量整型常量整型常量(chngling):(chngling):1010进制常量进制常量进制常量进制常量(chngling):(c
9、hngling):如如如如1231238 8进制常量进制常量进制常量进制常量(chngling)(chngling)(数前加数前加数前加数前加0)0):如:如:如:如012301231616进制常量进制常量进制常量进制常量(chngling)(chngling)(数前加数前加数前加数前加0X)0X):如:如:如:如0 x1230 x123长整型长整型长整型长整型(数后加数后加数后加数后加l l或或或或L)L),如,如,如,如123456L123456L无符号整型无符号整型无符号整型无符号整型(数后加数后加数后加数后加u u或或或或U):U):如如如如123u123u第10页/共71页第十一页,
10、共71页。12n n实型常量:实型常量:n n小数记数法如:小数记数法如:1999.35,-2001.98n n指数记数法如:指数记数法如:1.99935e3n n错误如:错误如:3e2.5,e8n n有有float,double,long double三种类型三种类型n n后面加后面加f表浮点型:如表浮点型:如12.3fn n后面加后面加l表长双精度:如表长双精度:如12.345Ln n不加不加(b ji)则默认为双则默认为双精度:如精度:如123.45第11页/共71页第十二页,共71页。13例1 main()int a,b,c;a=10;b=010;c=0 x10;printf(%d,%
11、d,%dn,a,b,c);运行(ynxng)结果:10,8,16%d表示(biosh)以十进制整型输出第12页/共71页第十三页,共71页。14运行(ynxng)结果:1999.35,1.99935e3例例2 2 main()main()float f1;float f1;f1=1999.35;f1=1999.35;printf(%f,%en,f1,f1);printf(%f,%en,f1,f1);实数只用十进制形式表示。f表示以小数形式输出(shch)e表示以指数形式输出(shch)第13页/共71页第十四页,共71页。15l l字字符符常常量量(chngling)(chngling):用用
12、单单引引号号括括起起来来的的一一个个字字符符或或转转义义字字符符。例例:A,A,o,1,a,n,0 o,1,a,n,0 等等l l l l n n 换行换行 l l t t 横横向向跳跳格格(到到下下一一个个输输出出区区)l l 反斜杠反斜杠 l l 输出单引号输出单引号l l ddd ddd 1-31-3位位 8 8 进进制制所所代代表表的的字字符符 l l xhh xhh 1-21-2位位1616进进制制所所代表的字符代表的字符 转义字符转义字符 含义含义(hny)(hny)第14页/共71页第十五页,共71页。16例:例:main()main()printf(%c,%c,%cn,A,10
13、1,x41);printf(%c,%c,%cn,A,101,x41);运行(ynxng)结果:A,A,A字符数据与整型数据类似,但字符数据只占一个(y)字节,只能存放0255之间的整数。%c 表示以单个字符输出。第15页/共71页第十六页,共71页。17l l字符字符(z f)(z f)串常量:用双引号括起来的一串常量:用双引号括起来的一串字符串字符(z f)(z f)序列。例:序列。例:CHINA,BBI,CHINA,BBI,I am a teacher.I am a teacher.等。而等。而 A A 与与 A A 在在C C语言中是不同的语言中是不同的,前者是字符前者是字符(z f)(
14、z f)串串常量常量,后者是字符后者是字符(z f)(z f)常量。常量。l l A A A A 0100000101000001000 0 是字符串结束标记是字符串结束标记,即空字符。输入时系统自动即空字符。输入时系统自动(zdng)(zdng)加上加上,输出时不输出输出时不输出0100000101000001第16页/共71页第十七页,共71页。18n n每一个字符串常量的结尾都带一个字符每一个字符串常量的结尾都带一个字符00,系统,系统(xt(xt ng)ng)据此判断字符串是否结束。据此判断字符串是否结束。规定以字符规定以字符00作为字符串结束标志。作为字符串结束标志。n n字符串常量
15、字符串常量”CHINA”CHINA”,实际上在内存中是:,实际上在内存中是:n n它占内存单元不是个字符,而是个字符,它占内存单元不是个字符,而是个字符,最后一个字符为最后一个字符为00。但在输出时不输出。但在输出时不输出00。n n可以输出一个字符串,如可以输出一个字符串,如n nprintf(“How do you do.”)printf(“How do you do.”);C CH HI IN NA A00第17页/共71页第十八页,共71页。19符号符号(fho)(fho)常量常量#define PI 3.1415926#define PI 3.1415926main()main()f
16、loat r,s;float r,s;scanf(%f,&r);scanf(%f,&r);s=2*PI*r;s=2*PI*r;printf(s=%fn,s);printf(s=%fn,s);符号常量一般用大写符号常量一般用大写,一旦定义一旦定义(dngy)(dngy)后不后不可再赋其他值。可再赋其他值。若程序里多处出现若程序里多处出现,如需修改此值如需修改此值,仅需在预仅需在预处理命令处理命令#define#define中作一次修改。中作一次修改。第18页/共71页第十九页,共71页。20变量变量程序执行过程中其值可以变化的量程序执行过程中其值可以变化的量变量代表内存中具有特定属性的一个存变量
17、代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变储单元,它用来存放数据,这就是变量的值。量的值。变量名实际上是以一个名字对应变量名实际上是以一个名字对应(duyng)(duyng)一个地址,程序编译时系一个地址,程序编译时系统给每一个变量名分配相应的内存地统给每一个变量名分配相应的内存地址。从变量中取值,实际上是通过变址。从变量中取值,实际上是通过变量名找到相应的内存地址,从中读取量名找到相应的内存地址,从中读取数据。数据。第19页/共71页第二十页,共71页。21变量的起名规则变量的起名规则大小写字母有区别大小写字母有区别 如如:a1:a1与与A1A1不同不同(b tn)(b
18、tn)不可用关键字不可用关键字 如如:int,for,if:int,for,if 等等不可出现空格不可出现空格 如如:stu 1,a 1:stu 1,a 1等等见名识意见名识意 如如:sum,n1,c1,s1:sum,n1,c1,s1 等等长度不要超过长度不要超过8 8个字符个字符第20页/共71页第二十一页,共71页。22变量的定义与初始化变量的定义与初始化在在C C中使用变量前一定要先定义中使用变量前一定要先定义,编译编译系统对不同类型变量分配不同数量系统对不同类型变量分配不同数量的内存的内存(ni cn)(ni cn)单元以存放其值。单元以存放其值。如:如:int n1,n2;n1=n2
19、=10;int n1,n2;n1=n2=10;在定义变量的同时可以初始化变量,在定义变量的同时可以初始化变量,即为变量赋初值,但不允许连续赋即为变量赋初值,但不允许连续赋值。如:值。如:int n1=10,n2=10;int n1=10,n2=10;第21页/共71页第二十二页,共71页。23变量类型变量类型定义定义字节字节范围范围整型整型int a,b;int a,b;2 2-32768-32767-32768-32767短整型短整型short x,y;short x,y;2 2-32768-32767-32768-32767无符号整型无符号整型unsigned int a;unsigned
20、 int a;2 20-655350-65535长整型长整型long l;long l;4 4-2-23131 2 23131-1-1单精度实型单精度实型float f;float f;4 4-3.4e38 3.4e38-3.4e38 3.4e38双精度实型双精度实型double d;double d;8 8-1.7e308 1.7e308-1.7e308 1.7e308字符型字符型char c1,c2;char c1,c2;1 10-2550-255第22页/共71页第二十三页,共71页。24n n整型变量整型变量(binling)(binling)的定义与使用的定义与使用n n#inclu
21、de#include void main()void main()int a,b,c,d;int a,b,c,d;n n unsigned u;unsigned u;n n a=12;b=-24;u=10 a=12;b=-24;u=10;n n c=a+u;d=b+u;c=a+u;d=b+u;n n printf(“a+u=%d,b+u=%dn”,c,d);printf(“a+u=%d,b+u=%dn”,c,d);n n 不同种类的整型数据可以进行算术运不同种类的整型数据可以进行算术运算算第23页/共71页第二十四页,共71页。25n n整型数据的溢出整型数据的溢出n n#include#in
22、clude void main()void main()int a,b;int a,b;a=32767;a=32767;b=a+1;b=a+1;printf(“%d,%dn”,a,b);printf(“%d,%dn”,a,b);n n 数值是以补码数值是以补码(b(b m m)表示的。一个整型变表示的。一个整型变量只能容纳量只能容纳-32768-327683276732767范围内的数,如果范围内的数,如果超出这个范围就会发生超出这个范围就会发生“溢出溢出”。第24页/共71页第二十五页,共71页。26浮点型变量浮点型变量浮点型数据在内存中的存放形式浮点型数据在内存中的存放形式 一个一个(y(
23、y )浮点型数据一般在内存中占浮点型数据一般在内存中占4 4个个字节字节(32(32位位)。与整型数据的存储方式不同,。与整型数据的存储方式不同,浮点型数据是按照指数形式浮点型数据是按照指数形式(a*2b)(a*2b)存储的。存储的。系统把一个系统把一个(y(y )浮点型数据分成小数部分浮点型数据分成小数部分a a和指数部分和指数部分b b,分别存放。,分别存放。第25页/共71页第二十六页,共71页。27n n浮点型数据的舍入误差浮点型数据的舍入误差#include#include void main()void main()float a,b;float a,b;a=123456.789e
24、5;a=123456.789e5;b=a+20;b=a+20;printf(“%fn”,b);printf(“%fn”,b);n n单精度浮点型变量只能保证单精度浮点型变量只能保证7 7位有效数字,而位有效数字,而双精度浮点型变量能保证双精度浮点型变量能保证1515位有效数字。应位有效数字。应当避免将一个很大的数和一个很小的数直接当避免将一个很大的数和一个很小的数直接相加或相减,否则相加或相减,否则(f(f uz)uz)就会就会“丢失丢失”较小较小的数的数第26页/共71页第二十七页,共71页。28字符变量字符变量字符变量字符变量字字字字符符符符型型型型变变变变量量量量用用用用来来来来存存存存
25、放放放放字字字字符符符符常常常常量量量量,只只只只能能能能放放放放一一一一个个个个(y(y )字字字字符符符符。一个。一个。一个。一个(y(y )字符变量在内存中占一个字符变量在内存中占一个字符变量在内存中占一个字符变量在内存中占一个(y(y )字节。字节。字节。字节。将将将将一一一一个个个个(y(y )字字字字符符符符常常常常量量量量放放放放到到到到一一一一个个个个(y(y )字字字字符符符符变变变变量量量量中中中中,实实实实际际际际上上上上并并并并不不不不是是是是把把把把该该该该字字字字符符符符本本本本身身身身放放放放到到到到内内内内存存存存单单单单元元元元中中中中去去去去,而而而而是将该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教程 基础
限制150内