C语言选修实验报告
- 格式:doc
- 大小:414.00 KB
- 文档页数:14
北京电子科技学院(BESTI)实验报告课程:程序设计基础班级:姓名:学号:成绩:指导教师:张晓昆实验日期:实验密级:预习程度:实验时间:15:30~18:30仪器组次:必修/选修:必修实验序号: 2实验名称:函数编程练习实验目的与要求:主函数通常只处理输入和输出;掌握定义函数的方法;掌握函数实参与形参的对应关系,以及“值传递”的方式;掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法,、了解函数的嵌套调用方法和递归调用方法。
观察堆栈窗口call stack,注意函数调用过程堆栈的动态变化。
有兴趣的同学可以将几个函数分别放到不同的.C文件中,分别编译,再利用Project建立工程文件,然后连接执行,观察结果。
实验内容素数(Prime Number),又称为质数,它是不能被1和它本身以外的其他整数整除的正整数。
按照这个定义,负数、0和1都不是素数,而17之所以是素数,是因为除了1和17以外,它不能被2~16之间的任何整数整除。
任务1:试商法是最简单的判断素数的方法。
用i=2~m-1之间的整数去试商,若存在某个m能被1与m本身以外的整数i整除(即余数为0),则m不是素数,若上述范围内的所有整数都不能整除m,则m是素数。
采用试商法,分别用goto语句、break语句和采用设置标志变量并加强循环测试等三种方法编写素数判断函数IsPrime(),从键盘任意输入一个整数m,判断m是否为素数,如果m是素数,则按"%d is a prime number\n"格式打印该数是素数,否则按"%d is not a prime number\n"格式打印该数不是素数。
然后分析哪一种方法可读性更好。
1、goto语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number!\n", m);}else{printf("%d is not a prime number!\n", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i = 2;int j = 0;if(n < 2){ //若n小于2,返回0值return 0;}if(n == 2){return 1;}loop:if(n % i == 0){ //利用goto语句i++;j++;goto loop;}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束2、break语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}if(j > 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;break;}}if( j == 0)return 1;} //子函数结束3、采用设置标志变量并加强循环测试#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束任务2:用数学的方法可以证明,不能被2取整)之间的数整除的数,一定不能被1和它本身之外的其他任何整数整除。
c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。
其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。
c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
3、掌握C程序的运行、调试方法等。
二、实验内容编写一个学生信息排序程序。
要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
c语言实验报告结果C语言实验报告结果引言:C语言是一种广泛应用于计算机编程领域的高级编程语言,具有简洁、高效等特点。
在学习C语言的过程中,实验是不可或缺的一部分,通过实验可以加深对C语言的理解和掌握。
本文将对我在C语言实验中所得到的结果进行总结和分析。
实验一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型,并进行了一些简单的编程练习。
通过实验,我熟悉了C语言的语法规则,包括变量的声明、赋值和运算符的使用等。
我也学会了使用不同的数据类型,如整型、浮点型和字符型,并了解了它们在内存中的存储方式和取值范围。
实验二:条件语句和循环结构这个实验主要涉及条件语句和循环结构的应用。
我学习了if-else语句和switch语句的使用方法,并通过编程实践加深了对它们的理解。
同时,我还学会了使用for循环、while循环和do-while循环来实现不同的功能。
通过实验,我发现循环结构的灵活运用可以简化编程过程,提高代码的效率。
实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用。
通过实验,我了解了数组的定义、初始化和访问方式,并掌握了一些常见的数组操作技巧。
同时,我也学会了使用字符串函数来处理字符串,如strlen、strcpy和strcat等。
通过实验,我认识到数组和字符串在实际编程中的重要性和广泛应用。
实验四:函数和指针这个实验主要涉及函数和指针的应用。
我学习了如何定义和调用函数,并了解了函数的参数传递和返回值的使用。
同时,我也学会了使用指针来操作变量和数组,包括指针的声明、初始化和指向。
通过实验,我深刻体会到函数和指针在程序设计中的灵活性和高效性。
实验五:文件操作在这个实验中,我学习了C语言中的文件操作。
通过实验,我了解了如何打开、读取和写入文件,并学会了使用fscanf、fprintf和fread等函数来实现文件的读写操作。
同时,我还学会了使用文件指针和文件流来控制文件的位置和流向。
c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。
具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。
二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。
2、程序应具备良好的代码结构和可读性,遵循编程规范。
3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。
4、对程序进行充分的测试,确保其稳定性和正确性。
三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。
(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。
c语言实验报告C语言实验报告一、引言C语言作为一种高级程序设计语言,具有简洁、高效、灵活的特点,在计算机科学领域得到广泛应用。
本实验报告旨在总结我对C语言实验的学习和理解,并介绍实验过程中遇到的问题和解决方法。
二、实验目的本次实验的主要目的是通过实践掌握C程序设计的基本语法和常用操作,培养编程思维和解决问题的能力。
具体实验要求包括熟悉C语言的数据类型、运算符、循环语句和函数定义等内容,并能够应用这些知识解决实际问题。
三、实验内容本次实验包括以下几个部分:变量的定义与使用、条件语句的应用、循环语句的运用、数组的定义与使用、函数的定义与调用以及实验总结等。
1. 变量的定义与使用在C语言中,可以使用关键字“int”、“float”、“char”等定义不同类型的变量。
变量是计算机程序中存储数据的基本单元。
在本次实验中,我通过定义不同类型的变量,并进行赋值和运算等操作,来加深对变量的理解和掌握。
2. 条件语句的应用条件语句在程序设计中起到了判断和选择不同执行路径的作用。
在C 语言中,可以使用“if”、“else if”、“else”等关键字来实现条件语句的控制。
通过实验,我学会了如何根据不同的条件执行不同的代码块。
3. 循环语句的运用循环语句是程序中重复执行某段代码的结构,能够提高程序的灵活性和效率。
在C语言中,我掌握了“for”、“while”、“do while”等不同类型的循环语句的使用方法,并在实际问题中进行了应用。
4. 数组的定义与使用数组是一种存储相同数据类型多个元素的容器。
在C语言中,可以通过定义数组名和下标位置来访问和操作数组中的元素。
通过实验,我深入了解了数组的索引范围、元素的访问以及数组在程序中的应用。
5. 函数的定义与调用函数是一段封装了特定功能的代码块,可以提高程序的模块化和可维护性。
在C语言中,我学会了如何定义函数并传递参数,以及通过函数调用来实现特定功能。
四、实验过程及结果在实验过程中,我采用了自上而下的方法,先分析问题,再逐步实现代码。
(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。
通过实验的设计和完成,检验和加深对C语言的理解和应用能力。
实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。
这样可以在终端或命令提示符中执行相关的C程序。
3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。
根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。
4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。
编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。
编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。
5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。
可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。
6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。
同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。
实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。
通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。
在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。
c语言实验报告一、实验目的本次实验的目的是为了帮助学生掌握C语言的基本语法和常用函数的使用方法,提高学生的C语言编程水平。
具体内容包括C 语言输入输出、分支结构、循环结构、数组、字符串等方面的知识。
二、实验原理C语言是一种高级程序设计语言,能够进行程序设计与系统编程。
C语言使用简洁的语法和强大的功能,可实现不同规模的程序设计,从简单的小程序到大型系统应用都可以实现。
C语言程序的基本结构为:头文件、主函数、变量定义、语句表达式等。
C语言的输入输出函数有scanf和printf等,分支结构有if、else等,循环结构有for、while、do-while等,数组和字符串是C语言中非常重要的数据结构。
三、实验过程本次实验我们编写了一个简单的C语言程序。
主要包括以下几个部分:1. 引用头文件我们使用了stdio.h头文件,它包含了输入输出函数的声明。
2. 定义变量我们定义了一个整型变量num,它用来存储从键盘输入的一个整数。
3. 输入输出函数我们使用了scanf函数来从键盘输入一个整数,并将其存储在变量num中。
然后使用了printf函数来输出这个整数。
4. 分支结构我们使用了if、else语句来判断变量num的值,如果它是正数,就输出“这是一个正数”,否则输出“这是一个负数”。
5. 循环结构我们使用了for循环来输出变量num的前n个数,n是从键盘输入的。
这样可以更好地理解循环结构的使用方法。
6. 数组我们定义了一个整型数组arr,用来存储从键盘输入的n个整数。
然后使用for循环来遍历数组,并使用printf函数输出每个元素的值。
7. 字符串我们定义了一个字符数组str,用来存储从键盘输入的一个字符串。
然后使用printf函数输出这个字符串。
四、实验结果经过编译和运行,我们得到了以下实验结果:请输入一个整数:5这是一个正数。
请输入一个整数:-3这是一个负数。
请输入一个整数:3请输入一个整数n:50 1 2 3 4请输入n个整数:1 2 3 4 51 2 3 4 5请输入一个字符串:hello worldhello world五、实验总结通过本次实验,我们学习了C语言的基本语法和常见函数的使用方法。
c语言课程实验报告C语言课程实验报告引言:C语言作为一门广泛应用于计算机科学领域的编程语言,具有简洁高效的特点,被广泛用于系统软件、嵌入式设备等领域。
在C语言课程中,我们进行了一系列的实验,旨在通过实践提升我们的编程能力和理解C语言的各种特性。
本报告将对我们进行的实验进行总结和分析。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了C语言的变量定义、运算符、控制语句等基本概念。
同时,我们也了解了C语言中常用的数据类型,如整型、浮点型、字符型等,并学会了如何进行类型转换和输入输出操作。
实验二:数组和字符串处理在第二次实验中,我们深入学习了C语言中的数组和字符串处理。
通过编写程序,我们掌握了数组的定义、初始化和访问方法,了解了一维数组和多维数组的特点。
同时,我们也学会了使用C语言提供的字符串处理函数,如strlen、strcpy、strcat等,实现字符串的复制、连接和比较等操作。
实验三:函数和指针第三次实验是函数和指针的学习。
我们学习了如何定义和调用函数,了解了函数的参数传递和返回值的相关知识。
同时,我们也深入研究了指针的概念和用法,掌握了指针的声明、初始化和使用方法。
通过实验,我们发现指针在C语言中具有重要的作用,可以提高程序的效率和灵活性。
实验四:文件操作和结构体在第四次实验中,我们学习了C语言中的文件操作和结构体。
通过使用文件读写函数,我们能够实现对文件的读取和写入操作,实现数据的永久存储。
同时,我们也学会了定义和使用结构体,实现对复杂数据的封装和处理。
这些知识对于实际项目的开发非常重要。
实验五:动态内存分配和链表在第五次实验中,我们学习了动态内存分配和链表的使用。
通过使用malloc和free函数,我们能够在程序运行时动态分配和释放内存,提高了内存的利用效率。
同时,我们也学会了使用链表数据结构,实现对数据的动态存储和管理。
链表在数据结构和算法中有着广泛的应用,对于解决实际问题非常有帮助。
C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
序号:C程序设计实验报告课程名称 C程序设计学生学院专业班级学号学生姓名指导教师2015 年 10月一.实验目的1.熟悉并掌握VC++6.0的开发环境,掌握C程序的编辑、编译、连接和运行的基本过程。
2.了解数据类型在程序设计语言中的意义。
3.掌握并熟练应用赋值语句和格式化输入输出函数。
4.理解C语言程序的顺序结构,学会正确编写并运行顺序结构程序。
5.学会设计简单的顺序结构程序。
二.实验软件环境操作系统:microsoft windows8.1。
操作软件:Visual C++ 6.0三.实验内容1、判定2000—2500年中的每一年是否闰年,并将结果输出。
要求1)画流程图2)编写程序实现,并输出结果2、由键盘输入某个数n,求1至n的累加和。
例如,键盘输入100,求1+2+3+…+100的和。
要求1)画流程图2)编写程序实现,并输出结果3、一家大型化工厂采用佣金方式为推销员付酬金。
推销员每周领到基本工资200美元,再加上这周销售毛利的9%。
例如,某位销售员某周卖了价值5000美元的化工产品,那么除领取基本的200美元外,还有5000美元的9%,共计650美元。
开发一个C程序,它利用一条while语句输入每位销售员上周的毛利,然后计算和显示其收入。
每次处理一个销售员的数据。
要求1)画流程图2)编写程序实现,并输出结果4、编写程序,按下列格式打印九九乘法表。
* 1 2 3 4 5 6 7 8 91 12 2 43 3 6 94 4 8 12 165 5 10 15 20 256 6 12 18 24 30 367 7 14 21 28 35 42 498 8 16 24 32 40 48 56 649 9 18 27 36 45 54 63 72 815、从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
6、计算费波那西(Fibonacci)数列的前15个数。
并按每行输出5个数的方式输出其结果。
7、要求输出100~500之间的不能被3整除或者被5整除的数。
四.实验的结果及分析1、判定2000—2500年中的每一年是否闰年,并将结果输出。
要求1)画流程图2)编写程序实现,并输出结果答:1)画流程图2)编写程序实现,并输出结果#include<stdio.h>int main(){int year;for(year=2000;year<=2500;year++){if(year%4==0){if(year%100!=0){printf("%d是闰年\n",year);}else{if(year%400!=0){printf("%d不是闰年\n",year);}else{printf("%d是闰年\n",year);}}}else{printf("%d不是闰年\n",year);}}}分析:该题考察了如何用流程图来表示一个算法,还考察了对if语句的运用。
2、由键盘输入某个数n,求1至n的累加和。
例如,键盘输入100,求1+2+3+…+100的和。
要求1)画流程图2)编写程序实现,并输出结果答:1)画流程图2)编写程序实现,并输出结果#include<stdio.h>int main(){int n,sum=0;printf("请输入一个整数");scanf("%d",&n);printf("1至%d的累加和=",n);while(n>=0){sum=sum+n;n--;}printf("%d\n",sum);}分析:首先本题考察了利用流程图来表示一个算法,其次考察我们对输入输出语句的运用,还考察了对循环语句的使用,本人在这里选择的是while语句实现循环的效果。
3、一家大型化工厂采用佣金方式为推销员付酬金。
推销员每周领到基本工资200美元,再加上这周销售毛利的9%。
例如,某位销售员某周卖了价值5000美元的化工产品,那么除领取基本的200美元外,还有5000美元的9%,共计650美元。
开发一个C程序,它利用一条while语句输入每位销售员上周的毛利,然后计算和显示其收入。
每次处理一个销售员的数据。
要求1)画流程图2)编写程序实现,并输出结果答:1)画流程图2)编写程序实现,并输出结果#include<stdio.h>int main(){float s,sum=200;while(s!=-1){printf("请输入毛利(没有毛利请输入0)");scanf("%f",&s);sum=sum+s*0.09;printf("%f\n",sum);}}分析:首先这题考察了如何利用流程图来表示一个算法,其次还考察了我们对while语句的利用,还有对输入输出语句的利用。
4、编写程序,按下列格式打印九九乘法表。
* 1 2 3 4 5 6 7 8 91 12 2 43 3 6 94 4 8 12 165 5 10 15 20 256 6 12 18 24 30 367 7 14 21 28 35 42 498 8 16 24 32 40 48 56 649 9 18 27 36 45 54 63 72 81答:#include<stdio.h>int main(){int i,j,k;printf("* 1 2 3 4 5 6 7 8 9\n");for(i=1;i<=9;i++){printf("%d ",i);for(j=1;j<=9;j++){k=i*j;if(i>=j)printf("%3d ",k);}printf("\n");}}分析:这题主要考察了我们的for循环语句的利用,这题我用了嵌套的for循环语句,还用了一个if语句来实现正三角输出结果。
5、从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。
#include<stdio.h>int main(){int n,i=0,sum=0;printf("请输入一个整数\n");scanf("%d",&n);printf("逆序输出%d的各位数字为",n);do{printf("%d ",n%10);sum+=n%10;n/=10;i++;}while(n>0);printf("\n%d的位数是%d",n,i);printf("\n各位数字之和为%d\n",sum);}分析:首先这题考察了我们对输入输出语句的利用,其次考察了我们对运算符的灵活运用处理,还有循环语句的使用。
本题灵活利用循环语句和运算符的结合,能依次从个位数开始读出每位数字,都出来并累计起来。
这里,我用了do……while循环语句来实现。
6、计算费波那西(Fibonacci)数列的前15个数。
并按每行输出5个数的方式输出其结果。
#include<stdio.h>int main(){int i;int f[15]={1,1};for(i=2;i<15;i++){f[i]=f[i-2]+f[i-1]; }for(i=0;i<15;i++){if(i%5==0){printf("\n");}printf("%12d",f[i]); }printf("\n");return 0;}分析:本题主要考察我们对数组的定义和引用,我们定义一个长度为15的数组来保存费波那西数列的前15个数,其次考察我们对各种语句的综合利用,本题我们用一个for循环语句对数组元素赋值,并利用一个for循环语句进行输出,为了实现每行输出5个数的的输出效果,在输出的for 循环语句中嵌套了一个if语句。
7、要求输出100~500之间的不能被3整除或者被5整除的数。
#include<stdio.h>int main(){int i;for(i=100;i<=500;i++){if(i%3!=0||i%5!=0){printf("%d ",i);}else{}}printf("\n");}分析:首先,我用一个for循环语句输出结果,然后再for语句中嵌套一个if语句来实现条件“不能被3整除或者被5整除”的判断。
总的来说,这题了考察了我们对各种语句的综合灵活利用,也考察了我们对逻辑运算符的运用。
五.实验心得体会首先,我想说能选到黄老师的这门课程真的很幸运。
其次,我对C语言挺感兴趣的,也希望通过选修课能对C语言有更深入的认识和学习。
老师是一位挺负责的老师,讲课也很好,故我在课堂上能把握了老师讲的知识点。
这次实验,老师的要求是至少完成4道题,基于我对课堂内容的掌握,我自信积极地完成了7到题目。
在这次实验中我遇到的最大的问题不是在做题的过程中,而是在安装和使用VC6.0中遇到的问题。
VC6.0的安装包我是在老师给的邮箱里直接下载的,首先我电脑的系统是Win8.1,所以我最初遇到的是系统不兼容的问题,然后百度找了一些方法,尝试了几次就能决解这个问题。
后来在编译运行文件时遇到一些问题,原来老师给的安装包缺少几个后缀名为DLL的文件,然后我在网上下载了这些文件,问题就这样解决了。
虽然在解决问题的过程中花了很多时间,但是最后能顺利地安装使用,一种自豪感油然而生。
当我运行第一个程序,看到成功编译执行之后的“Hello World”的那一刻,我的内心是此的激动,感觉C语言真神奇!这7道题中,我觉稍微有难度一点的是第5题,不过在自己认真的思考研究下,最后还是决解了。
感谢这门选修课让我接触认识了C语言,遗憾的是课堂学时有限,不能在课堂上跟着老师继续深入学习C语言。
学无止境,选修课结束了,但我对C语言的学习并没有结束,未来我通过各种渠道更深入地学习C语言的。
最后,感谢老师充当引路人的角色,把我带到C语言这片神奇的天地。