小杨带你玩转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.常量
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 | 字符数据类型 | %c | 1 |
short (int) | 短整型 | %d | 2 |
int | 整形 | %d | 4 |
long(int) | 长整型 | %d | 4 |
long long | 更长的整型 | %d | 8 |
float | 单精度浮点型 | %f | 4 |
double | 双精度浮点型 | %lf | 8 |
注:为了更加直观了解各种数据类型的大小,代码如下:
#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语言(上)的主要内容,如果未能解决你的问题,请参考以下文章