C语言ppt课件(完整版).ppt
语言程序设计语言程序设计C语言语言C C带你认识带你认识入门篇入门篇 了解计算机语言的概念及其发展史了解计算机语言的概念及其发展史 了解常见的高级语言了解常见的高级语言 掌握指令、程序、源程序、目标程序的概念掌握指令、程序、源程序、目标程序的概念 理解理解C C语言的基本特点和上机步骤语言的基本特点和上机步骤学习目标学习目标下一页下一页返返 回回一、计算机语言的概念一、计算机语言的概念自然语言:人与人之间进行交流的语言计算机语言:是人和计算机进行信息交流 的工具,人们可以使用计算机语言来命 令计算机进行各种操作处理。下一页下一页返返 回回二、计算机语言的发展二、计算机语言的发展机器语言:机器语言:由0和1二进制代码构成。汇编语言:汇编语言:用一组易记的符号代表机器指令。高级语言:高级语言:接近于人们习惯使用的自然语言 和数学语言。又称为类自然语言类自然语言。例:例:“加”命令用二进制1011011110110111表示。例:例:“加”命令用add表示。例:例:“加”命令+表示。下一页下一页返返 回回三、常见的高级语言及用途三、常见的高级语言及用途lC C语言:语言:编写系统软件,如编写UNIX,Windows,Linux等操作系统.lFORTRANFORTRAN:用于数值计算,如微分方程数值解,比如气候模式,海洋模式,模拟核爆炸试验 lVBVB:开发应用软件lJAVAJAVA:网络环境语言,编手机上的程序或游戏.lC+C+、VC+VC+、Dephi、FoxPro下一页下一页返返 回回四、源程序和目标程序四、源程序和目标程序源程序:源程序:使用高级计算机语言编写的程序代码 目标程序:目标程序:源程序必须经过编译后生成计算机 可以理解的二进制形式,这样的二进制形式的程序称为目标程序目标程序。源程序目标程序编译可执行程序链接typedef struct student_info StuInfo;extern int numStus;extern StuInfo*records;extern char savedTag;extern int arraySize;extern char*subject;void handle_menu(void);int menu_select(void);void addRecord(void);void modifyRecord(void);void display(void);void queryInfo(void);void removeRecord(void);void sortInfo(void);int saveRecords(void);int loadRecords(void);void newRecords(void);void quit(void);void showTable(void);int findRecord(char*target,int targetType,int from);int getIndex(float sum);void copyRecord(StuInfo*scr,StuInfo*dest);#endif/H_STUDENT_HH01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 01110001 11010011 01110001 11010011 01110001 11010011 01110001 01110001 11010011 01110001 11010011 01110001 11010011 1011011101010011 01110001 11010011 01110001 11010011 01110001 11010011 11110000 01110001 11010011 01110001 11010011 01110001 11010011 00110110 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 1111000001101010 01110001 11010011 01110001 11010011 01110001 11010011 10101010 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 1010101101110001 11010011 01110001 11010011 01110001 11010011 1010101010110111 01110001 11010011 01110001 11010011 01110001 11010011 11011101 01110001 11010011 01110001 11010011 01110001 11010011 01010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 01110001 11010011 1010101001110001 11010011 01110001 11010011 01110001 11010011 1011110101110001 11010011 01110001 11010011 01110001 11010011 01110001 01110001 11010011 01110001 11010011 01110001 11010011 11011111下一页下一页返返 回回五、指令、程序、源程序和目标程序五、指令、程序、源程序和目标程序指令语句:指令语句:用来指挥计算机执行某个操作的 命令语句。程程 序:序:为了实现一定的目的而用计算机语 言编写的一系列指令语句的集合。如:如:sum=a+b;sum=a+b;加法器源程序加法器源程序 main()int a,b,sum;scanf(“%d%d”,&a,&b);sum=a+b;printf(“sum=%d”,sum);下一页下一页返返 回回number1number2sum5625811、编写程序需要遵循一定的格式吗?是什么样的格式呢?2、输入的数据放在什么地方?3、如何使从键盘输入的数据到指定的地址中呢?4、如何将计算好的结果数据输出来?由加法器可执行程序引起的几个问题?由加法器可执行程序引起的几个问题?六、走近六、走近C C语言、认识语言、认识C C语言语言下一页下一页返返 回回 int number1,number2,sum;printf(请输入加数:);scanf(“%d”,&number1);printf(请输入被加数:);scanf(%d,&number2);sum=number1+number2;printf(n%d+%d=%d,number1,number2,sum);main()main()加法器源程序代码加法器源程序代码/*定义3个变量*/*向number1中输入数据*/*主函数main()*/上一页上一页下一页下一页返返 回回思考:思考:加法器的局限性在于,它只能对整数进行加法运算,是否可以编写这样的程序,可以对任意两个整数进行加和减运算呢?分析:分析:该计算器实现两个功能:加法功能和减法功能,因此,分别编写两个函数实现这两个功能:加法函数sum(),减法函数sub()。下一页下一页返返 回回sum(int x,int y)int sum;scanf(“%d”,&x);scanf(“%d”,&y);sum=x+y;printf(%d+%d=%dn,x,y,sum);加法函数加法函数sum()sum()下一页下一页返返 回回减法函数减法函数sub()sub()sub(int x,int y)int sub;scanf(“%d”,&x);scanf(“%d”,&y);sub=x-y;printf(%d-%d=%dn,x,y,sub);上一页上一页下一页下一页返返 回回主函数主函数main()int number1,number2;int i;printf(“请输入您的选择 1:+2:-”);scanf(%d,&i);if(i=1)sum(number1,number2);if(i=2)sub(number1,number2);上一页上一页下一页下一页返返 回回七、总结七、总结关于C语言程序结构的介绍 C语言程序是由函数构成的,有且只有一个主函有且只有一个主函数数mainmain。一个函数由两部分组成:函数的首部和函数体函数的首部和函数体。函数体有声明部分和执行部分组成函数体有声明部分和执行部分组成。函数的执行总是先从主函数从主函数mainmain开始执行。main函数的位置可以任意。每条语句后都有一个分号“;”作为间隔,分号不可少。一行内可以写多个语句,一个语句也可以写在多行上。上一页上一页下一页下一页返返 回回八、八、C C语言的上机步骤语言的上机步骤输入编辑源程序编 译连接和生成可执行文件.c文件.obj文件.exe文件下一页下一页返返 回回小结小结计算机语言是人和计算机之间交流的语言C语言是常见的高级语言,它具有低级语言和高级语言的特点,不但可以用来编写应用软件不但可以用来编写应用软件,也可以用也可以用来编写系统软件来编写系统软件.用高级语言编写出来的程序称为源程序源程序,经过编译以后生成目标程序目标程序,链接后形成可执行程序.就象自然语言要遵循一定的语法规则一样,使用C语言编程时也要遵循一定的语法规则.下一页下一页返返 回回编写一个程序,输入一个整数,求该整数的立方。编写一个程序,输入一个整数,求该整数的立方。main()int number1,sum;scanf(“%d”,&number1);scanf(“%d”,&number1);scanf(“%d”,&number1);sum=number1*number1*number1;printf(“%d*%d*%d=%d”,number1,number1,number1,sum);main()int number1,sum;scanf(“%d”,&number1);sum=number1*number1*number1;printf(“%d*%d*%d=%d”,number1,number1,number1,sum);下一页下一页返返 回回第二章 数据类型程序程序=数据结构数据结构+算法算法在程序中定义所要处理数据的类型和组织形式 对解题方法和解题步骤的描述 C中最常见的三种基本类型:整 型实 型字符型下一页下一页返返 回回2.1 常量和变量int a;a=3;a3定义了一个整型变量,名为定义了一个整型变量,名为a a将常数将常数3 3赋给变量赋给变量a a 变量:变量:在程序运行过程中,其值可以改变的量。每个变量在计算机中对应相应长度的存储空间。常量:常量:在程序运行过程中,其值不变的量。下一页下一页返返 回回一、变量一、变量 每个变量在使用之前每个变量在使用之前必须确定其类型必须确定其类型,并为,并为之取一个之取一个合适的名字合适的名字。int age;float score;agescorechar sex;sexsex=a;例:例:定义变量类型的一般形式为:定义变量类型的一般形式为:类型标志符类型标志符 变量名;变量名;a下一页下一页返返 回回(1)标识符只能由字母、数字、下划线字母、数字、下划线组成,且 第一个字符不能为数字。第一个字符不能为数字。(2)C语言区分大小写。区分大小写。(3)标识符的名字不能和C语言中的关键字关键字和特特 定字定字相同。(4)标识符的长度最好不要超过8 8个字符。(5)标识符的命名最好做到见名知意见名知意。如age用 来表示年龄,number表示学号。标志符的命名规则:标志符的命名规则:下一页下一页返返 回回二、二、常量常量常见的常量如常见的常量如1818,65.565.5,3.141593.14159,mm,dingding1、整型常量(整常数)、整型常量(整常数)1 1)、十进制形式表示:)、十进制形式表示:如25,65,23。2 2)、八进制形式表示:)、八进制形式表示:以数字0开头,如0253 3)、十六进制形式表示:)、十六进制形式表示:以数字0 x开头,如 0 x25,0 x65,0 x1A。下一页下一页返返 回回2、实型常量(实数、浮点数)、实型常量(实数、浮点数)十进制小数形式:10.25,-1.2314指数形式表示:如23500可以用指数形式表示为:2.35e4 0.00014 可以用指数形式表示为:1.4e-4下一页下一页返返 回回3、字符型常量、字符型常量常见的字符常量有:a,A,F,*,1 1)、普通字符常量)、普通字符常量2 2)、转义字符常量)、转义字符常量如 n表示换行的意思 r表示使光标回到本行的开头 b表示使光标回到前一列下一页下一页返返 回回t表示使光标移到下一个Tab的位置a表示响起报警声表示一个表示单撇号”表示双撇号”ddd表示一到三位八进制数所代表的字符xdd表示一到二位十六进制所代表的字符 下一页下一页返返 回回4 4、字符串常量、字符串常量字符串常量就是由多个字符组成的字符序列,用双撇号括起来。例:例:“Dai ChunmeiDai Chunmei”“$89”D a i C h u n m e I 0$8 9 0下一页下一页返返 回回回顾回顾1、C语言中三种最基本的数据类型包括:()A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型2、在C语言中,下面哪一个不是整型常量()A、123 B、123L C、0 x123 D、U1233、在C语言中,下面哪一个不是字符型常量()A、a B、81 C、0 x41 D、“a”E、t4、下列选项哪个选项不符合C语言中变量名的命名规则()A、age_1 B、1_age C、_1age D、age*1下一页下一页返返 回回 思考题:现在需要编写一个教师的工资管理系统,其中涉及到一个变量,用来存放教师的工龄。该如何定义。2.2 整型变量int T_age;类型标志符变量名T_ageintint型变量占型变量占2 2个字节的存储空间个字节的存储空间下一页下一页返返 回回一、整型数据在内存中的存储形式一、整型数据在内存中的存储形式 补码表示,最高位表示符号位,补码表示,最高位表示符号位,正数用正数用0表示,负表示,负 数用数用1表示。表示。假设使假设使T_age=15,T_age=15,则则1515在计算机中的存储形式为:在计算机中的存储形式为:0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1假设使假设使T_age=-15,T_age=-15,则则1515在计算机中的存储形式为:在计算机中的存储形式为:1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1所以,所以,intint型数据存储范围为:型数据存储范围为:-215 215-1 -32768 32767下一页下一页返返 回回二、二、整型变量的分类整型变量的分类short int short int(短整型)短整型)long int long int(长整型)长整型)int int(基本整型基本整型)整型整型signedsigned int int unsigned unsigned intintsigned short int unsigned short int signed long int unsigned long int 下一页下一页返返 回回第三章第三章 运算符和表达式运算符和表达式 当变量被定义为某一种类型后,即被分配相应的当变量被定义为某一种类型后,即被分配相应的存储空间,此后并不能放置一旁而不用,还需要对存储空间,此后并不能放置一旁而不用,还需要对其进行其进行加工加工。何谓加工?加工就是指运算,何谓加工?加工就是指运算,C C中最常见的运算中最常见的运算有有加、减、乘、除加、减、乘、除等。等。运算符运算符就是用来表示运算的符号,如就是用来表示运算的符号,如“+”、“-”、“*”、“/”。参加运算的数据称为参加运算的数据称为运算量运算量,也就是运算对象。,也就是运算对象。由运算符把运算对象连接起来的式子称为由运算符把运算对象连接起来的式子称为表达式表达式,如如“sumsuma+ba+b;”就是一个表达式。就是一个表达式。下一页下一页返返 回回C C语言中常见的运算符语言中常见的运算符3.1 3.1 算术运算符算术运算符3.2 3.2 赋值运算符赋值运算符3.3 3.3 关系运算符关系运算符3.4 3.4 逻辑运算符逻辑运算符3.5 3.5 位运算符位运算符3.6 3.6 逗号运算符逗号运算符3.7 3.7 求字节数运算符求字节数运算符sizeofsizeof和强制类型转换运算符和强制类型转换运算符3.8 3.8 复习复习 下一页下一页返返 回回3.1 3.1 算术运算符和表达式算术运算符和表达式一、常见的算术运算符一、常见的算术运算符 +-*/%当两个整数相除时,当两个整数相除时,当两个整数相除时,当两个整数相除时,商商商商的结果取整的结果取整的结果取整的结果取整。如。如。如。如5/35/35/35/3的结果的结果的结果的结果为为为为1 1 1 1,-5/3-5/3-5/3-5/3的结果为的结果为的结果为的结果为-1-1-1-1。当两个除数中有一个为当两个除数中有一个为当两个除数中有一个为当两个除数中有一个为实数时,实数时,实数时,实数时,结果为实数结果为实数结果为实数结果为实数,如,如,如,如5/2.0=2.55/2.0=2.55/2.0=2.55/2.0=2.5。实现两个整数的实现两个整数的相除取余相除取余 ,结果的,结果的符号和被除数的符符号和被除数的符号相同。参加取余号相同。参加取余运算的两个数必须运算的两个数必须是整数。是整数。下一页下一页返返 回回二、自增、自减运算符二、自增、自减运算符+-1)1)自增运算符自增运算符+:+:使变量的值增使变量的值增1 1例例:i+;表示使用完i之后,使i的值增1 +i;表示先使i的值增1,然后再使用i2)2)自减运算符自减运算符-:-:使变量的值减使变量的值减1 1例例:i-;表示使用完i之后,使i的值减1 -i;表示先使i的值减1,然后再使用i下一页下一页返返 回回例例1:1:int a,b,c;a=5;b=+a;c=a+;结果结果:a=7;b=6;c=6;例例2:2:int a,b,c;a=5;b=-a;c=b-;结果结果:a=4;b=3;c=4;下一页下一页返返 回回三、算术运算符的优先级和结合性三、算术运算符的优先级和结合性 思考题:思考题:表达式表达式-x-a*b/c+-x-a*b/c+的结果值是多少?的结果值是多少?(假设(假设x x的值为的值为3 3,a a的值为的值为5 5,b b的值为的值为2 2,c c的值为的值为3 3)运算符的优先级运算符的优先级:运算符的优先次序运算符的结合性运算符的结合性:当优先级相同时,是自左至右或是自右至左计算下一页下一页返返 回回(-x)-a*b/c+-1-x-a*b/c+、-、+(取正)、(取正)、-(取负)(取负)*、/、%+、-自右至左自左至右自左至右下一页下一页返返 回回number=24;3.2 3.2 赋值运算符和表达式赋值运算符和表达式赋值运算符x+5x+5;x*y;x*y;注意:当赋值运算符右边的常量或表达式的类型和左边变量的类型不一致时,先将右边表达式的类型转换为和左边相同的类型,然后再赋值。例:例:float x;X=3;1 1、普通的赋值运算符、普通的赋值运算符下一页下一页返返 回回2 2、复合的赋值运算符、复合的赋值运算符x=x+y;x=x+y;x+=y;x+=y;复合的赋值加运算符(1 1)+=+=(2 2)-=-=(3 3)*=(4 4)/=/=(5 5)%=%=常见的复合的赋值运算运算符例如例如:x的值为6,则 x+=4 的结果是什么?下一页下一页返返 回回3 3、赋值运算符的优先级和结合性、赋值运算符的优先级和结合性算术运算符算术运算符赋值运算符赋值运算符结合性为自右而左结合性为自右而左例:例:已知a=5,b=8,n未知。求下列各表达式的值。1 1、n=b+8n=b+8;2 2、n+=a*=2n+=a*=2;3 3、n=a=bn=a=b;下一页下一页返返 回回3.3 3.3 关系运算符和表达式关系运算符和表达式 关系运算又称比较运算,就是对两个运算量进行比较,判断其比较的结果是否符合给定的条件。如果符合,则结果为“真”,用1表示;如果不符合,则结果为“假”,用0表示。1 1、常见的关系运算符、常见的关系运算符(大于)、=(大于或等于)、=(等于)、!=(不等于)下一页下一页返返 回回2 2、关系运算符的优先级和结合性、关系运算符的优先级和结合性 算术运算符算术运算符关系运算符关系运算符 赋值运算符赋值运算符 自左至右 自左至右 自右至左下一页下一页返返 回回例:例:number1=25number1=25;判断下列表达式的值。;判断下列表达式的值。(1)number1=25;(2)number1=25;(3)number1%5=0 (4)number1!=24;(5)number1/34;(7)number1242;(8)number1+1=26;下一页下一页返返 回回实训实训已知已知i=3i=3,j=4j=4,a=5a=5,b=6b=6,mm为未知。求下为未知。求下列各式的值。列各式的值。(1 1)+i+j-a+i+j-a(2 2)a+b-j*a/ia+b-j*a/i(3 3)m=-j+m=-j+下一页下一页返返 回回3.4 3.4 逻辑运算符和表达式逻辑运算符和表达式思考题思考题:如何表示整数如何表示整数x x既可以被既可以被5 5整除又可以被整除又可以被7 7 整除整除.x%5=0 x%7=0&()()逻辑运算符逻辑运算符”逻辑与逻辑与”逻辑或逻辑或():):一般形式一般形式 a ab b,a,a和和b b中任一为真中任一为真,结果为真结果为真.逻辑与(逻辑与(&):):一般形一般形式式:a a&b;b;只有当只有当a a和和b b都为真时都为真时,结果才为真结果才为真.逻辑非逻辑非(!):(!):一般形式一般形式 !a!a,a,a为真为真,!a,!a就为假就为假;a;a为假为假,!a,!a为真为真.下一页下一页返返 回回例例:判断下列各逻辑表达式的值判断下列各逻辑表达式的值假设a=5,b=6,c=3,d=10;(1)(ab)&(cd);(2)(ad)(3)!a(4)!a&b(5)3101001下一页下一页返返 回回逻辑运算符的优先级和结合性逻辑运算符的优先级和结合性 高高 !(逻辑非)!(逻辑非)算术运算符算术运算符 关系运算符关系运算符&和和 低低 赋值运算符赋值运算符 自左至右自左至右自右至左自右至左X=!a+2 xy+2&a=3,已知a=3,x=5,y=4,求x的值。下一页下一页返返 回回实训实训1、若a=5,b=4,x=0,判断下面两个表达式的结果及x的值:(1)0&x=ab (2)ab +x 2、要判别某一年是否闰年。闰年的条件是符合下面两个条件的其中一个就可以了:(1)能被4整除,但不能被100整除;(2)能被4整除,又能被400整除;(year%4=0&year%100!=0)(year%400=0)下一页下一页返返 回回3.5 3.5 位运算符和表达式位运算符和表达式位运算位运算:就是对二进制位进行的运算就是对二进制位进行的运算.C C中常用的位运算符:中常用的位运算符:&(按位与按位与)(按位或按位或)(按位异或按位异或)(取反)(取反)(右移)(右移)(左移)(左移)下一页下一页返返 回回“按位与按位与”运算符运算符&“按位与按位与”又称又称“按位乘按位乘”,即二进位相乘。,即二进位相乘。“按位与按位与”的规则为:的规则为:0&0=0,0&1=0,1&0=0,1&1=10&0=0,0&1=0,1&0=0,1&1=1 例:求-1和5按位与的结果.-1的补码的补码:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5的补码的补码:0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1按位与的作用按位与的作用:使一个存储单元清零使一个存储单元清零下一页下一页返返 回回3.6 3.6 逗号运算符和表达式逗号运算符和表达式,逗号运算符逗号运算符作用在于将若干个作用在于将若干个表达式连接起来。表达式连接起来。逗号表达式的一般形式为:逗号表达式的一般形式为:表达式表达式1 1,表达式,表达式2 2,表达式,表达式3 3,表达式,表达式n n整个逗号表达式的值就是最后的表达式整个逗号表达式的值就是最后的表达式n n的值的值 下一页下一页返返 回回实训实训已知已知a=3a=3,求下面逗号表达式的值。,求下面逗号表达式的值。(1 1)+a+a,a+5a+5,a+6 a+6 (2 2)a=2*3a=2*3,b=a-2b=a-2,b-ab-a,a+=2a+=2下一页下一页返返 回回3.7 sizeof3.7 sizeof运算符和强制类型转换运算符运算符和强制类型转换运算符一、求字节数运算符一、求字节数运算符sizeof()sizeof()功能功能:求数据在存储器中所占的字节数 例例:sizeof(long double);sizeof(x+y);sizeof(123456);下一页下一页返返 回回二、强制类型转换运算符二、强制类型转换运算符思考思考:假设现在需要编写一个程序,判断一个实数x的整数部分是否为偶数,要求x从键盘输入。main()float x;scanf(“%f”,&x);if()printf(“Yes!”);else printf(“No!”);下一页下一页返返 回回强制类型转换运算符的一般使用形式:强制类型转换运算符的一般使用形式:(类型名)(表达式);(类型名)(表达式);希望被转换的对象希望被转换的对象希望转换的类型希望转换的类型已知已知x=2.5x=2.5,y=3.7y=3.7,求(求(intint)x+y x+y 和和 (int)(x+y)(int)(x+y)的值的值 下一页下一页返返 回回实训实训1 1、求下列算术表达式的值、求下列算术表达式的值(1 1)a+b/2%3*(int)c/d*3 a+b/2%3*(int)c/d*3 设设a=3.5,b=11,c=5.7,d=2a=3.5,b=11,c=5.7,d=2(2 2)(int)x/y+(float)y%x (int)x/y+(float)y%x 设设x=8.3,y=3x=8.3,y=3(3)!()!(x+y)+z&x*z-1 x的值为的值为2,y的值为的值为3,z的值为的值为1 下一页下一页返返 回回思考:求任一思考:求任一4位八进制所对应的十进制数位八进制所对应的十进制数main()int x1,x2,x3,x4,o_number,d_number;scanf(%d,&o_number);x1=o_number/1000;x2=o_number%1000/100;x3=o_number%100/10;x4=o_number%10;d_number=x1*8*8*8+x2*8*8+x3*8+x4;printf(The decimal of%d is%dn“,o_number,d_number);下一页下一页返返 回回第四章第四章 输入输入/输出函数输出函数 char a;输入输入scanf(“%c”,&a);a=getch();0 1 0 0 0 0 0 1输出输出printf(“%c”,a);putchar(a);gets();puts();#include“stdio.h”或或#include 下一页下一页返返 回回4.1 4.1 输出函数输出函数putchar()putchar()和和printf()printf()一、一、字符输出函数字符输出函数putchar()putchar()1 1、功能、功能输出一个字符输出一个字符2 2、一般形式、一般形式putchar(c);putchar(c);可以是可以是字符变量字符变量字符常量字符常量整型常量整型常量整型变量整型变量转义字符转义字符putchar(c);putchar(c);putchar(99);putchar(c);putchar(n);下一页下一页返返 回回1、功能、功能一、一、格式输出函数格式输出函数printf()printf()它可以将任意多个数据按各自指定的格式输出来。它可以将任意多个数据按各自指定的格式输出来。例:例:int number=24;float score=95.5;char sex=m;printf(“%d,%f,%c”,number,score,sex);输出结果输出结果:24,95.000000,m:24,95.000000,m printf(“number=%d,score=%f,sex=%c”,number,score,sex);输出结果输出结果:number=24,score=95.000000,sex=m:number=24,score=95.000000,sex=m下一页下一页返返 回回二、一般形式二、一般形式printfprintf(“格式控制格式控制”,输出表列输出表列););上一页三、格式说明符三、格式说明符1 1、%d%d:用来输出十进制用来输出十进制intint型数据型数据%md%md:mm是一个常数,用来限定输出数是一个常数,用来限定输出数据所占的宽度。据所占的宽度。%ld%ld:以长整型形式输出数据。以长整型形式输出数据。下一页下一页下一页返返 回回2 2、%u%u格式符格式符输出十进制输出十进制unsignedunsigned型数据。型数据。3 3、%o%o格式符格式符以八进制无符号形式输出整数,以八进制无符号形式输出整数,输出时将符号位一起转化为八输出时将符号位一起转化为八进制数值。进制数值。4 4、%x%x格式符格式符以十六进制无符号形式输出整以十六进制无符号形式输出整数,输出时将符号位一起转化数,输出时将符号位一起转化为十六进制数值。为十六进制数值。下一页下一页返返 回回实训main()int a=-1;printf(“%d,%o,%8o”,a,a,a);a a在计算机中的存储形式在计算机中的存储形式1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 177777输出结果:输出结果:-1-1,177777177777,177777177777下一页下一页返返 回回5 5、%c%c格式符格式符以字符形式输出数据char ch;ch=a;printf(“%c ”,ch);%dint a;a=65;printf(“%c ”,a);字符型数据可以以字符形式输出,也可以以整型形式输出。整型数据(0255)也可以以字符形式输出。例例1 1例例2 2下一页下一页返返 回回6 6、%f%f格式符格式符以实数形式输出数据以实数形式输出数据%f%f:输出带:输出带6 6位小数的实数。对于单精度实位小数的实数。对于单精度实数,有效位数为数,有效位数为7 7位位%m.nf%m.nf:指定输出数据占:指定输出数据占mm列,其中有列,其中有n n位位小数小数%.nf:%.nf:表示带表示带n n位小数位小数,对列宽无限制。对列宽无限制。下一页下一页返返 回回 main()main()float x=12345.1111001;float x=12345.1111001;printf(printf(“%fn%fn”,x);,x);printf(printf(“%10.2f,%-10.1f,%.2f%10.2f,%-10.1f,%.2f”,x,x,x);,x,x,x);实训输出结果:输出结果:12345.11132812345.111328 12345.11 12345.11 12345.1 12345.1 12345.11 12345.11下一页下一页返返 回回7 7、%s%s格式符格式符用来输出一个字符串用来输出一个字符串printf(printf(“%s%s”,”chinachina”););8 8、%e%e格式符格式符以指数形式输出实数以指数形式输出实数printf(printf(“%e%e”,123.456);,123.456);输出为:输出为:1.23456e+021.23456e+02。下一页下一页返返 回回4.2 4.2 输入函数输入函数getchar()getchar()和和scanf()scanf()一、字符输入函数一、字符输入函数getchar()getchar()1 1、功能:、功能:从键盘输入一个字符从键盘输入一个字符2 2、一般形式:、一般形式:字符变量字符变量=getchar();=getchar();思考题思考题:从键盘输入任一字符从键盘输入任一字符,如果该字符是小如果该字符是小写字符,将其转换为大写字符输出,否则不变写字符,将其转换为大写字符输出,否则不变输出。输出。下一页下一页返返 回回main()main()char ch;char ch;ch=ch=;if(ch=if(ch=&ch=a a)ch=ch-)ch=ch-32;32;getchar()getchar()putchar()putchar()#include#include”stdio.hstdio.h”实训实训1 1下一页下一页返返 回回二、二、格式输入函数格式输入函数scanf()scanf()思考思考1 1:如何实现向整型变量如何实现向整型变量a a中输入数据?中输入数据?scanf(“%d”,&a);思考思考2 2:如何实现向实型变量如何实现向实型变量b b中输入数据?中输入数据?scanf(“%f”,&b);思考思考3 3:如何实现向整型变量如何实现向整型变量a a和实型变量和实型变量b b中中输入数据?输入数据?scanf(“%d%f”,&a,&b);下一页下一页返返 回回1 1、scanf()scanf()函数的一般形式函数的一般形式scanf(scanf(“格式控制格式控制”,地址表列地址表列););2 2、scanf()scanf()函数使用示例函数使用示例int a,b,c;scanf(“%d%d%d”,&a,&b,&c);scanf(“%d,%d,%d”,&a,&b,&c);scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);下一页下一页返返 回回程序程序=数据结构数据结构+算法算法数据的类型数据的类型和组织形式和组织形式 解决问题的解决问题的方法和步骤方法和步骤 第五章第五章 算法算法描述算法的方法:描述算法的方法:自然语言、流程图自然语言、流程图下一页下一页返返 回回例例1 1:输入两个数输入两个数a a和和b b,要求实现将,要求实现将a a和和b b中的数据进行交换。中的数据进行交换。算法描述算法描述125abt1 1、定义三个变量、定义三个变量a a、b b、t t2 2、输入、输入a a和和b b的值的值3 3、t=at=a;a=ba=b;b=tb=t;4 4、输出、输出a a和和b b5.1 5.1 算法的概念和使用举例算法的概念和使用举例一、三个典型实例一、三个典型实例下一页下一页返返