1.什么是C语言?
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何环境支持便能运行的编程语言。
2.第一个C语言程序
主函数main,在程序运行时,先进入主函数。
int main() // 主函数
{
return 0; // 主函数返回值
}
输入代码→Ctrl+F5→开始执行
//预处理指令,其开头就是#,语法规定
#include<stdio.h>
int main()
{
printf("Hello Summer!\n");
printf("你好吖,橙果果!\n");
return 0;
}
3.数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点型
double //双精度浮点数
每种类型的大小是多少?
将原来代码选中→注释选中行→敲入新代码→Ctrl+F5→开始执行(单位是字节)
#include<stdio.h>
int main()
{
printf("%d\n", sizeof(char)); //“\n”表示换行
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
计算机可以处理的是二进制(0~1)
单位:1byte=8bit、1KB=1024byte、1MB=1024KB
1GB=1024MB、1TB=1024GB、1PB=1024TB……
C语言标准规定:sizeof(long)>=sizeof(int),一般为4/8byte
存在这么多类型,是为了更加丰富地表达生活中的各种值。
类型创建变量。
4.变量与常量
C语言中用常量的概念来表示不变的值(身份证号、血型、圆周率等),用变量表示变的值(年龄、薪资等)
4.1定义变量的方法
类型 变量名=数值;
int age = "24";
int weight = "45.5f";
int weather = "Summer";
45.5编译器会默认为double类型,45.5f编译器就认为是float类型
4.2变量的命名
只能由字母(包括大、小写)、数字和下划线(_)组成;
长度不可超过63个字符; 不能以数字开头;
变量名中区分大小写; 变量名不能使用关键字。
4.3变量的分类
局部变量{}内部的变量,全局变量{}外部的变量。
#include<stdio.h>
int b = 0; //全局变量
void test()
{
int c = 21; //局部变量
}
int main()
{
int a = 66; //局部变量
return 0;
}
局部变量和全局变量可以同名,当两者都可以使用时,局部变量优先。
#include<stdio.h>
int a = 22;
int main()
{
int a = 12;
printf("a=%d\n", a);
return 0;
}
4.4变量的使用
要使用,就创建。
scanf_s是VS编译器提供的,不是C语言提供的。若使用scanf_s函数,只能在VS上使用,其他编译器不能识别它。
若一定要使用scanf_s函数,请区分scanf_s函数和scanf函数的使用方法。
解决方法:复制红色线框里边的内容→插入到源文件代码最上边→再运行即可。
#include<stdio.h>
//写一个程序计算两个整数的和
//printf→打印、输出;scanf→输入;&取地址
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
//输入两个整数→求和→输出
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("%d\n", sum);
return 0;
}
不安全函数:scanf,strcpy,strcat……
#define _CRT_SECURE_NO_WARNINGS 1
此行代码一定要放在源文件.c文件的第一行。
VS中,找到newc++file.cpp文件→加入代码#define _CRT_SECURE_NO_WARNINGS 1→保存→之后创建源文件都包含这句代码。
4.5变量的作用域和生命周期
作用域:程序设计概念。一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围即为此名字的作用域。
局部变量作用域:变量所在局部范围;全局变量作用域:整个工程。
示例:
修改后:
#include<stdio.h>
//局部变量作用域
int main()
{
int a = 24;
{
int a = 21;
printf("6:%d\n", a);
}
printf("3:%d\n", a);
return 0;
}
#include<stdio.h>
//全局变量作用域
int a = 34;
int test()
{
printf("test→%d\n", a);
}
int main()
{
printf("2:%d\n", a);
test(); //调用test函数
return 0;
}
慎用全局变量!!!安全性低。甚至可以跨文件调用。
新建源文件“add.c”
//add.c源文件代码
#define _CRT_SECURE_NO_WARNINGS 1
//全局变量
int g_val = 2024;
//HelloWorld源文件代码
#include<stdio.h>
//跨文件调用全局变量,声明来自外部的符号
//extern用来声明外部符号
extern int g_val;
int main()
{
printf("%d\n", g_val);
return 0;
}
生命周期:指的是变量创建到变量的销毁之间的一个时间段。
局部变量:进入作用域生命周期开始,出作用域生命周期结束;全局变量:整个程序的生命周期。
学习心得:还是要多动手操作,不管多“简单”,一点一点积累,加油啊,路还长,才刚开始!!!