首页技术c语言基本知识(c语言零基础自学)

c语言基本知识(c语言零基础自学)

编程之家2026-05-231014次浏览

其实c语言基本知识的问题并不复杂,但是又很多的朋友都不太了解c语言零基础自学,因此呢,今天小编就来为大家分享c语言基本知识的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

c语言基本知识(c语言零基础自学)

c语言有哪些基础知识

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

扩展资料:C语言的字符串其实就是以'\0'字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。

它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

c语言基本知识(c语言零基础自学)

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

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

#include<stdio.h>

int main()

{

printf("Hello World

");

c语言基本知识(c语言零基础自学)

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

"。被双引号包裹的,我们认为它是一个字符串,以区别于数值。

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

2= 3;//错误

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

8. printf函数

#include<stdio.h>

int main()

{

printf("Hello World

");

return 0;

}

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

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

我们把字符串字面常量"Hello World

"传给了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

%d

",整型1,整型2);

//

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

printf("A=%d

B=%d

", 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】C程序

C语言程序结构有三种:顺序结构,循环结构(三个循环结构),选择结构(if和 switch)

【知识点2】main函数

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

【知识点3】存储形式

计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0或者1构成。 byte是指字节,一个字节=八个位。数据存放的位置就是它的地址。

【知识点4】注释

是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

【知识点5】书写格式

每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。

【知识点6】标识符

合法的用户标识符考查:

合法的要求是由字母,数字,下划线组成。有其它元素就错了。

并且第一个必须为字母或则是下划线。第一个为数字就错了。

C语言标识符分如下3类

(1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。

(2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。

(3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。

关键字不可以作为用户标识符号。main define scanf printf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。

【知识点7】实型数据

实型数据的.合法形式:小数形式和指数形式。掌握判定指数形式合法性。

2.333e-1就是合法的,且数据是2.333×10-1。

【知识点8】字符

字符数据的合法形式::

1是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

0的ASCII数值表示为48,a的ASCII数值是97,A的ASCII数值是65。

字符型和整数是近亲:

char a= 65;

printf(“%c”, a);得到的输出结果:a

printf(“%d”, a);得到的输出结果:65

一般考试表示单个字符错误的形式:65"1"

字符是可以进行算术运算的,记住: 0-0=48

大写字母和小写字母转换的方法: A+32=a相互之间一般是相差32。

【知识点9】整型数据

整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:

考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,

一样做题。掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。

【知识点10】转义字符

转义字符的考查:

在程序中 int a= 0x6d,是把一个十六进制的数给变量a注意这里的0x必须存在。

在程序中 int a= 06d,是一个八进制的形式。

在转义字符中,’x6d’才是合法的,0不能写,并且x是小写。

‘141’是合法的, 0是不能写的。

‘108’是非法的,因为不可以出现8。

【知识点11】算术运算

算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。

三种取整丢小数的情况:不是四舍五入是舍掉小数部分。

1、int a=1.6;

2、(int)a;

3、1/2; 3/2;

【知识点12】强制类型转换

将一个运算对象转换成指定类型,格式为(类型名)表达式

一定是(int)a不是 int(a),注意类型上一定有括号的。

注意(int)(a+b)和(int)a+b的区别。前是把a+b转型,后是把a转型再加b。

【知识点13】赋值

是表达式就一定有数值。

赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

复合赋值运算符:注意:a*=m+2是 a=a*(m+2)

自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5);

j=a++;等价于j=a;a=a+1;而j=++a;等价于a=a+1;j=a;。

考试口诀:++在前先加后用,++在后先用后加。

【知识点14】逗号运算

逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。

(2,3,4)的表达式的数值就是4。

【知识点15】数制转换

一定要记住二进制如何转换成十进制。

八进制是没有8的,逢8进1,018的数值是非法的。

文章分享结束,c语言基本知识和c语言零基础自学的答案你都知道了吗?欢迎再次光临本站哦!

最好用的编程语言 编程语言有哪几种怎么免费创建网站(怎么创建网站)