【160718】ACM俱乐部暑期交流
C++兼容C,但C++不是C的超集。
gcc与Visual C++分别代表两种编译器套装,各自都包含C编译器和C++编译器。
gcc或Visual C++都根据源代码文件的扩展名*.c/*.cpp选择语言,但评测时的语言选项并非如此。
提交代码时如需选择语言或编译器,(GNU) gcc=C语言,g++=C++;
(Microsoft) C=C语言,(Microsoft) C++=C++.可以把C语言代码当做C++代码提交。
C语言标准 | gcc编译选项 |
---|---|
ANSI C(C89) | -ansi |
C99 | -std=c99 |
C11 | -std=c11 |
评测环境、选项会在OJ、正式比赛的文件上说明。
64位整数的输入输出
__int64
类型只能在Visual C++中使用。long long
的输入输出格式符为%I64d
或%lld
,会出错?unsigned long long
的输入输出格式符为%I64u
或%llu
,会出错?输入若干组数据?
利用scanf
函数的返回值。
利用gets
函数的返回值。变量的内存空间分配
静态区: 保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
堆: 由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,其特点是使用灵活,空间比较大,但容易出错
栈: 保存局部变量,栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限
【160718】ACM俱乐部暑期交流