💖 作者简介:大家好,我是泽奀。🏆全栈领域新星创作者 作者周榜:78 总排名:7400 👑 📝 个人主页:weixin_52632755的博客_泽奀_CSDN博客 🎉 点赞➕评论➕收藏 == 养成习惯😊 📣 系列专栏:【C】系列_泽奀的博客-CSDN博客 💬 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊
目录
说明:系统会在字符串尾部添加一个字符串作为结束字符"\0",那么如图所示的长度实际上是6的原因!
字符串就是双引号""的内容叫做字符串,包含类似于字符常量的字符:普通的字符,转义序列和通用的字符。
当然如果你觉得这个字符比较长的话其实也可以用空格符分开来,进行分析!在C语言中有些特定的字符,当它们有反斜杠的时候(\)就会具有特定的含义,如图所示:
下面的实例显示了一些转义序列字符:
#include<stdio.h>
int main(void)
{
printf( "This\nis\na\ntest\n\nShe said, \"How are you?\"\n");
return 0;
}
打印结果:
修饰常量的关键字是:const,被const关键字所修饰的变量,都是不能被改变的值。
const 前缀声明指定类型的常量,如:const(关键字)int(数据类型)number(变量名) = 5(变量值)
注意:在创建常量时候必须要设置它的初始值,下面就来举个例子:
const dobule PAL = 3.14159; //正确的声明方式
const int MYLIST; //错误的声明方式
当然用const关键字修饰的话知识一种常量的修饰方式,实际上还有另外一种的修饰能够定义常量那就是用 #define 预处理编译器也是可以定义常量方式的一种方式。
下面举出一个习题:定义符号常量#define,用这个来打印自己的出生日期
#include<stdio.h>
#define YEAR 2005
#define YUE 4
#define DAY 28
int main(void)
{
printf("我的出生日期是:%d年%d月%d日\n",YEAR,YUE,DAY);
return 0;
}
#include<stdio.h>
enum color
{
//枚举常量
black,
white,
gules,
};
int main(void)
{
//从零开始打印
enum color max = black;
printf("%d\n", black);
printf("%d\n", white);
printf("%d\n", gules);
return 0;
}
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。
变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表。如下所示:
type variable_list;这里的 type 必须是要一个有效的C语言当中的数据类型,variable_list 可以是由一个或者多个C语言中标识符组成,如下实例:
int a,b,c;
char e,f,d;
float h_list;
double numbers;
变量可以在声明的时候被初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成,如下所示:
type variable_name = value;下面举个例子:
extern int d = 3, f = 5; // d 和 f 的声明与初始化
int d = 3, f = 5; // 定义并初始化 d 和 f
byte z = 22; // 定义并初始化 z
char x = 'x'; // 变量 x 的值为 'x'
extern int number;// 声明,没有定义! int number; // 声明,定义了!
如下实例:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a, b;
int sum = 0;
printf("第一个数字:");
scanf("%d",&a);
printf("第二个数字:");
scanf("%d", &b);
sum = a + b;
printf("sum = %d\n",sum);
return 0;
}
在这段代码中运用到了一个全局变量的知识,在这里跟大家说下:
#include <stdio.h>
/*外部变量声明*/
extern int x;
extern int y;
int addtwonum()
{
return x+y;
}
//全局变量的声明
int x = 1;
int y = 2;
int main(void)
{
int result;
result = addtwonum();
printf("result 为: %d\n",result);
return 0;
}
变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句: int age = 17; 但是下面的这个就是错误的,会生成编译器上的错误! 20 = 10;
所谓的作用域就是☞变量起到作用的范围,也就是变量的有效范围。变量按作用域可以分为两种:局部变量和全局变量💨 作用域规则: 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量:
局部变量 在一个函数内部声明的变量是内部变量,它只在本函数内部有效,在本函数之外是不能使用的,这样的变量就是局部变量。 在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的。
#include <stdio.h>
int main(void)
{
//局部变量声明
int num1, num2;
int sum;
//实际初始化
num1 = 10;
num2 = 20;
sum = a + b;
printf ("num1 = %d, num2 = %d 以及 sum = %d\n", num1, num2, sum);
return 0;
}
全局变量 在函数外部声明的就是全局变量,全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。全局变量可以被任何函数访问。也就是说,全局变量在声明后整个程序中都是可用的。
#include <stdio.h>
/* 全局变量声明 */
int sum;
int main ()
{
/* 局部变量声明 */
int a, b;
/* 实际初始化 */
a = 10;
b = 20;
sum = a + b;
printf ("sum = %d",sum);
return 0;
}
形式参数 函数参数,形式参数,被当作该函数内的局部变量,如果与全局变量同名它们会优先使用。
#include <stdio.h>
/* 添加两个整数的函数 */
int sum(int a, int b)
{
printf("value of a in sum() = %d\n", a);
printf("value of b in sum() = %d\n", b);
return a + b;
}
/* 全局变量声明 */
int a = 20;
int main(void)
{
/* 在主函数中的局部变量声明 */
int a = 10;
int b = 20;
int c = 0;
int sum(int, int);
printf("value of a in main() = %d\n", a);
c = sum(a, b);
printf("value of c in main() = %d\n", c);
return 0;
}
注意 局部变量的作用域是变量所在的局部范围。 全局变量作用域的是整个工程。 生命周期