C语言基础语法入门:掌握printf函数与变量使用
c语言printf语法
1、打印函数调用格式为:printf(,)。2、格式字符串由两部分组成:一部分是普通字符,按原样输出,另一部分是格式化指定字符,以%开头,后跟一个或多个指定字符,用于确定格式文件。
输出内容。
3、参数表中需要输出的连续参数个数必须与格式字符串中指定的输出参数个数相同,且顺序必须一一匹配,否则会出现意外错误。
10分钟了解C语言基本语法知识
我想您已经看到第一个示例代码的效果了。
该程序实现的效果非常简单:在屏幕上打印一行“HelloWorld”。
#include
intmain()
{
printf("HelloWorld\n");
return0;
根据这一小段代码,我们可以学习一些C语言的基本语法知识。
1.主函数
首先主函数是main,一个标准的主函数,如下:
intmain()//这是主函数
{
返回0;//main函数的返回值
}
main是main也是最重要的意思,在C语言中,它代表一个main函数(我们会讨论什么是函数。
计算机语言的含义以及main函数在C语言程序中的含义。
)
双斜杠后面是注释,以给出更具描述性的隐喻。
评语类似于老师对作业本的评语。
注释一般用来表明这段代码的目的或者解释思路等。
因为注释不会编译为代码,所以无论添加什么注释,对代码的实际执行没有任何影响。
上面的代码中,用注释来标记main函数在哪里,以及函数的返回值在哪里。
2.什么是函数?
首先我们来谈谈什么是函数。
在大家的认知中,函数是数学领域的名词。
它可能如下图所示:
但是,这只是数学领域的函数,与编程语言中的函数完全不同。
在编程语言中,函数可以被认为是一个字段:
当执行开始时,可以在函数中输入一些值
00002。
在执行期间,该函数可以执行一些操作
00003。
执行完成后,函数可以返回一些值。
我们来看看我们的主函数Properties他们做了什么?
00001。
main函数没有输入任何东西
00002main函数在屏幕上输出一行字
00003
其中int表示返回值类型函数的缩写,int是整数(integer)的缩写。
Main是函数名,main后面的括号()是输入参数,目前为空。
return后面是函数的返回值,为0。
而0是一个整数,对应函数名前面的int。
我们来总结一下函数的编写公式。
函数返回值类型函数名(函数输入参数值)
{
做某事
返回函数值</;p>
}
3.编写自己的函数
我们不妨趁热打铁,根据上面的公式编写一个函数,将两个整数相加。
该函数需要执行以下操作:输入两个整数并返回它们相加的结果。
由于这个函数是用来计算加法的,所以我们称之为函数add。
当然,自定义函数的函数名可以随意写,哪怕是写成aaaaa。
但为了使函数名语义化,更容易阅读和理解,我们一般使用英文作为函数名。
//这段代码作为Add函数的函数定义表示
intadd(inta,intb)
{
returna+b;
好吧,那么我们已经完成了添加函数的编写。
这段代码称为Add函数的函数定义。
4.main函数是访问整个C语言程序
上面我们定义了一个add函数。
我们如何使用它们?add函数可以直接执行吗?
答案是否定的。
所有的C语言代码都有一个起始入口,这个入口就是主函数main。
进入main函数后,可以通过main函数调用其他函数。
这也意味着每一段C语言代码只能有一个且只有一个main函数。
我们稍微更改了代码,现在代码如下所示。
#include
intadd(inta,intb)
{
returna+b;
intmain()
{
intresult;
result=add(2,3);
printf("%d",Result);
return0;
程序执行时,首先调用主函数main。
然后调用我们刚刚写的add函数。
我们向add函数传递了两个值,即整数2和3。
函数的定义规定,如果我们调用时传递两个参数,也必须传递两个参数,且类型必须一致,否则编译时会报错。
当然我们会问自己:谁调用了main函数?main函数的返回值必须是int吗?
main函数在程序启动时自动调用。
没有必要在程序内主动调用main函数。
main函数的返回值返回给调用这个程序的程序。
C语言标准要求main函数有返回值,并且必须是int。
当程序正常结束时,返回值一般设置为0。
5.要调用函数,首先必须了解该函数。
让我们看看编译器如何理解添加标识符。
编译器从代码开始,按照从上到下的顺序读取代码。
编译器首先看到一个函数定义,它描述了一个名为“add”的函数。
接下来需要在main中使用add。
由于编译器已经知道add的定义,所以可以正常编译。
但是如果函数定义和函数调用交换了怎么办?
当编译器最初看到添加ID时,它会感到困惑。
什么是添加?编译器无法理解add是什么。
因此,编译器会抛出错误并停止编译。
6.什么是变量?
Add函数计算完成后,必须有一个东西接受Add返回的值。
因此,我们在相加之前先声明一个int变量。
什么是变量?您可以将其视为一个空字段,可以包含相同类型的任何其他值。
结果只是我们给它起的一个名字。
当然,您可以给它起任何您想要的名称。
比如你可以叫他“他”或者“祥子”。
我们将add返回的5添加到结果中。
因此,结果中包含的值为5。
=等号是C语言中的赋值运算符。
我想你已经发现它的功能是将右边的值加载到左边的变量中。
与函数一样,这里的等号与数学中的等号有很大不同。
这并不意味着相同。
赋值运算符是将符号右侧的值放入变量中的运算符可以在左侧加载。
下图展示了Add函数接受2和3作为输入,返回5,并将分配的数字=赋值给结果的过程。
可以这样写吗?消除侮辱。
intmain()
{
result=add(2,3);
printf("%d",结果);
return0;
答案是否定的,变量必须先声明后使用。
如果编译器看到结果标识符但没有看到结果的定义,它肯定会想知道它是什么类型的变量。
甚至可能它不是一个变量而是一个函数。
不幸的是,这样编译器只能给出编译错误信息并停止编译。
intresult;
您需要声明一个名为result的变量,并按上面的方法类型为int。
接下来,编辑器可以将结果标识符记录为int类型的变量。
在下面的代码中,您可以轻松使用此结果变量。
7.什么是字面常量?
那么像2和3这样的值需要声明吗?
不,它们是常量,无法更改。
一旦它们被写入,就已经知道它们是整型常量。
同样,字符串文字也不需要声明,例如:“HelloWorld\n”。
用双引号括起来,我们将其视为字符串,以将其与数值区分开来。
变量可以通过赋值来改变,但常量不能改变,因此不能给它们赋值。
2=3;//错误
"Hello"="World";//错误
8.printf函数
#include
intmain()
{
printf("HelloWorld\n");
return0
}
现在你应该明白这段代码的大部分含义了。
让我们更进一步来分析一切。
.
和add一样,printf也是一个函数,只不过这不是用户自定义的函数,而是系统自带的函数。
我们将字符串“HelloWorld\n”传递给printf函数。
当我们运行代码时,我们会在屏幕上看到这一行字符。
显然,printf函数的作用就是将字符串输出到控制台。
Printf由单词print(打印)和单词format(格式)的第一个字母f组成,表示格式化打印。
早期,计算机输出主要依靠连接打印机在纸上打印字符。
今天,大多数计算机输出都是在屏幕上实现的。
不过,字样却被保留了下来。
有时,当我们实际做的是将屏幕上的字符输出到控制台时,我们会使用术语“打印”。
printf函数的其他用途
intmain()
{
intresult;
result=add(2,3);
printf("%d",result);
return0;
}
我们来比较一下再次输入这两段代码。
当我们编写HelloWorld时,我们只向printf传递了1个参数。
但是为什么我们可以在add函数之后传递2给它呢?函数定义的参数个数和类型必须与调用函数时的参数个数和类型一致吗?
Printf是一个非常特殊的函数。
它是一个具有可变参数的函数,因此可以接受可变数量和类型的输入参数。
这里我们不需要太担心如何编写带有可变参数的函数,我们现在只需要使用它即可。
通过下面的例子,我们可以很容易地看到更多可能的用途了解printf函数。
用于打印整数:printf("%d",integer);
printf("%d",12345);
用于打印使用两个整数:printf("%d\n%d\n",integer1,integer2);
//\n表示换行符,表示从下一行开始,继续打印
printf("A=%d\nB=%d\n",123,456);
我们总结一下printf的公式:
printf("XXX占位符1XXX占位符2XXX占3",替换1,替换2,替换3);
printf的第一个参数必须是字符串(用双引号括起来)。
其中,占位符用%类型表示。
示例:整数类型的占位符是%d。
后续的替换参数依次替换前面的占位符。
printf是一个变长参数函数。
只要第一个字符串参数占位符写得正确,后面就可以添加任意数量的替换参数。
9.#include命令
printf函数不是我们定义的函数,而是系统自带的函数。
该函数写在stdio.h文件中。
如果我们想使用printf,首先需要让编译器理解printf。
我们假设printf函数定义写在stdio.h文件中。
可以使用#include命令将stdio.h文件中的代码复制到我们的代码中。
TIPS:printf函数不在stdio.h中定义,但包含了printf函数的函数声明。
不过,此时,你可以明白printf的函数定义是写在stdio.h中的。