C语言入门--输入和输出函数的运用

目录

一、C语言入门--输入和输出函数运用

1.0前言

1.1程序的初始结构

1.2输出Hello World

1.3计算加减乘除和余数

1.4字符与字符串

1.5计算进阶:输出与变量

总结:



一、C语言入门--输入和输出函数运用

1.0前言

我是第一次写博客,如果发现有错误或可以修改的地方请在评论区留言,你提的建议,我会第一时间阅读,然后尽快改正,作为我正式写的第一篇文章,这篇文章会经过多次大改,一点一点补充不足与缺口,当这篇文章准确无误后,我会开始写第二篇,第三篇,如果你看到这篇文章被修改或内容变了,属于正常现象。

关于编译器的选择,我使用的编译器是Visual Studio 2022,由于Visual Studio 2022使用了较新的scanf_s替代了旧的scanf函数,所以我需要添加一个定义让scanf能够使用,增加程序的可移植性,也让使用其它编译器的读者更好的阅读程序,在阅读程序时我们可以忽略第一行的定义。

1.1程序的初始结构

首先我们在编译器中创建了一个练习.c文件。

然后搭建了一个程序的基本框架。

在这个框架里面,#include的意思是包含,stdio.h是标准输入输出头文件,i -- input,o -- output,h -- head,它也是一个库文件,库文件的由来是因为程序员在开发过程中经常会用到某些功能,而编写这些功能又会花费大量的时间,所以各个编译器的厂商将这些功能编写成多个库文件,每个库文件里又包含多个库函数,提供给我们使用,提高了我们编程的效率。

main是一个函数名,它是我们的主函数,主函数是程序的入口,有且只有一个,当你的程序中出现多个main函数时,程序会报错,无法执行。

int是main函数的返回类型,这里返回的是整型(整数)的值,()里面是函数的参数。

在大括号里面的代码,叫做函数体,return 0表示程序正常退出,int的类型和return的返回值是一一对应的。

程序中//后方以及/*和*/之间的部分是注释,第一种注释只可注释一行,第二种可以注释多行,在创建程序中,应该用注释写下自己的思路,以供他人理解或自己回忆,注释不会被程序执行。

1.2输出Hello World

注意:1.使用printf函数需要包含stido.h这个头文件 2.建议给main加一个类型,并添加返回值,如图片上这样,这是标准框架。 3.不要忘记main函数后面的小括号()以及小括号后面的函数体大括号{}。 4.程序是在主函数的函数体{}里面开始执行的,不要放到函数体外面。 5.输出函数输出的数据需要双引号""引上。 6.语句以分号;结束,不要忘记分号。 7.不要将函数名打错。


演示了/* */注释的用法。

printf是一个库函数,作用是原样输出双引号里面的数据,用两个双引号"引起来的一串字符叫做字符串,字符串里不止可以放普通的字符,还可以放\n用于换行的转义字符,%d用于替换整型数据的占位符等,后面会专门介绍。

显示过程为:.c文件经过编译器生成对应的目标文件,多个目标文件和库文件经过链接器生成可执行文件,执行可执行文件显示输出的数据。

1.3计算加减乘除和余数

我们会用到的运算符号有+(加)号、-(减)号、*(乘)号、/(除)号、%(取余)号。

在C语言中,乘号被*这个符号代替,做除法运算时,如果是两个整数相除,结果会把多出来的余数消掉,然后取整数,取余运算则是把两个整数相除后,剩余的数值取出。

1.加法

注意:如%d输出整型,%f输出单精度浮点型等等,参数的数值类型以及位置顺序应该与占位符相对应


演示了//注释的用法。

上图中,占位符%d指定了输出的格式,它告诉程序以十进制显示后面对应的参数。printf的第一个参数是22+44的值,""与参数之间应该以逗号隔开。

这里是加法的输出结果。

2.减法

注意:如果n的前面忘记添加\或者添加了/都是不起作用的,无法换行,会被编译器当作字符串输出。


这里我们做了一个减法,并添加了一些数字和文字,以及一个\n转义字符,一个字符n的前面加上一个\,它的作用就变成了换行,我们也叫它换行符。那么它会有什么样的显示效果呢?我们下面来看。

可以看出与上面加法的显示比较,多了文字说明,通过显示可以知道输出的数字是什么了,多了一行空行,因为换行后没有输入任何数据,就会空出一行,如果你想在连续输入的数据中间空出一行,那么你需要两个换行符。

当计算结果为负数时,数字前面会自动添加负号。

3.乘法

注意:当有重复的输入时可以复制粘贴,但是要保证复制完整,避免丢了分号或其它。


这里是乘法运算,通过添加printf语句的数量,可以多行输出。

可以看到,两行之间并没有空出一行,说明前面提到想要在多行输入的中间空出一行,需要两个换行符是正确的。

4.除法

