10分钟了解C语言基本语法知识

网上有关“10分钟了解C语言基本语法知识”话题很是火热,小编也是针对10分钟了解C语言基本语法知识寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够...

网上有关“10分钟了解C语言基本语法知识”话题很是火热,小编也是针对10分钟了解C语言基本语法知识寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

相信你已经看到了第一个示例代码的效果了。这个程序所实现的效果很简单,就是在屏幕上输出了一行字符"Hello World"。

#include <stdio.h>

int main()

{

printf("Hello World\n");

return 0;

}

我们根据这一小段代码,借此了解一些C语言的基础语法知识。

1. 主函数

首先,主函数main,一个标准的主函数如下:

int main() ?// ?这是主函数

{

return 0; // ?主函数返回值

}

main翻译成中文是主要的、最重要的意思,而在C语言里面表示一个主函数。(稍后我们会讨论什么是计算机语言里面的函数,以及主函数在C语言程序中的存在意义。)

双斜杠后面的为注释,打一个比较形象的比喻,注释就类似于老师在作业本上的批注。

一般来说,注释用于标注这段代码的用途或解释思路等。因为注释不会被当做代码进行编译,所以无论添加什么注释内容,都不会对代码的实际运行产生任何影响。

如上代码中,用注释标出了哪里为主函数,哪里是函数的返回值。

2. 什么是函数?

我们先谈谈什么是函数?在大家的认知里面,函数是数学领域的一个名词,它可能是如下图所示:

但是,这只是数学领域中的函数,与编程语言中的函数完全不同。

在编程语言里面,你可以把函数看做一个盒子,这个盒子有如下几个特性:

00001.?开始执行时,函数可以被输入一些值

00002.?执行过程中,函数可以做一些事情

00003.?执行完成后,函数可以返回一些值

让我们看看我们的这个主函数,在这3个特性上,分别做了什么。

00001.?主函数什么都没有输入

00002.?主函数打印了一行字到屏幕上

00003.?主函数返回了0

其中,int表明了函数的返回值类型,int是integer(整数)的缩写。

main是函数名,main后面的括号()内为输入参数,目前为空。

return后跟函数的返回值,为0。而0是一个整数,和函数名前面的int对应。

我们总结一下函数的写法公式。

函数返回值类型 函数名(函数输入参数值) ?

{

做点什么事情

return 函数返回值;

}

3. 写一个自己的函数

我们不如趁热打铁,根据上面的函数写法的公式,写一个两个整数加法的函数。这个函数需要做到:输入两个整数,返回他们相加的结果。

这个既然这个函数是用于计算加法的,我们把函数名取名为add。当然自定义函数的函数名可以按照自己的喜好来写,就算写成aaaaa也行。不过,为了函数名拥有语义化,方便人阅读理解,我们一般使用英文来作为函数名。

// ?这一段代码被称之为add函数的函数定义

int add(int a, int b)

{

return a+b;

}

好的,那我们写完了一个add函数了。这一段代码被称之为add函数的函数定义。

4. 主函数是整个C语言程序的入口

上面我们已经自己定义好了一个add函数,那我们需要怎样来使用它呢?add函数能直接运行嘛?

答案是不行的。

所有的C语言代码都有一个起始入口,而这个入口就是主函数main。进入了主函数以后,才能经由主函数来调用其他函数。

这也意味着,每个C语言代码,只能有且只有一个main函数。

我们把代码稍微修改,现在代码如下。

#include <stdio.h>

int add(int a, int b) ?

{

return a + b;

}

int main()

{

int result;

result = add(2, 3);

printf("%d", result);

return 0;

}

当程序运行时,首先会进入主函数main。接着调用我们刚刚编写的add函数了。我们传了2个值分别是整数2和3给add函数。

函数的定义中规定,传2个参数,我们调用的时候,也必须传2个,并且类型也需要一致,否则编译会报错。

那么自然地,我们会想到,主函数是被谁调用的?主函数的返回值必须是int吗?

主函数在程序开始的时候被自动调用,不需要在程序内主动调用主函数。

而主函数的返回值会返回给调用这个程序的程序。

C语言标准中规定主函数有返回值且必须是int。如果程序正常结束,一般将返回值设置为0。

5. 要调用函数,必须先知道函数。

我们再来看看,编译器是怎么理解add这个标识符的。

编译器会从代码开始,按照从上往下的顺序阅读代码。

编译器首先看到了一个函数的定义,描述了一个叫add的函数。接着,在main中需要使用add,由于编译器已经知道了add的定义,因此编译器可以正常编译通过。

但是,如果将函数定义和函数调用反过来呢?

首先,编译器看到了add标识符,编译器会很疑惑,add是什么呢?编译器无法理解add究竟是什么。因此,编译器将报错,并停止编译。

6. 什么是变量?

在add函数计算完毕之后,需要有一个东西来接受add返回回来的值。所以,我们在add前面声明了一个int整型的变量。

什么是变量呢?你可以把它看做一个空箱子,里面可以装任何其他的和它类型一致的值。

