【C语言】初始C语言(1)

简介: 【C语言】初始C语言(1)

变量、常量

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

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

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

定义变量的方法

C语言中使用变量之前要先定义变量。定义变量时要取一个独一无二的名字,同时还要声明变量中的要存放什么类型的数据。也就是说一个变量中只能存放一种与其相同类型的数据。

注意:定义整数数据类型的变量不能存放一个字符或者小数型数据。

int main()
{
  int age;
  age = 18;
  float weight = 45.45f;
  char ch = "a";
}

变量的命名规则

变量是通过变量名来区分的,但是也要遵循变量取名的规则:

  1. 不可以以数字开头
  2. 不可以包含特殊字符
  3. 不可以用关键字
  4. 不能操作63个字符
  5. 变量的命名区分大小写

注意: C语言中的所用关键字标准库函数名普通标识符都只用小写字母表示,而变量名通常用大写字母表示。

变量的分类

C语言中通常把变量分为局部变量全局变量。

局部变量又称为内部变量,只能被内部引用,无法被其他对象或函数引用。

全局变量即外部变量,创建在函数的外部的变量,可以在程序的任何一个地方创建。它可以被程序中的任何函数或对象调用。

int age = 30;//全局变量
int main()
{
  {
    int age = 20;//局部变量
  }
  return 0;
}

当全局变量和局部变量相同时,局部变量优先。

变量的作用域和周期

要使用变量一定要清楚它的作用域和生命周期,只有这样才能程序如期运行。

作用域

变量的作用域指变量在程序中起作用的区域,可以理解为在{ }包围的区域。

在函数外部并且在程序入口(main函数)前面定义的变量,从声明位置开始,到程序结束都是起作用的,这样的作用域称为文件作用域。

  1. 局部变量的作用域是变量所在的局部范围。
  2. 全局变量的作用域是整个工程。

生命周期

变量的生命周期是指从创建到销毁的时间段。

  1. 局部变量生命周期:进入作用域生命周期开始,离开作用域生命周期结束。
  2. 全局变量生命周期:整个程序的生命周期。

常量

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

常量分为以下几种:

  • 字面常量
  • const修饰的常量
  • #define定义的标识符常量
  • 枚举常量
#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; 
}

注意:还有一种常变量的说法,它既有常量的属性,但是本质还是变量。它不能作为数组的长度,但是以#define定义的常量可以作为初始数组的长度。

#define m 10
int main()
{
    const int n=10;
    char arr[n];//错误的定义
    char arr1[m];//这个可以初始化数组的长度
}

字符串、转义字符和注释

字符串

"hello\n"

这种由双引号引起来的一串字符,称为字符串/

注意:字符串的结束标志是’\0’这个转义字符,在计算字符串的长度时候,不计算也不算做字符串的内容,他会自动生成。在输出的时候只有遇到这个转义字符才会停止输出。

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
    char arr1[] = "hai";
    char arr2[] = {'h', 'a', 'i'};
    char arr3[] = {'h', 'a', 'i', '\0'};
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}

输出的内容:


从结果可以看出arr2输出的内容不确定,是因为没有确定转义字符’\0’的位置。

转义字符

假如我们要在屏幕上打印一个目录:c:\test\test.c

如果我们按照原提示打印如下:

int main()
{
    printf("c:\test\test.c\n");
    return 0;
}

实际上程序运行的结果:

这就不得不使用转义字符了,下面我们来看下转义字符。

转义字符 释义
\? 在书写连续多个问号时使用,防止他们被解析成三字母词
\’ 用于表示字符常量’
\“ 用于表示一个字符串内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进制符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd d d d表示1~3个八进制数字。
\xdd d d表示2个十六进制数字。

注释

  • 代码中有不需要的代码可以直接删除,也可以注释掉。
  • 代码中有些代码比较难懂,可以加注释文字。
#include <stdio.h>
int Add(int x, int y)
{
    return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
    return x-y;
}
*/
int main()
{
    //C++注释风格
    //int a = 10;
    //调用Add函数,完成加法
    printf("%d\n", Add(1, 2));
    return 0;
}

注释有两种风格:

C语言风格的注释/xxxxxx/

      缺陷:不能嵌套注释 

C++风格的注释//xxxxxxxx

      可以注释一行也可以注释多行

选择语句

每个人的人生都面临着好多的选择,我们程序通过特定的条件也可以实现这一功能。

#include <stdio.h>
int main()
{
    int coding = 0;
    printf("你会一直坚持下去吗?(选择1 or 0):");
    scanf("%d", &coding);
    if(coding == 1)
   {
       printf("坚持,你一定会成功\n");
   }
    else
   {
       printf("放弃,回家去种田\n");
   }
    return 0; 
}

循环语句

循环就是日复一日,年复一年,做相同的事情,比如学习,就是每天都进行的。



那么在C语言中怎么实现循环呢?

  • while循环语句:当条件成立时,重复操作,否则退出循环。
  • do-while循环语句:重复操作,直到条件不成立时退出循环。
  • for循环语句:用循环变量精准控制重复次数。
  • 本篇博客主要介绍了变量、常量、字符串、转义字符、注释、选择语句和循环语句。下篇博客我会接着介绍函数、数组、操作符、常见的关键字、#define定义常量和宏、指针和结构体。希望我总结的内容可以帮助读者更好的学习C语言。
相关文章
|
Linux
CentOS7下使用growpart工具进行磁盘热扩容
CentOS7下使用growpart工具进行磁盘热扩容
1077 0
CentOS7下使用growpart工具进行磁盘热扩容
|
NoSQL Redis
SSO单点登录核心原理
SSO单点登录核心原理
360 0
|
存储 数据可视化 计算机视觉
树莓派计算机视觉编程:1~5
树莓派计算机视觉编程:1~5
332 0
|
机器学习/深度学习 人工智能 算法
论文分享|AAAI 2022 频域隐私保护人脸识别(PPFR-FD)-下篇
论文分享|AAAI 2022 频域隐私保护人脸识别(PPFR-FD)-下篇
390 0
论文分享|AAAI 2022 频域隐私保护人脸识别(PPFR-FD)-下篇
|
API TensorFlow 算法框架/工具
精通 Transformers(四)(1)
精通 Transformers(四)
169 0
精通 Transformers(四)(1)
|
存储 算法 数据可视化
Python 金融编程第二版(GPT 重译)(一)(1)
Python 金融编程第二版(GPT 重译)(一)
215 1
|
Ubuntu 编译器
dpdk01-安装
dpdk01-安装
|
C语言
学C的第二天(变量‘补充’;简单了解常量,字符串,转义字符,注释,if选择语句,while循环语句)(1)
4.4*变量的使用(上期继续补充): 字符类型: %c - 字符类型 %d - 整型 %s - 字符串 %f - float类型 %lf - double类型
231 0
|
搜索推荐 开发工具 决策智能
Agent调研--19类Agent框架对比(中)
Agent调研--19类Agent框架对比(中)
3716 0
|
Java 测试技术 Go
流畅的 Python 第二版(GPT 重译)(四)(4)
流畅的 Python 第二版(GPT 重译)(四)
194 1