0
点赞
收藏
分享

微信扫一扫

半小时一篇文过完C语言基础知识点


本文定位读者为小白读者,将使用最快的方法过完C语言基础知识,并且制作一个学生管理系统。由于是快速阅览,本文不会描述过多的其它知识,大部分知识点只是描述了如何进行使用,如何深入还需要各位努力;不过学习过了一遍内容后,学习起来也会较为容易。

目录

这篇文没有添加的指针内容可以看这篇:​​浅论指针(一)​​

​​你去约个会,你零基础的同学就学完C语言知识点过完了​​

​​《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?​​

​​《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?​​

​​《看聊天记录都学不会C语言?太菜了吧(3)代码都在谈恋爱难道你不知道?​​

​​《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了​​

​​《看聊天记录都学不会C语言?太菜了吧(5)打了一把游戏我学会了一个编程知识?​​

​​《看聊天记录都学不会C语言?太菜了吧(6)以前跟我说编程很难的给我站出来​​

​​《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁​​

​​《看聊天记录都学不会C语言?太菜了吧》(8)牛郎和织女竟有一个孩子?​​

作者简介

简介:蓝桥签约作者

环境:


  • 系统:windows7
  • IDE:Devc
  • 面向读者:小白

一、HelloWorld

HelloWorld 是经典的编程入门程序,指在编写代码生成程序,运行该程序将会在程序中显示 HelloWorld。以下是一个 HelloWorld 的C语言代码:

#include<stdio.h>
int main(){
printf("HelloWorld");
}

以上程序中 ​​#include<stdio.h>​​​ 称为头文件,头文件我们可以理解成“将工具箱拿过来”这一件事。代码 ​​#include<stdio.h>​​​ 中,​​#include<>​​​ 相当于一只手,​​stdio.h​​ 为需要拿过来的工具箱名。那为什么要拿这个工具?是因为我们在这个代码中将会用到这个工具箱中的工具。

​int main(){}​​​ 为一个程序的入口,什么是程序的入口呢?其实就像医院或者一些场所,总有一个大门规定从此进入,否者当客户想要进入这个场所时将会找不到入口。而这个​​main​​​就是我们这个代码的入口,里面具体的内容就写在​​main​​​后面的花括号​​{}​​中。

花括号中的代码是 ​​printf("HelloWorld");​​​,其中​​printf()​​​叫做printf函数,其实函数这个术语我们可以理解成一个功能或者说工具,​​printf()​​​是存放在​​stdio.h​​​ 中的工具,​​printf()​​​可以用来显示你要显示的内容,在​​printf()​​圆括号中使用双引号引起你想要显示的内容即可。在这里需要显示的是HelloWorld。注意,一般情况下,每一句代码结束后需要使用分号进行结尾。

编译运行程序将会出HelloWorld:

半小时一篇文过完C语言基础知识点_c语言

二、变量

变量在C语言中我们可以当做是一个存放内容的容器,例如可以存一个数字、一个字符、小数等。变量有不同的类型,包括整型、字符型、浮点数;浮点数我们可以简单的理解成小数即可。

如果你想要创建一个整数类型的变量很简单,整数在C语言中使用​​int​​​进行描述,随后我们在​​int​​后输入一个字符串或者字符就可以完成一个变量的创建,但是要注意,需要使用分号结束:

#include<stdio.h>
int main(){
int a;
}

以上代码 ​​int​​​ 是类型描述,​​a​​​字符是这个变量的名字,此时就等于让计算机创建了一个名字标识为​​a​​,能存储整数类型的变量了。我们一般在创建一个变量时需要对变量初始化,初始化是指给这个变量一个值,让我们能够知道这个变量具体所存储的内容,所以可以这样写:

#include<stdio.h>
int main(){
int a=0;
}

以上代码 ​​int a=0;​​​ 使用等于号将0存入了​​a​​变量,等于号的作用则是将等于号右边的值存入左边的变量中。

变量可以使用​​printf()​​将其内容进行输出显示,代码如下:

#include<stdio.h>
int main(){
int a=0;
printf("%d",a);
}

以上代码 ​​printf("%d",a);​​​ 将会把变量a的内容进行显示,其中 ​​%d​​​ 是一个占位符,占位符则表示在此处占据一个位置,之后将会替换成一个值;在这句代码中,我们可以看见双引号后使用逗号对变量​​a​​​进行了分隔,当运行​​printf()​​​这一句代码时,将会输出​​printf​​圆括号内双引号后使用逗号分隔的第一个变量值。

