小言_互联网的博客

注意事项合集【c/c++/java】萌新用

344人阅读  评论(0)

这篇实质上是一个错题集,整理杂乱,适合纯萌新观看

有关编译器dev的

  • 为了让确定编译器可以进行调试,在菜单栏找到 工具-编译选项-代码生成/优化-连接器-产生调试信息-Yes-确定

编译时的红字报错

行 列 单元 信息 分别代表了 错误所在的行 列 文件位置 错误报告
有一些简单的错误举例:

  • main函数写错或已经有编译的程序被打开
  • 在第5行第2个字符处缺少分号’;'但是通常把分号写在对应的上一行末尾
  • 在第5行第10个字符处的 b 没有被定义
  • 在第8行第7个字符处 传参错误 string无法强制转换为int

有关hdu的

  • 使用万能头bits/stdc++.h的代码只能以g++提交 并且可能使用更多的内存和时间
  • c、c++、java、g++等提交各有各的要求,本地成功提交却ce时,注意查看是否提交错误

有关C/C++的

  • 万能头文件bits/stdc++.h 包括了大部分的头文件 但是并不是所有 如windows.h
  • c++可以使用c语言的头文件,但是需要把c的头文件后缀.h去掉 并且在前面加上c
    比如特别容易搞混的string.h 和 string 不是同一个头文件,c++使用string.h时应改为cstring
    还有容易少些的ctype.h 其c++格式为cctype
  • 写代码要严谨,每个括号一定要有对应 (){}[],单行代码结束一定要有分号 ;
  • 定义多个变量可以用类似 int a,b,c;的方式来定义
  • 尽量严格遵守有缩进的代码风格,不要为了短小精悍的代码而放弃代码可读性
    如如下两者的对比可明显感受到有无缩进的区别

无缩进

#include<bits/stdc++.h>
using namespace std;int main() {int a;cin>>a;cout<<a;return 0;}

有缩进

#include<bits/stdc++.h>
using namespace std;
int main() {
	int a;
	cin>>a;
	cout<<a;
	return 0;
}
  • 尽量使用驼峰命名法,一般建议使用小驼峰命名法,即明明时第一个单词字母小写,然后每个字母大写。如新值和旧值分别命名为newValue和oldValue
  • 命名时要尽可能的描述该变量的功能,而不是无脑qwe a b 之类的 很容易降低代码可读性
    具体请百度 流加速
  • 命名时可以进行一定程度的缩写,有一些约定俗成的缩写和指代:
    (但不用严格遵守,只是经常如此被使用)
string str 代表字符串
value val 代表值
flag flg 代表标记
temp tmp 代表常用于交换的标记
count cnt 代表计数
visit vis 代表常用语判断是否访问过的标记
cursor cur 代表常表示位置的标记
initialize init 代表初始化
array arr 数组
number num 数字
row 行
column col 列
point p 指针
char c 字符 (和数据类型的char不同)
i j k h 用于for中的计数器
n m 表示总行数和总列数
x y 表示坐标x y

输入输出

C

  • scanf输入时传值格式如
int a;
scanf("%d",&a);

其中:
1.scanf容易打错成sacnf sancf等。
2.在输入字符串或字符时,要注意输入的回车键本身也是一个字符,可以用getchar();把多余的回车符吃掉
3.能使用字符串%s输入时除了特殊情况尽量不要用字符%c输入
4.scanf的每个输入一定要对应一个变量,不能有如下情况:

int a,b;
scanf("%d %d"&a);

但是一个变量不一定要对应一个输入,可以有这样的情况:

int a,b;
scanf("%d"&a,&b);

但是两者都是不规范的代码格式。
5.输入时数据类型的格式为:

char c,str[10];
scanf("%c %s",&c,str);
int num;
scanf("%d",&num);
long long num;
scanf("%ld",&num);
float num;
scanf("%f",&num;
double num;
scanf("%lf",&num);

所有的输入都要加取地址符 &,但是char类型数组是字符串,用%s输入,可以不加取地址符 &
如果该加的取地址符 & 没加 则会导致无法输入(输入直接停止程序)

  • printf输出时传值格式如
int a;
printf("%d",a);

其中:
1.printf容易打错成pirnt prnit等。
2.输出时数据类型的格式和scanf一样,但是全都不要加取地址符 & 除非你需要输出它的地址。
3.输出时double使用%f输出,(当然也可以使用%lf)
4.输出时输出和输入数量都可以不互相对应,但是都是不规范的代码格式。
5.输出时有各种各样的格式,类似于:
正常输出

printf("123%d",456);

每个数字后有一个空格

int arr[] = {1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<10;++i){
	printf("%d ",arr[i]);
}

每个数字间有一个空格

bool space = false;
int arr[] = {1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<10;++i){
	if(!space)space = true;
	else printf(" ");
	printf("%d",arr[i]);
}

其他一般格式均可参考以上

C++

  • 使用cin cout 进行输入输出,无故超时,可以试试
ios::sync_with_stdio(false);
cin.tie(0);

常用类型

char //字符型 储存ascii码值 数据范围为-128到127,
int //整形 数据范围为-2^31到2^31-1,
long long //长整形 数据范围为-2^63到2^63-1
float //浮点型 数值范围为 -3.4E-38到3.4E+38
double //双精度浮点型 数据范围为-1.7E-308到1.7E308

常用容器

string//字符串
vector//动态数组
queue//队列
deque//双向队列
stack//栈
map//映射
set//集合

常用头文件

C

stdio.h
string.g
stdlib.h
ctype.h
math.h

C++

iostream
iomanip
algorithm
string
queue
deque
stack
vector
map
set

方便的快捷键:

通用:

windows之外的系统不一定可用
不同软件以软件快捷键为准
这里指的是大部分软件都可行的快捷键

  • Home 句首
  • End 句尾
  • PgUp(PageUp)上一页
  • PgDn(PageDown)下一页
  • Insert 切换光标状态
  • Delete 删除
  • Ctrl + Home 最前
  • Ctrl + End 最后
  • Ctrl + C 复制
  • Ctrl + V 粘贴
  • Ctrl + A 全选
  • Ctrl + X 剪切
  • Ctrl + Z 撤销
  • Ctrl + S 保存
  • Ctrl + N 新一页
  • Ctrl + W 关闭页面
  • Ctrl + F 查找
  • Shift [按住] + 任意字母 大写
  • Ctrl + Tab 切换界面
  • Alt + Tab 切换窗口
  • Ctrl + Alt + Delete 打开安全选项或直接打开任务管理器
  • Win + 大键盘数字键 打开任务栏对应的窗体
  • Win + Tab 切换窗口和桌面(可预览)

dev:

  • F5 调试已编译的程序
  • F7 调试时 快捷下一步
  • F9 编译当前程序
  • F10 运行当前程序
  • F11 编译并运行当前程序
  • F12 重新编译所有程序
  • Ctrl + / 注释选中的所有行 (使用单行注释 //)
  • Ctrl + : 注释选中的所有内容 (使用多行注释/* */)
  • Ctrl + Shift + ↑或↓ 移动选中的行
  • Ctrl + Shift + A 代码自动格式化
  • Alt + 左键按住选中 选中一个给定的方框,并使用多行处理的光标

转载:https://blog.csdn.net/weixin_44579869/article/details/102380924
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场