惧留孙网

juliusun.com

在线教程 > C语言教程 > 基本输入输出

基本输入输出

第 7/50 节 冥河C语言教程


表达式、变量、常量等值可以通过printf函数输出。printf用法如下:

printf( 格式控制 , 参数列表 );

参数列表用逗号分隔,可以为空,格式控制是字符串,用双引号引起来。比如要输出Hello World!,代码如下:


  1. printf("Hello World!") ; //输出Hello World!

为了使代码能运行,我们把整个程序代码补充完整


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. printf("Hello World!") ; //使用printf输出Hello World!
  5. getchar( ) ; //使程序暂停一下,方便查看结果,不必关注,下面有讲解
  6. return 0;
  7. }

运行效果类似如下图:

Hello World!

printf格式控制字符串中,可能通过格式声明,来输出其它信息,如用%d来输出整数,用%c输出字符。格式声明由百分号%加格式字符组成。带有百分号的按格式输出,不带百分号的原样输出。常用格式声明列表如下:

格式控制字符描述
%d10进制输出整数,一般输出int类型
%数字d至少占用"数字"个字符位,不足则前补空格,其它与 %d 相同
%i10进制输出整数,一般输出int类型,同%d
%l输出长整型,一般输出long类型,也可写作 %ld
%数字l至少占用"数字"个字符位,不足则前补空格,其它与 %l 相同
%o以8进制输出整数
%x以16进制输出整数,a-f以小写形式输出
%X以16进制输出整数,A-F以大写形式输出
%u输出无符号整数,一般输出unsigned int类型
%c输出字符,一般输出char类型
%s输出字符串
%f输出单精度浮点型,一般输出float类型
%数字.数字f第一个"数字"代表整个数字至少占用位数,第二个"数字"代表小数点位数,其它同%f
%lf输出双精度浮点型,一般输出double类型
%数字.数字lf第一个"数字"代表整个数字至少占用位数,第二个"数字"代表小数点位数,其它同%lf
%e以指数形式输出实数,e小写
%E以指数形式输出实数,E大写
%%百分号

表格内容不需要刻意背诵,需要时查询即可。

使用printf时,格式声明顺序和类型要与参数列表对应项相同。以下面代码为例:


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. int x = 19;
  5. printf("%s %d %c %f" , "Mary" , x , 'c' , 1.7) ;
  6. /*第一个格式声明%s会被替换为第一个参数字符串"Mary"
  7. 第二个格式声明%d会被替换为第二个参数int类型变量x的值
  8. 第三个格式声明%c会被替换为第三个参数char类型的'c'字符常量
  9. 第四个格式声明%f会被替换为第四个参数常量 1.7*/
  10. getchar( ) ; //使程序暂停一下,方便查看结果,不必关注,下面有讲解
  11. return 0;
  12. }

格式声明和参数类型不符合时,可能会输出错误的内容。

输入我们常用scanf函数。scanf使用方法与printf类似,用法如下:

scanf( 格式控制 , 地址列表 );

scanf只能变量来接收用户输入数据,因为变量是记录可变信息的,是可以改变的。常量或表达式值是确定的,无法改变,所以不能接收用户输入数据。

格式控制字符串使用方法和printf函数类似。

scanf 函数的格式控制字符串中的非格式控制字符,需要原样输入。

scanf 函数用回车表示一次输入完成。

scanf 函数在回车输入完成后,发现输入信息不完整,会要求用户继续输入,直接用户输入回车并确认完整。

地址列表,就是在每个接收数据的变量前加个取地址符&,其它的和printf很类似,如下例子,输入两个数,输出两个数之和。


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. int a , b;
  5. scanf("%d %d", &a , &b); //让用户输入两个数,用空格分隔,注意,不要忘记变量前的取地址符 &,printf 不需要取地址符
  6. printf("%d + %d = %d\n", a , b , a+b ) ; //输出两个数a,b及a、b之和 \n 转义字符,换行
  7. getchar( ) ; //使程序暂停一下,方便查看结果,不必关注,下面有讲解
  8. getchar( ) ; //使程序暂停一下,部分编译器由于输入原因,调用一次getchar()仍不会暂停
  9. return 0;
  10. }

运行后输入9空格 (空格不是格式控制字符,需要原样输出,不能用逗号等代替) 和12,运行效果类似如下图:

Hello World!

再介绍一个用户输入函数getchar,这个函数返回用户输入的字符,为char类型,使用时类似如下:


  1. #include<stdio.h>
  2. int main( )
  3. {
  4. char c;
  5. c = getchar( ); //将用户输入的字符赋值给变量c
  6. return 0;
  7. }

上面printf和scanf函数调用了getchar函数,意义是通过等待用户输入,达到程序暂停的目的,防止窗口一闪而过,无法查看输出结果。vc6等编译器调试时自动暂停,可以省略。命令行执行程序时同样能查看输出结果,也可省略。

没有合适的编译器,可点击 编译器下载地址

作者:冥河 QQ:3304576112
交流QQ群:554701039 C语言讲课群
本教程内容由本站保留版权,请勿复制传播
抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的