- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参考答案:
1、运行结果为:不断从控制台接收字符,直到遇到x开头的字符
2、请说出使用const和define定义常量,在语法上和含义上有什么不同,并编程举例说明。
如果用常量或者宏来定义一个PI值,那么语法分别如下:
宏:
#define PI 3.1415926
这个语法不是c语言语法,而是预编译指令语法,没有;结尾
const:
const float PI=3.1415926;
这个语法是标准c语言常变量语法
用宏来代表常数,好处:
(1) 让代码更简洁明了,当然这有赖于你为宏取一个适当的名字,名字要以达意为主
(2) 方便代码的维护
缺点:? ?
对宏的处理,没有明确指定这个量的类型。这容易带来一些问题。
而用常变量则可以明确指定变量的数据类型。
3、字符常量是一个字符,在程序中字符是用单引号括起来的。字符串常量由0个或若干个字符组合而成,在程序中字符串是用双引号括起来的,在存储时系统自动在字符串最后面加一个结束符号’\0’,编程示范如下:
char a=a; // 表示一个字符
char *b=abc; //第一种c语言表示的字符串
char c[4]=def; //第二种c语言表示的字符串
printf(%c\n,a);
printf(%s\n,b);
printf(%s\n,c);
printf(%d\n,sizeof(a));//输出a所占据的字节数
printf(%d\n,sizeof(b));//输出abc文字常量区对应的地址(指针),所有的指针都是4字节
printf(“%d\n”,sizeof(c));//输出成员所占据的字节数×数组容量
4、char c = \0;
while((c = getchar()) != \n)
{
if(c = a c = z)
{
c -= 32;
}
putchar(c);
}
putchar(\n);
5.闰年
(1). 关于公历闰年的规定:
地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒,也就是365.2422天。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,把这一天加在2月里,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年,但2000年是闰年。
也就是我们通常所说的: 四年一闰,百年不闰,四百年再闰。所以,除了末尾有00的其他时候都是四年一润。
(2). 闰年的计算算法是:
a、非整百的年份每4年是闰年;
b、整百的年份每400年才是闰年。
(3). 简化算法
#include stdio.h
void IsLeapYear(int iYear)
{
if((iYear % 4 == 0 iYear % 100 != 0) || (iYear % 400 == 0))
{
printf(%d is leapyear!\n, iYear);
return ;
}
printf(%d is not leapyear!\n, iYear);
return ;
}
int main()
{
int iYear = 0;
printf(please input a year:);
scanf(%d, iYear);
if(iYear 4000 || iYear 1000)
{
printf(input error!\n);
return -1;
}
IsLeapYear(iYear);
return 0;
}
6.
#include stdio.h
#include stdlib.h
/* 月份对应的天数 */
int MONTH_TO_DAY[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
/* 判断是否是闰年 */
int IfLeapYear(int iYear)
{
if((iYear % 4 == 0 iYear % 100 != 0) || (iYear % 400 == 0))
{
MONTH_TO_DAY[2] = 29;
return 1;
}
else
{
MONTH_TO_DAY[2] = 28;
return 0;
}
}
/* 判断日期是否合法 */
int IfRight(int iYear, int
原创力文档


文档评论(0)