c输出printf()
#include <stdio.h> // 执行 printf() 函数需要该库int main(){ printf("hello weiwei"); //显示引号中的内容 return 0;}
格式字符含义
d以十进制形式输出带符号整数(正数不输出符号)
o以八进制形式输出无符号整数(不输出前缀0)
x,X以十六进制形式输出无符号整数(不输出前缀Ox)
u以十进制形式输出无符号整数
f以小数形式输出单、双精度实数
e,E以指数形式输出单、双精度实数
g,G以%f或%e中较短的输出宽度输出单、双精度实数
c输出单个字符
s输出字符串
p,P%p是一个新的格式控制符,它表示以十六进制的形式(带小写的前缀)输出数据的地址。如果写作%P,那么十六进制的前缀也将变成大写形式。
标志含义
-结果左对齐
+输出符号(正负号)
空格输出值为正时冠以空格,为负时冠以负号
#对c、s、d、u类无影响;
对o类,在输出时加前缀o;
对x类,在输出时加前缀0x;
对e、g、f 类当结果有小数时才给出小数点。
用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。
#include<cstdio>int main(){ int a=15; float b=123.1234567; double c=12345678.1234567; chard='p'; printf("a=%d\n", a); printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a); // %% 可以输出 % printf("b=%f\n", b); printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b); printf("c=%f\n", c); printf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n",c,c,c); printf("d=%c\n", d); printf("d(%%c)=%c, d(%%8c)=%8c\n",d,d); printf("&a=%p, &b=%p, &c=%p\n", &a, &b, &c); // 输出地址 return 0;}
- 以四种格式输出整型变量a的值,其中“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。
- 以四种格式输出实型量b的值。其中“%f”和“%lf ”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。
- 输出双精度实数,“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。
- 输出字符量d,其中“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格
输入scanf
#include <cstdio>int main(){ int a, b, c; scanf("%d %d", &a, &b); printf("a+b=%d\n", a+b); scanf("%d %d", &a, &b); printf("a+b=%d\n", a+b); scanf("%d, %d, %d", &a, &b, &c); printf("a+b+c=%d\n", a+b+c); scanf("%d is bigger than %d", &a, &b); printf("a-b=%d\n", a-b); char letter; int age; char url[30]; // 字符串的定义 float price; scanf("%c", &letter); scanf("%d", &age); scanf("%s", url); //可以加&也可以不加& scanf("%f", &price); return 0;}
格式控制符说明
%c读取一个单一的字符
%hd、%d、%ld读取一个十进制整数,并分别赋值给 short、int、long 类型
%ho、%o、%lo读取一个八进制整数(可带前缀也可不带),并分别赋值给 short、int、long 类型
%hx、%x、%lx读取一个十六进制整数(可带前缀也可不带),并分别赋值给 short、int、long 类型
%hu、%u、%lu读取一个无符号整数,并分别赋值给 unsigned short、unsigned int、unsigned long 类型
%f、%lf读取一个十进制形式的小数,并分别赋值给 float、double 类型
%e、%le读取一个指数形式的小数,并分别赋值给 float、double 类型
%g、%lg既可以读取一个十进制形式的小数,也可以读取一个指数形式的小数,并分别赋值给 float、double 类型
%s读取一个字符串(以空白符为结束)getchar(), putchar()
#include <stdio.h> int main( ){ int c; printf( "Enter a value :"); c = getchar( ); printf( "\nYou entered: "); putchar( c ); printf( "\n"); return 0;}gets(), puts()
#include <stdio.h> int main( ){ char str[100]; printf( "Enter a value :"); gets( str ); printf( "\nYou entered: "); puts( str ); return 0;}
c++输入cin()
string name;std::cin>>name;std::cout<<name;
getline()
String name;getline(cin,name);std::cout<<name:
char name[50];std::cin.getline(name,50);std::cout<<name;
string str;getline(cin,str);
get()
cin.get(name,50);cin.get(dessert,50);
cin.get(name,50);cin.get();cin.get(dessert,50)输出cout
char str[] = "Hello C++";cout << "Value of str is : " << str << endl;