农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述C语言-002相关的知识,希望能为你提供帮助。
March 3.24 一,常见的?报错或者警告(VS2019版)?
1.函数不安全问题
解决:
1.1方法一:根据此报错提示,在文件最前面加上如下代码:?#define _CRT_SECURE_NO_WARNINGS?
#define _CRT_SECURE_NO_WARNINGS
//1.对vs-ide声明,不用管这个不安全的函数,为提高函数可移植性
#include <
stdio.h>
int main()
int num1=0;
int num2=0;
int sum=0;
scanf("%d%d", &
num1, &
num2);
//scanf键盘输入函数
//注意:scanf,strcpy,strlen,strcat 都是不安全的C语言库函数
sum = num1 + num2;
printf("sum = %d\\n", sum);
return 0;
1.2 方法二:找到如下路径,打开?newc++file?文件,添加如下语句:?#define _CRT_SECURE_NO_WARNINGS?
注意:可能保存时遇到权限问题,有一个方法思路:
1.先复制?newc++file?到另外目录下,再添加?#define _CRT_SECURE_NO_WARNINGS, 保存成功后:?
?2.删除原来D:\\vs2019\\Common7\\IDE\\VC\\VCProjectItems下newc++file文件,将新建的newc++file?文件移入,名字要一样。
二,常量
1.字面常量#include <
stdio.h>
int main()
3;
//这就是一个字面常量
100;//直接写出来就好,现在我还真不知道他的作用和意义
return 0;
2.const修饰的?常变量?#include <
stdio.h>
int main()
const int Vary =6;
//Vary不能再修改,const限制了
int C=8;
int arr[5]=1,2,3;
//5常数,所以不报错
//int arr[C]=1,2,3,4:// C是个局部变量,所以报错
//int arr[Vary]=1.2;
// Vary 本质上还是个变量,所以会报错
printf("%d",arr[1];
printf("%d",vary);
return 0;
3.#define 定义的标识符常量#include <
stdio.h>
#define Max 100 //标识符常量
int main()
int arr[Max] =1 ;
printf("%d\\n", Max);
printf("%d\\n", arr[0]);
return 0;
4.?枚举?常量(enum定义)#include <
stdio.h>
int main()
enum Sex
MALE,//默认值0
FEMALE,// 默认值1
SECRET//默认值2
;
enum Week
MONDAY,//同理 0
TUESDAY,//1
WEDNESDAY,
THURDAY,
FEIDAY,
SATURDAY,//5
SUNDAY//6
;
//枚举常量(各个列举)enum标注和默认值
enum Sex s = FEMALE;
s = MALE;
//注意 s是个变量 可以改,枚举常量不可以改
/*printf("%d\\n", s);
//默认值1
printf("%d\\n", MALE);
printf("%d\\n", SECRET);
printf("%d\\n", SUNDAY);
*/
return 0;
三,字符串
1.字符串
1.1 赋值或者输出时:字符用单引号,字符串用双引号#include <
stdio.h>
int main()
//char是字符类型
//"shafhkjhafk"是字符串
"abc";
//怎么放,用数组
char arr01[] = "abc";
// “abc” == a,b,c,\\0
// \\0指字符串结束标志且是隐藏的,所以后面没有再打印
char arr02[] = a,b,c,\\0;
//0==\\0
char arr03[] =a,b,c ;
printf("%s\\n", arr01);
//%s输出字符类型
printf("%s\\n", arr02);
printf("%s\\n", arr03);
printf("%d\\n", strlen(arr01));
//strlen字符长度函数
printf("%d\\n", strlen(arr02));
// \\0 是字符结束符,所以终止计算长度
printf("%d\\n", strlen(arr03));
//15是随机值,即第几位找到\\0结束
//字符在计算机是二进制标识,用ASCII码表
return 0;
1.2运行结果
1.3三种数组放字符串方式char arr01[] = "abc";
char arr02[] = a,b,c,\\0;
char arr03[] =a,b,c ;
个人建议第一种,因为方便和?没有乱码?
?注意:这里乱码出现是因为我的数组没有限定长度。?
2?.转义字符?2.1,格式就是
\\+sth,这个sth是字符.我的理解:?键盘上所有的的键都可以是字符?
#include <
stdio.h>
int main()
printf("abcdefg");
// 1. \\n 转义换行
printf("\\n");
printf("abcdefg\\n");
// 2. \\t转义水平制表
printf("abc\\tcdd\\tefg ");
// 3. 注意一下: \\?是连续多个问号时用,以防三字母词
printf("\\n");
// 4. 要输出\\时将\\转义一下得 \\\\
printf("dak\\\\fajfk\\\\fdfd\\\\sfak\\n");
//5. 打印单引号 =\\双引号同理
printf("%c\\n", \\);
printf("%s\\n", "\\"");
//6. 猜猜有几个转义字符
printf("c:\\test\\32\\test.c\\n");
printf("%d\\n", strlen("c:\\test\\32\\test.c"));
//13个字符长度
printf("难点难难难,进制转换,ASCII码转化");
// \\32指32是八进制数字32八进制转十进制得26=3*8^2+2*8^0再找26的ASCII码的所得的值
//注意123,257,都可以但182不行,因为八进制中不能有大于或等于8的数,其他进制也一样
//\\ddd表示1~3个八进制数字
//\\xdddd表示两个16进制数
printf("%c\\n", \\x61);
// 6*16^1+1*16^0得113,再对应ASCII码表输出字符
printf("%c\\n", \\32);
//单引号叫字符
printf("%s\\n", "\\32");
//双引号叫字符串
return 0;
2.2 一张ASCII码表
2.3
?问题? :打印ASCII码时控制台显示不了,如下
??解决问题方法,这个方法是修改注册表,别人的主意,不是我的,是我引用的,没有抄袭的意思??
1.看控制台属性->
当前代码页,我们要把936改为437
2.打开regdit,修改注册表,如下
3.修改完成后再运行代码,成功
4.再看控制台属性,ok
5?.注意:这个438不支持中文,想要显示中文就再改回936,改法同上。?
【C语言-002】
四,注释
1.两种注释//单行注释,经常使用
/**/ 多行注释 ,不支持嵌套
2.注释快捷键ctrl+k+c
== 整段代码全部注释 ctrl+k+u== 整段代码取消注释五,选择语句
1.if语句#include <
stdio.h>
int main()
printf("上课不?(0/1)\\n");
// 0 ==不上课,1==上课
scanf("%d", &
input01);
if(input01==1)//
printf("好好学习吗?(1/0):");
// 0==不学习 ,1==好好学习
scanf("%d", &
input02);
if (input02 == 1)
printf("拿到offer\\n");
else
printf(
推荐阅读
- 文件的属性及类型
- 文件属性及类型
- [linux运维] 利用zabbix监控linux高危命令并发送告警
- [python运维] 使用python3制作一个mysql压测小工具!
- 如何监控服务器主机的流量——WGCLOUD
- 数字游戏--三子棋
- golang使用swagger-ui(windows安装)
- linux文件属性及类型
- Docker 环境初始化安装