学C的第二天(变量‘补充’;简单了解常量,字符串,转义字符,注释,if选择语句,while循环语句)(1)

简介: 4.4*变量的使用(上期继续补充): 字符类型: %c - 字符类型 %d - 整型 %s - 字符串 %f - float类型 %lf - double类型

4.4*变量的使用(上期继续补充):

       字符类型: %c - 字符类型
               %d - 整型
               %s - 字符串
         

  %f - float类型
               %lf - double类型
               %p -  地址的打印

#define  _CRT_SECURE_NO_WARNINGS
//scanf
//printf
//库函数 - C语言的编译器提供的现成的函数,直接可以使用(使用的时候要包含头文件stdio.h)
//scanf的作用 - 输入数据,数据从键盘读到内存中
//printf的作用 - 输出数据,数据从内存打印(输出)到屏幕上
#include <stdio.h>
int main()
{
  int a = 0;
  //scanf("%d", &a);
    //scanf("输入的格式", 地址);
    //地址:表示数据存放在哪里,这里&a是取地址a -- 取出a的地址
  //printf("%d", a);
    //结果:  输入--w  输出--0
    //原因:输入字符和字符类型不匹配,得把格式匹配上
  //读个字符:
  char ch = 0;//字符类型里也是可以放个0的
  scanf("%c", &ch);
  printf("%c", ch);
  return 0;
}

image.png

4.5*变量的作用域和生命周期:

作用域:


作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。(在哪里可以使用)


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


       2.全局变量的作用域是整个工程(整个项目都能用,不安全)


局部变量

#include <stdio.h>
int main()
{
  {
    int a = 100;//局部变量a:作用域为a所在的{}内
    //printf("%d\n", a);//结果:打印100
  }
  printf("%d\n", a);//结果:系统报错 -“系统找不到指定文件”; VS报错 -"未定义标识符'a'"
  return 0;
}

image.png

全局变量:

#include <stdio.h>
int a = 2023;//全局变量:语法允许的情况下,任何情况下都可以使用
//在大括号外定义的变量:全局变量
//在大括号内定义的变量:局部变量
void test()//void: 不用返回数据
{
  printf("2---> %d\n", a);
}
int main() 
{
  printf("1---> %d\n", a);
  test();//调用上面写的函数
  return 0;//结果1:打印“1---> 2023”,可以调用主函数外的a
       //结果2:1---> 2023
            //2---> 2023(调用方法后)
}
//使用add.c文件里的全局变量
extern int g_val;//(extern: 外部符号)
int main()
{
  printf("%d\n", g_val);
  return 0;//结果:2023,语法允许的情况下,全局变量任何情况下都可以使用
}

image.png生命周期:

变量的生命周期是变量的创建到变量的销毁之间的一个时间段。(什么时候可以使用)

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

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

局部变量:

//生命周期(局部变量)
#include <stdio.h>
int main()
{
  {
    int a = 3;
    int b = 5;
    int c = a + b;
    printf("%d\n", c);
  }
  return 0;
}

image.png

全局变量:

//生命周期(全局变量)
#include <stdio.h>
int a = 0;
int main()
{
  //
  //。。。
  //写了好多代码。。
  //。。。
  //
  return 0;
}

image.png

4.6*常量:

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

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

       *字面常量:(直观一看,就是给常量值)

3

3.14

‘a’ - 字符

"abcdef" - 字符串

       *const修饰的常变量:

#include <stdio.h>
int main()
{
  const int a = 3; //const: 赋予变量常属性
           //常属性:不能修改的属性
  //这里的a是具有常属性的,不能改变,但是本质上还是变量
  printf("%d\n", a);
  a = 10;//赋予a常属性后再修改a会报错
  printf("%d\n", a);
  //数组
  const int n = 10;
  //int arr[n];
  int arr[n];
  //报错:创建数组时[]中需要填常量,这里使用被const修饰的n填入,还是报错
      //说明n本质还是变量,只是不能修改而已(常变量)
  return 0;
}

image.png

   *#define定义的标识符常量:

#include <stdio.h>
#define SIZE 10//#define 定义标识符常量
int main()
{
  int a = SIZE;
  int arr[SIZE];
  return 0;
}


