《高级语言程序设计学课件》第2章.pptVIP

  • 4
  • 0
  • 约8.56千字
  • 约 47页
  • 2018-12-02 发布于浙江
  • 举报
《高级语言程序设计学课件》第2章

* 2. 标志 标志字符为-、+、#、空格四种 标志 意义 - 结果左对齐,右边填空格 + 输出符号(正号或负号) 空格 负时输出,正号不输出 # 对c,s,d,u类无影响; 对o类,在输出时加前缀o; 对x类,在输出时加前缀0x; 对e,g,f 类当结果有小数时才给出小数点 %[标志][输出最小宽度][.精度][长度]类型 * 修饰符 功 能 输出最小宽度 输出数据域宽,若实际数据长度m,左补空格;否则按实际输出 .精度 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 长度 h表示按短整型量输出 l表示按长整型量输出 %[标志][输出最小宽度][.精度][长度]类型 * 【例2-4】格式符与输出项匹配实例 #include stdio.h void main() { int a=97; float b=56.748; printf(a=%d,b=%f\n?, a, b); printf(%c,%d,%o,%x,%f\n, a, a, a, a, a); printf(%f,%e,%d,%o,%x\n, b, b, b, b, b); } a=97,b=56.748001 a,97,141,61,0.000000 56.748001,5.674800e+001,-2147483648,100230576760 1 1 0 0 0 0 1 ‘a 97 * 【例2-5】输出宽度与精度实例 #include stdio.h void main() { int a=66; float b=122.1234567; double c=1234567890.1234567; printf(a=%d,%-5d,%5d,%5c\n, a, a, a, a); printf(b=%f,%lf,%5.4f,%.4e,%10.2f\n, b, b, b, b, b); printf(c=%lf,%f,%8.4lf\n, c, c, c); } a=66,66???,???66,????B b=122.123459,122.123459,122.1235,1.2212e+002,????122.12 c=1234567890.123457,1234567890.123457,1234567890.1235 * 注意 1、C语言编译器不会检测格式符与输出项的数量是否相匹配 若输出项多于格式符,printf函数则正确的显示前面匹配的输出项,后面多余的不输出。 例如 printf(%d,i,j); 若输出项少于格式符,printf函数则正确的显示匹配的输出项,后面多余的格式符因为没有匹配的输出项,将输出没有任何意义的随机数。 例如 printf(%d,%d,i); 2、float和double的输出%f、%lf相同 * 格式:scanf(“格式控制字符串”, 地址表列) 功能:按用户指定的格式从键盘上把数据输入到指定变量中 2.6 C语言的格式输入scanf函数 格式输入函数 * 1. 缺省的分隔符 在键盘上输入数据时,数据之间用一个或多个空格、Tab和回车来分割。 * 【例2-6】格式符与输入变量匹配实例 #include stdio.h void main() { int a, b, c; printf(input a,b,c\n); scanf(%d%d%d, a, b, c); printf(a=%d,b=%d,c=%d\n, a, b, c); } input a,b,c 2 5 8 a=2,b=5,c=8 Press any key to continue input a,b,c 2 5 8 a=2,b=5,c=8 Press any key to continue input a,b,c 2 5 8 a=2,b=5,c=8 Press any key to continue input a,b,c 2,5,8 a=2,b=-858993460,c=-858993460 Press any key to continue * 2. 格式字符串中的普通字符 空格 当在格式控制字符串遇到一个或多个空格时,scanf函数从输入数据中重复读空白字符直到遇到一个非空字符为止。 其它字符 当在格式控制字符串中遇到一个非空字符时,scanf函数将它与输入字符进行比较,若两个字符相等,继续下一个输入,否则终止scanf函数的执行。 * 【例2-7】其它分隔符实例 #include stdio.h void main() { int a, b, c;

文档评论(0)

1亿VIP精品文档

相关文档