C语言入门之基础知识详解

一、思维导图

内容不限于此思维导图

二、环境搭建

对于老手,自动跳过这一趴吧,或者也可以看一下我有没有啥纰漏,毕竟小白需要这一趴。

编译器很多,大部分老师会在学生学习C语言的时候推荐使用VC,不带语言提示器的那种,说是可以提高学生的编码能力。我也不知道到底是不是这么一回事儿。我推荐使用VS,这样学的快,函数记不住的问题很严重吗?项目的车轮碾压过去,再记不住也得记住吧!!!

更何况这个系列到后面是会有需要用文本文件编程写项目的阶段。

下载VS2019社区版,不要标新立异选那些最新版的,出了问题到时候又调不过来。

下载之后点击安装,前面一路正常,会出困惑的应该是这个界面:

如果说之后还有需要什么功能的话,也是可以再行添加的:
打开visual studio Installer,进入修改:

不建议安装在C盘,换一个路径吧。

再接下来,就是创建一个项目:

新建一个写代码的地方:

Ctrl+shift+A

编译运行代码:

三、编码规范

分号:在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
比方说:printf(“hello world”);

注释:以 // 开始的单行注释,这种注释可以单独占一行。

/*
 多行注释
 多行注释
 多行注释
 */

不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。

标识符:C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)
C 标识符内不允许出现标点字符

程序入口:C语言的程序入口从main函数开始、

头文件:引用头文件的时候有两种方法:

#include <·····> //引用系统头文件
#include "·····"  //引用我们自己的头文件

四、基本数据类型

标准输入输出

#include<stdio.h>

int main() {
	/*
		这是一个输出的示例函数代码
	*/

    int i = 47;
    printf("hello world");
    printf("%d\n", i);
    system("pause");
    return 0;
}

%d就是控制符,用“,“隔开参数,进行格式化输出时,有许多控制符,常用的有:

%d 十进制有符号整数。
%s 字符串。
%c 单个字符。

盘点一下:

%d —— 以带符号的十进制形式输出整数
%o —— 以无符号的八进制形式输出整数
%x —— 以无符号的十六进制形式输出整数
%u —— 以无符号的十进制形式输出整数
%c —— 以字符形式输出单个字符
%s —— 输出字符串
%f —— 以小数点形式输出单、双精度实数
%e —— 以标准指数形式输出单、双精度实数
%g —— 选用输出宽度较小的格式输出实数


输入部分:

#include<stdio.h>

int main() {
    int i;
    printf("请输入整型i的值:\n");
    scanf_s("%d", &i);	#注意这里的写法,&i
    printf("输入的值是:%d\n",i);

    return 0;
}

五、分支循环

5.1 分支

if(boolean_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}
if(boolean_expression)
{
   /* 如果布尔表达式为真将执行的语句 */
}
else
{
   /* 如果布尔表达式为假将执行的语句 */
}
if( boolean_expression 1)
{
   /* 当布尔表达式 1 为真时执行 */
   if(boolean_expression 2)
   {
      /* 当布尔表达式 2 为真时执行 */
   }
}
switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
    case constant-expression  :
       statement(s);
       break; /* 可选的 */

    /* -简介可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}
switch(ch1) {
   case 'A':
      printf("这个 A 是外部 switch 的一部分" );
      switch(ch2) {
         case 'A':
            printf("这个 A 是内部 switch 的一部分" );
            break;
         case 'B': /* 内部 B case 代码 */
      }
      break;
   case 'B': /* 外部 B case 代码 */
}

三目运算符:

Exp1 ? Exp2 : Exp3;

这个三目运算符呢,相对来说并不是那么非要掌握的,拿来装逼用挺好。
如果在代码中看到别人这么写,理解一下就好:
问好前面是判断条件,如果为真,执行冒号前面的语句,否则执行冒号后面的语句。

5.2 循环

while循环

while(condition)
{
   statement(s);
}

statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。

condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环。

#include <stdio.h>
int main()
{
    int i=1,j;
    while (i <= 5)
    {
        j=1;
        while (j <= i )
        {
            printf("%d ",j);
            j++;
        }
        printf("\n");
        i++;
    }
    return 0;
}

