版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大一C语言必学7个经典程序代码大全以下7个程序均为大一C语言入门必学,覆盖变量、循环、分支、函数、数组等核心知识点,代码简洁规范,附带详细注释,可直接复制运行,助力快速掌握C语言基础。1.第一个C程序(HelloWorld)——入门必备核心考点:程序基本结构、printf函数使用、头文件引入,是C语言入门的第一个实操程序,掌握程序的编译和运行流程。c
#include<stdio.h>//引入标准输入输出头文件,printf函数需依赖此头文件
intmain(){//主函数,C程序的入口,所有程序必须有且只有一个main函数
printf("HelloWorld!\n");//输出字符串,\n表示换行
return0;//主函数返回值,0表示程序正常结束
}运行结果:HelloWorld!2.求两个整数的和、差、积、商——变量与算术运算核心考点:变量定义(int类型)、输入函数scanf使用、算术运算符(+、-、*、/、%),掌握基本输入输出和数值计算。c
#include<stdio.h>
intmain(){
inta,b;//定义两个整型变量,用于存储输入的两个整数
//提示用户输入两个整数
printf("请输入两个整数(用空格分隔):");
scanf("%d%d",&a,&b);//读取用户输入的两个整数,&表示取变量地址
//计算并输出和、差、积、商、余数
printf("和:%d+%d=%d\n",a,b,a+b);
printf("差:%d-%d=%d\n",a,b,a-b);
printf("积:%d*%d=%d\n",a,b,a*b);
printf("商:%d/%d=%d\n",a,b,a/b);//整型除法,结果取整数部分
printf("余数:%d%%%d=%d\n",a,b,a%b);//%%表示输出%符号,余数运算仅适用于整数
return0;
}运行示例:输入32→输出和5、差1、积6、商1、余数1。3.判断一个数是否为素数——循环与分支结合核心考点:for循环、if-else分支、break语句,理解素数的定义(大于1,只能被1和自身整除的数),掌握循环的终止条件。c
#include<stdio.h>
intmain(){
intn,i,flag=1;//n:要判断的数;i:循环变量;flag:标记是否为素数(1=是,0=否)
printf("请输入一个正整数:");
scanf("%d",&n);
if(n<=1){//小于等于1的数不是素数
flag=0;
}else{
//循环判断n是否能被2到n-1之间的数整除
for(i=2;i<n;i++){
if(n%i==0){//若能整除,说明不是素数
flag=0;
break;//提前终止循环,提高效率
}
}
}
//根据flag的值输出结果
if(flag==1){
printf("%d是素数\n",n);
}else{
printf("%d不是素数\n",n);
}
return0;
}运行示例:输入7→是素数;输入8→不是素数。4.求1到100的累加和——循环进阶核心考点:for循环/while循环的使用、累加变量的初始化,掌握循环的累加逻辑,是后续复杂循环问题的基础。c
#include<stdio.h>
intmain(){
inti,sum=0;//sum用于存储累加和,初始化为0(关键,避免垃圾值)
//for循环实现:i从1循环到100,每次将i加到sum中
for(i=1;i<=100;i++){
sum+=i;//等价于sum=sum+i
}
printf("1到100的累加和为:%d\n",sum);
//补充:while循环实现(两种方式均可,掌握一种即可)
/*
inti=1,sum=0;
while(i<=100){
sum+=i;
i++;//循环变量自增,避免死循环
}
printf("1到100的累加和为:%d\n",sum);
*/
return0;
}运行结果:1到100的累加和为:5050。5.求n的阶乘——循环与数学逻辑核心考点:循环的乘法累加、阶乘定义(n!=n×(n-1)×...×1),注意阶乘的初始值(0!=1,1!=1)。c
#include<stdio.h>
intmain(){
intn,i;
longlongfactorial=1;//阶乘结果可能很大,用longlong类型避免溢出(大一重点关注int,此处拓展)
printf("请输入一个非负整数:");
scanf("%d",&n);
if(n<0){
printf("错误:负数没有阶乘!\n");
}else{
//循环计算阶乘,i从1到n,每次将factorial乘以i
for(i=1;i<=n;i++){
factorial*=i;//等价于factorial=factorial*i
}
printf("%d!=%lld\n",n,factorial);//%lld是longlong类型的输出格式
}
return0;
}运行示例:输入5→5!=120;输入0→0!=1。6.冒泡排序——数组与循环结合(重点)核心考点:数组定义与使用、双重for循环、冒泡排序逻辑(相邻元素比较,交换位置,逐步将最大/最小值“冒泡”到数组末尾),是大一必学的排序算法。c
#include<stdio.h>
intmain(){
intarr[10];//定义一个能存储10个整数的数组
inti,j,temp;//temp用于临时存储交换的元素
intn=10;//数组元素个数
//提示用户输入10个整数
printf("请输入10个整数(用空格分隔):");
for(i=0;i<n;i++){
scanf("%d",&arr[i]);//给数组的第i个元素赋值(数组下标从0开始)
}
//冒泡排序核心逻辑:双重循环
//外层循环:控制排序轮数,共n-1轮(每轮确定一个最大值)
for(i=0;i<n-1;i++){
//内层循环:控制每轮比较次数,每轮比上一轮少1次(已确定的最大值无需再比较)
for(j=0;j<n-1-i;j++){
if(arr[j]>arr[j+1]){//若当前元素大于下一个元素,交换两者位置
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//输出排序后的数组
printf("排序后的数组:");
for(i=0;i<n;i++){
printf("%d",arr[i]);
}
printf("\n");
return0;
}运行示例:输入105827→排序后输出257810(此处示例输入5个,数组可兼容,实际输入10个即可)。7.用函数实现两数交换——函数与指针(入门)核心考点:函数定义与调用、指针的基本使用(解决函数参数传递无法修改实参的问题),是大一函数部分的重点和难点。c
#include<stdio.h>
//定义交换函数:形参为指针类型,接收实参的地址
voidswap(int*a,int*b){//void表示函数无返回值
inttemp;
temp=*a;//*a表示取指针a指向的变量的值
*a=*b;
*b=temp;
}
intmain(){
intx,y;
printf("请输入两个整数:");
scanf("%d%d",&x,&y);
printf("交换前:x=%d,y=%d\n",x,y);
swap(&x,&y);//调用交换函数,传入x和y的地址(实参为指针)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年锂硫电池材料研究进展与商业化前景
- 2025年高考地理试卷(重庆卷)
- 赠品管理的目的
- 糖尿病足防护措施
- 第二单元 做情绪情感的主人
- 雾化吸入溶液科普
- 精神科患者藏药行为的护理干预策略
- 《工贸企业重大事故隐患判定及事故案例分析》讲解
- 小学语文句子训练专题
- 企业主人翁精神的核心价值与实践路径
- 2026四川成都市双流区招聘政府雇员14人考试备考题库及答案解析
- 西藏自治区工程建设项目审批(核准,备案)全流程事项清单
- 垂体瘤2025年CSCO指南
- 黑便血便课件
- 麒麟系统培训课件
- 2026年东莞市厚街控股集团有限公司招聘14名工作人员备考题库有答案详解
- 中药知识丹参
- 人工智能与未来 课件 第5章 算力
- 2026危险品押运员模拟考试试题及答案
- DL∕T 516-2017 电力调度自动化运行管理规程
- 2018年河北公务员行测考试真题(含答案)
评论
0/150
提交评论