文档详情

数据类型课件.ppt

发布:2017-07-27约1.14万字共43页下载文档
文本预览下载声明
第2章 本章要点 本章内容 2.1 基本数据类型与常数的表示 例 符号常量的使用 #include stdio.h #define PRICE 30 void main() {int num,total; num=10; total=num*PRICE; printf(total=%d\n,total); } 变量与内存的关系 课后作业 第34页,习题2.1、2.7 上机内容 练习本章例题及作业题 【例2_1b】 运行下面的程序,观察printf( )的输出效果。 【程序代码】 #include stdio.h main( ) { int a=123; long b=12345; printf(a=%d\tb=%ld\n,a,b); printf(a=%2d\tb=%3ld\n,a,b); printf(a=%5d\tb=%8ld\n,a,b); printf(a=%-5d\tb=%-8ld\n,a,b); } 运行结果如下: (1)格式字符必须用小写字母,如%d不能写成%D。 (2)可以在printf函数中的“格式控制”字符串内包含“转义字符”,如“\n”、“\t”等。 上一页 下一页 返 回 (2)c格式符:用来输出一个字符。 一个整数,只要它的值在0~255范围内,也可以用字符形式输出, 在输出前,系统会将该整数作为ASCII码转换成相应的字符; 反之,一个字符数据也可以用整数形式输出。C格式符也可以加 宽度说明,其用法同格式符d一样。 【例2_2b】 字符数据的输出。 #include stdio.h main( ) { char c=b; int i=98; printf(%c,%d\n,c,c); printf(%3c,%3d\n,i,i); } 上一页 下一页 返 回 (3)s格式符:用来输出一个字符串 ① %s,按实际宽度输出一个字符串,例如: printf(%s,hello); 输出结果为: hello ② %ms,输出的字符串占m列,如字符串本身长度大于m, 则突破m的限制,将字符串全部输出。若串长小于m, 则右对齐左补空格。 上一页 下一页 返 回 ① %f,不指定字段宽度,由系统自动指定,使整数部分全部输出, 并输出6位小数。双精度数也可以用%lf格式输出。 说明:对于单精度数,前7位是有效的数字,而对于双精度数, 前16位是有效的。 ② %m.nf指定输出的数据共占m列,其中有n位小数。 如果数值长度小于m,则左端补空格。 ③ %-m.nf与%m.nf基本相同,只是使输出的数值向左端靠, 右端补空格。 【例2_4b】 输出下列单精度和双精度实数。 #include stdio.h main ( ) { float f1,f2; double d1,d2; f1=111111.111; f2=222222.222; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(%f\n,f1+f2); printf(%f\n,d1+d2); } (4) f格式符:用来输出实数(包括单、双精度),以小数形式输出。 上一页 下一页 返 回 【例2_5b】 输出实数时指定小数位数。 【程序代码】 #include stdio.h main( ) { float f=123.456; printf(%f%10f%10.2f%.2f%-10.2f\n,f,f,f,f,f); } 上一页 下一页 返 回 2.4.2 格式输入函数(scanf( )) 1.scanf( )函数的一般格式 scanf(格式控制,地址表列) 格式控制:同printf()函数;但double型数据用%lf或%le 地址表列:由若干个地址组成,可以是变量的地址,或字符串的首地址。 【例2_6b】 用scanf( )函数输入数据。 【程序代码】 #include stdio.h main( ) { int a,b,c; scanf(%d%d%d,a, b,c); printf(%d,%d,%d\n,a,b,c); } 上一页 下一页 返 回 2.使用scanf函数时应注意的问题 (1)输入数据时不能规定精度, 例如:float a;scanf(%7.2f,a);是不合法的。 (2)scanf函数中的“格式控制”后面应当是变量地址, 而不应是变量名。 (3)“格式字符串”中出现的普通字符(包括转义字符形式 的字符),务必原样输入。
显示全部
相似文档