C++重读笔记

xiaoxiao2021-02-28  159

一、寄存器变量:

1、寄存器类变量的数据长度与通用寄存器的长度相当。一般只能用char型和int型变量。

2、要选择一些使用频度高的变量定义为寄存器变量,这样可以提高运行效率。

#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int sum=0; for(register int i=0;i<=10;i++){ sum +=i; } cout<<"sum="<<sum<<endl; return 0; }

3、计算某个日期是一年中的第几天和计算某一年的第几天是几月几日

//给定某个日期计算出该日期是一年的第几天 //给定某一年的第几天计算出是几月几日 #include "stdafx.h" #include <iostream> using namespace std; int leap(int year); int sum_day(int month,int day); int days_of_year(int year,int month,int day); struct YMD{ int year; int month; int day; }; int get_month(int isleap,int days); int get_day(int isleap,int month,int days); YMD year_of_days(int year,int days); int _tmain(int argc, _TCHAR* argv[]) { cout<<days_of_year(2018,7,7)<<endl; struct YMD mymd; mymd=year_of_days(2018,188); cout<<mymd.year<<"年"<<mymd.month<<"月"<<mymd.day<<"日"<<endl; getchar(); return 0; } int leap(int year){ if(year %4==0 && year 0!=0||year % 400==0){ return 1; }else{ return 0; } } int sum_day(int month,int day){ static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(register int i=1;i<month;i++){ day+=days_month[i]; } return day; } int days_of_year(int year,int month,int day){ int days=sum_day(month,day); if(leap(year)&&month>2){ days++; } return days; } int get_month(int isleap,int days){ static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if (isleap==1){ days_month[2]=29; } for(register int i=1;i<12;i++){ days-=days_month[i]; if (days<=0){ return i; } } return 0; } int get_day(int isleap,int month,int days){ static int days_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if (isleap==1){ days_month[2]=29; } int tempday=0; for(register int i=1;i<month;i++){ tempday+=days_month[i]; } return days-tempday; } YMD year_of_days(int year,int days){ int month=get_month(leap(year),days); int day=get_day(leap(year),month,days); struct YMD mymd; mymd.year = year; mymd.month=month; mymd.day=day; return mymd; }
转载请注明原文地址: https://www.6miu.com/read-2627935.html

最新回复(0)