C语言基础day1

1、软件环境

Vmware

虚拟机,linux系统

toStuUbuntu .rar

linux系统,ubuntu发行版。解压缩,使用VMWare打开。

在这里插入图片描述

2、vim 编辑器

对文件的操作:

1.编辑文件(写代码)

vi C语言源文件文件名

vi test.c 文件名不能有中文

vi 是linux下的一个文本编辑器,通过vi命令使用文本编辑器。

如果文件不存在,新建文件。如果文件存在,直接打开。

.c是C语言的文件的后缀。

2.编译文件(把代码翻译成机器码)

gcc test.c

gcc是我们使用的编译器,使用命令gcc能够运行gcc编译器。

test.c是我们要编译的C语言源文件的名字。
在这里插入图片描述

什么都没有说明编译成功。

3.执行文件

./a.out 运行刚刚编译好的程序
在这里插入图片描述

运行程序

编辑器的使用

i 键: 进入vi编辑器的编辑模式。当按i之后,屏幕左下角会出现instert。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3NuWyFwx-1645612890554)(C:\Users\mudonghai\Desktop\作业\img\image-20220105132419890.png)]

使用命令时,要保证是英文输入法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HGIisEIS-1645612890555)(C:\Users\mudonghai\Desktop\作业\img\image-20220105132521933.png)]
ctrl+空格 或者 直接按shift

esc 键: 退出输入模式
在这里插入图片描述

instet没有了,说明已经退出了输入模式

切换输入法:

ctrl+空格 或者 shift

底行模式的常用命令

:wq 在这里插入图片描述
保存并退出编辑器

:q! 强制退出

:wq! 强制保存退出

3、hello world代码示例讲解:

#include <stdio.h>
//# 预处理  在编译之前做处理
//编译:计算机看不懂我们写的C语言代码,将我们的C语言代码翻译成计算机能看懂的机器码
//include 包含头文件
//为了做声明,声明就是向编译器解释标识符的含义,在代码中自己起的名字都是标识符
//C语言的标识符需要先声明再使用
//stdio.h std标准   io输入输出  h头文件
//<> 尖括号 去计算机的标准库中找头文件
//
//单行注释 一般是给代码加一些说明
//注释的内容不会被编译
/*
 这个是
 多
 行
 注
 释
 */
//main函数 mian函数是错误的
//main函数是程序入口
//程序的逻辑开始执行的地方。
//main函数必须只能有一个
int main()
{
	//printf输出函数
	//""中是printf要输出的内容
	//\n换行回车 将光标挪到下一行的行首
	printf("hello world");
	return 0;//结束程序(暂时的理解)
}

练习:

输出I’m a student

#include <stdio.h>//成对的符号一次敲完


int main()
{//左右花括号要对齐,在同一列
//{}中包含的代码,要用tab建缩进
//;表示一句话写完了
	printf("i'm a student\n");
	return 0;
}

4、变量

1. 如何定义变量

变量有什么用?变量是用来保存数据的。

y = x+2;变量能描述一种逻辑关系,变量中必须有值。

数据类型 变量名字 ;

整数类型:int

int a; 定义一个整型变量,变量的名字叫a

浮点类型:float

float b; 定义一个浮点型变量,变量的名字叫b

浮点型就是我们熟知小数。

上午 10 11

下午:14:15 15:10 16:05 每次10分钟

2.命名规则(标识符):

  1. 数字、字母和下划线组成。?/;: #$%^都不可以有 _num1 _person

  2. 不能以数字开头。 2a 3c 都是错的,因为以数字开头的。

  3. 严格区分大小写。 A a这是两个名字。 Num num不一样,第一个N不一样

  4. 不能以关键字起名。int float Include return

  5. 不要使用拼音。

你不是一个人。中文太难理解了!

将来在开发中,无论是给文件命名,还是在其他编程语言中给变量命名,都按照以上的规范起名,保证不会有问题。

3. 变量赋值

int a;//定义整型变量a,此时变量没有值。

a = 10;//给变量a赋值。此时变量a有值,值是10。

4. 什么是初始化:

定义的同时赋初值。

int age = 21;//初始化变量age,在变量age被定义出来的时候,就有值,值是21。

从结果来说,赋值和初始化没有区别。但是在过程上是有区别的。这个区别在C++中格外重要。

5. 格式符

在printf输出的时候,如果想把一些变量的值输出,怎么办?

可以在printf的""中间加入格式符,占一个位置,在输出的时候,使用指定的变量的值来填充这个位置。

int %d十进制 %o八进制整数 %x十六进制整数

float %f

#include <stdio.h>

int main()
{
	int a = 10;
	printf("%d\n", a);//在想输出整数的地方写%d,在真正输出的时候,会使用变量a的值来替换%d
	return 0;
}

