7.1所学知识
- C语言基本数据类型:
char字节为1;short字节为2;int字节为4;longlong字节为8;float字节为4;double字节为8;long double字节不同系统不一样;bool字节为1。
(其中bool是判断真假的)
(1)前四个为整型数据类型,从五到七为浮点型,最后一个为抽象类用于c++。 - Ascall码:(比较重要的几个)
0对应的Ascall值是48
A对应的Ascall值是65
a对应的Ascall值是97
3.判断是否是闰年:
#include<stdio.h>
int main()
{
int year;
printf(“请输入年份:”);
scanf("%d",&year);
if(year%40&&year%100!=0||year%4000)
printf(“是闰年”);
else
printf(“不是闰年”);
return 0;
}
(也可以使用Bool:若为真则为true否则为false;也可以让res=false,如果为闰年则让res=true)
4.已知年月返回天数:例如:2021年3月=31天
#include
using namespace std;
int main()
{
int day=0;
int month,year;
printf(“请输入年份月份:”);
scanf("%d%d",&year,&month);
switch(month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
cout<<“day=31”;
break;
case 4: case 6: case 9: case 11:
cout<<“day=30”;
break;
case 2:
{
if(year%40&&year%100!=0||year%4000)
{cout<<“day=29”; }
else{ cout<<“day=28”; }
}
} return 0;
}
5.已知年月日获得这一年第几天:例如:2021年2月28天=31+28=59天
#include
using namespace std;
int Get_Is_Leap(int year)
{
return (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
}
int Get_YM_Day(int year, int month)
{
static const int day[13] = { 29,31,28,31,30,31,30,31,31,30,31,30,31 };
// 0 1 2 3 4 5 6 7 8 9 10 11 12
if (month == 2 && Get_Is_Leap(year))
{
month = 0;
} return day[month];
}
int Get_YMD_Total(int year, int month, int day)
{
int sum = 0;
if (year < 1) return -1;
if (month < 1 || month>12) return -2;
if (day<1 || day>Get_YM_Day(year, month)) return -3;
for (int i = 1; i < month;++i)
{
sum = sum + Get_YM_Day(year, i);
}
return sum + day;
}
int main()
{
int year, month, day;
scanf_s("%d%d%d", &year, &month, &day);
printf(“请输入年份月份天份:”);
return 0;
}
6.数组:数组元素包括个数和类型。
例如: int ar=a[10]它的字节就为40因为4*10
代码如下:
#include
using namespace std;
int main()
{
int ar[10];
int size=sizeof(ar);
cout<<size<<endl;
}
7.初始化用asssert(条件)函数
8.1-100随机取数用rand函数:rand()%100+1
9.指针:
Int *p *为声明指针;
*p=100 *为解引用(指向)
*ap>*bp是比较ab大小;
ap bp是比较地址;
*p相当于a。