文章目录
前言
初识C语言的文章内容只是对初次接触编程的同学,认识C语言。本章是让初学者对C语言有一个简单的认识,并不是看完本章就必须要掌握全部的知识。
一、编译器的选择
学习C语言必不可少的是编译器,我推荐Visual Studio 2022社区版,简单,方便。当然要使用其他的编译器也可以。
VS2022官网链接:https://visualstudio.microsoft.com/zh-hans/vs/
下载选择community
二、第一个C语言程序
#include <stdio.h>//printf函数的头文件
int main()//主函数,程序的入口
{
printf("Hello World");//打印
return 0;//程序结束
}
三、基本数据类型
整型:int、short、long
浮点型:float、double
字符型:char
常见类型 | 所占字节 |
---|---|
int | 4 |
short | 2 |
long | 8 |
float | 4 |
double | 8 |
char | 1 |
四、变量
当全局变量和局部变量名字相同的情况,且都可以使用的时候,局部变量优先
1、全局变量
定义在主函数(main)前的变量,作用在整个程序;生命周期随程序的开始生成,结束销毁。
int a = 67;//全局变量
int main()
{
...........//其他代码
return 0;
}
2、局部变量
定义在{}中的变量,作用在所在的整个{}中;出了所在的{}就销毁。
int main() //以整形变量a为例
{
if (1)
{ //开始
int a = 67; //局部变量
if(a==67)
{
printf("%d", a);
}
} //结束
return 0;
}
五、常量
1、字面常量
数字:(123、1)
字符:(你、A、&、$)注意中文也是字符但其一个字占两个字节
字符串: (你好呀)
2、const修饰的常变量
一般来说变量是可以随你的需要来随时改变的,但const修饰后的变量就拥有了一些常量的特性,即定义后不能被改变。
int main()
{
const int a = 30;
a = 1; //a是不能被修改的
}
变量a不能被改变
3、#define定义的标识符常量
用一个具有标识的名表示这个常量,#define NUM 300 定义后NUM就代表300这个数本身。(定义后的常量名一般大写,以区分变量名)
#include <stdio.h>
int main()
{
#define NUM 300
printf("%d", NUM);
}
//输出为300
4、枚举常量
enum Color
{
RED,
GREEN,
BLUE,
};
六、转义字符
转义字符 | 意义 |
---|---|
\\ | 反斜杠 |
\’ | 单引号 |
\" | 双引号 |
\? | 问号 |
\a | 警报(响铃) |
\b | 退格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 制表符(水平制表) |
\v | 垂直制表 |
\o | 空字符 |
\ddd | 八进制表示的字符(其中 ddd 是一个八进制数,范围为 0-377) |
\xdd | 十六进制表示的字符(其中 dd 一个十六进制数,范围为 00-ff ) |
对转义字符的意义有些不懂的同学可以在我之后发的文章中找到详细的介绍
七、常见操作符
C语言在条件判断中0表示假,非0表示真。
1、除法操作符“/”
除法操作中两边是整数,执行整数除法; 除法操作中,两边有一边有浮点数(小数),才执行浮点数除法
2、求余操作符"%"
结果是经过除法后所得的余数
3、取地址操作符“&”
如scanf函数输入时需要取地址才能把数据存到变量中
4、赋值操作符“=,+=,-=,*=,/=,%=”
=:把右边的值赋给左边
+=:把左边的值与右边相加在赋给左边
-=:把左边的值与右边相减在赋给左边
其余相似
5、“sizeof”操作符
计算的是变量或类型创建变量的内存大小
6、逻辑非操作符“!”
!右边的式子为真返回0,也就是假;式子为假返回1,也就是真
7、逻辑与“&&” 逻辑或“||”
&&:左边和右边必须全为真,表达式才为真;否则为假
||:左边和右边只要有一边为真,整个式子的真值就为真
8、条件操作符“exp1?exp2:exp3”
对语句1判断,为真则语句2,为假则语句3
9、逗号运算符“exp1,exp2,exp3,…”
从左向右依次执行,整个表达式结果是最后一个表达式结果
10、等于操作符“==”
在c语言中=是赋值运算符==才是等于的意思
==式子为真返回1,也就是真;式子为假返回0,也就是假。
11、不等于操作符“!=”
!=式子为真返回0,也就是假;式子为假返回1,也就是真。
八、注释
注释是给人看的,它能够让程序的可读性增加,有助于理解代码;有两种注释的方法
1、//形式
//后面的一行代码编译器会忽略
#include <stdio.h>
int main()
{
int a = 0;
a = 1;
a = 2;
a = 3;
//a = 4;忽略a=4这一行代码
printf("%d\n", a);
return 0;
}
//输出3
2、/* */形式
在/* 和 */之间的全部代码,编译器会全部忽略
#include <stdio.h>
int main()
{
int a = 0;
/*a = 1;
a = 2;忽略了从a=1到a=4
a = 3;
a = 4;*/
printf("%d\n", a);
return 0;
}
//输出0
九、选择语句
1、if、else
格式
if (表达式)
{
代码;
}
else
{
代码;
}
例子
#define _CRT_SECURE_NO_WARNINGS 1//VS在使用scanf函数时要加上,不然会报错
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a >= 10 && a < 20)//()中的是表达式
{ //{}内为代码
printf("china");
}
else
{ //{}内为代码
printf("america");
}
return 0;
}
if的表达式为真时,才会执行自己{ }里面的代码(if可以单独使用)
else不需要表达式,其与它紧挨的上一个if语句对应,作用是当if语句为假时执行else的{ }中的代码(else不能单独使用)
if和else的关系类似于如果…,否则…的意思
十、循环语句
1、while
格式
while (表达式)
{
要循环的代码;
}
例子
#include <stdio.h>
int main()
{
int a = 1;
while (a <= 3) //()中为表达式
{ //{}中的为你要循环的代码
printf("C语言\n");
a++;/ //自增
}
return 0;
}
while循环必须要有限制条件,以上面的代码为例,此代码一共会循环3次。
开始a<1,表达式为真,进入循环,打印C语言,然后a自增成2;以此类推当a=3时进入循环后a=4,
不满足a<=3的条件,就不会在循环。
此循环的每一次都会使a向限制条件靠近,从而避免循环成为死循环。
十一、函数
这里的函数单只自定义函数,不包括库函数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int add(int x, int y)//add为我自定义的加法函数
{
return x + y;
}
int main()
{
int a = 0;
int b = 0;
int res = 0;
scanf("%d %d", &a, &b);
res = add(a, b);//调用我写的add函数
printf("%d", res);
return 0;
}
注:本次只需要见识一下自定义函数即可,不需要掌握
十二、关键字
auto | break | case | char | const | continue | default | do |
---|---|---|---|---|---|---|---|
double | else | enum | extern | float | for | goto | if |
int | long | register | return | short | signed | sizeof | static |
struct | switch | typedef | union | unsigned | void | volatile | while |
共32个 关键字,本次不需要全部记下,只要熟悉一下就好
好了,学完本章你已经可以认识一些简单的代码了,快去实践自己的第一个程序吧