初始C语言(2)


一、变量、常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)。
不变的值,C语言中用常量的概念来表示,

变得值C语言中用变量来表示(变量必须先定义后使用)。

1.1定义变量的方法

变量的定义可以指定一个数据类型,包含了这种类型的一个或多个变量列表。

例:

int age=100;

float weight=45.5f;

char ch='w';

1.2 变量的命名

  • 只能由字母(包括大写和小写)、数字和下划线( _ )组成。

  • 不能以数字开头。

  • 长度不能超过63个字符。

  • 变量名中区分大小写的。

  • 变量名不能使用关键字。 

1.3 变量的分类

  • 局部变量
  • 全局变量
    #include <stdio.h>
    int global = 2019;//全局变量
    int main()
    {
      int local = 2018;//局部变量
      //下面定义的global会不会有问题?
      int global = 2020;//局部变量
      printf("global = %d\n", global);
      return 0;
    }

 总结:
上面的局部变量global变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用

1.4变量的使用

#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

  • 库函数 - C语言的编译器提供的现成的函数,直接可以使用
  • scanf的作用是输入数据,数据从键盘读取到内存中
  • printf的作业是输出数据,数据从内存打印(输出)到屏幕上
  • 使用的时候要包含头文件stdio.h 

 格式符

  •  %c - 字符
  •  %d - 整型
  •  %s - 字符串
  •  %f - float 
  •  %lf - double
  •  %p - 地址的打印

例: 

int main()
{
	int a = 0;
	scanf("%d", &a);
	printf("%d", a);

	char ch = 0;
	scanf("%c", &ch);
	printf("%c", ch);

	return 0;
}

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

作用域

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

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

生命周期

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

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

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

1.6 常量 

C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:

  • 字面常量
    3.14;//字面常量
    1000;//字面常量

  • const 修饰的常变量
    int main()
    {
    	//常属性
    	//这里的a是具有常属性的,不能改变,但是本质上还是变量
    
    	const int a = 3;
    
    	printf("%d\n", a);
    	a = 10;    //error(不能改变)
    	printf("%d\n", a);
    
    	数组
    	const int n = 10;
    	int arr[n];
    	int arr[n];//error(本质上还是变量)
    
    	return 0;
    }
  • #define 定义的标识符常量
    #define 定义的标识符常量
    #define SIZE 10
    #define MAX 10000
    #define CH 'W'
    
    
    int main()
    {
    	//10;
    	int a = SIZE;
    	int arr[SIZE] = {0};//√,SIZE为常量10
    	printf("%c", CH);
    	return 0;
    }
  • 枚举常量
    //枚举常量
    //枚举 - 一一列举
    //生活中有些值是可以一一列举
    // 性别:男、女、保密
    // 三原色:red green blue
    // 血型:
    
    enum SEX
    {
    	//列出了枚举类型enum SEX的可能取值
    	//枚举常量
    	MALE,
    	FEMALE,
    	SECRET
    };//这里注意加分号
    
    int main()
    {
    	enum SEX s = FEMALE;
    	printf("%d\n", MALE);  //0
    	printf("%d\n", FEMALE);//1
    	printf("%d\n", SECRET);//2
    
    	return 0;
    }
    

二、字符串+转义字符

2.1字符串

代码如下(示例):

"hello world.\n"

        这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
        注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。 

2.2转义字符

转义字符 - 转变原来意思

例:

\\   \字符
\"   "字符
\?   ?字符
\a   警告铃声
\b   退格键
\f   换页符
\n   换行符
\ooo 一到三位八进制数
\ohh 一到多个数字的十六进制数
#include <stdio.h>
int main()
{
  printf("%c\n", '\'');//在屏幕上打印一个单引号
  printf("%s\n", "\"");//在屏幕上打印一个双引号
  printf("%c", '\133');//8进制的130 转换成10进制后得到88,把88作为ASCII值代码的字符
  return 0;
}

三.注释 

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字

注释有两种风格:
C语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行 

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值