result只是我们给它起的一个名字,当然,你可以任意起名。比如叫he,叫xiangzi,都可以。

我们把add返回回来的5,装进了result。因此,result里面装着的值是5了。

=等号,在C语言中是赋值运算符,相信你已经发现它有把右边的值装进左边变量的功能了。和函数一样,这里的等号和数学里面的等号,也是有很大不同的,它并不是相等的意思。

赋值运算符,是能将符号右边的值,装进左边的变量的一种运算符。

下图就是add函数接受2,3为输入,返回5,被赋值号=赋值给result的流程了。

那我们能不能这样写呢?去掉int result;这一条。

int main()

{

result = add(2, 3);

printf("%d", result);

return 0;

}

答案是不行的,变量必须先声明后使用。

编译器看到result标识符,但是从未见过result的定义时,肯定也会疑惑它究竟是个什么类型的变量,甚至它有可能不是变量而是一个函数。这样,编译器只能遗憾得给出一个编译错误的提示,并结束编译了。

int result;

你必须像上面这样,声明有一个变量,名字叫result,类型是int。接下来,编辑器就能记下result标识符为一个int类型的变量。在后面的代码中,即可愉快地使用这个result变量了。

7. 什么是字面常量?

那么,像2,3,这种数值,需不需要声明呢?

不需要,他们是常量,无法被更改。并且一旦被写出来,就已经知道它们是整型的常量了。

同样的,字符串字面常量也不需要被声明,例如:"Hello World\n"。被双引号包裹的,我们认为它是一个字符串,以区别于数值。

变量我们可以通过赋值来更改,常量不能更改,所以你不能对它进行赋值。

2 = 3; // ?错误

"Hello" = "World"; // ?错误

8. printf函数

#include <stdio.h>

int main()

{

printf("Hello World\n");

return 0;

}

现在,你应该明白了这段代码的大部分含义了。我们再进一步,把它全部解析完。

和add一样,printf也是一个函数,但是这个并不是一个自定义函数,而是一个系统自带的函数。

我们把字符串字面常量"Hello World\n"传给了printf函数。运行代码时,我们在屏幕上看到了这行字符。显然,printf函数的作用就是将字符串输出到控制台上了。

printf由单词print(打印)和单词format(格式)的首字母f组成,意为格式化打印。

在早期,计算机的输出主要是靠连接打印机将字符打印在纸张上。而如今,计算机的输出大部分都在屏幕上实现。但是print这个词却被保留了下来。有时候我们会沿用打印这种说法,而实际上,我们是在屏幕上的控制台中输出字符。

printf函数更多用法

int main()

{

int result;

result = add(2, 3);

printf("%d", result);

return 0;

}

让我们再次比较两段代码,我们写Hello World时只传了1个参数给printf,但为什么在add函数后却能传2个给它呢?函数定义的参数个数和类型需要和函数调用时候的保持一致吗?

printf是一个很特别的函数,它是一个变参函数,所以可以接受可变数量和类型的输入参数。这里我们无需太过关心怎样写一个可变参数函数,暂时只需要使用它即可。

通过如下示例,我们可以简单了解printf函数的更多用法。

用于打印一个整数:printf("%d", 整型);

printf("%d", 12345);

用于打印两个整数:printf("%d\n%d\n", 整型1, 整型2);

// \n表示换行,就是从下一行开始再继续打印

printf("A=%d\nB=%d\n", 123, 456);

我们来总结一下printf的公式:

printf("XXX占位1 XXX 占位2 XXX占位3", 替换1, 替换2, 替换3);

printf的第一个参数必须是字符串(被双引号包括)。其中,占位用%类型表示。例如:整型的占位符为%d。后面的替换参数,会依次替换前面的占位。printf是一个变长参数函数,只要第一个字符串参数占位符写对了,后面可以加任意多的替换参数。

9. #include命令

printf函数并不是我们定义的函数,而是系统自带的函数。这个函数被写在文件stdio.h中,我们要使用printf就必须先让编译器理解printf。

我们假定printf的函数定义写在文件stdio.h中,用#include命令,可以将文件stdio.h的代码复制到我们的代码中。

TIPS:stdio.h里面并未定义printf函数,但是它里面有printf函数的函数声明。但是,在当前阶段里面,你可以理解为stdio.h里面,写了printf的函数定义。

c语言基础知识必背是什么?

C语言重要知识点,记得背会

一、总体上必须清楚的:

1.程序结构是三种:顺序结构 、选结构(分支结构)、循环结构。

2.读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。

3.计算机的数据在电脑中保存是以二进制的形式,数据存放的位置就是他的地址。

4.bit是位 是指为0或者1。 byte是指字节,一个字节 =八个位。

二、概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、define P 3.1415926;这个写法是错误的,一定不能出现分号。

3、每个C语言程序中main函数是有且只有一个。

4、在函数中不可以再定义函数。

5、算法:可以没有输入,但是一定要有输出。

6、break可用于循环结构和switch语句。

