//用函数printf()输出数据,函数scanf()输入数据 //必须指定输入输出数据的格式,不同类型的数据指定不同的格式 //初学不必深究,重点掌握常用规则,其他随时查表 #include <stdio.h> int main(void) { int a = 1, b = 2; //函数printf()一般格式:printf(格式控制,输出表列) //格式控制:双撇号括起的一个字符串,称为格式(控制)字符串 //格式控制字符串和输出列表是函数printf()的参数 //格式字符串包括两个信息:格式声明、普通字符 //格式声明:%格式字符 //格式声明将输出数据转换为指定格式后输出。 //普通字符:在输出时原样输出的字符。格式控制内除了格式声明外的其他所有字符。如,字母、逗号、空格、换行符(\n) //输出表列是变量名 printf("%d,%d\n",a,b);//普通字符逗号原样输出 printf("a=%d b=%d\n",a,b);//普通字符空格原样输出 //(如上)常用格式字符:d //用来输出一个有符号的十进制整型数据,+不输出 //可以在格式声明中指定输出数据的域宽(右到左,所占的列数) printf("%5d\n%5d\n",12,-345);//12前3个空格;-345前1个空格 //ld输出long(长整型)数据;lld输出long long(双长整型)数据 //常用格式字符:c //输出一个字符 char ch = 'a'; printf("%c",ch); printf("%5c\n",ch);//指定域宽,后a前4个空格 //0~127范围内的整数输出为ASCII码对应的字符 short c = 121; printf("%c\n",2); //如果整数比较大,则把它二进制中最后一个字节8位的信息以字符的形式输出 //自己修改c的值体验一下,与ASCII转码表对比一下(121和377输出都是字符y) //常用格式字符:s //输出一个字符串 printf("%s\n","CHINA");//双撇号括住字符串,但不输出 //常用格式字符:f //输出实数(单、双精度、长双精度),以小数形式输出 //1.基本型%f //不指定输出数据的长度,由系统根据实际情况决定数据所占的列数 //一般是整数部分全部输出,小数部分输出6位 double d = 1.0; printf("%f\n",d/3);//d和d/3都是双精度型 //2.指定数据宽度和小数位数%m.nf printf("%20.15f\n",d/3);//0前3个空格,输出15位小数 //一个双精度型数据只能保证15位有效数字;float型6位、double型15位。换成float验证一下 //若用%55.50f不能保证输出的50位都是有效数字,可以验证一下 //3.输出数据左对齐%-m.nf printf("%-25.15f,%-25.15f\n",d/3,d/3); //常用格式字符:e //输出指数形式的实数 printf("%e",123.456); //若不指定输出数据宽度和小数位数,一般6位小数,指数5列(1+1+3,e1列,指数符号+-1列,指数3列) //指定数据宽度和小数位数%m.ne printf("%13.2e\n",123.456); //格式符也可以写成大写E,输出数据中则也变为E //其他格式字符: //格式符i //与格式符d相同,输出十进制整型数据 //格式符o //输出八进制整数,不带符号 printf("%d\t%o\t%x\n",-1,-1,-1);//二进制八进制十六进制转换 //格式符x //输出十六进制整数(如上) //%lx输出长整型 //%12x指定输出宽度 //格式符u //输出无符号十进制整型数据 //格式符g //输出浮点数,系统自动选择f或e格式中较短的格式,不输出无意义的0 //printf("%f\t",1234567); //printf("%e\t",1234567); //printf("%g\n",1234567); //格式声明的一般格式: //%附加字符格式字符 //附加字符,如l、m、n、- //函数scanf()一般格式:scanf(格式控制,地址表列) //格式控制:双撇号括起的一个字符串,称为格式(控制)字符串 //格式控制字符串和地址表列是函数scanf()的参数 //格式字符串包括两个信息:格式声明、普通字符 //格式声明:%格式字符 //格式声明将输出数据转换为指定格式后输出。 //普通字符:在输出时原样输出的字符。格式控制内除了格式声明外的其他所有字符。如,字母、逗号、空格、换行符(\n) //地址表列是变量地址,或字符串首地址 //注意事项 //scanf("a=%f,b=%f,c=%f",&a,&b,&c); //地址表列是&a,&b,&c而不是a,b,c //如果格式控制字符串中除了声明以外还有其他字符, //则在输入数据时在对应的位置上输入与这些字符相同的字符 //应当输入a=1,b=3,c=2(字母等号逗号都要相同) //%c输入字符时,空格字符和转义字符中的字符都作为有效字符输入 //scanf("%c%c%c",&c1,&c2,&c3); /*在执行此函数时应该连续输入三个字符,中间不要有空格 如,abc而不是a b c 这样会读取前3个字符a b 输入数值需要在两个数值之间插入空格(或其他分隔符),使系统能够区分 连续输入字符时,不要插入空格(或其他分隔符),系统能够区分 在输入数值数据时,如输入空格回车Tab或遇非法字符(不属于数值的字符),认为该数据结束 scanf("%d%c%f",&a,&b,&c); 1234a123o.26 会把123给a;字符a给b;1230.26误打为123o.26,数值输入到o结束,123给c;之后的数据没有被读入 */ int num; printf("Enter an integer: "); //scanf("%d",&num); printf("You entered: %d\n", num); //格式符和附加字符与函数printf()基本相同,有细微差别,用到查表即可 //字符输入输出函数:专门输入和输出字符 //用函数putchar()输出一个字符 //一般形式putchar(c); //c可以是字符常/变量、整型常/变量(0~127)与ASCII转换码有关 char e = 'B',f = 'O',g = 'Y';//定义三个字符变量并初始化 //int e = 66, f = 79, g = 89;//定义3个整型变量,并初始化 //字符型属于整数型,so,将一个字符或者其对应的ASCII代码赋给字符变量作用相同,注意整型变量0~127 putchar(e);//向显示器输出字符B putchar(f);//向显示器输出字符O putchar(g);//向显示器输出字符Y putchar('\n');//向显示器输出一个换行符 //用putchar()输出转义字符 putchar('\101');//输出字符A putchar('\'');//输出转义字符单撇号 putchar('\015');//八进制15=十进制13,查表知13是回车的ASCII码so此处输入回车不换行是输出的当前位置移到本行开头 putchar('\n'); //用函数getchar()输入一个字符 //一般形式getchar(); //没有参数 //从输入设备(如键盘)输入一个字符 //一个getchar()只能接收一个字符,输入多个字符就需要多个getchar() //char h,i,j; //h = getchar(); //i = getchar(); //j = getchar(); //putchar(h); //putchar(i); //putchar(j); //putchar('\n'); //输入BOY后回车,字符才会完成输入 //输入BOY回车和输入1回车2再回车的结果是不同的 //回车也是会被算作输入的字符的 //在函数printf()中输出第一个接收的字符 //char k; //k = getchar(); //printf("%c\n",getchar()); //练习:给定一个大写字母输出对应小写字母 char a1,a2; a1 = 'A';//将字符A的ASCII代码赋给变量c1 a2 = a1 + 32;//得到字符a的ASCII代码赋给c2 printf("%c\n",a2);//输出c2的值,是一个字符 printf("%d\n",a2);//输出c2的值,是字符a的ASCII代码 //变式:用getchar()从键盘读入一个大写字母,把它转换为小写字母,putchar()输出 char b1,b2; b1 = getchar(); b2 = b1 + 32; putchar(b2); putchar('\n'); //变式:用printf()输出 printf("大写字母:%c\n小写字母:%c\n",b1,b2); return 0; }
标签:字符,putchar,输出,THQ,ch3,printf,格式,输入 From: https://www.cnblogs.com/Mechanic2Tinzo/p/18286534