C 语言基础编程实验报告_第1页
C 语言基础编程实验报告_第2页
C 语言基础编程实验报告_第3页
C 语言基础编程实验报告_第4页
C 语言基础编程实验报告_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言基础编程实验报告一、实验基本信息实验名称:C语言基础语法与逻辑控制综合实验实验日期:2025年X月X日实验地点:计算机实验室XXX实验目的掌握C语言基本数据类型、运算符与表达式的使用。熟练运用顺序结构、分支结构和循环结构进行程序设计。理解函数的定义、声明与调用方法,学会使用函数实现代码复用。初步了解数组的定义与使用,能够用数组处理简单的数据集合。二、实验环境操作系统:Windows10开发工具:Dev-C++5.11编译器:GCC4.9.2三、实验内容与步骤(一)实验题目一:个人信息输出题目要求:编写一个C程序,输出个人的姓名、学号、专业、班级等基本信息,要求格式清晰、排版整齐。实验步骤步骤一:包含标准输入输出头文件stdio.h。步骤二:在main函数中,使用printf函数按照指定格式输出个人信息。代码实现#include<stdio.h>intmain(){printf("====================个人信息====================\n");printf("姓名:张三\n");printf("学号:20230011001\n");printf("专业:计算机科学与技术\n");printf("班级:计科2301班\n");printf("===============================================\n");return0;}实验结果程序运行后,在控制台成功输出如下个人信息:====================个人信息====================姓名:张三学号:20230011001专业:计算机科学与技术班级:计科2301班===============================================(二)实验题目二:成绩等级判断题目要求:从键盘输入一个学生的成绩(0-100分),根据成绩判断其等级并输出。判断规则:90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。实验步骤步骤一:包含标准输入输出头文件stdio.h。步骤二:在main函数中,定义一个整型变量score用于存储输入的成绩。步骤三:使用printf函数提示用户输入成绩,使用scanf函数获取输入的成绩。步骤四:使用多分支if-else语句根据成绩判断等级,并使用printf函数输出等级。代码实现#include<stdio.h>intmain(){intscore;printf("请输入学生成绩(0-100):");scanf("%d",&score);if(score<0||score>100){printf("输入的成绩无效,请输入0-100之间的数!\n");}elseif(score>=90){printf("成绩等级为:A\n");}elseif(score>=80){printf("成绩等级为:B\n");}elseif(score>=70){printf("成绩等级为:C\n");}elseif(score>=60){printf("成绩等级为:D\n");}else{printf("成绩等级为:E\n");}return0;}实验结果当输入成绩为95时,输出:成绩等级为:A当输入成绩为83时,输出:成绩等级为:B当输入成绩为72时,输出:成绩等级为:C当输入成绩为65时,输出:成绩等级为:D当输入成绩为48时,输出:成绩等级为:E当输入成绩为105时,输出:输入的成绩无效,请输入0-100之间的数!(三)实验题目三:斐波那契数列输出题目要求:编写程序,输出斐波那契数列的前20项,要求每5项换一行。斐波那契数列的定义:第1项和第2项均为1,从第3项开始,每一项都等于前两项之和,即F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(n≥3)。实验步骤步骤一:包含标准输入输出头文件stdio.h。步骤二:在main函数中,定义三个整型变量a、b、c,分别用于表示斐波那契数列中当前项的前两项和当前项,初始值a=1,b=1。步骤三:使用printf函数先输出前两项。步骤四:使用for循环计算并输出从第3项到第20项的数列值,在循环过程中,每输出5项进行一次换行操作。代码实现#include<stdio.h>intmain(){inta=1,b=1,c;inti;//输出前两项printf("%d\t%d\t",a,b);//计算并输出第3到20项for(i=3;i<=20;i++){c=a+b;printf("%d\t",c);a=b;b=c;//每5项换一行if(i%5==0){printf("\n");}}return0;}实验结果程序运行后,输出如下斐波那契数列前20项:11235813213455891442333776109871597258441816765(四)实验题目四:数组元素求和与平均值题目要求:定义一个包含10个整数的数组,从键盘输入数组元素的值,计算数组所有元素的和与平均值并输出。实验步骤步骤一:包含标准输入输出头文件stdio.h。步骤二:在main函数中,定义一个大小为10的整型数组arr,以及两个整型变量sum(用于存储和)和i(循环变量),一个浮点型变量avg(用于存储平均值),并将sum初始化为0。步骤三:使用for循环和scanf函数从键盘输入10个整数到数组中。步骤四:使用for循环遍历数组,计算所有元素的和。步骤五:计算平均值(和除以元素个数),并使用printf函数输出和与平均值。代码实现#include<stdio.h>intmain(){intarr[10];intsum=0,i;floatavg;printf("请输入10个整数:\n");for(i=0;i<10;i++){scanf("%d",&arr[i]);}//计算数组元素的和for(i=0;i<10;i++){sum+=arr[i];}//计算平均值avg=(float)sum/10;printf("数组元素的和为:%d\n",sum);printf("数组元素的平均值为:%.2f\n",avg);return0;}实验结果当输入数组元素为1、2、3、4、5、6、7、8、9、10时,输出:数组元素的和为:55数组元素的平均值为:5.50(五)实验题目五:函数实现素数判断题目要求:编写一个函数isPrime,用于判断一个整数是否为素数(素数是指大于1的自然数,除了1和它本身外,不能被其他自然数整除)。在main函数中从键盘输入一个整数,调用该函数进行判断并输出结果。实验步骤步骤一:包含标准输入输出头文件stdio.h和数学头文件math.h(用于开平方运算)。步骤二:定义函数isPrime,该函数接收一个整型参数n,返回值为整型(1表示是素数,0表示不是素数)。在函数内部,先判断n是否小于等于1,若是则返回0;然后判断n是否为2,若是则返回1;再判断n是否为偶数,若是则返回0;最后通过循环从3到sqrt(n)判断n是否能被该范围内的数整除,若能则返回0,否则返回1。步骤三:在main函数中,定义一个整型变量num,使用scanf函数获取输入的整数,调用isPrime函数进行判断,并根据返回结果使用printf函数输出判断结果。代码实现#include<stdio.h>#include<math.h>//判断一个数是否为素数intisPrime(intn){if(n<=1){return0;}if(n==2){return1;}if(n%2==0){return0;}for(inti=3;i<=sqrt(n);i+=2){if(n%i==0){return0;}}return1;}intmain(){intnum;printf("请输入一个整数:");scanf("%d",&num);if(isPrime(num)){printf("%d是素数\n",num);}else{printf("%d不是素数\n",num);}return0;}实验结果当输入整数为7时,输出:7是素数当输入整数为12时,输出:12不是素数当输入整数为1时,输出:1不是素数四、编程思想与设计思路结构化编程思想:在本次实验中,多个题目都运用了结构化编程的思想。如成绩等级判断使用了if-else分支结构,斐波那契数列输出和数组元素处理使用了for循环结构,通过这些基本结构的组合,使程序的逻辑清晰、层次分明,避免了混乱的代码结构。函数封装思想:在素数判断实验中,将素数判断的功能封装到isPrime函数中,实现了代码的模块化。这样不仅使main函数的逻辑更简洁,而且该函数可以在其他需要判断素数的程序中直接复用,提高了代码的可维护性和复用性。数据处理思路:对于数组相关的实验,采用了循环遍历的方式对数组元素进行处理,通过索引访问数组元素,实现了对数据集合的有效操作。在计算和与平均值时,先初始化累加变量,再逐步累加元素值,最后进行相应的计算,思路清晰且高效。五、实验总结与体会实验收获通过本次实验,我进一步熟悉了C语言的基本语法,包括数据类型、运算符、表达式以及各种控制结构(顺序、分支、循环)的使用,能够运用这些知识解决简单的编程问题。掌握了函数的定义、声明和调用方法,理解了函数在代码复用和模块化设计中的重要作用。学会了数组的定义、初始化以及通过循环对数组元素进行输入、输出、求和等操作,对数据的批量处理有了一定的认识。遇到的问题与解决方法问题一:在使用scanf函数输入数据时,偶尔会出现输入错误导致程序运行异常的情况。解决方法:通过添加输入判断语句,对输入的有效性进行检查,如在成绩等级判断实验中,判断输入的成绩是否在0-100之间,若不在则提示输入无效。问题二:在编写斐波那契数列程序时,一开始没有正确处理换行的时机,导致输出格式不符合要求。解决方法:仔细分析题目要求,在循环中通过判断当前输出的项数与5的余数来确定是否换行,最终解决了格式问题。问题三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论