初始C语言(最全最简单c语言入门介绍)

一、什么是C语言。

C 语言是一门通用 计算机编程语言 ,广泛应用于底层开发。 C 语言的设计目标是提供一种能以简易
的方式 编译 、处理低级 存储器 、产生少量的 机器码 以及不需要任何运行环境支持便能运行的编程语
言。
尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式 处理器 (单片机或称 MCU )以及超
级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的 C 语言语法产生差异,由 美国国家标准局 C 语言制
定了一套完整的美国国家标准语法,称为 ANSI C ,作为 C 语言最初的标准。 [1] 目前 2011 12 8
日,国际标准化组织( ISO )和国际电工委员会( IEC )发布的 C11 标准 C 语言的第三个官方标
准,也是 C 语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C 语言是一门面向过程的计算机编程语言,与 C++ Java 等面向对象的编程语言有所不同。
其编译器主要有 Clang GCC WIN-TC SUBLIME MSVC Turbo C 等。

常青树

C 生万物
编程之本
长远 IT 职业发展的首选
C 语言是母体语言,是人机交互接近底层的桥梁
学会 C/C++ ,相当于掌握技术核心
知识点一竿子打通。
IT 行业,一般每 10 年就有一次变革
50 年间,在 TIOBE 排行榜中, C/C++位置长期霸占前三名,没有丝毫撼动,可谓经典永不过时 

、数据类型

char         // 字符数据类型
short       // 短整型
int         // 整形
long         // 长整型
long long   // 更长的整形
float       // 单精度浮点数
double       // 双精度浮点数

每种类型的大小是多少?

#include <stdio.h>
int main ()
{
    printf ( "%d\n" , sizeof ( char ));
    printf ( "%d\n" , sizeof ( short ));
    printf ( "%d\n" , sizeof ( int ));
    printf ( "%d\n" , sizeof ( long ));
    printf ( "%d\n" , sizeof ( long long ));
    printf ( "%d\n" , sizeof ( float ));
    printf ( "%d\n" , sizeof ( double ));
    printf ( "%d\n" , sizeof ( long double ));
    return 0 ;
}
​​​运行结果

1、char:字符数据类型,用来修饰字符,其大小为1字节。

2、shot:短整型,其大小为2字节。

3、int:整形,其大小为4字节。

4、long:长整形,其大小为4字节。

5、long long:更长的整形,其大小为8字节。

6、float:单精度浮点型,用来修饰单精度的数字,比如3.1,5.4等,其大小为4字节。

7、double:双精度浮点型,用来修饰双精度的数字,比如,3.14,5.21等,其大小为8字节。

8、long double:长双精度浮点型,大小为8字节。


三 、变量、常量

顾名思义

变量:变化的量叫变量

常量:恒定不变的量叫常量

3.1定义变量的方法

数据类型  变量名字 =变量数值;
注意这里的等号为赋值 ==才是等于
例子:
int age = 150 ;
float weight = 45.5f ;
char ch = 'w' ;

3.2变量的命名

只能由字母(包括大写和小写)、数字和下划线( _ )组成。
不能以数字开头。
长度不能超过 63 个字符。
变量名中区分大小写的。
变量名不能使用关键字。

3.3变量的分类

局部变量
全局变量
注:当局部变量和全局变量同名的时候,局部变量优先使用。

3.4 变量的作用域和生命周期

作用域
作用域( scope )是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期

3.5 常量

C 语言中的常量和变量的定义的形式有所差异。
C 语言中的常量分为以下以下几种:
字面常量
const 修饰的常变量
#define 定义的标识符常量
枚举常量
特殊例子:
变量被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了
变量 不能直接被改变,但是 变量   本质上还是一个变量的,所以叫常变量

四、 字符串+转义字符+注释

这种由双引号( Double Quote )引起来的一串字符称为字符串字面值( String Literal ),或者简称字符串。“hello world”
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
#include <stdio.h>
// 下面代码,打印结果是什么?为什么?(突出 '\0' 的重要性)
int main ()
{
    char arr1 [] = "bit" ;
    char arr2 [] = { 'b' , 'i' , 't' };
    char arr3 [] = { 'b' , 'i' , 't' '\0' };
    printf ( "%s\n" , arr1 );
    printf ( "%s\n" , arr2 );
    printf ( "%s\n" , arr3 );
    return 0 ;
}