示例:

#include <stdio.h> 
int main()
{	
    int class_number;//定义整型变量	
    class_number = 301;	//给变量class_number赋值301
    printf("class_number :%d \n", class_number);//会在输出的时候,使用变量class_number的值替换%d
    return 0;
}

练习:

定义一个整型变量x, 定义一个浮点型变量y,

将 -1 赋值给变量x,将3.14 赋值给变量y,打印 x y的值

再将1 赋值给变量x,将-3.14 赋值给变量y,再打印 x y的值

#include <stdio.h>

int main()
{
	int x;//程序执行到这里,x已经被创建出来
	float y;//程序执行到这里,y已经被创建出来
	x = -1;
	y = 3.14;
	printf("x=%d y=%f\n", x, y);

	//int x = 1;//这里不能再定义x,第一个x已经存在了;C语言不允许同一个区域内变量重名。
	x = 1;
	y = -3.14;
	printf("x=%d y=%f\n", x, y);
	return 0;
}

6. 注释:

用来解释代码含义,注释的内容,编译器不看。

加注释更多是给自己看。

单行注释

//

多行注释

/*

*/

7. 输入和输出函数:

输入输出函数本身并不是很重要,也不难。现阶段我们的代码是没有界面的,我们想和程序进行交互,需要使用输入输出函数。

输入:

scanf("");//""中写要输入的内容

int a, b;

scanf("%d", &a);//要输入一个整数 &取变量的地址。 将输入的整数存放到变量a中。

scanf("%d%d", &a, &b);//输入两个整数,分别存放到a b中。

\n在scanf中是绝对的禁忌!!!

输出:

printf(“hello world\n”);

#include <stdio.h>

int main()
{
	int a, b;
	scanf("%d%d", &a, &b);//输入的第一个整数放到a中,第二个整数放到b中
	printf("a = %d b = %d\n", a, b);
	return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RZoR7a4P-1645612890558)(C:\Users\mudonghai\Desktop\作业\img\image-20220105153233131.png)]

练习:

请大家分别定义 int float char 类型(%c)变量, char是字符型变量 ; 代码中字符常量的表示方式 ’a’ ‘b’ ‘1’

然后,通过输入来给变量赋值。最后打印输出。

在我们的控制台输入是有缓存的,从按回车那一刻开始,输入的内容才会被放到缓存中。缓存就是一段内存空间。

#include <stdio.h>

int main()
{
	int a;
	float b;
	char c;
	scanf("%d%f%c", &a, &b, &c);
	printf("a=%d b=%f c=%c\n", a, b, c);
	return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mSw0eHdW-1645612890559)(C:\Users\mudonghai\Desktop\作业\img\image-20220105160544467.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-78HCT0AE-1645612890559)(C:\Users\mudonghai\Desktop\作业\img\image-20220105160609442.png)]

我们对scanf的学习,主要是在学习期间使用它。没有必要太深入,浪费时间。

#include <stdio.h>

int main()
{
	int a;
	float b;
	char c;
	//%f和%c之间加空格,会自动帮我们略过%f后面的\n
	scanf("%d%f %c", &a, &b, &c);
	printf("a=%d b=%f c=%c\n", a, b, c);
	return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sW4FvzLA-1645612890560)(C:\Users\mudonghai\Desktop\作业\img\image-20220105162035600.png)]

这个练习,主要是让大家认识scanf的坑,以及避坑的方法。

练习:

输入任意两个整数,求和。

int a;

int b;

a+b; //求两个变量的和。

#include <stdio.h>

int main()
{
	int a, b;//定义同一个类型的多个变量,可以写在一行,使用 逗号隔开。
	//一般都是逻辑相关联的变量会写在一起。
	scanf("%d%d", &a, &b);
	printf("%d\n", a+b);
	return 0;
}

作业:

默打所有的示例和练习

ain()
{
int a;
float b;
char c;
//%f和%c之间加空格,会自动帮我们略过%f后面的\n
scanf("%d%f %c", &a, &b, &c);
printf(“a=%d b=%f c=%c\n”, a, b, c);
return 0;
}


[外链图片转存中...(img-sW4FvzLA-1645612890560)]



这个练习,主要是让大家认识scanf的坑,以及避坑的方法。

 

 

## 练习:

输入任意两个整数,求和。

+

int a;

int b;

a+b;  //求两个变量的和。

```C
#include <stdio.h>

int main()
{
	int a, b;//定义同一个类型的多个变量,可以写在一行,使用 逗号隔开。
	//一般都是逻辑相关联的变量会写在一起。
	scanf("%d%d", &a, &b);
	printf("%d\n", a+b);
	return 0;
}

作业:

默打所有的示例和练习

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

encounter♌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值