d3b2b381341a4ae7872212f014faa75d.png

   *枚举常量:

#include <stdio.h>
enum SEX//枚举关键字
{ 
  //列出了枚举类型enum SEX的可能取值
  MALE, //男(常量间用逗号隔开)
  FEMALE  //女
  //枚举常量,要赋值(初始值)只能在这里面赋值,不赋值的话默认从0自增
};
int main()
{C
    enum SEX s = FEMALE;//枚举的可能取值是给枚举类型赋值的
  printf("%d\n", MALE);
  printf("%d\n", FEMALE);
  return 0;
}


820a4df7415b443fa234a97ced5ee7d0.png

5*字符串+转义字符+注释:

5.1*字符串:

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串

(注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算字符串内容

#include <stdio.h>
int main()
{
  char ch[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  char ch2[] = "abcdef";
  //在字符串的末尾隐藏一个\0,这个\0是字符串的结束标志
  printf("%s\n", ch);
  printf("%s\n", ch2);
  return 0;
}

751a517a0084469185f109d0794ab0a5.png

image.png

(使用%s打印时,遇到\0才会停止打印)

#include <stdio.h>
#include <string.h>
int main()
{
  char ch1[] = { 'a','b','c' };//[a][b][c]
  char ch2[] = "abc";      //[a][b][c][\0]
  int len1 = strlen(ch1);
  //strlen()方法:求字符串长度,
  //从给定的地址,向后数字符,直到遇到\0结束,\0不统计在内
  printf("%d\n", len1);
  int len2 = strlen(ch2);
  printf("%d\n", len2);
}


f1904c20cd3249dab4259236131abde3.png

5.2*转义字符:

转义字符 --> 转变原来的意思

转义字符                                                              释义


     \?                            在书写连续多个问号时使用,防止它们被解析为三字母次


     \'                             用于表示字符常量'


     \"                            用于表示一个字符串内部的双引号


     \\                            用于表示一个反斜杠,防止它被解释为一个转义序列符


     \a                           警告字符,蜂鸣


     \b                           退格符


     \f                            进纸符


     \n                           换行


     \r                            回车


     \t                            水平制表符


     \v                           垂直制表符


  \ddd                       d d d表示1-3个八进制的数字,如:\130 表示 字符X


  \xdd                       d d 表示2个十六进制数字,如:\x30 表示字符0

相关文章
|
2天前
|
C语言
【C语言】第三回 关于字符串,语句和注释的使用2
【C语言】第三回 关于字符串,语句和注释的使用
|
2天前
|
编译器 C语言
【C语言】第三回 关于字符串,语句和注释的使用1
【C语言】第三回 关于字符串,语句和注释的使用
|
2天前
|
存储 C++
第一章:C++中的注释、变量和数据类型、运算符
第一章:C++中的注释、变量和数据类型、运算符
27 0
|
2天前
|
C语言 C++
C语言是如何打印字符串 注释 占位符详解
C语言是如何打印字符串 注释 占位符详解
|
2天前
|
程序员 编译器 C语言
C语言的语句和语句分类和注释
C语言的语句和语句分类和注释
|
10月前
|
机器学习/深度学习 Cloud Native Go
779. 第K个语法符号:简单模拟
这是 力扣上的 779. 第K个语法符号,难度为 中等。
|
机器学习/深度学习 C语言
C语言中常见的符号和注释的用法
C语言中常见的符号和注释的用法
198 0
复习C部分:1.什么是常量 2.初时字符串 3.初识转义字符 4.注释 5.初识选择语句 6.初识循环语句 7.初识函数和数组 8.初识操作符 9.初始操作符2
复习C部分:1.什么是常量 2.初时字符串 3.初识转义字符 4.注释 5.初识选择语句 6.初识循环语句 7.初识函数和数组 8.初识操作符 9.初始操作符2
81 0
复习C部分:1.什么是常量 2.初时字符串 3.初识转义字符 4.注释 5.初识选择语句 6.初识循环语句 7.初识函数和数组 8.初识操作符 9.初始操作符2
|
存储 Java 编译器
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释
113 0
初识C语言第一话之数据类型、常量变量、字符串、转义字符与注释