csp刷题记录Day1

#CSP刷题记录 Day1

正在准备4.11和9月的csp考试,这篇帖子就作为平时看书做题的记录贴啦,本人是超级菜鸡www,应该有很多内容肥肠基础,欢迎和各位准备csp的童鞋一起友好交流哇。

1、10的9次方以内使用int型来存储
2、10的18次方以内使用long long int型来存储
3、遇到浮点型数据都用double来存储
3、A:65 a:97
4、定义常量可以用#define或者const
5、无穷大
无穷大数INF的描述
6、位运算符
7、尽量使用复合赋值运算符
8、格式符
9、注意scanf以%s读入时以空格与换行为结束的标志,而%c可以识别空行和换行并将其输入。getchar也可以识别空格和换行符。有时候多加一个getchar就是为了把末尾的换行符下吸收掉。gets识别换行符作为结束。使用scanf以及gets识别字符串会自动在后面补齐一个\0
10、printf的格式符和scanf基本一致,只有double变成了%lf
11、%md %mf %0md
12、getchar可以识别换行符
13、typedef用来取别名
14、实用的数学函数,见P38
15、如果数组大小较大,则需要将其定义在函数外面,因为函数内的局部变量来自系统栈,而函数外的全局变量来自静态存储区。
16、memset可以对数组中的每一个元素赋相同的值

//对二维数组以及多维数组是一样的
#include<stdio.h>
#include<sting.h>
memset(a,0,sizeof(a));

17string.h头文件:

//string.h头文件的使用
#include<stdio.h>
#include<sting.h>
int a;
char a[10],b[10],str[100];
memset(a,0,sizeof(a));
strlen(a);//获得字符数组的长度
strcmp(a,b);//比较两个字符数组的长度,如果a<b返回负数,否则返回正数,否则返回0
strcpy(a,b);//将b复制给a
strcat(a,b);//将b接到a后面
sscanf(str,"%d",&n);//将字符串str中的数写入n中
sprintf(str,"%d",n);//将n的数写入字符串str中
// 指针以及数组传参举例:
#iclude<stdio.h>
void swap(int *p1,int *p2)
{
int temp=*p1;
*p1=*p2;
*p2=temp;

}
//一维数组不需要填写长度,二维数组需要填写第二维长度,在实际调用时都只需要写数组名即可
void shuzu(int a[],int b[][5])
{
//balallalala
}
int main()
{
int a,b;
int *p1=&a,*p2=&b;
int line[10];
int mian[10][20];
shuzu(a,b);
swap(p1,p2);
return 0;
}
var foo = 'test';
//2.8结构体的使用
//结构体内可以只能定义自身类型的指针变量,不能定义自己本身
//e.g.1
struct studentInfo{
int id;
 char name;
 studentInfo * next;
 }stu,*p;
 //e.g.2结构体的初始化,使用构造函数(构造函数和结构体同名)
 struct studentInfo{
int id;
 char name;
 //第一种方式
 studentInfo(int _id,int_name){ id=_id;name=_name; }
 //第二种方式
 studentInfo(int _id,int_name):id(_id);name(_name) { }
 };
var foo = 'test';
//2.9一些补充说明
//引入esp防止判断失误
//输入举例:
while(scanf("%d",&a)!=EOF)
{
//……
if(a==0&&b==0);break;
}
//或者
while(scanf("%d",&a)!=EOF,a||0)
{
//……
}
//或者字符串
while(scanf("%s",a)!=EOF)
{
//……
}
while(gets(str)!=NULL)
{
//……
}

呼呼呼~前二章的回顾终于结束了。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值