Putchar Getchar
#include <stdio.h>
#include <stdlib.h>
int main()
{ //字符常量'a' '3' 区别 标识符a 整数3
//Escape Charater '\n'
//putchar() 把一个字符输出到屏幕当前光标位置
//getchar() 从系统隐含指定的输入设备(终端键盘)输入一个字符,按回车键表示输入结束,读入的字符会自动被回到屏幕上
//ASCII码 字符'a'与'A'差32
char ch;
printf("press a key and then press enter:\n");
ch = getchar();//从键盘输入一个字符按回车键结束输入,该字符被存入变量ch
ch = ch + 32;//大写转小写英文字母
putchar(ch);//在屏幕上显示变量ch的值
printf("\n");//输出回车换行符
}
getcharc(ch) 错误使用
ch= ch +(‘a’-‘A’);
由此可以猜想到小写字母的ASCII值要大于大写字母的ASCII码值。
int main()
{
//printf(格式控制字符串);
//printf(格式控制字符串,输出值参数表);
//格式控制字符串又称转换控制字符串
//格式控制字符串包括:1格式转换说明(Format Specifier)和原样输出的普通字符
//格式转换说明由%开始,并以转换字符(Conversion Chatacter)结束,用于指定各输出值参数的输出格式。
char ch;
printf("press a key and then press an enter:\n");
ch = getchar();
ch = ch+32;
printf("%d,%c\n",ch,ch);
//分别输出变量ch中的字符及其ASCII码值
//等价语句
//printf("%c",ch);
//putchar(ch);
//ptintf("\n");\n放在双引号内,该语句可以输出一个字符串
//putchar('\n');\n放在单引号内,该语句只能输出一个字符
#include <stdio.h>
#include <stdlib.h>
int main()
{
//函数printf()的格式说明中,还可在%和格式符中间插入格式修饰符,用于对输出格式进行微调
//比如,指定数据域宽(Field of Width )、显示精度(小数点后显示的小数位数) 左对齐
//格式修饰符 输出域宽m(m)为整数
//指定输出项输出时所占的列数
//若m为正整数,当输出数据宽度小于m时,在域内向右靠齐,左边多余位补空格
//当输出数据宽度大于m时,按实际宽度全部输出;若m有前导符0,则左边多余位补0.
//若m为负整数,则输出数据在域内向左靠齐。
//显示精度.n (n为大于或等于0的整数)
//精度修饰符位于最小域宽修饰符之后,由一个圆点及其后的整数构成。
//对于浮点数,用于指定输出的浮点数的小数位数。
//对于字符串,用于指定从字符串左侧开始截取的子串字符个数
//例题4.3使用const常量定义π,编程从键盘输入圆半径r,计算并输出圆的周长和面积。
const pi = 3.14159;
//取消Pi的数据类型double,发现输出的24.000000why?
double r,circum,area;
printf("press a key and then enter\n");
scanf("%Lf",&r);
printf("circum=%Lf\n",circum=2*pi*r);
printf("area=%10.2lf\n",area=pi*r*r);
//3.6*3.6*3.14159=40.7150064
printf("%d\n",sizeof(r));
printf("%d\n",sizeof(float));
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
const double pi = 3.14159;
double r,circum,area;
printf("Input r\n");
scanf("%lf",&r);
circum = 2*pi*r;
area = pi*r*r;
printf("printf WITHOUT width or precision specifications:\n");
printf("circum=%lf,area=%lf\n",circum,area);
printf("printf width and precision specifications:\n");
printf("cirum=%10.2lf,area=%7.2lf\n",circum,area);
printf("circum%10.0lf,area=%7.0lf\n",circum,area);
//程序第十三行没有使用域宽和精度说明符,即按%f格式输出实型数据,这时除非特别指定
//否则隐含输出6位小数。
//程序第十五行,使用域宽和精度说明符即按%10.2lf格式输出实型数据
//这里%10.2表示输出数据所占域宽为10 ,显示精度为2.
//显示精度为2,是指保留两位小数。输出域宽为7是指输出数据占7个字符宽度。
//注意小数点也占1个字符位置。
//因此输出的1234510.XX共十位
}