for循环

for ( init; condition; increment )
{
   statement(s);
}

init 会首先被执行,且只会执行一次(可以放空,但是分号要有)。一般用于声明对象。

判断 condition(可以放空,默认为真)。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。

执行完 for 循环主体,跳回上面的 increment 语句(可以放空)。一般用于更新循环控制变量。

如此,循环往复。

#include <stdio.h>

int main ()
{
   /* for 循环执行 */
   for( int a = 10; a < 20; a = a + 1 )
   {
      printf("a 的值: %d\n", a);
   }

   return 0;
}

六、break与continue

当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环以外的下一条语句。
它还可用于终止 switch 语句中的一个 case。

continue 会跳过当前循环中的代码,强迫开始下一次循环。
对于 for 循环,continue 语句执行后increment语句仍然会执行。对于 while 循环,continue 语句重新执行条件判断语句。

6.1 无限循环

相信我,总有一天你会需要无限循环的。

#include <stdio.h>

int main ()
{
   for( ; ; )	//或者while(1)
   {
      printf("该循环会永远执行下去!\n");
   }
   return 0;
}

到此这篇关于C语言入门之基础知识详解的文章就介绍到这了,更多相关C语言基础知识详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-04-27

c语言 树的基础知识(必看篇)

第一.树的定义: 1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树 第二.专业术语: 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度.  根节点是第一层 结点的层次:根节点为第一层,根节点的子节点为第2层,以此类推 叶子节点:没有子节点的节点 非终端节点:实际就是非叶子节点 结点度: 子节点的个数称为度树的度 第三.树的分类 一般树:任意一个节点的子节点的个数不受限制 二叉树:任意一个节点的子节点最多2个,且子节点的位置不可更改 满二叉树:在不增加层数的

C语言基础知识点解析(extern,static,typedef,const)

一.extern的使用方法 下面是<C语言程序设计>中的关于extern的解释: 在一个源程序的所有源文件中,一个外部变量只能在某个文件中定义一次,而其他文件可以通过extern声明来访问它(定义外部变量的源文件中也可以包含对该外部变量的extern声明).外部变量的定义中必须指定数组的长度,但extern声明不一定指定数组的长度. 外部变量的初始化只能出现在其定义中. 假设函数push与pop定义在一个文件中,而变量val与sp在另一个文件中定义本那个被初始化(通常不太可能这样组织程序),则

c语言与c++基础知识点(必看)

1.后缀名: C++/C程序的头文件以.h为后缀,C程序的源文件以.c为后缀,C++程序的源文件通常以.cpp为后缀(有些书中介绍有一些系统以.cc或.cxx为后缀的源文件). 在Linux系统下的gcc,.C(部分),.cc或.cxx 为后缀的源文件, 它们也是C++源代码文件. 2.extern关键字:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.此外extern也可用来进行链接指定. 也就是说extern有两个

C语言基础知识变量的作用域和存储方式详细介绍

变量的作用域和存储方式 1.简述变量按作用域的分类 变量按作用域分:分为全局变量和局部变量 全局变量:在所有函数外部定义的变量叫做全局变量 全局变量的使用范围:从定义位置开始到下面整个程序结束 局部变量:在一个函数内部定义的变量或者函数的形式参数统称为局部变量 局部变量的使用范围:在函数内部定义的变量只能在本函数内部进行使用 2.简述变量按存储方式的分类 静态变量 自动变量 寄存器变量[寄存器就是cpu内部可以存储数据的一些硬件东西] 3.简述全局变量和局部变量命名冲突的问题 1>在一个函数内部

C语言指针基础知识实例讲解

对程序进行编译的时候,系统会把变量分配在内存单位中,根据不同的变量类型,分配不同的字节大小.比如int整型变量分配4个字节,char字符型变量分配1个字节等等.被分配在内存的变量,可以通过地址去找到,内存区每一个字节都有一个编号,地址也可以形象的理解成我们生活中的住址,通过住址找到每一个人所在的地方.指针作为一个变量用来存放地址,可以通过指针来改动变量. 上图就是一个简单的定义一个一级指针变量和利用指针改变变量数值的过程.int*表示整型指针,*p表示解引用操作,就是利用指针找到a的地址然后再改

