【C语言课堂】 初识篇(01)

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 【C语言课堂】 初识篇(01)

前言:

读到这篇博客时,相信你已经做好学习C语言的准备了,那么接下来我将带你从宏观出发,看看C语言大体学些什么,简单认识每个知识点,先不做详细讲解,让我们开始吧!


目录


❤️1.第一个C语言程序

🧡2.数据类型

💛3.变量,常量

3.1定义变量

3.2变量的命名

3.3变量的分类

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

作用域:

生命周期:

3.5常量

字面常量

枚举常量

#define 定义的标识符常量

const 修饰的常变量  


1.第一个C语言程序

掏出你的编译器,跟我写下这个程序:

#include<stdio.h>
int main()
{
  printf("Hello word.");
  return 0;
}

简单标注:

main 函数是主程序的入口,一个工程中 main 函数有且只有一个

return 返回,与 main 函数呼应,有始有终;

printf 是执行的主体,意思是在屏幕上打印,后面跟的就是打印内容啦。

运行:

微信图片_20230415220740.png

是不是很有意思呢?


2.数据类型


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

C语言中有许多数据类型哒,可以丰富地表达生活中的各种值;

那它们有什么区别呢,第一是储存数据的类型,第二是储存需要申请的内存

第一点较好理解,上栗子:

字符数据:a,b,c, * , # , | 等,其实能在键盘上打出来的都算字符(英文输入);

整型:其实就是整数啦  1,2,3...

浮点型:小数   3.14

第二点我们可以借助编译器计算它们各自申请的内存:

int main()
{
  printf("%d\n", sizeof(char));       //  1
  printf("%d\n", sizeof(short));      //  2
  printf("%d\n", sizeof(int));        //  4
  printf("%d\n", sizeof(long));       //  4     单位:字节
  printf("%d\n", sizeof(long long));  //  8
  printf("%d\n", sizeof(float));      //  4
  printf("%d\n", sizeof(double));     //  8
  return 0;
}
//   “ \n ”是起换行作用
//   sizeof 是用来计算数组(类型)占用空间内存的大小的操作符


3.变量,常量

很简单,变的值叫变量,不变的值叫常量;


3.1定义变量

这里就用刚刚介绍到的数据类型啦 ~

int a = 10;
char arr = 'abcdef';
float pai = 3.14f;
//类型 变量名称 赋值号 变量内容

3.2变量的命名

◾只能由字母,数字,下划线构成;

◾长度不能超过63个字符;

◾变量名中区分大小写;

◾变量名不与关键字冲突(什么是关键字? 就是有特定组成且有特定功能的字符 如 if  while)。

就是对上面 a , arr , pai 之类的要求。


3.3变量的分类

◾局部变量

◾全局变量

看看下面这个程序会输出什么呢?

#include<stdio.h>
int a = 0;// 全局变量
int main()
{
    int a = 10;// 局部变量
    printf("%d\n",a);
    return 0;
}

答案是 10

首先这个程序是正确的,也就是对变量 a 的定义是正确的;

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


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


作用域:

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

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


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

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


生命周期:

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


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

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


3.5常量

常量有如下的分类:

◾字面常量

◾枚举常量

◾#define 定义的标识符常量

◾const 修饰的常变量

我们用代码说话:

字面常量

#include<stdio.h>
int main()
{
  //字面常量
  // 23 
  // 3.14
  return 0;
}.

枚举常量

#include<stdio.h>
int main()
{
  //枚举常量
  enum Sex
  {
    Male,
    Female,
    Secret
  };
  return 0;
}

#define 定义的标识符常量

#include<stdio.h>
int main()
{
  //#define定义标识符常量
  #define MAX 100
  printf("%d\n", MAX);
  return 0;
}


const 修饰的常变量

#include<stdio.h>
int main()
{
  const float pai = 3.14f; //这里的pai是const修饰的常变量
  pai = 6.14;//是不能直接修改的!
  return 0;
}
//注: const 修饰的常变量在C语言中只是在语法层面限制了
      变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量

总结:

这篇博客带大家写下了第一段代码 并且 给大家介绍了数据类型,变量,常量等入门知识点,到这里C语言初识篇还没结束哦 ~ 后期会给大家介绍字符串,语句,函数,数组等。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
算法 程序员 C语言
【C语言课堂】 函数递归
【C语言课堂】 函数递归
166 0
|
程序员 编译器 C语言
【C语言课堂】 函数精讲
【C语言课堂】 函数精讲
82 0
【C语言课堂】 函数精讲
|
编译器 C语言
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
70 0
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
|
C语言
【C语言课堂】 初识篇(03)
【C语言课堂】 初识篇(03)
104 0
【C语言课堂】 初识篇(03)
|
C语言 C++
【C语言课堂】 初识篇(02)
【C语言课堂】 初识篇(02)
82 0
【C语言课堂】 初识篇(02)
|
存储 程序员 开发工具
面向对象的程序设计C++课堂复盘总结 C语言复习+C++基础语法
Stay Hungry,Stay Foolish. 任何人都能写出机器能看懂的代码,但只有优秀的程序员才能写出人能看懂的代码。 有两种写程序的方式:一种是把代码写得非常复杂,以至于 “看不出明显的错误”;另一种是把代码写得非常简单,以至于 “明显看不出错误”。 “把正确的代码改快速”,要比 “把快速的代码改正确”,容易得太多。 C++ 庞大、复杂是无法改变的事实,所以我们要把这三条格言铭记在心,对它保持一颗 “敬畏” 的心,在学习语言特性的同时,千万不要滥用特性,谦虚谨慎,戒骄戒躁。 -------CSDN Albert Edison
304 0
|
14天前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
52 23
|
14天前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
44 15
|
14天前
|
C语言
【C语言程序设计——函数】亲密数判定(头歌实践教学平台习题)【合集】
本文介绍了通过编程实现打印3000以内的全部亲密数的任务。主要内容包括: 1. **任务描述**:实现函数打印3000以内的全部亲密数。 2. **相关知识**: - 循环控制和跳转语句(for、while循环,break、continue语句)的使用。 - 亲密数的概念及历史背景。 - 判断亲密数的方法:计算数A的因子和存于B,再计算B的因子和存于sum,最后比较sum与A是否相等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台对代码进行测试,预期输出如220和284是一组亲密数。 5. **通关代码**:提供了完整的C语言代码实现
54 24
|
10天前
|
存储 C语言
【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
48 16

热门文章

最新文章