4.2 转义字符

转义字符顾名思义就是转变意思。
下面看一些转义字符。
转义字符 释义
\?     在书写连续多个问号时使用,防止他们被解析成三字母词
\'      用于表示字符常量'
\“      用于表示一个字符串内部的双引号
\\      用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a     警告字符,蜂鸣
\b     退格符
\f      进纸符
\n     换行
\r      回车
\t      水平制表符
\v     垂直制表符
\ddd   d d d表示 1~3 个八进制的数字。 如: \130 表示字符 X
\xdd  d d表示 2 个十六进制数字。 如: \x30 表示字符 0
用法实例
#include <stdio.h>
int main ()
{
    // 问题 1 :在屏幕上打印一个单引号 ' ,怎么做?
    // 问题 2 :在屏幕上打印一个字符串,字符串的内容是一个双引号 ,怎么做?
    printf ( "%c\n" , '\'' );
    printf ( "%s\n" , "\"" );
    return 0 ;
}

五、 注释(方便你我他)

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字

六、选择语句

使用if语句进行选择满足if()的条件则进入{}内执行相应语句否则进入else{}内的语句

#include <stdio.h>
 int main() {
     double a,b,c;
     scanf("%lf %lf %lf", &a, &b, &c);
     
     if(a+b>c && a+c>b && b+c>a) {
         if(a==b || a==c || b==c) {
             if (a==b && a==c)
                 printf("构成等边三角形\n");
             else
                 printf("构成等腰三角形\n");
         }
         else
             printf("构成一般三角形\n");
     }
     else
         printf("不能构成三角形\n");
         
     return 0;
 } 

七、循环语句

while 语句
for 语句
do ... while 语句

八、函数

函数的特点就是简化代码,代码复用。
就像工厂的流水线一样,为了一两件产品开动流水线是不值得的,大量重复的制作一件物品才是流水线的意义。
多次调用函数可以做到不用重复编写节约时间空间的优点

九、数组

一组相同类型元素的集合

9.1数组定义

int arr [ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; // 定义一个整形数组,最多放 10 个元素

9.2 数组的下标

C 语言规定:数组的每个元素都有一个下标,下标是从 0 开始的。
数组可以通过下标来访问的。

9.3数组的使用 

定义数组

定义变量

用for循环持续输入

十、 操作符

             
              

十一 常见关键字

再给变量取名时切记不能用关键字

11.1关键字 typedef

typedef 顾名思义是类型定义,这里应该理解为类型重命名。
typedef加工出来的都是类型,而不是变量

11.2 关键字static

C 语言中:
static 是用来修饰变量和函数的
1. 修饰局部变量 - 称为静态局部变量
2. 修饰全局变量 - 称为静态全局变量
3. 修饰函数 - 称为静态函数
static修饰局部变量改变了变量的生命周期
让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使
用。

十二、 指针

12.1 内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是 1 个字节
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该 内存单元的地
变量是创建内存中的(在内存中分配空间的),每个内存单元都有地址,所以变量也是有地址的。

12.2定义指针变量

int num = 10 ;
int * p ; //p 为一个整形指针变量
p = & num ;

12.3指针的使用实例:

#include <stdio.h>
int main ()
{
int num = 10 ;
int * p = & num ;
* p = 20 ;
    return 0 ;
}

12.4指针变量的大小

指针大小在32位平台是4个字节,64位平台是8个字节

十三、结构体

结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。

它可以使多项融合到一起,比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。

例子:

struct Stu
{
    char name [ 20 ]; // 名字
    int age ;       // 年龄
    char sex [ 5 ];   // 性别
    char id [ 15 ] // 学号
};

结构体的初始化:​​​​​​​

// 打印结构体信息
struct Stu s = { " 张三 " 20 " " "20180101" };
//. 为结构成员访问操作符
printf ( "name = %s age = %d sex = %s id = %s\n" , s . name , s . age , s . sex , s . id );
//-> 操作符
struct Stu * ps = & s ;
printf ( "name = %s age = %d sex = %s id = %s\n" , ps -> name , ps -> age , ps -> sex , ps -
> id );
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值