在此我们需要注意,创建一个变量后,之后使用该变量不需要在此将类型符一起编写。就例如你跟你朋友介绍小​​a​​,只需要第一次介绍完毕,之后就直接说名字就认识了。

程序运行结果如下:

半小时一篇文过完C语言基础知识点_编程语言_02

三、常量

变量在程序运行时是可变的,而常量不行。当你创建一个常量时给予了它值,那么之后的值都不能进行改变。我们先看一下变量在程序运行时改变内容是否可以:

#include<stdio.h>
int main(){
int a=0;
printf("%d",a);
a=10;
printf(" %d",a);
}

以上代码在显示了第一次​​a​​​的值后再次改变了​​a​​里面的内容为10,之后再次输出显示,将为等于10:

半小时一篇文过完C语言基础知识点_#include_03

接下来看下常量。常量只需要在创建一个变量时使用 ​​const​​ 进行修饰即可:

#include<stdio.h>
int main(){
const int a=0;
printf("%d",a);
a=10;
printf(" %d",a);
}

此时我们编译代码将会出错:

半小时一篇文过完C语言基础知识点_c语言_04

四、变量运算

变量之间是可以相互相加减的,例如正常的加减法、乘除法等。首先我们可以创建两个变量:

int a=10;
int a1=20;

​a​​​和​​a1​​相加并且显示就可以写成如下代码:

#include<stdio.h>
int main(){
int a=10;
int a1=20;
printf("%d",a+a1);
}

以上代码​​printf("%d",a+a1);​​​中,​​%d​​​是个占位符,将会输出​​a​​​与​​a1​​​相加后的值。之前解释过,​​%d​​​将会显示引号后逗号隔开的第一个值,在这里​​a+a1​​是一个值,将会先运算,然后进行相加,结果为:

半小时一篇文过完C语言基础知识点_数组_05

我们也可以同时显示​​a​​​与​​a1​​的值:

#include<stdio.h>
int main(){
int a=10;
int a1=20;

printf("%d %d",a,a1);
}

以上代码​​printf​​​中,第一个​​%d​​​ 显示引号后第一个逗号隔开的​​a​​​值,第二个​​%d​​​将会显示逗号隔开的第二个值​​a1​​。结果为:

半小时一篇文过完C语言基础知识点_#include_06

同时一行创建两个变量以及乘法运算可以写成:

#include<stdio.h>
int main(){
int a=10,a1=20;

printf("%d",a*a1);
}

五、输入

在C语言中可以从键盘中输入一个值并且赋值给一个变量。使用一个工具叫做​​scanf()​​​函数,它也存放在​​stdio.h​​​这个头文件工具箱中。以下是​​scanf()​​的使用方法:

#include<stdio.h>
int main(){
int a=10;
printf("%d",a);
scanf("%d",&a);
printf("%d",a);
}

以上代码首先创建了一个变量​​a​​​等于10,随后显示​​a​​​的值,之后使用了​​scanf("%d",&a);​​​,在这个代码中,​​%d​​​表示接收即将要输入的值,​​&a​​​表示取到​​a​​​的地址,并且把输入的值存到变量​​a​​​中。其实​​%d​​​是一个只代表整数类型的占位符。最后再输出​​a​​的值,结果如下:

半小时一篇文过完C语言基础知识点_编程语言_07

六、逻辑

在C语言中,可以使用​​if​​语句对逻辑进行判断,例如判断用户输入的数是否大于10。示例代码如下:

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a>10){
printf("%d",a);
}
}

以上代码使用了if语句对输入的值进行判断,在使用scanf后将值存入了变量a中,之后使用if语句在if语句后的圆括号中输入条件,如果这个条件成立则运行后面花括号的代码​​printf("%d",a);​​,如果条件不正确,那么则不会执行其它代码。

输入1,不显示其他代码,因为不大于10。

半小时一篇文过完C语言基础知识点_数组_08

输入11,条件成立,执行花括号内的代码:

半小时一篇文过完C语言基础知识点_数组_09

我们还可以在​​if​​语句后输入其它代码表示已经执行完if语句:

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a>10){
printf("%d",a);
}

printf("if 语句已经执行完毕");

}

运行结果如下;

半小时一篇文过完C语言基础知识点_数组_10

七、if else

if 语句还有一个​​else​​​ 分支,​​else​​分支用于在条件判断错误后执行:

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a>10){
printf("条件成立,输入值是 %d",a);
}else{
printf("条件错误,输入值是 %d",a);
}

}

以上​​printf​​​语句中有其他字符串以及占位符 ​​%d​​​,此时其它字符串照原样输出显示,​​%d​​​将会替换成变量​​a​​的值:

