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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
66 2
|
16天前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
70 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
2月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
33 1
|
2月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
4月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
5月前
|
存储 Java C语言
【C语言入门】初识C语言:掌握编程的基石
【C语言入门】初识C语言:掌握编程的基石
71 4
【C语言入门】初识C语言:掌握编程的基石
|
4月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
66 1
|
5月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
118 2
|
5月前
|
前端开发 C语言 C++
C语言入门02---环境搭建
C语言入门02---环境搭建
|
5月前
|
编译器 C语言 C++
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决