加载中...

c语言入门知识

前言

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。

简单概述:

  • 性能好
  • 学了这个之后学其他语言很简单
  • 最重要的是,大一下要上c语言的课,现在学了,下学期就可以摸鱼了🥰🥰

Hello World

#include<stdio.h> 
int main()
{
    /*在双引号中间输入Hello World*/ 
    printf("Hello World");
    return 0; 
}

可以看到我们运行上面的代码在黑框框里打印出来了Hello World。真的是太厉害了!!!🤗

但现在我们想一想为什么?

为什么我们把"Hello World"放在printf里面就可以打印出来呢?

这个printf是什么意思呢?

printf让我们在黑框框里打印文字的逻辑肯定不是我们来实现的呀,我们只是用了printf而已

那这个printf是从哪里来的呢,为啥就像是魔法或者是玄学一样,把"Hello World"放在printf里面就可以打印?

解答:

这个printf是从我们的第一行代码里引入的。printf这个魔法(正式名称是 函数)就是放在stdio.h这个头文件里的。

  • 分析一下stdio.h这个名字,stdio是standard input output 的缩写,后面的 .h 这个拓展名就是head的缩写。

现阶段我们可以简单的讲 头文件 理解为是一个给我们提供很多函数的一个库。

一般情况下我们的代码都要引入stdio.h这个头文件,因为它实在是太基础了

  • 分析一下printf这个名字,print打印,f是format格式化的缩写。即带格式的打印,这个带格式是啥意思后面会讲,请稍安勿躁

所以说我们将"Hello World"放在printf这个函数里面,我们只是去使用了printf这个函数,但真正将"Hello World"打印出来的代码是由stdio.h来提供的。

这就是头文件的重要性,我们可以去方便使用别人给我们提供的代码。

因为我们的精力和智商有限,所以很多时候我们不可能将所有的功能由我们自己来实现,而是去使用现存已有的代码。

c语言的具体结构

简单来说,一个C程序就是由若干头文件和函数组成。


include <stdio.h>就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。

函数就是实现代码逻辑的一个小的单元。

一个C程序有且只有一个主函数,即main函数。

C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。

printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息

return是函数的返回值,根据函数类型的不同,返回的值也是不同的。


良好习惯之规范

一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行。

函数体内的语句要有明显缩进,通常以按一下Tab键为一个缩进。

括号要成对写,如果需要删除的话也要成对删除。

当一句可执行语句结束的时候末尾需要有分号 ;

敲代码时一定要用英文输入法,因为中文输入法的标点符号和英文输入法的标点符号是不一样的🤢

注释

注释是写给程序员看的,不是写给电脑看的。

C语言注释方法有两种:

多行注释: 
/* 注释内容 
  1
  2
  3但是犯得上发生v

*/

单行注释: //注释一行

可以使用Ctrl + / 快捷键来注释


标识符(可以理解为名字)

  • 标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符不能是数字

  • 标识符最好选择有意义的英文单词组成做到"见名知意",不要使用中文。

  • 标识符不能是C语言的关键字(关键字后面会将,请稍安勿躁,知道有这个东西就行)

正确的标识符如:

  • abc
  • cz_666
  • czDSB
  • _cz_ccdsds

错误的标识符如:

  • 69sdf
  • @#dssf
  • 陈智哥哥666

好的标识符:

  • 名字叫 name
  • 比较长的标识符
    • 驼峰命名法: myNameIsCz 。即除了第一个单词的首字母不大写,其他单词的首字母都大写
    • 下划线命名法: my_name_is_cz

不好的标识符:

  • 名字叫 mingzi
  • 比较长的标识符 mynameiscz

变量及赋值

变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念。

变量定义的一般形式为:数据类型 变量名;

int a;

多个类型相同的变量:数据类型 变量名, 变量名, 变量名…;

int a,b,c;

变量的赋值分为两种方式:

  • 先声明再赋值

    int a;
    a=666;
    
  • 声明的同时赋值

    int a=666;
    

注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。

但在变量定义后是可以连续赋值的,比如这样:

  int a,b,c;
	a=b=c=5;

举个例子

#include<stdio.h> 
int main()
{
//	定义一个叫age的类型为int的变量,并给他赋值为3 
//	int 是 Integer的缩写,即整数的意思 
   	int age=3;
//   注意这里打印信息的格式有了一点变化
//  通过运行代码我们可以看到,age的数据在%d这个位置显示出来了 
//  所以我们可以得出一个结论,printf里面在第一个逗号后面的int类型的数据会被插入到%d这个位置
//  并且%d不会出现在最终的输出里。 
	printf("我的年龄是%d岁\n",age);
//	定义一个叫year的类型为int的变量	,并给他赋值为15  
	int year=15;
//	将age的值和year的值相加后赋值给age变量 
	age=age+year;
//	注意看这里有了2个%d,第一个逗号后面有了2个int类型的值,他是会根据顺序来插入数据的 
	printf("过了%d年,现在我的年龄是%d岁",year,age); 
    return 0; 
}

基本数据类型

C语言中,数据类型可分为:

我们现在先学基本类型

先列出最常用的几种基本类型:

整型数据是指不带小数的数字(即整数):

int 是4个字节,long int是8个字节

浮点数据是指带小数的数字:


需要注意的是上面的表格是我在网上找的。int 类型是根据编译环境的不同,所取范围不同。

我们使用的devc++中int是4字节的

读取数据

既然我们已经能把数据通过printf打印到黑框框(正式名称为 命令行)里,那我们是否能从黑框框里读取数据到变量里面呢?

当然可以!在这里我们依然是以int类型举例。

#include<stdio.h> 
int main()
{
//	定义一个叫age的类型为int的变量
   	int age;
   	printf("请输入你的age:");
//   读取int数据并放到age变量中 
  	scanf("%d",&age);
  	
	printf("我晓得你的年龄了\n");
		
	int year=66;
	printf("过了%d年,现在你的的年龄是%d岁",year,age+year); 
    return 0; 
}

scanf啥意思?

scan扫描,f是format格式的缩写

我们这就通过scanf获取到了我们输入到黑框框里的值。如果要读取多个值可以这样做

int a,b;

scanf("%d %d",&a,&b);

注意:

新手容易犯的错就是在scanf里面,变量是要在前面加一个&符号的

&符号就是取地址符号。

#include<stdio.h> 
int main()
{
	int a=666; 
	printf("a变量的地址是%d\n",&a);
	printf("a变量的值是%d",a);
    return 0; 
}

因为变量的值是存放在外面的内存里面的,每个变量在内存中的位置都不一样,就好比是我们的家庭住址

我们要把我们从黑框框里读到的值放到变量中,就要用&符号得到变量的地址,把读到的值放到这个地址中

就好比是知道了你家的地址之后才能把快递发到你家

posted @ 2023-04-19 15:29  zhajiangmian  阅读(179)  评论(0编辑  收藏  举报