小杨带你玩转C语言(入门篇)初识C语言(上)

Posted 小杨MiManchi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小杨带你玩转C语言(入门篇)初识C语言(上)相关的知识,希望对你有一定的参考价值。

本章目录

每篇前言

1.导语

2.目标

3.知识点

1,什么是C语言?
2,第一个C语言程序
3, 数据类型
4,变量,常量
           4.1. 定义变量
           4.2. 变量的分类
           4.3. 变量的使用
           4.4. 变量的作用域和生命周期
           4.5.常量

5,字符串.转义字符
               5.1. 字符串
               5.2. 转义字符

6,注释
7,选择语句
8,循环语句

4.结语


每篇前言

博客主页:小杨爱编程☆

作者简介:2022年博客萌新

作者专栏:小杨带你玩转C语言

我的座右铭:有志者立长志,无志者常立志!

作者请求:由于博主水平有限,难免会有错误和不准之处,希望各位小伙伴能够在留言区批评斧正。


导语

本篇博客主要向各位小伙伴们介绍C语言要学习的内容,让大家对C语言有一个大致的了解,因为内容过多,为了各位小伙伴们能够有更好的学习体验,特将此分成上中下三篇博客,希望大家能够通过阅读这篇博客,受益良多!


目标

基本了解C语言的基础知识,对C语言有一个大概的认识
每个知识点就是简单认识,不做详细讲解,后期博客会依次更新。


知识点

1.什么是C语言?

C语言是一门通用计算机编程语言,广泛应用于底层开发

为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。


2.第一个C语言程序

#include<stdio.h>
int main()

	printf("Hello World\\n");
	return 0;

分析第一个代码

C语言规定:
main函数是程序的入口
main函数有且仅有一个


3.数据类型

数据类型符号数据类型输出格式所占字节
char字符数据类型%c1
short (int)短整型%d2
int整形%d4
long(int)长整型%d4
long long更长的整型%d8
float单精度浮点型%f4
double双精度浮点型%lf8

注:为了更加直观了解各种数据类型的大小,代码如下:

#include<stdio.h>
int main()

	printf("%d\\n", sizeof(char));//1
	printf("%d\\n", sizeof(short));//2
	printf("%d\\n", sizeof(int));//4
	printf("%d\\n", sizeof(long));//4
	printf("%d\\n", sizeof(long long));//8
	printf("%d\\n", sizeof(float));//4
	printf("%d\\n", sizeof(double));//8
	return 0;

注意:有小伙伴可能在这里会产生疑问:long代表的是长整型,而int代表的是整型,long所表示的数据类型的大小理应比int型数据的大,为什么这里显示出的结果都是4个字节呢?
对于有这个疑问的小伙伴们,我先为你们点赞!其实在C语言中没有明确规定long的大小,只需要不小于int类型即可。


点击这里返回目录

4.变量,常量

生活中有些值是不变的,比如圆周率,性别,身份证号码,血型等等;

有些值是可变的,比如年龄,体重,身高,薪资等等。

不变的值,C语言用常量来表示;可变的值,C语言用变量来表示。


4.1 定义变量

#include<stdio.h>
int main()

	int age = 170;//定义一个整型变量age,并且给其赋值为150
	              //注意变量在创建的时候不初始化,是一种不好的代码风格
	              //当一个局部变量不初始化的时候,它的值是随机的,像这里的age和ch就是局部变量
	
	char ch = 'w';
 
	return 0;


4.2.变量的分类

  • 局部变量
  • 全局变量
#include<stdio.h>
 
int global = 2019;//全局变量
 
int main()

	int a = 2018;//局部变量
	//下面定义的global会不会有问题?
	int global = 2021;//局部变量
	printf("global = %d\\n", global);
	return 0;

注意: ,就是代码块,在代码块内部定义的变量就叫局部变量,在代码块外部定义的变量叫全局变量。

总结:
上面的局部变量global变量的定义其实没有什么问题的
当局部变量和全局变量同名的时候,局部变量优先使用。所以,局部变量和全局变量最好不要重名。