半小时一篇文过完C语言基础知识点_#include_11

八、if else if

使用​​if else if​​​语句可以为​​if​​语句判断多个条件。

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a==1){
printf("a是 %d",a);
}else if(a==2){
printf("a是 %d",a);
} else if(a==3){
printf("a是 %d",a);
} else if(a==4){
printf("a是 %d",a);
} else{
printf("条件都不对");
}

}

以上代码使用了​​else if​​​语句,在​​else if​​​语句中可以增加多个判断条件,判断​​a​​的值为什么。在C语言中使用两个等于号表示判断左右两边的值是否相等。

半小时一篇文过完C语言基础知识点_#include_12

九、逻辑运算

在C语言中,使用一个if语句也可以判断多个条件,这时需要使用逻辑判断符&&逻辑与、||逻辑或。例如你需要判断小于10以内的偶数,那么就是两个条件;其一需要小于10,其二需要能够被2整除,而且这两个条件是同时都要满足的,既要小于10,也要能够被2整除。例如现在有一个变量​​a​​​存储的是用户输入的数,这两个条件就可以写成 ​​a<10​​​和​​a%2==0​​,这两个条件中的%是取模运算,指的是取余数,余数为0则表示能够判断被2整除。

那么如何使用​​if​​​语句同时判断这两个条件呢?其实只需要在​​if​​​语句中使用​​&&​​将两个条件连接即可:

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a<10 && a%2==0){
printf("条件成立");
}else{
printf("条件不对");
}

}

以上代码中,​​if​​​语句后的圆括号中输入条件,在这里使用两个​​&&​​​将两个条件进行了连接,表示两个条件都是要同时满足。​​a%2==0​​表示取余数后结果要为0,运行结果如下:

半小时一篇文过完C语言基础知识点_数组_13

如果只需要满足其中一个条件,只需要将​​&&​​​换成​​||​​即可:

#include<stdio.h>
int main(){
int a=0;
scanf("%d",&a);

if(a<10 || a%2==0){
printf("条件成立");
}else{
printf("条件不对");
}

}

输入12,能够被2整除,不必小于10,满足条件其一即可:

半小时一篇文过完C语言基础知识点_#include_14

十、循环

循环在C语言中可以对某一段代码块重复执行。示例代码:

#include<stdio.h>
int main(){
int a=0;
while(a<10){
printf("重复");
a=a+1;
}
}

以上代码首先创建了一个变量​​a​​​,里面存储的内容是0,随后使用一个​​while​​​进行循环。​​while​​​是重复的关键字,你可以当作一个魔法咒语,直接使用​​while​​​在后面的圆括号中是​​while​​​循环的条件,在这里是​​a<10​​​,意思是只要a这个变量的存储值不大于10,那么就会一直循环;圆括号后的花括号中是需要重复的代码,在这里是​​printf("重复");​​​与​​a=a+1​​,每次重复执行代码都会显示重复,并且a等于自身加1再给予自身,这样a变量每重复一次就会增加1,第一次是1第二次为2,总有一次会超过10,超过10则会跳出循环不再执行。结果如下:

半小时一篇文过完C语言基础知识点_数组_15

为了更直观的查看结果,我们在​​printf​​语句中增加一个换行符​​\n​​,我们可以理解​​\n​​为一个特殊功能字符串,使用后每次显示到该位置就会换到下一行:

#include<stdio.h>
int main(){
int a=0;
while(a<10){
printf("重复\n");
a=a+1;
}
}

结果为:

半小时一篇文过完C语言基础知识点_#include_16

除了​​while​​​循环我们还可以使用一个​​for​​​循环,跟​​while​​循环一样,都是循环作用:

#include<stdio.h>
int main(){
int a=0;
for(a=0;a<10;a++){
printf("重复\n");
}
}

以上代码​​for​​​与​​while​​​一样是一个关键字,你可以当作是一个魔法咒语,在圆括号中使用分号分隔了​​a=0​​​、​​a<10​​​与​​a++​​​,其中​​a=0​​​只会运行一次,表示将0存入​​a​​​,随后​​a<10​​​为这个​​for​​​循环的循环条件,如果条件不对将会跳出循环,每次​​for​​​循环运行​​a<10​​​都会运行一次,​​a++​​​等于​​a=a+1​​​,表示a变量自增1,此时每次循环​​a​​变量就会加上1,总有一次会跳出循环。结果为:

半小时一篇文过完C语言基础知识点_#include_17

十一、结构体

