闰年判断:C语言实战解析

张开发
2026/6/30 4:46:25 15 分钟阅读
闰年判断:C语言实战解析
判断闰年输入某个年份如果能被4整除但不能被100整除或者能被400整除。则输出“该年份是闰年”否则输出“该年份不是闰年” 。#include stdio.hint main(){int year;printf(请输入年份\n);scanf(%d, year);if ((year%40 year%100!0) || (year%4000)){printf(该年份是闰年\n);}else{printf(该年份不是闰年\n);}return 0;} 逐行详细解析#include stdio.h这是一条预处理指令。stdio.h是 standard input/output 的缩写即标准输入输出头文件。它的作用是告诉编译器在编译前把stdio.h文件的内容包含进来。这个文件里声明了printf和scanf等函数没有它程序就无法使用这些输入输出功能。int main()这是主函数的定义。每个C语言程序都必须有一个main函数程序从这里开始执行。int表示这个函数执行完毕后会返回一个整型integer值。{左花括号标志着main函数体的开始。函数内的所有代码都包含在花括号{}之间。int year;这是一条变量声明语句。它在内存中开辟了一块空间用于存储一个整数并给这块空间起名为year。printf(请输入年份\n);printf是一个库函数用于向标准输出通常是屏幕打印信息。请输入年份\n是要打印的字符串。\n是一个转义字符代表“换行”newline。它的作用是在打印完提示语后让光标移动到下一行这样用户的输入就不会和提示语挤在同一行使界面更美观。scanf(%d, year);scanf是一个库函数用于从标准输入通常是键盘读取数据。%d是一个格式控制符告诉scanf函数“请期待一个十进制整数decimal integer”。year是变量year的地址。scanf需要知道把读取到的数据存放到内存的哪个位置符号就是用来获取变量在内存中的地址。所以这行代码的意思是从键盘读取一个整数并存入year变量所在的内存地址中。if ((year%40 year%100!0) || (year%4000))这是整个程序的核心逻辑用于判断闰年。if语句会判断括号内表达式的真假。如果为真true则执行if后面的代码块如果为假false则执行else后面的代码块。闰年规则一个年份是闰年需要满足以下两个条件之一能被4整除但不能被100整除普通闰年。能被400整除世纪闰年。代码逻辑拆解year % 4 0判断year除以4的余数是否为0即能否被4整除。year % 100 ! 0判断year除以100的余数是否不为0即能否不被100整除。逻辑与AND运算符。要求左右两个条件同时为真整个表达式才为真。所以(year%40 year%100!0)就对应了第一条规则。year % 400 0判断year除以400的余数是否为0即能否被400整除。这对应了第二条规则。||逻辑或OR运算符。只要左右两个表达式有一个为真整个表达式就为真。综上这行代码精确地将闰年的文字规则翻译成了计算机可以执行的逻辑。{ printf(该年份是闰年\n); }如果if语句中的条件判断为真就会执行这个代码块。printf函数向屏幕输出“该年份是闰年”。else如果if语句中的条件判断为假程序就会跳转到else分支。{ printf(该年份不是闰年\n); }这是else分支的代码块。当输入的年份不满足闰年条件时会执行这里输出“该年份不是闰年”。return 0;这条语句结束了main函数的执行。返回值0是一个约定俗成的惯例用来告诉操作系统“这个程序已经成功执行完毕没有发生任何错误”。}右花括号标志着main函数体的结束。

更多文章