4.3 变量的使用

#include <stdio.h>
int main()

    int num1 = 0;
   int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = num1 + num2;
    printf("sum = %d\\n", sum);
    return 0; 

注:scanf为输入语句,printf为输出语句


4.4 变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的,而限定这个名字的可用性的代码范围就是这个名字的作用域

1.局部变量的作用域是局部变量所在的局部范围;

2.全局变量的作用域是整个工程。


生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

1.局部变量的生命周期:

进入局部变量所在的范围(作用域)生命周期开始,出作用于生命周期结束;

2.全局变量的生命周期:

整个程序的生命周期,也就是main函数的生命周期。


4.5常量

C语言中的常量和变量的定义形式有所差异。

C语言中的常量分为以下4种:

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量

字面常量
如100(字面常量) 3.14(字面常量) “abc”(字符串常量) ‘w’(字符常量);

const修饰的常变量:当一个变量的值不想被修改,用const“保护”起来就可以了,此时的变量变成了常变量,但是其实质仍然是变量,具备了常量的某些性质。

#define定义的标识符常量:如#define MAX 100 —此后在程序中出现MAX就代表了100,如果需要将程序中100数值全部改变,一个一个改不便捷,而初始使用#define MAX 100 ,只需要将MAX后面的100改成你想要的数字,后面程序中都会改变。

枚举常量:通过下面例子来说明

为了让各位小伙伴能够更好的理解常量及其使用,代码如下:

#include <stdio.h>
//举例
enum Sex

 MALE,
 FEMALE,
 SECRET
;
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()

    //字面常量演示
    3.14;//字面常量
    1000;//字面常量
    
    //const 修饰的常变量
    const float pai = 3.14f;   //这里的pai是const修饰的常变量
    pai = 5.14;//是不能直接修改的!
    
    //#define的标识符常量 演示
 #define MAX 100
    printf("max = %d\\n", MAX);
    
    //枚举常量演示
    printf("%d\\n", MALE);
    printf("%d\\n", FEMALE);
    printf("%d\\n", SECRET);
    //注:枚举常量的默认是从0开始,依次向下递增1的
    return 0:
    

注意:上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。


点击这里返回目录

5.字符串.转义字符

5.1字符串

"hello world.\\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。

注:字符串的结束标志是一个 \\0 的转义字符。在计算字符串长度的时候 \\0 是结束标志,不算作字符串内容。

为了让各位小伙伴能够更好的理解字符串及其使用,代码如下:

#include<stdio.h>
int main()

	//下面这段代码,打印的结果是什么,为什么?(突出'\\0'的重要性)
 
	char arr1[] = "bit";//字符串的末尾隐藏了一个'\\0','\\0'是字符串的结束标志
 
	char arr2[] =  'b','i','t' ;//注意这一行代码,这样写是错误的,找不到'\\0',不知字符串数
	                              //组什么时候结束,求长度则是随机值,应该改成下面这种形式
 
	char arr3[] =  'b','i','t','\\0' ;
 
	printf("%s\\n", arr1);//bit
 
	printf("%s\\n", arr2);//乱码->没有'\\0',没有明确哪儿结束
 
	printf("%s\\n", arr3);//bit
	return 0;

计算字符串数组的长度时一定要注意那个字符串数组中是否有’\\0’,切记’\\0’是数组字符串的结束标志,假如没有’\\0’,则无法计算出该字符串数组的长度,求出的值是一个随机数值。


5.2转义字符

转义字符,简单来讲就是转变原来的意思。

为了让各位小伙伴能够更好的理解转义字符及其使用,代码如下:

#include<stdio.h>
int main()

	printf("c:\\code\\test.c");
 
	return 0;

输出结果如下:


下面是我总结的一些常见的转义字符:


下面,给各位小伙伴们出一道关于转义字符的小题目,希望各位小伙伴们积极参加!

//程序输出什么?
#include<stdio.h>
#include<string.h>
int main()

	printf("%d\\n", strlen("abcdef"));
 
	printf("%d\\n", strlen("c:\\test\\628\\test.c"));
 
	return 0;

