欢迎大家前来观摩和指导
目录
什么是C语言?
人和计算机交流的语言就是计算机语言;
比如c/c++/java等都是计算机语言;
C语言是一门通用计算机编程语言,广泛应用于底层开发;
标准语法:ANSUC;
计算机的发展:二进制---->助记符(汇编语言)---->B语言---->C语言.........;
C语言是一门面向过程的计算机编程语言,c++/java等都是面向对象的编程语言;
应用软件——上层开发、操作系统以下——底层开发;
第一个C语言程序
-
创建一个项目:
打开VS软件--->创建新项目--->空项目--->创建;
第一步:打开Visual Studio2022软件
第二步:创建新项目
第三步:空项目
第四步:创建
项目名称中不要使用中文,不要使用特殊符号,不要使用空格;
位置一定要按照自己的安排去选择代码存放的路径;
-
创建.c文件:
.h(header)头文件;
.c源文件;
.cpp是c++;
.c是C语言;
-
写代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
printf("hello bit\n");
return 0;
}
写好的C语言代码是文本信息,这些代码不能直接运行起来;
编译+链接+运行:ctrl+f5;
代码一般是从main函数开始写,main是函数的名字,不能随便改,后面跟着()说明它是一个函数;
int是整型、整数的意思;
return是返回的意思,后面跟着一个0说明返回一个0;
{}是函数体的意思;
C语言中main函数是程序入口,只能有一个;
printf是一个库函数------C语言编译器提供的一个现成的函数,功能就是在屏幕上打印数据,但是在使用前得包含头文件(stdio.h);
include是包含的意思;
双引号引起来的就是字符串;
#include<stdio.h>:头文件;
//这种写法非常古老——不推荐
void main()/*viod在这里标是main函数不接受任何参数*/
{
return 0;
}
数据类型
short——短整型——2(字节)
int——整型——4(字节)
long——长整型——4(字节)
long long——更长的整型——8(字节)
float——单精度浮点数——4(字节)
double——双精度浮点数——8(字节)
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
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));
printf("%d\n", sizeof(long double));
return 0;
}
sizeof是一个操作符,是计算机类型变量所占内存空间的大小;
%d——以十进制的形式打印一个整数;
变量、常量
有些值是不变的;
有些值是可变的;
不变的值C语言用常量的概念来表示 ,变得值C语言中用变量来表示;
定义变量的方法:
类型 变量名=初始值;
int age = 20;
float weight = 55.5f;
double weight = 88.5;
55.5 小数直接写出来,编译器默认是double类型;
55.5f 这个时候就是float类型;
变量的命名:
不能以数字开头;
不能超过63个字符;
变量名要起的有意义;
变量名中区分大小写,变量名不能使用关键字;
只能由字母(包括大写和小写)、数字和下划线(_)组成;
变量的分类:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int a = 100;/*全局变量*/
int main()
{
int a = 10;/*局部变量*/
return 0;
}
局部变量
放在大括号内的叫局部变量;
全局变量
放在大括号外的叫全局变量;
变量名经量不要冲突,但是当全局变量和局部变量名称冲突的情况下,局部变量优先;
变量的使用:
#include<stdio.h>
int main()
{
/*写一个代码,求两个整数的和*/
int num1 = 0;
int num2 = 0;
int sum = 0;
/*输入两个整数的和*/
//&num1-取出num1的地址
//&取地址操作符
scanf("%d %d", &num1, &num2);
sum = num1 = num2;
printf("%d %d", num1, num2);/*打印数据*/
return 0;
}
使用中出现一个小问题:
微软的编译器认为scanf函数不安全,建议使用scanf_s,但是scanf_s函数是VS提供的,只有VS的编译器认识,其他的编译器是不认识的,如果你的代码使用了scanf_s函数,这样就不跨平台了;
解决的办法:
- 在源文件的第一行加上#define _CRT_SECURE_NO_WARNINGS 1
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
/*写一个代码,求两个整数的和*/
int num1 = 0;
int num2 = 0;
int sum = 0;
/*输入两个整数的和*/
//&num1-取出num1的地址
//&取地址操作符
scanf("%d %d", &num1, &num2);
sum = num1 = num2;
printf("%d %d", num1, num2);/*打印数据*/
return 0;
}
- 一劳永逸的办法
在VS的安装路径下,存一个文件夹:
newc++file.cpp的文件;
在这个文件中加入:#define _CRT_SECURE_NO_WARNINGS 1;
以后新建的.c/.cpp的文件中默认就有这个代码了;