7、逗号运算符的级别最低,赋值的级别倒数第二。

第一节、对C语言的基础认识

1、C语言编写的程序称为源程序,又称为编译单位。

2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。

3、一个C语言程序有且只有一个main函数,是程序运行的起点。

第二节、熟悉vc++

1、VC是软件,用来运行写的C语言程序。

2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---a.obj---a.exe)这个过程中注意,c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)

第三节、标识符

1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。

2、标识符分为关键字、预定义标识符、用户标识符。关键字: 不可以作为用户标识符号。main definescanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为if中的第一个字母大写了,所以不是关键字。

3.预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。

4.用户标识符:基本上每年都考,详细请见书上习题。

第四节: 进制的转换

十进制转换成二进制、八进制、十六进制。二进制、八进制、十六进制转换成十进制。

第五节: 整数与实数

1.C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)

a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。

b、C语言中的十六进制规定要以0x开头。

2.小数的合法写法: C语言小数点两边有一个是零的话,可以不用写。1.0在C语言中可写成1,0.1在C语言中可以写成.1。

3.实型数据的合法形式

a、2.333e-1 就是合法的,且数据是2.333x10-1。

b、考试口诀:e前e后必有数,e后必为整数。请结合书上的例子。

4.整型一般是4个字节,字符型是1个字节,双精度一般是8个字节。long int x;表示x是长整型。unsigned int x;表示x是无符号整型。

c语言基础知识必背有c语言的命名、变量及赋值、基本数据类型、格式化输出语句、强制类型转换、常量、自动类型转换等。

如C语言程序的结构认识:任何一个c语言程序都必须包括以下格式:main() { }。这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。

main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。

在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=35。

C程序的生成过程

C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。源程序的扩展名为 .c ,目标程序的扩展名为 .obj , 可执行程序的扩展名为 .exe 。

关于“10分钟了解C语言基本语法知识”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[喜梓轩]投稿,不代表爱之讯立场,如若转载,请注明出处:https://taoyi360.cn/zsbk/202412-774.html

(37)

文章推荐

  • 必看教程“欢聚水鱼免费怎么开挂”(确实是有挂)-知乎

    您好:欢聚水鱼免费怎么开挂这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微信】

    2024年12月15日
    26
  • 必看教程“家家乐牌吧破解”确实真的有挂

    您好:家家乐牌吧破解这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微信】安装软

    2024年12月15日
    23
  • 推荐一款“小程序微乐海南麻将可以装挂吗”其实确实有挂

    小程序微乐海南麻将可以装挂吗小程序是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微下载使用。小程序微乐海南麻将可以装挂吗可以一键让你轻松成为“必赢”。其操作方式十分简单,打开这个应用便可以自定义大贰小程序系统规律,只需要输入自己想要的开挂功能,一键便可以生成

    2024年12月18日
    20
  • 给大家推荐一款“微信麻将小程序开挂教程”其实确实有挂

    亲,微信麻将小程序开挂教程有没有挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【】安装软件. 微信打麻将是

    2024年12月20日
    19
  • 给大家推荐一款“哈灵麻将外卦神器免费版”其实确实有挂

    您好:哈灵麻将外卦神器免费版这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微信

    2024年12月24日
    17
  • 玩家必备攻略“微乐内蒙麻将怎样设置好牌”分享装挂技巧步骤

    您好:微乐内蒙麻将怎样设置好牌这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中微

    2025年01月11日
    13
  • 玩家实测“手机红中麻将怎么让系统给你发好牌(原来真的有挂)

    亲,手机红中麻将怎么让系统给你发好牌有没有挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【】安装软件. 微

    2025年01月11日
    15
  • 推荐十款!微乐跑得快如何让系统发好牌”原来真的有挂-知乎

    您好:微乐跑得快如何让系统发好牌这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中

    2025年01月13日
    7
  • 2分钟秒懂!哈灵麻将斗地主助赢神器(原来真的有挂)

    亲,哈灵麻将斗地主助赢神器有没有挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【】安装软件. 微信打麻将是

    2025年01月13日
    8
  • 安装程序教程!手机打牌网十三道专用神器下载(怎么打才会赢)

    您好,安装程序教程!手机打牌网十三道专用神器下载(怎么打才会赢)这款游戏可以开挂的,确实是有挂的,需要了解加微很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的

    2025年01月23日
    3

发表回复

本站作者后才能评论

评论列表(4条)

  • 喜梓轩
    喜梓轩 2024年12月11日

    我是爱之讯的签约作者“喜梓轩”!

  • 喜梓轩
    喜梓轩 2024年12月11日

    希望本篇文章《10分钟了解C语言基本语法知识》能对你有所帮助!

  • 喜梓轩
    喜梓轩 2024年12月11日

    本站[爱之讯]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 喜梓轩
    喜梓轩 2024年12月11日

    本文概览:网上有关“10分钟了解C语言基本语法知识”话题很是火热,小编也是针对10分钟了解C语言基本语法知识寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够...

    联系我们

    邮件:爱之讯@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们