为了不影响大家思考,这里就不给出答案了。小伙伴们可以先自己计算一下,确定答案后,再输进编译器中,看看屏幕上输出的结果和你想的结果是不是一致的。如果你答对了,可以在评论区留言评论哦!


点击这里返回目录

6.注释

1. 代码暂时不用时,可以将代码注释掉
2. 代码复杂时最好加上注释,利己利他

为了让各位小伙伴能够更好的理解注释及其使用,代码如下:

#include <stdio.h>
int Add(int x, int y) 
    return x+y; 
/*C语言风格注释
int Sub(int x, int y)

    return x-y;

*/
int main()

    //C++注释风格
    //int a = 10;
    //调用Add函数,完成加法
    printf("%d\\n", Add(1, 2));
    return 0;

注释有两种风格:

  • C语言风格的注释 /xxxxxx/

缺陷:不能嵌套注释

  • C++风格的注释 //xxxxxxxx

优点:可以注释一行也可以注释多行

在这里比较建议各位小伙伴们使用c++风格的注释,如果有喜欢C语言风格注释的小伙伴也可以继续用自己喜欢的方式哦!


7.选择语句

在人生道路中,我们无时无刻都在做出选择。在我看来,重要的不是你选择了什么,而是你做出选择以后,这条路怎么走下去!加油吧!奋斗吧!朝着自己理想前行!


为了让各位小伙伴能够更好的理解选择语句及其使用,示例如下:

如果你好好学习,毕业拿到好offer。
如果你不好好学习,毕业就等于失业。
这就是选择!小伙伴们会怎么选择呢?

#include<stdio.h>
int main()

	int ret = 0;
	printf("你会去敲代码吗?(选择1or0);>");
	scanf("%d", &ret);
	if (ret == 1)
	
		printf("坚持,你会有好offer!\\n");
	
	else
	
		printf("没了没了,回家卖红薯...\\n");
	
	return 0;


8.循环语句

有些事情必须一直做,比如太阳日复一日的东升西落,比如小伙伴们,日复一日的努力学习。

那么C语言中如何实现循环呢?

  • while语句-简单讲解
  • for语句-后面详细介绍
  • do…while语句-后面详细介绍

为了让各位小伙伴能够更好的理解选择语句及其使用,示例如下:

//while循环的实例
#include<stdio.h>
int main()

	printf("好好敲代码\\n");
	int line = 0;
	while (line <= 200000)
	
		line++;
		printf("我要继续努力敲代码\\n");
	
	if (line > 200000)
	
		printf("好offer\\n");
	
	return 0;

在这里希望各位小伙伴们一定要多敲代码,切记要敲有效代码,别敲无效代码。在我看来,要想学好计算机,敲代码必不可少,坚信熟能生巧和没有学不会的人,只有不想学的人这两个道理。小伙伴们,加油!


结语

各位小伙伴们,(入门篇)初识C语言(上)就先介绍到这里,后续部分正在整理中!!!敬请期待!

如果各位小伙伴们感觉写的不错,或者阅读后有些许收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(✌关注,✌点赞,✌评论),多多支持一下!!**

小伙伴们,切记!这些示例代码一定要记得自己实际操作一下,这样才能加深对这些知识的理解!

最后,感谢每一位小伙伴的阅读,让我们一起努力,一起加油,一起进步!


为了小伙伴能够有更好的阅读体验,在此附上后两篇博客链接:
【小杨带你玩转C语言】(入门篇)初识C语言(中)
【小杨带你玩转C语言】(入门篇)初识C语言(下)

以上是关于小杨带你玩转C语言(入门篇)初识C语言(上)的主要内容,如果未能解决你的问题,请参考以下文章

江哥带你玩转C语言 02- 创建第一个C语言程序

江哥带你玩转C语言 01 - C语言开发环境配置

江哥带你玩转C语言 | 10- C语言数组

江哥带你玩转C语言 | 08 - C语言函数

江哥带你玩转C语言 | 03-C语言关键字和标识符

江哥带你玩转C语言 | 11- C语言排序算法