2024/8/22第三次记录:第三章输入/输出与顺序结构

第三章输入/输出与顺序结构

3.1输入/输出函数
3.1.1 输出函数:printf,putchar() , puts()

输出函数指的是把指定的数据按指定的形式显示到屏幕上。

  1. printf:
    基本格式:printf(“输出格式字符串”,表达式1,表达式2,······,表达式n)
    “输出格式字符串”可以包含各种普通字符,以%开头的格式符(用于规定显示数据的类型和形式),以及以“ \ ”开头的转义字符。printf的功能是分别按从右至左的次序依次计算出表达式n,然后是表达式n-1,······最后是表达式1的值,替换“输出格式字符串”中对应的格式符,把替换后的字符串显示到屏幕上。
printf中格式符的功能
格式符功能对应表达式类型
%d 或 %i ;输出带符号十进制整数int
%ld输出十进制长整数long int
%o以无符号八进制形式输出整数int 或 unsigned int
%x以无符号十六进制形式输出整数int 或 unsigned int
%c输出单个字符char,int
%s输出字符串地址,即 char*
%f输出十进制实数float 或 double
%e以科学计数法的形式输出实数float或double

如果要显示一个普通字符“%”,为了避免printf把它当成格式符的开始符号,必须写成“%%”。

printf的格式化输出:

  • %Xd和%-Xd格式符,用X格显示整数,如果待显示的整数不足X格则左补(%-Xd为右补)空格补齐X格,如果待显示整数超过X格则忽略格数的规定。正号表示右对齐,负号表示左对齐。
  • %A.Bf和%-A.Bf格式符,用A格、小数点后取B位的方式显示实数,如果待显示的实数不足A格则左补(%-A.Bf为右补)空格补齐X格,如果待显示整数超过A格则忽略格数的规定。小数点后取B位时,对第B+1位进行四舍五入。当B为0时,表示显示与该实数最接近的整数。正号表示右对齐,负号表示左对齐。
  1. putchar():
    无论是字符型常量还是字符型变量,在输入/输出时都会设计字符的形状和字符ASCII码值这两个方面的问题。“显示一个字符”与显示一个字符的ASCII码值”是两个不同的概念,也有着完全不同的效果。在标准输出函数printf的“输出格式字符串”中,%c表示显示字符的形状,%d表示显示字符的ASCII码。
    C语言系统为显示单个字符设置了一个专用的函数putchar,其使用格式如下:
putchar(表达式);

等效于 :

printf(“%c”,表达式);

  1. puts():
    puts函数用于将字符串输出到标准输出设备(遇到“ \0 ”即止),并自动追加换行符。
    使用格式:puts(指向字符数组的指针);
3.1.2 输入函数:scanf,getchar(),gets()

输入函数是指能够在程序执行过程中从键盘读入数据,并按指定的类型存放到内存指定的位置。

  1. scanf:
    基本格式:scanf(“输入格式字符串”,地址1,地址2,······,地址n);
    "输入格式字符串"可以包含以%开头的格式符,也可以包含各种普通字符,一般不含转义字符,也不在格式符中指定输入数据的宽度。但对于格式串中的普通字符,在输入时必须原样输入,不得有任何更改。各个地址的参数是“ &变量 ”的形式或者 指针 。注意:在格式串中连续出现多个表示数值的格式符(%d、%f、%lf等)时,输入以空格作为分隔符;连续出现%c格式符时(1个汉字在C语言中是两个符号),中间不得有包括空格在内的任何其它符号。
scanf中格式符的功能
格式符功能对应的变量类型
%d输入十进制整数,以带有符号整数的形式存放int
%ld输入十进制整数,以长整数的形式存放long int
%c输入单个字符char
%s输入字符串字符数组
%f输入实数,以单精度的形式存放float
%lf输入实数,以双精度的形式存放double
  1. getchar():
    C语言系统为输入单个字符设置了一个专用的函数getchar,其使用格式如下:
字符型变量 = getchar();
  1. gets():
    除了用scanf,以%s接收字符串之外,还可以使用gets函数更方便的接收字符串。注意:gets不会检查输入的字符串长度,即可能超出字符串数组的长度造成内存溢出,这其实也是gets函数不安全的原因。
    使用格式:gets(指向字符数组的指针);
3.2 顺序结构的基本流程

在计算机系统中,按语句编写的自然顺序逐条执行即为顺序结构。在顺序结构中,语句是从上至下一条条执行的。C语言程序一般由三部分组成,它们分别是预处理命令部分,主函数部分及自定义函数部分。

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值