注意:1.如果%f的f前没有保留小数范围的话,默认是保留6位。 2.float类型要比double类型精度低,也就是实际的小数数量要少,如果你的得数是无限小数,那么请使用double。 3.小数必须包含小数点,否则不算小数。


除法和取余的计算需要重点讲解,在开头已经说过,C语言中除法的运算就是取整,所以第一个printf里的3/2,去除余数后是整数1,那么如何输出正确的计算数值1.5呢?

让我们看第二个printf里的3.0f/2,这里的3.0f表示一个单精度float型小数形式的数字,如果把f去掉,默认是双精度double类型小数形式的数字,输出float型时使用%f占位符,输出double型时使用%lf占位符,这两个的区别是小数点后面的取值范围,double是float的取值范围的两倍。这里的%.1f表示小数点后面保留一位小数,默认是保留6位小数。

如图所示,我们通过%f与给其中一个参数float型的值让得数显示正确。

5.取余

注意:%取余操作只能是整数,不能是任何小数。


前面我们提到取余操作最后的得数就是一个数除以另一个数剩下的余数,由此可得,第一个printf输出1,第二个printf输出0。

1.4字符与字符串

在键盘上可以敲出各种字符,如:a,G,#,1等,这些符号都被成为字符,C语言中字符是单引号括起来的,如:'a','G','#','1'。我们知道在计算机中所以的数据都是以二进制的形式存储的,如果我们每个人都给这些字符分别编一个二级制序列,也就是编码,数据不互通,会很混乱,所以后来美国国家标准学会(ANSI)出台了一个标准ASCII编码,C语言中的字符就遵循了ASCII的编码方式。

字符A~Z的ASCII码值从65~90,对应的小写字母是大写字母加上32,数字字符0~9的ASCII码值从48~57。

1.字符

注意:字符是用单引号括起来的,不是双引号。


定义了一个char字符类型变量a,%c用来输出字符,'G'单引号里面的字符原样输出,数字则是在ASCII编码中输出数字对应十进制的编码,可以在百度上查看,后续我也会写一篇关于这些资料的文章。

2.字符串

%s用来输出字符串,C语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串的结束标志。

1.5计算进阶:输出与变量

1.初始化变量

注意:1.常数不能被赋值。 2.每个变量都需要初始化,除了scanf输入的值。 3.变量名只能包括字母、数字、下划线_,变量名不能以数字开头,不能与关键字名字重复。 4.参数之间用逗号隔开


首先我们定义了两个整型变量a和b,并给它们进行了初始化,然后将a+b的值初始化给c,定义一个变量d,为它赋值0,最后以一个占位符一个空格的形式输出这四位数。

=并不是我们所熟悉的等于号,在C语言中,等于用==来表示,=是一个赋值运算符,作用是将右边的值赋给左边的变量。

变量的命名规则:变量名只能包括字母、数字、下划线_,变量名不能以数字开头,也不能和关键字的名字重复,变量名区分大小写,关键字包括数据类型,控制语句,存储数据等,具体可以在百度上查看。

初始化:在生成变量的时候放入数值,赋值:在已经生成的变量中放入数值。

2.浮点型与整型变量

 

注意:不要将占位符使用错误,如果将%f和%d全部换位,结果会全部为0。


这次使用了没有初始化的变量,并一次定义两个变量,两个变量之间用分号隔开,分别给每个变量赋值。

可以看到,整型变量C的小数部分被省略了,这是因为只有浮点型才能输出小数。

3.输入密码并确认

注意: 1..scanf的变量前面需要加上一个&号。


如图所示,scanf输入函数可以从键盘读取输入的信息。它和printf函数一样,通过%d来限制函数只能读取十进制数,因此,上述程序向计算机传达了这样一个命令:从键盘读取输入的十进制数,并把它保存在num中。另外,需要注意一点,与printf函数不同,在使用它的时候,变量前面必须加上一个特殊的符号&。

4.输入三个数求和

本次程序使用了puts函数,它和printf函数的区别是:puts会自动在结尾换行,但是不能进行格式化输出,也就是不能使用占位符与参数。

总结:

1.源程序不能直接执行,需要进行编译和链接,将变为可执行程序。

2.源程序中/*和*/之间的部分是注释,注释可以有多行,在创建程序中,应该用注释写下自己的思路,以供其他人理解

3.语句的末尾需要加上分号

4.表示换行符的转义字符是\n

5.要使用变量,需要声明变量的类型和名称

6.初始化:在生成变量的时候放入数值,赋值:在已经生产的变量中放入数值

7.一次声明多个变量时,用逗号分隔变量名

8.用于显示的函数有printf和puts

9.puts函数在输出字符后,还会输出换行符

10.使用scanf函数时,变量名前面要加上&

11.占位符%d指定了读取十进制数

12.进行乘法运算的符号是*号

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值