二,1,常用函数,输入输出

来源:互联网 发布:淘宝企业店铺图标 编辑:程序博客网 时间:2024/06/02 01:10

二,常用函数

1.1,格式化输入输出

1)Printf(%输出格式,输出列表)//输出

scanf%输出格式,&输出列表)//输入,

 

 

 

 

格式控制 作用
###################################################

%d 十进制有符号整数
%u 十进制无符号整数

%lf double
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
###################################################

 

###################################################

特殊字符字符 作用
###################################################
\n 换行
\f 清屏并换页
\r 回车
\t Tab符
\xhh 表示一个ASCII码用16进表示,
其中hh是1到2个16进制数
###################################################

注:

1,%d等格式控制中间加入形如m.n时候,m(-9~9)表示整数位占m位,负数向左对齐,整数向右对齐

2,scanf(),对于字符串数组或字符串指针变量, 由于数组名和指针变量名本身就
是地址, 因此使用scanf()函数时, 不需要在它们前面加上”&”操作符。

1,

char *p, str[20];

p = str;

scanf("%s", p);

scanf("%s", str);

printf("%s\n", p);

printf("%s\n", str);

3,scanf()中定义好格式后,输入时必须严格依照

2: scanf(“%c %c”,m,n) 应输入m n

      scanf(“%c,%c”,m,n)  应输入m,n

4,scanf()如果连续使用,当用户输入过多,可能导致结果不理想,输入中包含空格scanf()会判断读入结束

3:int m, n;

scanf("%d", &m);            

scanf("%d", &n);

printf("%d\n", m);

               printf("%d", n);

如果一次性输出2个或以上数字,m.n会直接输出,程序直接运行完毕

 

如果需要一次输入,防止误输,特别是在循环中,可以采用以下方法:

1,在某些版本编译器中可以使用fflush(stdint)刷新标准输出缓冲区

scanf()

fflush(stdint)

Scanf()

经测试,在GCC与VS2015 不可行

2,通过rewind()重置输入指针

int m, n;

scanf("%d", &m);rewind(stdin);

scanf("%d", &n);

printf("%d\n", m);

printf("%d", n);

 

3通过 while 循环scanf(%*[^\n])把输入流中的余留数据“吃”掉

int i, c;

for (; ; )

{

fputs("Please input an integer: ", stdout);

scanf("%d", &i);

 

if (feof(stdin) || ferror(stdin))

{ /* 如果用户输入文件结束标志(或文件已被读完), */

  /* 或者发生读写错误,则退出循环             */

 

  /* do something */

break;

}

/* 没有发生错误,清空输入流。                 */

/* 通过 while 循环把输入流中的余留数据“吃”掉 */

while ((c = getchar()) != '\n' && c != EOF);    /*可直接将这句代码当成fflush(stdio)的替代,直接运行可清除输入缓存流*/

/* 使用 scanf("%*[^\n]"); 也可以清空输入流,^是非的意思,【^\n】指读入所有非换行符,%*表示不保存,总体就是吃掉所有非换行符*/

 

/* 不过会残留 \n 字符。                          */

 

printf("%d\n", i);

}

 

 

1.2,非格式化输入输出

单个字符输入输出

1)Putchar(a)//输出一个字符,需要指定变量a

Gercahr()//获取一个字符,当需要获取getchar()常用cahr cc=getchar();

 

 

字符串输入输出

2)gets_sstr//gest_sstr)中str用于存储输入字符串

Putsstr//puts()中str是指定的输出字符串,会显示在屏幕上

 

0 0
原创粉丝点击