C语言是一门计算机语言(高级语言)
而将(一串二进制代码)命名为(助记符)的过程为汇编语言。
.c:表示C的源程序.cpp:表示C++的源程序。
(调试程序时可以在项目属性——链接器——系统——子系统——使用控制台运行调出控制台)
//库函数-C语言本身提供给我们使用的函数
#include<stdio.h>
//stdio-std标准 standard input output
//main前面的int表示main函数调用返回一个整型值
//void main()这种写法已经过时了
int num1 = 10;//全局变量定义在{}外,全局变量的作用域是整个工程,全局变量的生命周期是整个程序
//全局变量和局部变量名字建议不要一致,当两者名字相同时,以局部变量优先
//变量的生命周期是指变量从创建到销毁的时间段
int main()
//主函数-程序的入口-主函数只有一个
{
int sum = 0;//变量要定义在当前代码块的最前面
int num2=0,num3=0;//局部变量定义在{}内,局部变量不能在{}外使用,局部变量生命周期在{}内
char ch = 'A';//向计算机申请一个字节来存放字符A
int age = 20;
float f = 5.0;
double d = 3.14;
extern int g_val;//extern声明外部符号(g_val是其他源文件里的变量)
//int整型(short短整型long长整型)
//char字符型
//float单精度浮点型 double双精度浮点型
scanf_s("%d%d",&num2,&num3);//输入函数。&取地址
sum = num2 + num3;
printf("sum=%d\n",sum);
printf("g_val=%d\n",g_val);
printf("hehe\n");//打印函数\n表示换行
printf("%f\n", f);//打印浮点型格式数据
printf("%lf\n", d);//打印双精度浮点型格式数据
printf("%c\n", ch);//打印字符格式的数据
printf("%d\n", age);//打印整型格式的十进制数据
//%p以地址的形式打印,%o打印8进制数字,%x打印16进制数字,%s打印字符串
//sizeof计算所占空间的大小,单位是字节
printf("%d\n", sizeof(char));//打印1,字符型1字节
printf("%d\n", sizeof(short));//打印2,短整型2字节
printf("%d\n", sizeof(int));//打印4,整型4字节
printf("%d\n", sizeof(long));//打印4,长整型字节(也可以是8字节)
printf("%d\n", sizeof(float));//打印4,浮点型4字节
printf("%d\n", sizeof(double));//打印8,双精度浮点型8字
printf("%d\n", sizeof(long long));//打印8
//计算机中的单位,最小的单位bit比特位,其次byte字节,KB,MB,GB,TB,PB单位换算1024
//1比特位只能存一个二进制0或1,1字节能存8比特位,
return 0;//返回0
}
注:C#C++中若sizeof计算类的大小,只计算成员对象的大小,不计算成员函数的大小
遇到的问题:
1.无法查找PDB文件
出现这种提示并不是代码写错了,而是编译器设置的问题
当程序在 VS 上编译时,程序所依赖的所有动态链接库(dll 文件)也会被编译,编译过程中每个 dll 都会产生一个pdb文件,又称为“符号文件”,是一个存储数据的信息文件,其包含 dll 库在编译过程的某些调试信息,例如程序中所用到的全局变量、局部变量、函数名以及他们的入口地址等。pdb 文件主要用于调试程序,多用于当VS中有多个项目,且项目之间互有依赖关系时,使用pdb文件调试程序,往往会事半功倍,初学者一般不会用到。当使用VS 调试程序时,会默认加载你的程序以及程序依赖的dll库产生的所有pdb文件,但是结果往往是VS自己找不到依赖库的pdb文件,于是就提示给你“无法查找或打开pdb文件”。
解决办法:
将调试——选项——常规(勾选启用原服务器支持)——符号(勾选microsoft符号服务器)
确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了。
(但是本人等了8分钟仍未完成调试,且移动硬盘运行受阻,程序有失去响应风险,所以目前解决方案忽略此报错)
2. scanf’: This function or variable may be unsafe. Consider using scanf_s instead.(VS2017的报错)
这个函数或变量或许不安全,考虑使用scanf_s代替
注:scanf是C语言提供的,scanf_s不是C语言提供的而是VS编译器提供的,所以不建议改为scanf_s否则在其他编译器中将会报错。
function n.功能;函数;职责 ;盛大的集会vi. 运行;活动;行使职责
variable adj. 变量的;可变的;易变的,多变的;变异的,[生物] 畸变的n. [数] 变量;可变物,可变因素
Consider vt. 考虑;认为;考虑到;细想vi. 考虑;认为;细想
instead adv. 代替;反而;相反
解决办法1:
在文件开头加一句#define _CRT_SECURE_NO_WARNINGS
解决方法2:
在项目属性——C/C++——预处理器——预处理器定义——编辑加上一行_CRT_SECURE_NO_WARNINGS
解决方法3:
下载Edit with Notepad++
在VS的安装路径里找到VC——vcprojectitrms——newc++file.cpp文件打开(打开方式Edit with Notepad++)
之后在里面输入一行#define _CRT_SECURE_NO_WARNINGS后保存,使用这种方法可以在以后的每个项目源文件开头都增加这一句。