IOS开发之路--C语言基础知识

概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中. 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): Hello World 运行过程 数据类型 运算符 常用

图文详解C语言位运算基础知识

C语言位运算基础知识分享给大家,希望对大家有帮助. 1.   程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作. 2.  与运算:只有前后两个运算数都是 1 的时候结果才是1. 3.  或运算:有1位为1,结果便为1. 4.  异或:不相同则为1. 5.  取反运算:将1变为0,将0变为1. 6.  移位运算:左移则乘2,右移则除2.如果超出边界,则舍弃. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

MySQL 8.0.20 安装教程图文详解(windows 64位)

一:mysql官网下载 https://dev.mysql.com/downloads/file/?id=494993 不用注册,直接下载就好 二:解压缩 原谅我技术渣,所有文件夹都翻过了,真的没找到mysql-installer在哪个文件夹内,真的不知道应该运行哪个文件(有大神知道欢迎指导) ok解压后的目录并没有的my.ini文件,那么自己配置.自行创建在安装根目录下添加的my.ini,写入基本配置: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录

Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)

为什么,这么简单的一个python,我还要特意来写一篇文章呢? 是因为留念下,在使用了Anaconda2和Anaconda3的基础上,现在需安装python3.6.0来做数据分析. 关于数据分析工程师的,相关博客,我会陆续更新发布. Python 3.6.1的下载 https://www.python.org/或者到我们下载http://www.jb51.net/softs/597875.html 点击download选择你下载的版本.毫不犹豫选择最新的.进入以后有很多可选的.windows下有

图文详解易语言dll调用

易语言dll使用教程 1.图一不用说了把,打开易语言谁都会,本教程通用易语言5.11后所有版本(包括5.11) 2.图二:点击新建程序,选择第三个,windows动态链接库. 3.新建一个子程序,然后名字自定义,但是要记住名字哦,还有箭头所指,需要点击为公开,这样才能调用.箭头二是返回的数据,源码需要. 4.保存的文件名随意,但是调用的时候需要用到的文件名. 5.在新建个易语言窗口程序 ,新建个空白的dll框架,第一名字随意,返回要和dll里面访问的一样.如文本型. 新建的易语言窗口程序需要和d

图文详解易语言发信问题

很多人说易语言为什么使用QQ发信时会失败呢,本经验将为你解答 1.打开易语言,写如下代码 1.开启服务 然后打开QQ邮箱 2.点击"设置" 3.点击"帐户" 4.选择SMTP服务并开启 5.保存更改

C语言 位运算详解及示例代码

所谓位运算,就是对一个比特(Bit)位进行操作.在<二进制思想以及数据的存储>一节中讲到,比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了. C语言提供了六种位运算符: 运算符 & | ^ ~ << >> 说明 按位与 按位或 按位异或 取反 左移 右移 按位与运算(&) 一个比特(Bit)位只有 0 和 1 两个取值,只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0.例如1&1

windows 64位下MySQL 8.0.15安装教程图文详解

先去官网下载点击的MySQL的下载 下载完成后解压  解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向mysql的bin目录   配置初始化的my.ini文件的文件 解压后的目录并没有的my.ini文件,没关系可以自行创建在安装根目录下添加的my.ini(新建文本文件,将文件类型改为的.ini),写入基本配置: [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录

Python Django的安装配置教程图文详解

Django 教程 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 学习Django前,我们要确定电脑上是否已经安装了Python,目前Python有两个版本,不过这两个版

Windows下MySQL安装教程图文详解

MySQL安装说明MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品. MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语

Oracle 11g服务器安装详细步骤图文详解

Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500多个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年.Oracle 11g提供了高性能.伸展性.可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行 ,相对过往版本而言,Oracle 11g具有了与众不同的特性. 下文重点给大家介绍Oracle 11g服务器安装详细步骤图文详解,具体内容如下所示: 1.大家可以根据自己的操作系统是多少位(32位或64位)的