C语言学习 第1天

一、输出hello world:

在C语言中,每个符号都是有含义的,都不能乱写。

#include <stdio.h>
/*
# 预处理,预先做的处理,在编译之前做处理。
include 是一个预处理的指令,包含头文件。原理:将头文件中的内容复制粘贴到include的位置上。

为什么要包含头文件?为了声明
什么是声明?解释说明,我们在编程中会自己定义很多标识符(名称),我们自己起的名称C语			言是不认识的,我们必须对每个名称进行声明。

stdio.h 是C语言官方提供的头文件之一
		std stdandard缩写 标准  i in输入  o out输出  h head头文件后缀
		stdio.h是 标准输入输出头文件,其中声明了C语言官方定义一些输入输出的函数
		外部到程序  输入
		程序到外部  输出
		hello world程序中的hello world是输出
< > 表示在标准库的路径中查找头文件。我们在安装C语言环境时就指定标准库的位置。
还可以使用""来包含头文件,从我们自己指定的路径中查找头文件,可以是任意位置。
<>一般包含C语言为我们提供的头文件,""一般包含我们自己写的头文件。
*/
/*
main函数,也叫主函数,是程序的入口,是程序的逻辑开始执行的地方。每个C语言程序都要有一个main函数,不能没有,也不能是两个。
新手写main函数经常出现的错误:将main函数写成mian函数。

*/
int main()
{
    /*
    printf是在stdio.h中声明的一个输出函数。
    print打印  f format缩写  格式化  printf格式化输出
    格式化:对字符串格式化,有些时候我们需要的字符串的内容会由一些变量的值决定,将变量的值放到字符串中,就是字符串格式化。
    在C语言中""表示字符串常量
    \n叫转义字符,有一定功能的字符,不会被原样输出,转义字符不只\n。
    \n的含义是换行回车,换行是光标去到下一行,回车是光标回到行首
    ;表示一条C语言的语句写完了。
    */
    printf("hello world\n");
    //return 0;在函数中出现return表示函数结束,0
    return 0;
}

练习:

输出I’m a student,不要在刚才示例的基础上修改。要重新创建文件,把流程自己写一遍。

#include <stdio.h>

int main()
{
	printf("i am a student\n");
	return 0;
}

二、变量

1. 如何定义变量

变量有什么用?

1+2 = ? 3

x+2 = ? 现在还不能确定算式的决具体结果。如果已知x=3,结果是?5

变量是用来表达逻辑的,虽然变量没有值的时候不能计算出具体的结果,但是可以通过变量把逻辑表达清楚,只要给变量一个值就能计算出具体的结果。

数据类型(关键字) 变量名字(标识符) ;

在编程中我们自己取的名字都叫标识符。

整数类型:int (关键字) integer

int a;
定义一个整型变量,变量名叫a,变量a中用来存放整数

浮点类型:float (关键字) 浮点型就是我们常说的小数类型

float b;
定义一个浮点型变量,变量名叫b,用来存放小数

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

  1. 数字、字母和下划线组成。 ?/!@#$%^&*()都不可以出现
  2. 不能以数字开头。 1a 2c 1 2 都不可以
  3. 严格区分大小写。 apple Apple不是一个名字
  4. 不能以关键字起名。 int int; float float;都不可以
  5. 不要使用拼音。

前4条是语法要求,第5条是道德要求。

汉语的二义性很强 nibushiyyigeren

我们对标识符的命名,一定要包含标识符的功能。

3. 变量赋值

int a; 定义整型变量a

a = 10; 对变量a赋值10

注意:变量中没有值,一定运行不出正确的结果。所以对于变量的第一步操作,一定是初始化或者赋值。

4. 什么是初始化

定义的同时赋初值。

int a = 10; 定义变量a,并初始化10

在C语言中赋值和初始化没有明显的区别。只要能分辨初始化和赋值就够用了。

但是在C++中赋值和初始化有本质区别,代码执行的过程不一样。

5. 格式符

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

%d 十进制整数 int

%o 八进制整数 int

%x 十六进制整数 int

%f float类型小数 默认输出小数点后6位

示例:

#include <stdio.h>

int main()
{
	int a = 10;//定义整型变量a,并初始化10
	printf("%d %o %x\n", a, a, a);//分别以十进制、八进制、十六进制打印a的值。进制间的转换我们很快就讲。
   	float b = 1.23;//定义浮点型变量b,并初始化1.23
	printf("%f\n", b);//打印变量b的值
	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;
	float y;
	x = -1;
	y = 3.14;
	printf("x = %d y = %f\n", x, y);
	x = 1;
	y = -3.14;
	printf("x = %d y = %f\n", x, y);
	return 0;
}

6. 注释:

注释是给自己看的内容,编译器是不看的。用来帮助我们解释说明代码。

单行注释,只对一行有效

//

多行注释,对多行有效

/*

*/

7. 输入和输出函数:

scanf这个函数并不好用,开发时很少使用scanf。学习scanf的目的,是因为我们平时做练习需要有输入,scanf又是C语言所有输入函数中最容易上手的一个。

示例:

#include <stdio.h>

int main()
{
    /*
    scanf格式化输入
    scan  扫描
    f    format格式化
    */
	int a;
    /*
    %d说明要输入一个整数
    &a  参数是变量a的地址。 &符号表示取变量的地址。 取地址的目的是为了让scanf找到变量的位置。
    这行代码的含义,使用scanf输入一个整数并且将这个整数放到变量a中。   
    */
	scanf("%d", &a);
	printf("a = %d\n", a);
	return 0;
}

在这里插入图片描述

运行程序,程序会阻塞在scanf这一行,一直等待我们的输入,直到输入一个整数,否则程序不会向下继续执行。

在这里插入图片描述

输入整数后,按回车键完成输入,此时程序从scanf这一行向下继续执行。输入的时候一定要严格按照格式符来输入,不要戏弄scanf。

注意: \n在scanf中是绝对的禁忌!!!如果在scanf的""中出现了\n,输入必出错。

示例:

#include <stdio.h>

int main()
{
	int a,b;//定义相同类型的变量时,可以写在一起,变量之间使用,分隔。
    //%d%d表示输入两个整数,在实际的输入时,输入的两个整数可以使用回车或者逗号分隔。
    /*在scanf的""中两个%d之间不要随便写符号,因为写什么输入的时候就得输入什么。比如"%d,%d",这就代表
    实际输入的时候,123,456两个整数之间必须有,分隔。
    */
    scanf("%d%d", &a, &b);
	printf("a = %d  b = %d\n", a, b);
	return 0;
}

在这里插入图片描述

scanf的""中间,如果写了格式符以外的符号,那么写什么就得输入什么。

#include <stdio.h>

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

在这里插入图片描述

如果输入时不用,分隔,输入必然产生错误。

练习:

请大家分别定义 int float 两个变量

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

使用一个scanf给两个变量赋值。

#include <stdio.h>

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

8.输入和输出函数的缓存

我们生活中的菜鸟驿站就是一种缓存,提升双方的效率,派件员和用户之间不需要相互等待。

缓存的主要作用就是提升传输的效率,发送方和接收方不用等待。

输出缓存

在这里插入图片描述

输入缓存

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Super Mark

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

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

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

打赏作者

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

抵扣说明:

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

余额充值