当前位置:网站首页>简单了解C语言基本语
简单了解C语言基本语
2022-06-13 06:54:00 【Though even】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
随着社会的发展,现在的人们越来越依赖电子设备。手机就是典型电子设备。手机可以说已经是人们身体的一部分了,如果一个人一天能够不用手机,那么只有几种可能:他是老人,或者个别小孩以及其他特殊人群。我们大部分人每一天都开不开手机,我们被手机上各种各样的软件所吸引,比如如QQ,微博,抖音,游戏等等。那么那些软件是怎么做出来的呢?大家或许都知道,使用代码写出来的,今天写的这篇文章的内容就是代码最基础的东西。接下来,我会介绍我自己对C语言的理解,和C语言的基本语法。
一、什么是C语言?
官方解释:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1]
我的认识:C语言是人和交流的一门高级语言。就好比,我们学英语一样,是为了能和老外交流以及看懂外国的书籍语言,学习知识。
二、C语言基本语法
1.第一个C语言程序
代码如下:
#include<stdio.h>
int mian()
{
printf("Hello world");
return 0;
}
感觉学什么语言,第一个程序一般都是输出“Hello world"。这个照着敲就行了。
2.变量、常量
常量:
常量,也就是不变的量
在C语言中,常量很容易理解比如:一个数字:2,他就是不会变的量,所以他叫做常量。
变量:
变量,顾名思义就是会改变的量 ,而变量就是可以改变的量。
变量可以分为两种以及他们的作用域和生命周期:
全局变量和局部变量:
作用域:也就是作用范围
生命周期:从变量开始使用到变量销毁的范围
全局变量:写在大括号外面的变量
局部变量:大括号里面的变量
#include<stdio.h>
int result = 12;//全局变量,大家都能使用的变量
int main()
{
int x = 16;//局部变量,也就是在大括号里面变量,
//只能在大括号里面是用
int x1 = result + x;//全局变量大家都可以用
return 0;
}
int Add(int a, int b)
{
int c = 0;
//c = x + a + b;//这里使用了,main里面的局部变量是错误的
c = result + a + b;//全局变量大家都可以用
return 0;
}
3.数据类型
计算机语言是为了解决我们生活中的问题,我们生活中会遇到各种数据,比如:人的年龄一般是一个整数,人的身高是小数,人的名字是字符组成等等。计算机语言也是一样。
int //整型,也就是整数
char //字符类型,比如字母‘a’
short //短整型,也就是表示的范围比上面的int要小
long //长整型,比int表示的范围要大
long long //这个比long 还要大
float //浮点型 ,其实也就是小数
double //双精度类型,比float类型的精度大
//什么数据,就要用什么类型,不然肯定是错的
4.字符,转义字符,注释
字符就是一个简单符号比如:‘t’ ‘杨'都是字符;
转义字符,意思是就不是他本来的意思,我们在字符前面加 \ ,比如 '\t' 就不是字符 ‘ t’的意思,它表示的意思是 ”Tab“也就是制表符。这样做也就是为了方便写代码。
常见的转义字符有:
这些东西不需要刻意去记住,当我们代码敲多了也就记住了。
注释:也就是为了让别人能看懂你的文章,你在旁边加的解释;
注释一般用 // 和 /* */两种,前者只能是一行注释,换行就不行了,后者可以是一段(很多行)注释
5.判断句型和循环语句
判断语句:生活中,我们经常遇到要判断的事情。比如:当我们买东西时,如果我们钱够那就买,否则就走。所以判断语句就是完成这个任务。
#include<stdio.h>
//判断语句
int main()
{
//判断语句有 if else他们俩是一对
//格式是如下面
int a = 1;
//if括号里必须是一个判断语句,只有为真时,才执行
if (a > 0)//如果满足条件,就执行if身后的大括号里的内容
{
printf("a>0");
}
else {//否则,就执行else后面大括号的语句
printf("a<=0");
}
return 0;
}
循环语句:而循环顾名思义,就是重复做这件事。当我们每一次做一件事时,步骤都一样,那我们就可用循环来帮助我们提高效率。
#include<stdio.h>
//循环语句
int main()
{
//循环语句主要有两类while和for()
int a = 1;
int i = 0;
while (a<5)
{
printf("Hello world!\n");
a = a + 1;
}
//for循环语句其中i = 0是循环的开始,
//i<5是循环结束的条件
//i++其实也就是i= i+1,表示每次循环的跨度
for (i = 0; i < 5; i++) {
printf("Hello world\n");
}
return 0;
}
6.函数
函数:函数就是用来实现某一功能的代码体。
#include<stdio.h>
//这个就是函数,用来实现加法,简化了代码
int Add(int x, int y) {
int c1 = 0;
c1 = x + y;
return c1;
}
int main()
{
int a = 12;
int c = 56;
int result = a + c;
printf("%d", result);
//这串代码只能计算一次我们想要的两个数的和
//如果我们要多次,就可以这样
int a1 = Add(12, 56);
printf("%d", a1);
return 0;
}
7.数组
数组:一组相同元素的组合
比如我们要将1~10的数字存起来,我们存在哪呢,答案是数组
数组的定义:数组类型+数组名+[ ]方括号里是数组大小,里面存几个元素
如:int arr[10] = {1,2,3,4,5,6,7,8,9,10};前面的int是数组的类型,也即是里面存的元素是int类型,方括号里的10是指定了这个数组最多只能放10个元素,后面大括号是要放的元素;
数组的下标:注意:[ ]在这里是一个运算符,运算的对象是arr和里面的数字
#include<stdio.h>
int mian()
{
int c = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//数组的下标是从0开始数的,就是arr[0] 就是 1;从左向右数
c = arr[5]//其实就是arr[5]==6,c == 6;
printf("%d\n",c);
return 0;
}
8.操作符
操作符有:
注意乘号和除号和数学不一样,同时除法的运算和数学里有点不同,C语言里 ”/“ 除法的结果是整数,即7/2=3......1,后面的1直接不要,结果等于3;
单目操作符
关系操作符
<
<=
>
>=
== C语言中的相等是两个=
!= 不等于
逻辑操作符
&& 逻辑与 ,就是并且,也即是数学中的“且”
|| 逻辑或,就是或者,就是数学中的“或”
条件操作符
exp1? exp2 : exp3 ;
//exp1是表达式,如果exp1成立执行exp2,否则执行exp3
下标调用,函数调用,成员使用
[ ]是下标引用操作符
( )是函数引用操作符
.小数点是结构成员调用符
逗号表达式
运算顺序是从左向右计算结果
9.常见关键字
常见的关键字有
注意;关键字不能用作你的变量名
10.define定义常量和宏
用define定义常量,就相当于就是全局变量,在那个函数哪里都能用。是放在静态区的
自己慢慢体会
11.指针
11.1内存
了解指针之前我们先了解内存
电脑工作时,是在内存中运行的,因此内存中会开辟很多内存单元,每个内存单元的大小是1字节。每个内存单元都会有一个编号,这个编号就是地址。 那我们该如何存储这个地址呢,现在我们就会用到指针。
11.2指针
#include<stdio.h>
int main()
{
int a = 12;//变量赋值
int* pa = &a;//将a取地址赋值给指针变量pa
//pa是变量名,*号是指针变量类型,int是指针里存的是int类型
printf("%d", sizeof(pa));//指针的大小是在不同编译环境下是不一样的,32位是4字节,64位是8字节
return 0;
}
12.结构体
当我们要输出很多个人的数据,比如:身高,体重,学号;
那我们又该怎么处理呢,这时候用结构体来解决。
结构体使用:
总结
以上就是今天要讲的内容,本文仅仅简单介绍了C语言几乎全部的一些简单语法的使用,而一门语言会了语法还只是最简单的,我们还要会学会怎么用!!
边栏推荐
- MongoDB系列之SQL和NoSQL的区别
- Xiaomi's one-sided interview questions (self sorting answers)
- 如何从头自己制作开发板?图文并茂,一步步操作给你看。
- Is it safe to open an account online in Hangzhou?
- 牙周炎问题调研(持续进行中)
- 如何使用望友DFM软件进行冷板分析
- Comment utiliser le logiciel wangyou DFM pour l'analyse des plaques froides
- json. Stringify() and json The difference between parse () and json Usage of stringify()
- The new business outlet of beautiful Tiantian second mode will be popular in the Internet e-commerce market
- 【腾讯阿里最全面试题集锦】(四面:3轮技术+1轮HR)
猜你喜欢
Xuanwu cloud technology passed the listing hearing: the performance fluctuated significantly, and chenyonghui and other three were the controlling shareholders
【马尔科夫链-蒙特卡罗】马尔科夫链-蒙特卡罗方法对先验分布进行抽样
景联文科技:数据标注行业现状及解决方案
How to use Wangyou DFM software for cold plate analysis
Analyzing server problems using jvisualvm
Notepad++ settings delete current line shortcut
YOLOv5解析 | 参数与性能指标
景联文科技:数据采集标注行业现状及解决方案
2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一
[SketchUp 2021] sketch master's image output and rendering style description [edge setting, plane setting, background setting, watermark setting, modeling setting, sky background creating sky, creatin
随机推荐
June 12, 2022: if there are n*n pieces in an n*n square chessboard, each grid can have exactly one piece. But now some pieces are gathered on a grid, such as 2030100300. The above two-dimensional arra
Differences between SQL and NoSQL of mongodb series
基于SSM实现水果商城批发平台
Byte (nine)
Do you want to carry out rapid steel mesh design and ensure the quality of steel mesh? Look here
The innovative public platoon mode team invites users to split, beautiful every second, and links the 2+1 new business model
Tidb index optimization
Raspberry school advanced development - "writing of IO port driver code" includes bus address, physical \u virtual address and bcm2835 chip manual knowledge
号称下一代监控系统 来看看它有多牛逼
Detailed Mr Atlas of hip joint (Reprinted)
Command line for database
Monotone stack top31 of interview must brush algorithm top101
智能文娱稳步发展,景联文科技提供数据采集标注服务
2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一
The new retail market has set off blind box e-commerce. Can the new blind box marketing model bring dividends to businesses?
Ml: introduction to stability analysis of machine learning model and detailed introduction to common solutions
景联文科技:数据标注行业现状及解决方案
How to seize the bonus of social e-commerce through brand play to achieve growth and profit?
上位机开发(固件下载软件之软件测试)
Gold jewelry enterprise operation mode, beautiful tiantians business solution