网站后台管理产品排序石狮市网站建设
news/
2025/9/24 0:07:08/
文章来源:
网站后台管理产品排序,石狮市网站建设,wordpress 艺术主题,关键词有哪些关联词写在前面
这学期选了ACM课#xff0c;但平时缺乏练习#xff0c;不怎么刷题#xff0c;因此期末考试成绩并不理想。考虑到之后的考研复试中包含机试#xff0c;且计试可以算是非常重要的印象分#xff0c;因此我打算寒假刷一下算法笔记#xff0c;备战3月初的PAT甲级和3…写在前面
这学期选了ACM课但平时缺乏练习不怎么刷题因此期末考试成绩并不理想。考虑到之后的考研复试中包含机试且计试可以算是非常重要的印象分因此我打算寒假刷一下算法笔记备战3月初的PAT甲级和3月末的CCF CSP认证考试为后续考研复习数据结构等也算是打下一个良好的基础。
学习进度记录
今日学习了算法笔记的章节2 C/C快速入门与章节3 入门——简单模拟1的部分内容本来打算略过章节2的部分但是想到ACM课考试的时候就曾经有一道题因缺乏对基础C语言知识的了解做不出来觉得还是有必要学习一下。 章节3的内容今日还未完结打算明天刷完之后再发完整的刷题日记。
C/C 查漏补缺笔记
定义变量
1.int a,b-1是正确的语法
int与long long
int的数据在10^9以内long long的数据范围在2147483647内一般超过10^10就需要long long类型
对于浮点型记住一点不要使用float都用double存储
char类型的数据
小写字母的ASCII码值比大写字母的ASCII码值大32
强制类型转换新类型名变量名
宏定义的格式
#define pi 3.14
scanf 格式scanf(格式控制,变量地址); | int | %d | | — | — | | long long | %lld | | double | %lf | | char | %c | | 字符串char数组 | %s | 除了%cscanf对其他格式符的输入是以空白符即空格、换行等为结束判断标志 %c可以读入空格和换行 %s读入以空格和换行为读入结束的标志
printf 格式printf(格式控制,变量名称); | int | %d | | — | — | | long long | %lld | | double | %f | | char | %c | | 字符串char数组 | %s | 实用的输出格式 %mdint型变量m位右对齐输出高位空格补齐%0md高位0补齐%.mf浮点数保留m位小数输出
getchar putchar
getchar输入单个字符putchar输出单个字符getchar可以接收换行符和空白符
c1getchar();
getchar();常用math.h函数
fabsfloor向下取整 ceil向上取整sqrt取平方根pow(r,p)返回r^pround用于将double型变量四舍五入round原型return (int)(x0.5)浮点数四舍五入需先*10/100/1000再round再/10/100/1000
数组
如果数组大小较大如10^6级别需要在主函数外定义否则会使程序异常退出原因是函数内部申请的局部变量来自系统栈允许申请的空间较小而函数外部申请的全局变量来自静态存储区允许申请的空间较大。
memset
格式memset(数组名,值,sizeof(数组名));头文件string.hmemset按字节赋值对每个字节赋一样的值因此一般赋值0或-1
字符数组
1.字符数组的初始化
初始化方式一char arr[2]{h,e};初始化方式二char arr[]hello;但以字符串方式赋值数组仅限于初始化比较两种方式初始化方式一的数组长度是2初始化方式二的数组长度是6字符串的结尾用\0作为结束符占用1 bit
2.字符数组的输入输出
方式一scanf输入printf输出 scanf(%s,str[i]);printf(%s,str[i]);scanf方式输入的时候会自动在数组中加入\0作为字符串的结束标记并占用一个字符位printf通过识别\0作为字符串的结尾输出 方式二getchar输入putchar输出方式三gets输入puts输出 gets用于输入字符数组 需要注意的是gets识别换行符号但可以接收空白符如果用gets接收数组前有输入换行符需要先使用getchargets方式会自动在数组中加入\0作为字符串的结束标记并占用一个字符位 puts用于输出字符数组并同时输出换行符puts通过识别\0作为字符串的结尾输出
3.特别提醒如果不是使用scanf或gets方式输入数组需要在每个字符串输入后手动加入\0使得printf和puts能够正确识别字符串末尾防止输出乱码
sscanf与sprintf stringscanf/printf
1.sscanf格式sscanf(str,%d,n)和scanf一样从左往右传递元素2.sprintf格式sprintf(str,%d,n)和printf一样从右往左传递元素
#include iostream
#include string.h
using namespace std;int main(){char str[50];cin.getline(str,50);int a,b,c;if(sscanf(str,%d is greater than %d,a,b)2){if(ab) printf(Yes);else printf(No);}else{if(sscanf(str,%d is equal to %d plus %d,a,b,c)3){if(a(bc)) printf(Yes);else printf(No);}else{printf(???);}}return 0;
}#include iostream
#include string.h
using namespace std;int main(){char str[50];int a,b,c,d,e,f;scanf(%d %d %d %d %d %d,a,b,c,d,e,f);sprintf(str,%04d-%02d-%02d %02d:%02d:%02d,a,b,c,d,e,f);puts(str);return 0;
}指针 引用
1.指针指向变量所在的位置2.指针的定义int *p1,*p2;int *p1,p2;前者定义2个指针后者定义1个指针3.指针赋值int* ab;指针作为函数参数fun(int* a)4.C中的引用func(int a)
结构体
1.结构体的定义与结构体变量的定义
需要注意的是结构体变量的定义可以在结构体的定义之后也可以单独采用结构体名 变量名的方式定义结构体内不能定义自己但可以定义自己的指针下面是典型的结构体代码示例。
struct student{int age;student* stu;
}Alice,Bob,stuList[100];
student Alice;2.结构体的访问
student Alice;
student* Bob;
Alice.age;
Bob-age;/(*Bob).agecin与cout
1.cin与cout在考试中并不推荐容易超时只有在必要的时候才会使用如对于string的处理2.读入一整行针对char str[50]数组采用cin.getline(str,50)针对string容器采用getline(cin,str)getline可以读入空格但是不读入空行且属于自动忽略的类型且它会自动忽略行尾的空格 eps取1e-8
(fabs((a-b))1e-8)判断相等
复杂度
1.O(n^2)的算法当n为100000的时候会超出OJ系统的承受能力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914314.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!