编辑: 摇摆白勺白芍 | 2019-07-12 |
输入32< >a /*空格符作为输入 数据被赋值给字符型变量c*/不允许有精度输入例如: scanf("%7.2f",&a);
是错误的 数据输出 putchar函数功能将指定表达式的值所对应的字符输出到标准设备(终端/显示器),每次只能输出一个字符格式putchar(输出表达式);
表达式可以是字符型或整型的变量或常量或表达式提示putchar()必须带输出项,只能是单个字符而不能是字符串 例: #include"stdio.h" main() { char o='O',k='K' ;
putchar(o);
putchar(k);
} 数据输出 printf函数功能是按控制字符串规定的格式,向缺省输出设备输出在输出项列表中列出的各个输出项格式:printf("格式字符串",输出项列表);
格式字符串是用来说明输出项表中各输出项的输出格式必须由" "括起来当系统遇到输出的格式说明符后,会自动用后面对应的输出项的值代替它的位置,然后输出输出项列表列出要输出的项可以是常量、变量或表达式当没有输出项列表,同时格式字符串中也不含格式信息,则输出的是格式字符串本身 【例】 printf("%d%f%c" ,a,b,c);
例1:4+4=? #include main( ) { int total;
total=4+4;
printf("The total is %d\n"311.c 该语句告诉程序显示一个十进制数,但是没有指定变量.C不会检查 并确认 printf 函数被赋予了正确的常量.由于没有值,所以C生成了一个值.正确的语句应该是: printf("The total is %d\n",total );
例2: #include main(float answer;
answer=7.0/20.0;
printf("The answer is %d\n",answer)312.c 使用%d指定要显示的整数,但要转化的是一个实数,printf函数无法检查参数类型,所以将实数赋予函数,而指定格式为整数,函数将这个数当作整数看待. printf函数 数据输出 数据输出 printf函数输出方法形式1: printf(字符串);
功能: 按原样输出字符串例: printf("hello c programming.\n");
形式2: printf(格式字符串,输出项表);
功能: 按格式字符串中的格式依次输出输出项表中的各输出项 数据输出 printf函数输出方法形式2: printf(格式字符串,输出项表);
例:设a=2,b=2.5,c='A'printf("a=%d,b=%f,c=%c\n",a,b,c)输出: a=2,b=2.500000,c=A*/ %d表示输出a的值整数2%f表示输出b的值2.5,%f格式要求输出6位小数,在2.5的后面补4个0;
%c表示输出c的值'A'"a="、 "b=" 、 "c=" 、","和"\n"不是格式符,按原样输出 数据输出 printf函数格式字符串:%[]格式字符规定了对应输出项的输出格式常用的格式见书修饰符用于确定数据输出的宽度、精度、小数位数、对齐方式等,用于产生更加规范整齐的输出,当没有输出修饰符时,按系统缺省设定显示 数据输出 printf函数格式字符串:%[]修饰符其中长度修饰符:l(长),h(短),放在格式字符前面域宽和精度描述符:m(域宽).n(精度),放在长度修饰符的前面对齐方式描述符:一般所有输出数据缺省为右对齐格式,若加一个"-"号,则变为"左对齐"方式,放在域宽描述符的前面的前面 数据输出 printf函数格式字符串:%[]例如 int i=123, float j=12.34567;
printf("%4d+++%5.2f",i,j);
/* 123+++12.35 */ printf("%2d+++%2.1f",i,j);
/*123+++12.3*/ printf("%4d%10.4f",i,j);
/*
123 12.3457*/ printf("%-4d%10.4f",i,a);
/*
123 12.3457 */ printf("%4d%-10.4f",i,a);
/* 12312.3457*/ 数据输出 printf函数格式字符串:%[]提示%md以宽度m输出整型数,不足m 时,左补空格%0md以宽度m输出整型数,不足m 时,左补0%m.nf以宽度m输出实型小数,小数位为n位 数据输出 printf函数格式字符串:%[]提示当指定的域宽小于数据的实际宽度时对整数,按该数的实际域宽输出对浮点数若指定的域宽大于浮点数的整数部分,相应的小数位按精度的位数四舍五入若域宽小于等于浮点数整数部分的宽度,则该浮点数按实际位数输出,但小数位数仍遵守精度的规定 例题 【例】若a1,a2,a3,a4均为char类型变量,则执行以下程序段后的输 出结果是: a1='1';