(初识C语言p1)C语言从入门到入土(入门篇)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 初识C语言 本章重点 1. 什么是C语言? 2. 第一个C语言程序 3. 数据类型 3. 变量、常量 3.1 定义变量的方法 3.3 变量的使用 3.4 变量的作用域和生命周期 3.5 常量 4. 字符串+转义字符+注释 4.1 字符串 4.2 转义字符 5. 注释

初识C语言

本章重点

目录


初识C语言


本章重点


1. 什么是C语言?


2. 第一个C语言程序


3. 数据类型


3. 变量、常量


3.1 定义变量的方法


3.3 变量的使用


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


3.5 常量


4. 字符串+转义字符+注释


4.1 字符串


4.2 转义字符


5. 注释


(因时间原因,以下内容下次发文讲)


变量、常量

字符串+转义字符+注释

选择语句

循环语句

函数

数组

操作符

常见关键字

define 定义常量和宏

指针

结构体


1. 什么是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 等。


2. 第一个C语言程序


// 解释:
//main 函数是程序的入口
// 一个工程中 main 函数有且仅有一个
3. 数据类型
char         // 字符数据类型
s

hort       // 短整型

int         // 整形

long         // 长整型

long long   // 更长的整形

float       // 单精度浮点数

double       // 双精度浮点数

//C语言有没有字符串类型?

为什么出现这么的类型?

每种类型的大小是多少?(打印一下就知道了=。=)

#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 ,2,  4,  4,8,4,8, 8

注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。

类型的使用:

char ch = 'w' ;

int weight = 120 ;

int salary = 20000 ;

(像age 这样的 就用 char类型 ,毕竟目前没有人能活过三位数哈)

注:

回答上一个问题,C语言是没有字符类型的!


3. 变量、常量


生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)

有些值是可变的(比如:年龄,体重,薪资)。

不变的值, C 语言中用 常量 的概念来表示,变得值

C 语言中用 变量 来表示。


3.1 定义变量的方法


局部变量

全局变量

#include <stdio.h>
int global = 2019 ; // 全局变量
int main ()
{
    int local = 2018 ; // 局部变量
    // 下面定义的 global 会不会有问题?
    int global = 2020 ; // 局部变量
    printf ( "global = %d\n" , global );
    return 0 ;
}


总结:


上面的局部变量 global 变量的定义其实没有什么问题的

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


注:

13.png

大写指MAX(一般定义名都为大写)


14.png

15.png

(看后缀是什么,就被定义为什么)


3.3 变量的使用

#include <stdio.h>
int main ()
{
    int num1 = 0 ;
  int num2 = 0 ;
    int sum = 0 ;
    printf ( " 输入两个操作数 :>" );
    scanf ( "%d %d" , & num1 , & num2 );
    sum = num1 + num2 ;
    printf ( "sum = %d\n" , sum );
    return 0 ;
}
// 这里介绍一下输入,输出语句
//scanf
//printf

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

作用域

作用域( scope )是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用

而限定这个名字的可用性的代码范围就是这个名字的作用域。

1. 局部变量的作用域是变量所在的局部范围。

2. 全局变量的作用域是整个工程。

生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2. 全局变量的生命周期是:整个程序的生命周期。

3.5 常量

C 语言中的常量和变量的定义的形式有所差异。

C 语言中的常量分为以下以下几种:

字面常量

const 修饰的常变量

#define 定义的标识符常量

枚举常量(enum 函数)

#include <stdio.h>

// 举例

enum Sex

{

MALE ,

FEMALE ,

SECRET

};

// 括号中的 MALE,FEMALE,SECRET 是枚举常量

int main ()

{

   // 字面常量演示

   3.14 ; // 字面常量

   1000 ; // 字面常量

 

   //const 修饰的常变量

   const float pai = 3.14f ;   // 这里的 pai 是 const 修饰的常变量

   pai = 5.14 ; // 是不能直接修改的!

 

   //#define 的标识符常量 演示

#define MAX 100

   printf ( "max = %d\n" , MAX );

 

   // 枚举常量演示

   printf ( "%d\n" , MALE );

   printf ( "%d\n" , FEMALE );

   printf ( "%d\n" , SECRET );

   // 注:枚举常量的默认是从 0 开始,依次向下递增 1 的

  return 0 ;

  }

注:

上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在 C 语言中只是在语法层面限制了

变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4天前
|
C语言
王桂林C语言从放弃到入门课程
课程目标16天,每天6节课,每节40分钟课堂实录,带你征服C语言,让所有学过和没有学过C语言的人,或是正准备学习C语言的人,找到学习C语言的不二法门。适用人群所有学过和没有学过C语言的人,或是正准备学习C语言的人!
32 2
王桂林C语言从放弃到入门课程
|
4天前
|
存储 编译器 C语言
初识C语言——详细入门(系统性学习day4)
初识C语言——详细入门(系统性学习day4)
|
4天前
|
存储 自然语言处理 编译器
C语言从入门到实战——编译和链接
在C语言中,编译和链接是将源代码转换为可执行文件的两个主要步骤。 编译过程包括以下步骤: 1. 预处理:将源代码中的预处理指令(如`#include`和`#define`)替换为实际的代码。 2. 编译:将预处理后的代码转换为汇编语言。 3. 汇编:将汇编语言转换为机器码指令。 链接过程包括以下步骤: 1. 目标文件生成:将每个源文件编译后生成的目标文件(`.o`或`.obj`)进行合并,生成一个总的目标文件。 2. 符号解析:查找并解析目标文件中的所有符号(例如全局变量和函数名),以确保每个符号都有一个唯一的地址。 3. 地址重定位:根据符号表中符号的地址信息,将目标文件中的所有地址引用
43 0
|
4天前
|
编译器 程序员 C语言
C语言从入门到实战——动态内存管理
在C语言中,动态内存管理是指程序运行时,通过调用特定的函数动态地分配和释放内存空间。动态内存管理允许程序在运行时根据实际需要来分配内存,避免了静态内存分配在编译时就确定固定大小的限制。
47 0
|
4天前
|
编译器 Linux PHP
C语言从入门到实战——预处理详解
C语言预处理是C语言编译过程的一个阶段,它在编译之前对源代码进行一系列的处理操作,包括宏替换、文件包含、条件编译等,最终生成经过预处理的代码,然后再进行编译。
48 0
|
4天前
|
存储 缓存 C语言
C语言从入门到实战——文件操作
C语言中的文件操作是通过使用文件指针来实现的。可以使用标准库中的函数来打开、读取、写入和关闭文件。
58 0
|
4天前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
2天前
|
C语言
C语言——入门分支与循环
C语言——入门分支与循环
3 0
|
4天前
|
编译器 C语言
函数深入解析(C语言基础入门)
函数深入解析(C语言基础入门)
|
4天前
|
C语言
数组深入剖析(C语言基础入门)
数组深入剖析(C语言基础入门)