C语言:输入输出

C语言无I/O语句,i/o操作由函数实现

#include<stdio.h>

 

字符输出函数putchar:

格式:putchar(c)

参数:c为字符常量,变量或者表达式

功能:把字符c输出到显示器上

返回值:正常,为显示的代码值

 1 #include<stdio.h>
 2 int main()
 3 {
 4   int c;
 5   char a;
 6   c = 65;
 7   a ='B';
 8   putchar(c);
 9   putchar('\n');
10   putchar(a);
11 }// A
B

格式输出函数printf

格式:printf("格式控制符",输出表)

功能:按照指定的格式向显示器输出数据

输出表:要输出的信息

格式控制符:包含两种信息

                 格式说明:%【修饰符】格式字符,用于指定输出格式

                 普通字符:原样输出

 1 static char a[]="hello world!"
 2 printf("%s\n",a);
 3 printf("%15s\n",a);
 4 printf("%10.5s\n",a);
 5 printf("%2.5s\n",a);
 6 printf("%.3s\n",a);
 7 //output 
 8 hello world!
 9       hello world!
10         hello
11 hello
12 hel

字符输入函数getchar

格式:getchar()

功能:从键盘读取一个字符

返回值:正常,返回读取的代码值;错误或者结束键盘输入,返回-1

 1 #include<stdio.h>
 2 int main()
 3 {
 4    int c;
 5    printf("enter a character:");
 6    c = getchar();
 7    printf("%c--%d-->hex%x\n",c,c,c);
 8    return 0;
 9 }
10 //output 
11 enter a character:A
12 A--65-->HEX41

格式输入函数scanf

格式:scanf("格式控制符",地址表);

功能:按照指定格式从键盘读入数据,存入地址表

存储单元中,按回车键结束

返回值:正常,返回输入数据个数

地址表:变量的地址,常用取地址符&

说明:

用"%c"格式符,空格和转义字符作为有效字符输入

例子:

1 scanf("%c%c%c",&c1,&c2,&c3);
2 /*若输入a b c 
3 则c1为a,c2为空格,c3为b*/

总结:在输入数据时,遇到以下情况认为数据结束:

遇到空格,TAB,或者回车

遇非法输入

遇宽度结束

例子:

1 ret = scanf("%d%c%f",&a,&b,&c);
2 /*
3  若输入1234a123o.26
4 则a为1234,b为‘a’,c为123
5 
6 */

************************************************如何处理输入函数留下的垃圾******************************************************

使用输入函数可能会留下垃圾

1 int x;
2 char ch;
3 scanf("%d",&x);
4 scanf("%ch",&ch);
5 printf("x=%d,ch=%c\n",x,ch);
6 //当输入第二次的时候,第一次的输入之后的回车被当作输入的字符

方法1:

用getchar()清除:

1 int x;
2 char ch;
3 scanf("%d",&x);
4 getchar();
5 ch = getchar();
6 printf("x= %d,ch =%c\n",x,ch);

方法2:

用格式串中空格或者“%*c”来吃掉

1 int x;
2 char ch;
3 scanf("%d",&x);
4 scanf("   %c",&ch);or scanf("%*c%c",&ch)

字符串输入函数:gets

格式:char * gets(char *s)

功能:从键盘输入一回车结束的字符串放入字符数组中,并且自动加'\0'

说明1:输入串长度应小于字符数组维数

说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志

1 int main( )
2 { 
3     char string[15];
4     printf(“Input a string:”);
5     gets(string);
6     printf(“%s\n”, string);
7     return 0;
8 }

字符串输出函数puts

‐格式: int puts(const char *s)
‐功能:向显示器输出字符串( 输出完,换行)
‐说明:字符数组必须以‘ \0’ 结束

1 #include <stdio.h>
2 int main( )
3 {
4      char string[80] = “How are you”;
5      puts(string);
6      return 0;
7 }
8 输入: How are you?
9 输出: How are you ?

 

posted @ 2016-05-21 17:06  自由石匠  阅读(470)  评论(0编辑  收藏  举报