C语言作为一门经典的编程语言,它简洁、高效、功能强大,成为了计算机科学与编程教育的基础语言之一。对于编程初学者来说,掌握一些经典的C语言程序是非常重要的,它不仅可以帮助你深入理解语言的结构与逻辑,还能帮助你在实际开发中遇到问题时轻松应对。为了帮助各位编程爱好者顺利入门,本文将分享18个C语言入门必背的经典程序,帮助你打下扎实的编程基础,快速进入编程的世界。
1.输出Hello,World!

这是每一个C语言初学者的第一个程序,通过这个程序你将掌握C语言的基本语法结构:如何编写程序、如何输出结果。
#include
intmain(){
printf("Hello,World!\n");
return0;
}
2.求两个数的和
通过这个程序你可以掌握基本的输入输出操作以及如何进行简单的算术运算。
#include
intmain(){
inta,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
printf("两数之和是:%d\n",a+b);
return0;
}
3.判断一个数是奇数还是偶数
这是一个典型的条件判断程序,学习如何使用if语句判断某个数是奇数还是偶数。
#include
intmain(){
intnum;
printf("请输入一个整数:");
scanf("%d",&num);
if(num%2==0){
printf("这是偶数\n");
}else{
printf("这是奇数\n");
}
return0;
}
4.判断一个数是否为素数
通过这个程序,学习如何使用循环和判断语句来验证一个数是否为素数。
#include
intmain(){
intnum,i;
printf("请输入一个整数:");
scanf("%d",&num);
intisPrime=1;
for(i=2;i<=num/2;++i){
if(num%i==0){
isPrime=0;
break;
}
}
if(isPrime&&num>1){
printf("%d是素数\n",num);
}else{
printf("%d不是素数\n",num);
}
return0;
}
5.输出1到100的所有素数
此程序通过循环和判断语句输出1到100之间的所有素数,帮助你更好地理解循环和条件判断的运用。
#include
intmain(){
intnum,i,isPrime;
for(num=2;num<=100;num++){
isPrime=1;
for(i=2;i<=num/2;i++){
if(num%i==0){
isPrime=0;
break;
}
}
if(isPrime){
printf("%d",num);
}
}
printf("\n");
return0;
}
6.求1到n的和
这个程序利用循环求1到n的和,可以帮助你理解循环结构与累加的关系。
#include
intmain(){
intn,sum=0;
printf("请输入一个整数n:");
scanf("%d",&n);
for(inti=1;i<=n;i++){
sum+=i;
}
printf("1到%d的和是:%d\n",n,sum);
return0;
}
7.斐波那契数列
斐波那契数列是一个经典的数学问题,通过此程序你可以理解递归函数以及其应用。
#include
intfibonacci(intn){
if(n<=1){
returnn;
}
returnfibonacci(n-1)+fibonacci(n-2);
}
intmain(){
intn;
printf("请输入一个整数n:");
scanf("%d",&n);
printf("斐波那契数列的第%d项是:%d\n",n,fibonacci(n));
return0;
}
8.计算阶乘
通过该程序,你将学习如何通过循环计算一个数的阶乘,同时理解阶乘运算的递增性。
#include
intmain(){
intnum;
longlongfactorial=1;
printf("请输入一个整数:");
scanf("%d",&num);
for(inti=1;i<=num;i++){
factorial*=i;
}
printf("%d的阶乘是:%lld\n",num,factorial);
return0;
}
9.数组反转
数组是C语言中的重要数据结构,反转数组可以帮助你深入理解数组的存储和操作方法。
#include
intmain(){
intarr[]={1,2,3,4,5};
intn=sizeof(arr)/sizeof(arr[0]);
printf("原数组:");
for(inti=0;iprintf("%d",arr[i]);}printf("\n");for(inti=0;iinttemp=arr[i];arr[i]=arr[n-i-1];arr[n-i-1]=temp;}printf("反转后的数组:");for(inti=0;iprintf("%d",arr[i]);}printf("\n");return0;}10.查找数组中的最大值通过该程序,你可以学习如何在数组中查找最大值,掌握循环遍历数组的方法。#includeintmain(){intarr[]={1,2,9,4,5};intn=sizeof(arr)/sizeof(arr[0]);intmax=arr[0];for(inti=1;iif(arr[i]>max){max=arr[i];}}printf("数组中的最大值是:%d\n",max);return0;}11.字符串反转字符串反转是一个经典的编程问题,掌握这个程序可以帮助你理解字符数组和指针的基本操作。#include#includeintmain(){charstr[]="hello";intlen=strlen(str);for(inti=0;ichartemp=str[i];str[i]=str[len-i-1];str[len-i-1]=temp;}printf("反转后的字符串是:%s\n",str);return0;}12.判断一个字符串是否为回文这个程序通过字符数组来判断一个字符串是否是回文,帮助你掌握字符串操作技巧。#include#includeintmain(){charstr[100];printf("请输入一个字符串:");scanf("%s",str);intlen=strlen(str);intisPalindrome=1;for(inti=0;iif(str[i]!=str[len-i-1]){isPalindrome=0;break;}}if(isPalindrome){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return0;}13.数组排序排序是编程中常见的操作,掌握排序算法能够帮助你处理大数据。#includeintmain(){intarr[]={5,3,8,6,2};intn=sizeof(arr)/sizeof(arr[0]);for(inti=0;ifor(intj=0;jif(arr[j]>arr[j+1]){inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}printf("排序后的数组:");for(inti=0;iprintf("%d",arr[i]);}printf("\n");return0;}14.二分查找二分查找是一个高效的查找算法,掌握二分查找能帮助你提升算法思维。#includeintbinarySearch(intarr[],intn,intkey){intleft=0,right=n-1;while(left<=right){intmid=left+(right-left)/2;if(arr[mid]==key){returnmid;}elseif(arr[mid]left=mid+1;}else{right=mid-1;}}return-1;}intmain(){intarr[]={1,2,3,4,5,6,7,8,9};intn=sizeof(arr)/sizeof(arr[0]);intkey;printf("请输入要查找的数字:");scanf("%d",&key);intresult=binarySearch(arr,n,key);if(result!=-1){printf("数字%d在数组中的位置是:%d\n",key,result);}else{printf("未找到数字%d\n",key);}return0;}15.输入输出多个数据通过输入输出多个数据,你将熟练掌握scanf和printf的使用,能够高效处理多个数据。#includeintmain(){inta,b,c;printf("请输入三个整数:");scanf("%d%d%d",&a,&b,&c);printf("你输入的数字是:%d%d%d\n",a,b,c);return0;}16.求数组元素的平均值此程序帮助你通过数组处理多个数值并计算平均值,掌握数组遍历与数学运算的结合。#includeintmain(){intarr[]={1,2,3,4,5};intn=sizeof(arr)/sizeof(arr[0]);intsum=0;for(inti=0;isum+=arr[i];}printf("数组元素的平均值是:%f\n",(float)sum/n);return0;}17.打印菱形通过打印菱形图案,你将能够练习嵌套循环和条件语句的结合使用。#includeintmain(){intn;printf("请输入菱形的行数:");scanf("%d",&n);for(inti=1;i<=n;i++){for(intj=i;jprintf("");}for(intj=1;j<=(2*i-1);j++){printf("*");}printf("\n");}for(inti=n-1;i>=1;i--){for(intj=n;j>i;j--){printf("");}for(intj=1;j<=(2*i-1);j++){printf("*");}printf("\n");}return0;}18.计算矩阵的和矩阵运算是编程中的高级内容,掌握这个程序你将深入了解二维数组的操作。#includeintmain(){intm=2,n=3;intmatrix1[2][3]={{1,2,3},{4,5,6}};intmatrix2[2][3]={{7,8,9},{10,11,12}};intsum[2][3];for(inti=0;ifor(intj=0;jsum[i][j]=matrix1[i][j]+matrix2[i][j];}}printf("矩阵和:\n");for(inti=0;ifor(intj=0;jprintf("%d",sum[i][j]);}printf("\n");}return0;}通过这些经典程序的学习,你可以全面掌握C语言的基础,理解编程中的核心思想和技巧,为进一步的编程探索打下坚实的基础。继续加油,相信你很快就能成为C语言的高手!