结构体简单的来说是一个数据的类型,跟​​int​​整型一样,都是一种数据类型,是有多个或其它数量的数据类型组成的一种结构,其它数量的数据类型可以是整形等。代码示例:

#include<stdio.h>

void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
}

以上代码使用一个 ​​struct human​​​ 表示创建一个结构体,这个结构体叫做​​human​​​,花括号内表示这个结构体拥有什么属性;​​int age;​​​用来存储年龄,​​char sex;​​​中的​​char​​​表示字符类型的数据,跟​​int​​​不一样,​​char​​​是值!@#¥……&*a之类的单个字符数据,​​char name​​​ 表示存储一个姓名代号。​​struct human xiaoming;​​​ 表示创建一个结构体类型的数据叫做小明,其实就跟​​int a​​​一样,​​struct human​​​只是表示这是结构体 ​​human​​​的数据,​​xiaoming​​值名称。

我们看一个完整的使用示例:

#include<stdio.h>

void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
printf(" age 为:%d\n",xiaoming.age);
printf(" sex 为:%c\n",xiaoming.sex);
printf(" name 为:%c\n",xiaoming.name);
}

以上代码 ​​xiaoming.age=10;​​​ 表示​​xiaoming​​​这个结构体类型数据中有一个叫做​​age​​​的属性,使用小数点加属性名进行赋值,那么就表示将这个值存储到这个属性中;​​xiaoming.sex='T';​​​表示存储​​T​​​这个字符到​​sex​​​这个户型中,字符类型数据需要使用单引号引起来,其中​​xiaoming.name='M';​​​也是一样;随后使用​​printf​​​进行输出时​​xiaoming.age​​​就表示在这里使用​​age​​​这个属性的值进行输出,​​%d​​​表示输出的这个变量是个整数;下一句​​printf​​​语句中使用的占位符为​​%c​​​,表示的是这个位置即将输出一个字符类型的数据,字符类的数据使用的是​​%c​​,而整数则是使用的是%d。

半小时一篇文过完C语言基础知识点_原力计划_18

数组

在之前的学习中我们使用了变量存储单个的值,那如何使用一个容器存储多个值呢?这个时候可以使用数组。顾名思义,数组就是一个值的组合,例如示例:

#include<stdio.h>

void main(){
int a[]={1,2,3,4,5,99,888};

}

以上代码使用​​int​​​ 描述了一个名称为a的数组,其中方括号[]表示数组,在等于号右边使用花括号将要存储的值括起来,并且使用逗号进行分隔,这样就创建好一个数组了。那如何显示数组内的值呢?这个时候我们可以使用数组名加下标去进行取值,例如我想取第一个并且显示那么就可以写成 ​​printf("%d",a[0]);​​​,在C语言中,是从0开始数数的,所以第一个我们使用的是​​a[0]​​​,第二个取值我们可以写成​​printf("%d",a[1]);​​​;我们可以对这些位置的值进行重新的赋值例如 ​​a[0]=11​​,示例如下:

#include<stdio.h>

void main(){
int a[]={1,2,3,4,5,99,888};

printf("%d\n",a[2]);
a[2]=555;

printf("%d\n",a[2]);
}

以上代码显示​​a[2]​​​的值为3,并且修改​​a[2]​​的值为555再次输出,结果如下:

半小时一篇文过完C语言基础知识点_#include_19

那如何显示所有数组a的值呢?这个时候需要使用循环,因为我们数组的取值是通过描述数组第几个值进行存取,我们称为下标,下标从0到数组所存储的长度为最大,此时使用循环,设置一个变量从0开始即可取出数组内所有的内容:

#include<stdio.h>

void main(){
int a[]={1,2,3,4,5,99,888};

int i;
for(i=0;i<7;i++){
printf("%d\n",a[i]);
}

}

以上代码使用​​for​​循环,对数组进行读取,由于数组长度最大为7,所以需要小于7,最后再使用变量i作为数组下标即可,结果如下:

半小时一篇文过完C语言基础知识点_数组_20

数组也可以先指定长度最后赋值:

#include<stdio.h>

void main(){
int a[10];

int i;
for(i=0;i<10;i++){
a[i]=i;
}

for(i=0;i<10;i++){
printf("%d\n",a[i]);
}

}

以上代码我们使用​​for​​​循环设置数组a里面的内容,​​a[10]​​​表示数组a的长度为10,能存储10个值。随后使用​​for​​​循环设置数组​​a​​的内容,第一次为1第二次为2以此类推,最后再使用循环进行输出,结果如下:

半小时一篇文过完C语言基础知识点_#include_21



举报

相关推荐

0 条评论