1、1长江大学计算机科学学院 教学目标教学目标了解了解C C语句的基本形式;语句的基本形式;熟练掌握熟练掌握C C程序的输入输出格式和使用方法;程序的输入输出格式和使用方法;熟悉顺序结构程序的编写方法。熟悉顺序结构程序的编写方法。基本要求基本要求能编制简单的具有输入输出功能的能编制简单的具有输入输出功能的C C程序。程序。2长江大学计算机科学学院 但但课本中的课本中的大多数大多数例子例子,程序都,程序都比较简单比较简单,一般都只,一般都只用到了一个源程序文件,而且有些程序的功能用到了一个源程序文件,而且有些程序的功能很简单很简单,只要用只要用一个主函数就可以一个主函数就可以实现。实现。一个一个C
2、C程序可以程序可以由由若干个源程序文若干个源程序文件件构成,一个源程构成,一个源程序文件可以由序文件可以由若干若干个函数个函数、一些可选、一些可选的的“预编译命令预编译命令”及一些可选的及一些可选的全局全局变量声明变量声明等构成。等构成。3长江大学计算机科学学院C C语句可以分为以下五种类型:语句可以分为以下五种类型:1.1.表达式语句:表达式语句:在表达式的后面加上一个分号构成。在表达式的后面加上一个分号构成。例:例:x=100 /*C C表达式表达式 */x=100;/*表达式语句表达式语句 */x+5;/*合法,但没意义合法,但没意义 */2.2.控制语句:控制语句:由特定的语句定义符组
3、成,用于控制程由特定的语句定义符组成,用于控制程序的流程,以实现程序的各种结构方式。语言有九序的流程,以实现程序的各种结构方式。语言有九种控制语句。种控制语句。可分成以下三类:可分成以下三类:(1)条件判断语句条件判断语句:if语句,语句,switch语句;语句;(2)循环执行语句循环执行语句:do while语句、语句、while语句和语句和for语句;语句;(3)转向语句转向语句:break语句、语句、goto语句语句、continue语句语句 和和return语句。语句。4长江大学计算机科学学院3.3.函数调用语句函数调用语句:由:由函数名函数名、函数的实际参数函数的实际参数加加上分号上
4、分号“;”组成。组成。例:例:printf(Thisprintf(This is a C statement.n)is a C statement.n);4.4.空语句空语句:仅包含一个分号的语句。:仅包含一个分号的语句。5.5.复合语句复合语句:把多个语句用:把多个语句用一对花括号一对花括号 括起括起来组成的一个语句称为来组成的一个语句称为复合语句复合语句。例如例如 :main()int x,y,z,t;x=8;y=6;if(xy)z=x y;t=z*2;else z=x+y;t=z/2;printf(z=%d,t=%d n,z,t);5长江大学计算机科学学院 在在赋值表达式赋值表达式的尾部
5、加上一个的尾部加上一个分号分号,就构成了,就构成了赋值语句。赋值语句形式多样、用法灵活。赋值语句。赋值语句形式多样、用法灵活。使用赋值语句时需要注意以下几点:使用赋值语句时需要注意以下几点:1.在在赋值运算符赋值运算符“=”的的左边左边只能只能是是变量变量;例如:例如:a=6+1;2.在在赋值运算符赋值运算符“=”右边右边的的表达式表达式也可以又是一也可以又是一个赋值表达式个赋值表达式,从而形成嵌套的情形从而形成嵌套的情形,一般形式为:一般形式为:变量变量=变量变量=表达式;表达式;例如:例如:a=b=c=5;按照赋值运算符的右接合性,上述语句实际上等按照赋值运算符的右接合性,上述语句实际上等
6、效于:效于:c=d;b=c;a=b;a+1=6;考题:int a;float x,y;x=a=y=35.8;x=?,a=?,y=?;35.035.0353535.835.86长江大学计算机科学学院3.3.注意在变量说明中给注意在变量说明中给变量赋初值变量赋初值的操作和的操作和赋值赋值语句语句的区别。的区别。给给变量赋初值变量赋初值是变量说明的一部分,只能出现是变量说明的一部分,只能出现在在函数的说明部分函数的说明部分,赋初值后的变量与其后的其,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔;而它同类变量之间仍必须用逗号间隔;而赋值语句赋值语句则必须出现在函数的则必须出现在函数的执行部分
7、执行部分,并且一定要用分,并且一定要用分号结尾。号结尾。例如:例如:main()int x=3,y=4,m,n;/*变量赋初值变量赋初值*/m=x+y;/*赋值语句赋值语句*/n=x-y;/*赋值语句赋值语句*/7长江大学计算机科学学院 4.4.注意注意赋值表达式赋值表达式和和赋值语句赋值语句的区别。赋值表的区别。赋值表达式是一种表达式,它可以出现在任何允许表达达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。式出现的地方,而赋值语句则不能。例如:例如:if(if(x=y+5x=y+5)0)0)z=xz=x;语句的功能是:语句的功能是:先把先把y+5y+5的结果赋值给变
8、量的结果赋值给变量x x,然后再判断,然后再判断x x的值的值是否大于是否大于0 0,若该值大于,若该值大于0 0则执行语句则执行语句z=xz=x;否则;否则不执行语句不执行语句z=xz=x;而语句而语句if(if(x=y+5;x=y+5;)0)z=x;)0)z=x;是是非法非法的语的语句,其中句,其中x=y+5;x=y+5;本身就是一条语句,不能出现本身就是一条语句,不能出现在表达式中,因为在表达式中,因为C C语言的语法规定语言的语法规定ifif后面的后面的()()中只能是一个表示条件的表达式。中只能是一个表示条件的表达式。8长江大学计算机科学学院 把数据从计算机的内部送到计算机的外部设备
9、把数据从计算机的内部送到计算机的外部设备上的操作称为上的操作称为“输出输出”。反之,从计算机的外部。反之,从计算机的外部设备设备(如键盘、磁盘等如键盘、磁盘等)上将数据送入到计算机内上将数据送入到计算机内部的操作则称为部的操作则称为“输入输入”。在在语言语言中,所有的数据中,所有的数据输入输出输入输出操作都操作都是通过对是通过对标准库函数标准库函数的调用来完成的。本节的内的调用来完成的。本节的内容主要是介绍常用的容主要是介绍常用的printf函数、函数、scanf函数、函数、getchar函数和函数和putchar函数。函数。9长江大学计算机科学学院 printf函数的函数原型在头文件函数的函
10、数原型在头文件 stdio.h 中。但作为中。但作为一个特例,一个特例,Turbo C系统不要求在使用系统不要求在使用 printf 函数之前必函数之前必须包含须包含stdio.h文件。文件。1printf函数的一般调用形式函数的一般调用形式 printf(格式控制字符串格式控制字符串,输出项表列输出项表列)格式控制字符串格式控制字符串可以包含以下三种形式的字符:可以包含以下三种形式的字符:(1 1)格式说明)格式说明。格式说明格式说明是以是以%开头的字符串,在开头的字符串,在%后面后面跟有跟有格式字符格式字符及及格式修饰符格式修饰符,用以说明输出数据的,用以说明输出数据的类型类型、形式形式、
11、长度长度、小数位数小数位数等等格式信息格式信息。格式说明格式说明的一般形式如下:的一般形式如下:%标志标志宽度宽度.精度精度h|l(2 2)转义字符)转义字符。如:。如:n、001等。等。(3 3)普通字符)普通字符。如:。如:printf(max=%dn ,a);10长江大学计算机科学学院 main()int i=2858;float x=3.14159;printf(i=d,x=f,x+5=fn,i,x,x+5);在上例的格式控制串中,在上例的格式控制串中,”i=”按原样输出,在按原样输出,在%d的的位置上输出整型位置上输出整型变量变量i的值的值,接着按原样输出,接着按原样输出”,x=”,
12、在,在%f的位置上输出实型的位置上输出实型变量变量x的值的值,接着又按原样输,接着又按原样输出出”,x+5=”,在,在%f的位置上输出实型的位置上输出实型表达式表达式x+5的值的值,最后的最后的n是是C语言中特定的转义字符,相当于一个语言中特定的转义字符,相当于一个回回车符车符,使得屏幕上的光标或打印机的机头移到下一行的,使得屏幕上的光标或打印机的机头移到下一行的开头,用以改变下一个输出项的输出位置。开头,用以改变下一个输出项的输出位置。运行结果运行结果:i=2858,x=3.141590,x+5=8.141590 11长江大学计算机科学学院%标志标志宽度宽度.精度精度h|l12长江大学计算机
13、科学学院%标志标志宽度宽度.精度精度h|l13长江大学计算机科学学院以下三种情况需要用到数据类型修饰符以下三种情况需要用到数据类型修饰符 长整型长整型:长整型数长整型数一定要一定要用用%ld(long)来输出;来输出;短整型短整型 可以用可以用%hd来输出来输出,ANSI C中中不实用不实用;Double 类型的实数可以用类型的实数可以用%lf 来输出来输出,也可以也可以用用%f 来输出。来输出。%标志标志宽度宽度.精度精度h|l14长江大学计算机科学学院 在输出数据时,数据所占的在输出数据时,数据所占的宽度宽度(域宽域宽,即输出即输出的数据的数据在屏幕上在屏幕上所占的格数所占的格数)通常是由
14、系统自动决通常是由系统自动决定的,一般取决于定的,一般取决于数据本身的宽度数据本身的宽度,并采用,并采用右对右对齐齐的形式输出。的形式输出。%标志标志宽度宽度.精度精度h|l1)在在与与格式字符格式字符之间用一个之间用一个正整数正整数来指定来指定宽度宽度 如果指定的输出宽度如果指定的输出宽度不够不够,以数据,以数据实际值的宽实际值的宽度度作为输出宽度;如果指定的输出宽度作为输出宽度;如果指定的输出宽度多多于数据实于数据实际所需宽度,数据际所需宽度,数据右对齐,左边补以空格右对齐,左边补以空格。15长江大学计算机科学学院main()printf(%dn,42);/*输出结果输出结果:42*/pr
15、intf(%5dn,42);/*输出结果输出结果:42*/printf(%f,123.54);/*输出结果输出结果:123.540000*/printf(%12fn,123.54);/*输出结果输出结果:123.540000*/printf(%en,123.54);/*输出结果输出结果:1.235400e+02*/printf(%13en,123.54);/*输出结果输出结果:1.235400e+02*/printf(%gn,123.5);/*输出结果输出结果:123.5*/printf(%8gn,123.5);/*输出结果输出结果:123.5*/16长江大学计算机科学学院精度精度对于不同的对
16、于不同的格式字符格式字符具有具有不同的含义不同的含义:)对于对于e、E或或f:用用精度精度来指定来指定小数位数小数位数,缺省值缺省值为为6 6;printf(8.3fn,123.55);输出结果输出结果:123.550 printf(8.1fn,123.55);输出结果输出结果:123.6 printf(8.0fn,123.55);输出结果输出结果:124 printf(8fn,123.55);输出结果输出结果:123.550000 当数据的小数位当数据的小数位多多于于“精度精度”指定的位数时,指定的位数时,截去截去多余多余的小数,并对截去的最高小数位做的小数,并对截去的最高小数位做四舍五入四
17、舍五入处理;当数据处理;当数据的小数位的小数位少少于于“精度精度”指定的位数时,在右边指定的位数时,在右边添添0 0补齐补齐。当数据的当数据的实际值较大实际值较大,“宽度宽度”指定的总宽度有可能不指定的总宽度有可能不够用,系统会自动地对输出数据的够用,系统会自动地对输出数据的小数位小数位仍按上述规则处仍按上述规则处理,而对输出数据的理,而对输出数据的整数部分整数部分则按数据则按数据实际值的宽度实际值的宽度输出。输出。%标志标志宽度宽度.精度精度h|l17长江大学计算机科学学院)对于对于g或或G:用用精度精度来指定有效数字的位数,来指定有效数字的位数,缺省值缺省值为为6 6;printf(gn,
18、123.56789);输出结果输出结果:123.568 printf(.7gn,123.56789);输出结果输出结果:123.5679 )对于对于整数整数:用用精度精度来来指定指定必须输出的数字个数必须输出的数字个数,若输出,若输出的数字少于指定的个数,则在数字前面加的数字少于指定的个数,则在数字前面加0 0补足;若输出的补足;若输出的数字多于指定的个数,按数字的实际宽度输出。数字多于指定的个数,按数字的实际宽度输出。printf(8.5dn,42);输出结果输出结果:00042 )对于对于字符串字符串:用用精度精度来指定来指定最多最多输出的输出的字符个数字符个数。printf(%10.5s
19、n,abcdefg);输出结果输出结果:abcde18长江大学计算机科学学院 可以在指定输出宽度的同时指定数据可以在指定输出宽度的同时指定数据左对齐左对齐。这可在。这可在宽度前加一个宽度前加一个-号来实现。号来实现。例例3.4 在在printf函数中指定输出数据以左对齐的格式输出。函数中指定输出数据以左对齐的格式输出。main()printf(%5d#n,168);/*输出结果输出结果:168#*/printf(%-5d#n,168);/*输出结果输出结果:168#*/printf(%14.6lf#n,7.6855);/*输出结果输出结果:7.685500#*/printf(%-14.6lf#
20、n,7.6855);/*输出结果输出结果:7.685500#*/printf(%14.6s#n,abcdefgh);/*输出结果输出结果:abcdef#*/printf(%-14.6s#n,abcdefgh);/*输出结果输出结果:abcdef#*/19长江大学计算机科学学院 在在和和格式字符格式字符间间(或宽度前或宽度前)加一个加一个+号。号。例如:例如:printf(+d,+dn,100,-200);输出结果为:输出结果为:+100,-200 在输出数据前加在输出数据前加前导前导0 0 在指定宽度的同时,在数据前面的多余空格处填以数字在指定宽度的同时,在数据前面的多余空格处填以数字0。例如
21、:例如:printf(05dn,59);输出结果为:输出结果为:00059 printf(012.5fn,3.1415);输出结果为:输出结果为:000003.1415020长江大学计算机科学学院 通常,在用通常,在用格式字符格式字符o(x)按八进制数按八进制数(十六进制数十六进制数)的形的形式输出整数时,在数据的前面并不出现式输出整数时,在数据的前面并不出现0(0 x),如果需要在,如果需要在输出的八进制数输出的八进制数(十六进制数十六进制数)前添加前添加0(0 x),可在号与格,可在号与格式字符式字符o或或x之间插入一个之间插入一个#号号(注意:注意:#号对其它格式字符通号对其它格式字符通
22、常不起作用常不起作用)。例如:例如:printf(%o,%#o,%x,%#xn,31,31,31,31);输出结果如下:输出结果如下:37,037,1f,0 x1f%,表示输出一个,表示输出一个 字符。字符。例如:例如:printf(%d%n,60);输出结果为:输出结果为:60%21长江大学计算机科学学院 (1)格式控制串格式控制串中的中的各个各个格式说明格式说明与与输出项表列输出项表列中的中的各各个输出项个输出项,从左到右在类型上必须,从左到右在类型上必须一一对应匹配一一对应匹配。如果不。如果不匹配,将导致数据不能正确输出,这时,系统并不报错。匹配,将导致数据不能正确输出,这时,系统并不报
23、错。特别是在输出长整型数据时,一定要使用特别是在输出长整型数据时,一定要使用%ld(或(或%lu、%lo、%lx等)格式说明。等)格式说明。(2)在在格式控制串格式控制串中,中,格式说明格式说明与输出项的个数应该相与输出项的个数应该相同。如果同。如果格式说明格式说明的个数的个数少少于于输出项输出项的个数,多余的输出的个数,多余的输出项不予输出;如果项不予输出;如果格式说明格式说明的个数的个数多多于于输出项输出项的个数,则的个数,则对于多余的对于多余的格式说明格式说明将将输出输出不确定的值不确定的值(或或0值值)。(3)printf函数的函数的返回值返回值是一个是一个整数值整数值,通常是在本次,
24、通常是在本次调用过程中输出的字符个数,但这个值一般情况下调用过程中输出的字符个数,但这个值一般情况下没有没有多多大的大的实际意义实际意义。22长江大学计算机科学学院格式输入函数格式输入函数scanf 的函数原型在头文件的函数原型在头文件stdio.h中。中。1.scanf函数的一般调用形式函数的一般调用形式 scanf(格式控制字符串格式控制字符串,地址表列地址表列);格式控制字符串格式控制字符串的一般形式为:的一般形式为:%*输入数据宽度输入数据宽度 h|l 地址表列地址表列中给出的是各变量的中给出的是各变量的地址地址。地址地址是由是由取地址取地址运算符运算符&后跟后跟变量名变量名组成的。组
25、成的。例如,例如,scanf(%d%d,&a,&b);其中其中&a,&b分别表示变量分别表示变量a和变量和变量b 的地址。的地址。scanf函数的函数的返回值返回值等于成功输入的数据的个数。等于成功输入的数据的个数。23长江大学计算机科学学院%*输入数据宽度输入数据宽度 h|l24长江大学计算机科学学院%*输入数据宽度输入数据宽度 h|l25长江大学计算机科学学院 (1)格式控制中的数据类型与地址表列中的数据的类格式控制中的数据类型与地址表列中的数据的类型,应该型,应该一一对应匹配一一对应匹配。如果类型不匹配,系统并不给。如果类型不匹配,系统并不给出错误信息,但不可能得到正确的数据。出错误信息
26、,但不可能得到正确的数据。例如下列程序在编译时没有任何错误,但在执行时输例如下列程序在编译时没有任何错误,但在执行时输出的结果总是:出的结果总是:y=0.000000。main()float y;scanf(%d,&y);printf(y=%f n,y);26长江大学计算机科学学院 (2)在程序运行时,当用户输入的数据在程序运行时,当用户输入的数据少少于于输入项时,程序输入项时,程序等待等待输入,直到满足要求为止,输入,直到满足要求为止,并且当用户从键盘输入完各项数据之后一定要并且当用户从键盘输入完各项数据之后一定要按下按下回车键回车键(Enter键键),scanf函数才能接受到函数才能接受到
27、从键盘输入的数据。从键盘输入的数据。当输入的数据当输入的数据多多于输入项时,多余的数据并于输入项时,多余的数据并不消失,而是不消失,而是留留作下一个输入操作时的输入数作下一个输入操作时的输入数据。为了不影响下一个输入操作的正确进行,据。为了不影响下一个输入操作的正确进行,可以在下一个输入函数之前用清除函数可以在下一个输入函数之前用清除函数fflush(stdin)清除清除输入缓冲区输入缓冲区中残余数据。中残余数据。27长江大学计算机科学学院(1)数据项之间的间隔符数据项之间的间隔符 间隔符可以是间隔符可以是空格符空格符、制表符制表符(Tab键键)或或回车符回车符(CR 即即Enter键键),间
28、隔符的,间隔符的数量不限数量不限。例如,假设例如,假设a、b、c为整型变量,若有以下输入语句:为整型变量,若有以下输入语句:scanf(ddd,&a,&b,&c);输入形式为:输入形式为:182838(2)指定输入的数据所占的宽度指定输入的数据所占的宽度 如:如:scanf(%5d%4f,&a,&b);但某些但某些C C的编译系统并不要求必须按指定的宽度输入数据。的编译系统并不要求必须按指定的宽度输入数据。(3)跳过输入数据的方法跳过输入数据的方法 例如:例如:scanf(%d%*d%d%d,&al,&a2,&a3);当输入以下数据时:当输入以下数据时:18 28 38 48 将把将把18赋给
29、赋给a1,跳过跳过28,把,把38赋给赋给a2,把,把48赋给赋给a3。28长江大学计算机科学学院 若在若在scanf的格式控制字符串中插入了其它字符,则在的格式控制字符串中插入了其它字符,则在输入时要求按一一对应的位置原样输入这些字符。输入时要求按一一对应的位置原样输入这些字符。例如:例如:int al,a2,a3;scanf(Input a1,a2,a3:ddd,&al,&a2,&a3);要求按以下的形式输入:要求按以下的形式输入:Input a1,a2,a3:18 28 38(5)输入双精度的实数一定要用输入双精度的实数一定要用%lf。(6)字符型数据的输入字符型数据的输入 输入字符型数
30、据时,各数据项之间输入字符型数据时,各数据项之间不能有间隔符不能有间隔符,间隔,间隔符也会被当作一般字符输入到变量中去。当程序中既需要输符也会被当作一般字符输入到变量中去。当程序中既需要输入数值数据,又需要输入字符型数据时,最好分别用两个入数值数据,又需要输入字符型数据时,最好分别用两个scanf函数来实现。函数来实现。29长江大学计算机科学学院#include stdio.h main()char c1,c2;scanf(%c,&c1);/*只读取输入的第一个字符只读取输入的第一个字符*/*fflush(stdin);清除输入缓冲区的其它字符清除输入缓冲区的其它字符*/scanf(%c,&c
31、2);printf(c1 is%c,c2 is%c,c2,c2);运行该程序时,若在键盘上输入运行该程序时,若在键盘上输入一个字符一个字符A后按后按回车回车键键,则程序给变量,则程序给变量c1赋值赋值A,给变量,给变量c2赋值回车符赋值回车符。fflush(stdin)可以清除输入缓冲区的多余的数据可以清除输入缓冲区的多余的数据,也可以也可以连续输入连续输入AB两个字符两个字符后再按后再按回车键回车键。程序的输出结果为程序的输出结果为:c1 is A,c2 is B。30长江大学计算机科学学院 putchar 函数是字符输出函数,函数是字符输出函数,其功能是在显示器上输其功能是在显示器上输出单
32、个字符。它的函数原型在头文件出单个字符。它的函数原型在头文件stdio.h中,使用本函中,使用本函数前必须要用文件包含命令:数前必须要用文件包含命令:#include putchar 函数的一般形式为:函数的一般形式为:putchar(ch);其中其中ch可以是一个可以是一个字符变量字符变量或或常量常量(含转义字符),也可(含转义字符),也可以是一个以是一个整型变量整型变量或或常量常量。例如:例如:putchar(A);或或 putchar(65);输出大写字母输出大写字母A。putchar(x);变量变量x可以是可以是字符变量字符变量或或整型变量整型变量。putchar(n);输出字符常量输
33、出字符常量n,在屏幕上实现回车换行的功能。,在屏幕上实现回车换行的功能。31长江大学计算机科学学院 getchar函数的功能是从键盘上输入一个字符,函数的功能是从键盘上输入一个字符,函数的返回值是所读取的字符的函数的返回值是所读取的字符的ASCII码值。使码值。使用本函数前必须包含文件用本函数前必须包含文件stdio.h。getchar函数的一般形式为:函数的一般形式为:getchar();通常用法:通常用法:char c;c=getchar();注意:用户在键盘上注意:用户在键盘上键入一个字符键入一个字符后还后还必须必须键入键入回回车键车键才能结束才能结束getchar函数并返回值。若要在程
34、序中只函数并返回值。若要在程序中只需输入字符即可正确返回按键的值,可使用需输入字符即可正确返回按键的值,可使用getche()函函数数(所键入的字符所键入的字符回显回显到显示屏上到显示屏上)和和getch()函数函数(所键入所键入的字符的字符不回显不回显到显示屏上到显示屏上)。32长江大学计算机科学学院#include stdio.hmain()char c1,c2;printf(Input a lowercase letter:);c1=getchar();putchar(c1);printf(,%dn,c1);c2=c1-32;/*将大写字母转换成对应的小写字母将大写字母转换成对应的小写字
35、母*/printf(%c,%dn,c2,c2);程序运行结果如下:程序运行结果如下:Input a lowercase letter:aa,97A,6533长江大学计算机科学学院例例3.73.7 编程从键盘输入圆的半径radius,输出圆的周长和圆的面积main()float radius,length,area,pi=3.141592;printf(input radius:);scanf(%f,&radius);length=2*pi*radius;/*求圆周长求圆周长*/area=pi*radius*radius;/*求圆面积求圆面积*/printf(radius=%fn,radius)
36、;/*输出圆半径输出圆半径*/printf(length=%7.2f,area=%7.2fn,length,area);程序运行结果如下:程序运行结果如下:input radius:1.5radius=1.500000length=9.42,area=7.07 34长江大学计算机科学学院#include stdio.h main()int x,y,t;printf(Enter x y:n);scanf(%d%d,&x,&y);printf(x=%d y=%dn,x,y);t=x;x=y;y=t;printf(x=%d y=%dn,x,y);程序运行结果如下:程序运行结果如下:Enter x y
37、:(由第由第4行的行的printf输出输出)123 456 (代表按代表按Enter键键)x=123 y=456 (由第由第6行的行的printf输出输出)x=456 y=123 (由第由第8行的行的printf输出输出)交换交换x和和y两个变量两个变量中的值,中的值,不能不能简单地用简单地用 x=y;y=x;两条语句两条语句来实现。来实现。txy35长江大学计算机科学学院main()double x;printf(Enter x:);scanf(%lf,&x);/*注意注意%lf 314.56789*/printf(1)x=%fn,x);/*314.567890*/x=x*100+0.5;/
38、*31457.289*/x=(int)x;/*31457*/x=x/100;/*314.57*/printf(2)x=%fn,x);/*314.570000*/程序运行结果如下:程序运行结果如下:Enter x:314.56789(1)x=314.567890(2)x=314.570000 36长江大学计算机科学学院main()int x,y,z;printf(Input x,y:);scanf(%d,%d,&x,&y);x=x%100;y=y%100;/*保证保证x,y中只能是两位整数中只能是两位整数*/z=(x/10)*1000+(x%10)*10+y/10+(y%10)*100;prin
39、tf(x=%d,y=%d,z=%dn,x,y,z);程序运行结果如下:程序运行结果如下:Input x,y:54,13x=54,y=13,z=5341编程从键盘输入两个两位的正整数给变量编程从键盘输入两个两位的正整数给变量x和和y,并将,并将x和和y合并形成一合并形成一个整数放在变量个整数放在变量z中。合并的方式是:将数中。合并的方式是:将数x的十位和个位依次放在的十位和个位依次放在z的千的千位和十位上,将数位和十位上,将数y的十位和个位依次放在的十位和个位依次放在z的个位和百位上。的个位和百位上。例如,当例如,当x=45,y=12时,时,调用该函数后,调用该函数后,z=4251。37长江大学计算机科学学院教材教材P47 P47 习题三习题三 一、选择题:全做一、选择题:全做 二、二、填空题填空题:全做:全做 三、三、编程题编程题:全做:全做