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;
}

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

转义字符

假如我们要在屏幕上打印一个目录:c:\test\test.c
如果我们按照原提示打印如下:

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

实际上程序运行的结果:
转义字符输出结果.png
这就不得不使用转义字符了,下面我们来看下转义字符。

转义字符 释义
\? 在书写连续多个问号时使用,防止他们被解析成三字母词
\’ 用于表示字符常量’
\“ 用于表示一个字符串内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\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

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

选择语句

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

#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; 
}

循环语句

循环就是日复一日,年复一年,做相同的事情,比如学习,就是每天都进行的。
循环结构流程图.png
那么在C语言中怎么实现循环呢?

  • while循环语句:当条件成立时,重复操作,否则退出循环。
  • do-while循环语句:重复操作,直到条件不成立时退出循环。
  • for循环语句:用循环变量精准控制重复次数。

本篇博客主要介绍了变量、常量、字符串、转义字符、注释、选择语句和循环语句。下篇博客我会接着介绍函数、数组、操作符、常见的关键字、#define定义常量和宏、指针和结构体。希望我总结的内容可以帮助读者更好的学习C语言。

猜你喜欢

转载自blog.csdn.net/weixin_63284756/article/details/130100639