试验项目试验一最简单的C程序设计
c语言程序设计项目实践
C语言程序设计项目实践1. 项目背景和目的C语言是一种广泛应用于嵌入式系统、操作系统和底层开发的高级编程语言。
它具有高效性、可移植性和灵活性等特点,因此在许多领域都有广泛的应用。
本项目旨在通过实践的方式,帮助学习者更好地掌握C语言程序设计的基本原理和技巧,并锻炼其解决实际问题的能力。
2. 项目内容本项目主要包括以下几个方面的内容:2.1 环境搭建首先,我们需要搭建C语言程序设计的开发环境。
可以选择合适的集成开发环境(IDE),如Code::Blocks、Dev-C++等。
同时,还需要安装C语言编译器,常用的有GCC、MinGW等。
安装完成后,进行环境配置,确保能够正常编译和运行C语言程序。
2.2 基本语法和数据类型在掌握了基本的开发环境后,我们需要学习C语言的基本语法和数据类型。
包括变量的声明和赋值、运算符的使用、控制结构(如if-else、for、while等)、函数的定义和调用等。
通过编写简单的程序,加深对这些概念的理解和掌握。
2.3 数组和指针数组和指针是C语言中非常重要的概念,也是实际开发中经常使用的数据结构和技巧。
学习数组和指针的用法,并编写相关的程序进行实践。
了解数组和指针在内存中的存储方式和访问方式,掌握指针的运算和指针与数组的关系。
2.4 文件操作文件操作是C语言中常见的任务之一,它涉及到文件的读取、写入和修改等操作。
学习如何打开文件、读取文件内容、写入文件内容,并编写相关的程序进行实践。
了解文件指针的概念和文件操作函数的使用方法。
2.5 结构体和链表结构体和链表是C语言中用于组织和管理复杂数据的重要工具。
学习结构体和链表的定义和使用,并编写相关的程序进行实践。
了解结构体和链表的基本原理和操作方式,掌握结构体和链表在实际开发中的应用。
3. 项目实施步骤为了顺利完成本项目,我们可以按照以下步骤进行实施:3.1 环境搭建•下载并安装合适的集成开发环境(IDE)和C语言编译器。
•进行环境配置,确保能够正常编译和运行C语言程序。
C语言程序设计实验实验指导书及答案
常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。
2. 掌握C程序的编辑、调试及运行。
二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。
程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
实验一 简单C语言程序的调试
实验一简单C语言程序的调试(2学时)一、实验目的掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
二、实验内容已知地球的赤道半径为6378.137千米。
假设在赤道上,有两个处于不同经度(单位为度)的城市,用C语言编程序求出这两点之间的直线距离(即弦长)与球面距离(即劣弧的长度)。
要求:⑴计算结果要有尽可能高的精确度。
⑵要考虑到横跨东、西两个半球的情况。
(提示:东经为正,西经为负。
)⑶要求输入数据时之间以空格分隔。
例如,欲求赤道上东经10度到东经50度的距离,输入格式应为:10 50⑷最后提交完成的C语言源程序(扩展名为.c)文件。
建议:从简单到复杂,先实现同一个半球上的计算,正确运行之后再拓展到两个半球。
三、参考测试数据及结果:东经0度,东经90度——直线距离9020.047727 ,球面距离10018.754000东经20.5度,西经36.6度——直线距离6096.548421 ,球面距离6356.342816东经160度,西经170度——直线距离3301.566601 ,球面距离3339.584667# include "stdio.h"#include <math.h>main(){float A,B,C,D,E,H;printf("请输入纬度A地经度B地经度\n");printf("备注:东经为正,西经为负\n");scanf("%f%f",&A,&B);C=abs(A-B);if (C>180)C=360-C;D=C*3.1415926/180;E=sin(D/2)*6378.137*2;H=D*6378.137;printf("E=%f\nH=%f\n",E,H);}。
c程序设计实验教案
C程序设计实验教案一、实验目的与要求1. 实验目的(1)掌握C语言的基本语法和编程技巧;(2)培养动手实践能力,提高编程思维;(3)熟悉Visual Studio/Code::Blocks等集成开发环境的使用。
2. 实验要求(1)熟练使用C语言的基本数据类型、运算符、控制结构;(2)掌握函数的定义、调用和返回值;(3)了解数组、指针、字符串的基本操作;(4)具备一定的调试能力,能快速定位并修复程序错误。
二、实验内容与步骤1. 实验内容(1)编写一个简单的C程序,输出“Hello, World!”;(2)编写一个程序,计算并输出两个整数的和、差、乘、除;(3)编写一个程序,实现成绩分级输出(优秀、良好、及格、不及格);(4)编写一个程序,计算并输出一个整数数组的平均值、最大值和最小值;(5)编写一个程序,实现字符串的逆序输出。
2. 实验步骤(1)打开Visual Studio/Code::Blocks等集成开发环境;(2)新建一个C文件,输入实验代码;(3)编译并运行程序,观察输出结果;(4)根据实验要求,修改代码,优化程序;(5)重复步骤3-4,完成所有实验内容。
三、实验注意事项1. 严格遵守实验要求和步骤,确保实验进度;2. 仔细阅读教材和实验指导,遇到问题时及时查阅资料;4. 不要复制他人代码,力求自己编写;5. 实验过程中,遇到问题要学会独立思考,培养解决问题的能力。
四、实验评价与反馈1. 实验评价(1)检查代码是否符合实验要求,功能是否完善;(2)评价代码的可读性、简洁性、实用性;2. 实验反馈(2)提出对实验教案的建议和意见;(3)展望下次实验的内容和目标。
五、实验拓展与提高1. 实验拓展(1)了解C语言的其他高级特性,如动态内存分配、文件操作等;(2)学习并掌握常用的数据结构,如链表、树、图等;(3)探索C语言在实际项目中的应用。
2. 实验提高(1)提高编程速度和效率,熟练使用开发工具;(3)参加编程竞赛或项目实践,提升实际编程能力。
实验2 简单的C程序设计
实验2 简单的C程序设计一、实验目的1.巩固C语言表达式运用和运算符的运算规则2.掌握基本数据类型的输入和输出3.掌握顺序结构程序编程方法二、实验要求1.通过编写简单程序,进一步巩固C程序运算符的运算法则,不同运算符的优先级和结合方向等特点;2.掌握基本数据类型的输入和输出方法;包括printf()函数、scanf()函数、getchar()函数和putchar()函数的使用;3.掌握顺序结构程序编写4.保存试验结果、完成试验。
三、实验内容与步骤1.按格式要求输入/输出数据。
#include <stdio.h>main(){int a,b;float x,y;char c1,c2;scanf(“a=%d,b=%d”,&a,&b);scanf(“%f, %e”,&x,&y);scanf(“%c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);}2.输入一个华氏温度,要求输出摄氏温度。
公式为C=5/9(F-32)输出要有文字说明,取2位小数。
3.编程序,用getchar函数读入两个字符给c1、c2,然后分别用getchar函数和printf函数输入这两个字符,并思考以下问题:(1)变量c1、c2应定义为字符型或整型?或两者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符变量是否在任何情况下都可以互相代替?如:char c1,c2;与int c1, c2; 是否无条件等价?。
实验报告最简单的C程序设计
嘉应学院计算机科学与技术系试验报告课程名称:C程序设计试验名称:最简单的C程序设计试验地点:锡科指导老师:丘威试验时间:第六周星期一提交时间:第六周周一班级:061 姓名:座号:一、试验目的和要求答:①实验目的:⑴掌握C语言中使用最多的一种语句——赋值语句的使用方法。
⑵掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
②实验要求:能够独立完成这次实验,进一步学会C语言的使用方法。
二、实验内容和步骤答:⑴通过下面程序掌握各种格式转换符的正确使用方法。
步骤如下图:三、试验过程描述步骤一,输入以下程序,如图所示:图⑴实验①的程序输入界面步骤二,然后测试程序测试是否正确,如图图⑵“程序测试不正确,有缺少部分”工作界面步骤三,检查程序,改正错误图③“查找,改正错误”工作界面由上面图得:“unsiguld”应为“nnsigned”谨记!!尽信书不如无书!强调自身的能动性!步骤四,测试,得出结果、保存,实验完成。
图四“测试正确的最后结果”工作界面二,在上面基础上,将程序第9~14行改为如下图所示的程序段并调试得:图①,程序输入以及调试界面二,运行程序,测试,得出结果、保存,实验完成。
图四“测试正确的最后结果”工作界面三,改用SCANF函数输入数据而不用赋值语句,如下图①,程序输入以及调试界面二,运行程序,测试,得出结果、保存,实验完成。
图四“测试正确的最后结果”工作界面四,在三的基础上将PRINTF语句改为如下图所示:图①,程序输入以及调试界面二,运行程序,测试,得出结果、保存,实验完成。
图四“测试正确的最后结果”工作界面四、得出结论通过这次的上机操作实验,操作编程C语言的输入和调试,并得出了正确的结果。
使我进一步对C语言编程有了更进一步的了解,并使我基本掌握了C语言中的赋值语句的使用方法和各种类型数据的输入输出方法。
不过也同时使我清晰地知道自己所存在的不足和缺点,缺少从根本上,实质上认识C语言的实际编程操作。
实验二简单的C程序设计
实验二简单的C程序设计第一篇:实验二简单的C程序设计实验二简单的C程序设计实验目的:1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2.通过编程进一步理解和掌握运算符的确切含义和功能。
3.理解和掌握运算符与运算对象的关系,优先级和结合方向。
1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。
2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。
3.掌握简单的C程序的查错方法。
实验内容:一、输入程序,观察输出结果,并对输出结果作出合理的解释。
1./* e1.cpp */ #include void main(){float x;double y;x=213.82631;y=213.82631;printf(“%-4.2f,-6.2en”,x,y);}输出结果:解释:2./* e2.cpp */ #include void main(){char ch;int k;ch=’a’;k=10;printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);printf(“k=%%dn”,k);} 输出结果:解释:3./* e3.cpp */#include void main(){ float a1,a2;double b1,b2;a1=3141.59;a2=0.000001;b1=3141.59;b2=0.000001;printf(“%f,%lfn”,a1+a2,b1+b2);} 输出结果:解释:4. /* e4.cpp */ #include void main(){float x=5/2,y=5.0/2;printf(“x=%f,y=%fn”,x,y);} 输出结果:解释:二、编写程序。
1.编程(c1.cpp)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。
最简单的c程序
最简单的c程序最简单的C程序C语言是一种广泛应用于系统和应用程序设计的高级编程语言。
C语言的初学者们需要掌握C语言基础知识,其中最基础的知识点就是学会写最简单的C程序。
最简单的C程序通常包含一个main()函数,这个函数是程序的入口点,也称为程序的主函数。
在main()函数中,我们可以编写一些代码,通过C语言编译器进行编译,生成可执行文件,执行程序。
下面,我们将介绍最简单的C程序的编写过程。
首先,我们需要打开一个文本编辑器,例如Windows下的Notepad++或者Linux下的vim编辑器。
在文本编辑器中输入如下代码:```#include <stdio.h>int main(){printf("Hello, World!");return 0;}```这就是最简单的C程序了。
这个程序可以输出"Hello, World!"到控制台上。
让我们来仔细分析这个程序。
```#include <stdio.h>```这一行代码表示导入了标准输入输出头文件。
这个头文件中包含了一些常用的函数,例如printf()函数。
```int main(){printf("Hello, World!");return 0;}```这是程序的主函数。
在主函数中,我们使用printf()函数输出一段字符串。
printf()函数是C语言中最常用的输出函数之一。
它的作用是将格式化的字符串输出到控制台上。
第一行代码int main()是函数的声明。
其中,int表示返回值类型,main是函数名。
本程序的main()函数没有参数,所以用()表示没有参数。
printf()函数使用了双引号括起来的字符串作为参数,这个字符串称为格式化字符串。
在格式化字符串中,可以使用特殊的占位符,例如%s用于输出字符串,%d用于输出整数等等。
最后,return 0;表示程序返回值为0。
c程序设计实验报告答案
c程序设计实验报告答案C程序设计实验报告答案实验目的:本实验旨在通过C程序设计,加深学生对C语言的理解,培养学生的编程能力和解决问题的能力。
实验内容:本次实验要求学生设计一个简单的C程序,要求实现以下功能:1. 输入两个整数,计算它们的和、差、积和商,并输出结果。
2. 输入一个整数,判断它是否为偶数,并输出判断结果。
3. 输入一个字符,判断它是否为大写字母,并输出判断结果。
实验步骤:1. 定义主函数main,声明变量并输入两个整数a和b。
2. 计算a和b的和、差、积和商,并输出结果。
3. 输入一个整数n,判断它是否为偶数,并输出判断结果。
4. 输入一个字符ch,判断它是否为大写字母,并输出判断结果。
实验代码:```c#include <stdio.h>int main() {int a, b, sum, diff, product, quotient, n;char ch;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;diff = a - b;product = a * b;quotient = a / b;printf("和:%d,差:%d,积:%d,商:%d\n", sum, diff, product, quotient); printf("请输入一个整数:");scanf("%d", &n);if (n % 2 == 0) {printf("%d是偶数\n", n);} else {printf("%d不是偶数\n", n);}printf("请输入一个字符:");scanf(" %c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("%c是大写字母\n", ch);} else {printf("%c不是大写字母\n", ch);}return 0;}```实验结果:经过测试,上述程序能够正确实现所要求的功能,输入不同的整数和字符,程序可以正确输出相应的结果。
实验一编写简单C 程序
实验目的
1.熟悉并掌握VC++6.0的编程环境
1.1建立空白项目的过程 1.2编辑单个程序的过程
2.编写个人第一个C++程序 3.尝试编写的作业程序
实验要求
实验结束后,写一份实验报告在下一次 上课提交。
C++实验报告样本
1.1建立项目的过程
一个工作区可以包含多个工程 一个工程可以包含多个不同类型文件
C++程序开发过程
第一步 第四步:运行
1.6 C++程序开发过程
1. 算法研制 2. 编写程序 3. 编辑源程序 4. 编译和连接 5. 反复上机调试程序,
直到改正了所有的编 译错误和运行错误。 6. 运行。
上机实验
1. 模仿例题1.2实现一个简单的程序,输出”I am a Student”并换行。
2. 使用count函数实现一个多行输出的程序, 输出如下图案为:
*
***
*****
******
*****
***
*
通知
时间:下周二 地点:A404(以后上课都这这里)
简单的C语言程序设计实验报告完美版
本科实验报告专用纸课程名称C语言程序设计成绩评定实验项目名称简单的C语言程序设计实验项目编号实验项目类型验证型实验地点指导教师学生姓名学号学院专业一、实验目的1.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
2.学会正确使用逻辑运算符和逻辑表达式。
3.熟练掌握if语句和switch语句。
4.结合程序掌握一些简单的算法。
二、实验内容和实验要求实验内容1::试编写程序,用getchar函数读入两个字符给c1,c2,然后分别用putchar函数和printf函数输出这个字符。
实验要求:(1) 输入事先已编好的程序,并运行该程序。
分析运行结果是否正确。
(2)比较用Printf函数和putchar函数输出字符的特点。
实验内容2:给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D,’E’。
90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。
第1页(共11页)实验要求:(1)事先编写好程序,要求分别用if语句和switch语句来实现。
(2)输入程序,并运行该程序。
分析运行结果是否正确。
(3)再运行一次程序,输入分数为负值(如-70),这显然是输入是出错,不应该给出等级,修改程序,使之能正确处理任何数据,当输入数据大于100和小于0时,通知用户“输入数据错”,程序结束。
三、主要仪器设备仪器:计算机实验环境:windowsXP+visual c++6.0四、实验过程实验内容1:原理:1)用getchar函数输入两个字符赋给c1,c2;2) 用putchar函数输出这两个字符; 3) 用printf函数输出这两个字符。
(1)源程序(2)在visual c++6.0 环境下运行程序(3)调试结果:(4)运行结果:可见运行结果正确(5)比较用Printf函数和putchar函数输出字符的特点。
printf和putchar函数是输出函数,向显示器屏幕输出数据。
实验报告2 创建简单的C#应用程序及基本编程方法
实验名称:创建简单的C#应用程序及基本编程方法一、实验目的:(1)了解C# 的数据类型(2)掌握各种变量的声明方式。
(3)理解运算符的优先级。
(4)掌握C#简单数据类型、运算符与表达式、数组的使用方法。
(5)理解C# 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
(6)通过以上内容,掌握C# 语言的编程规则。
二、上机内容:(1)编写一个声明C#不同数据类型变量的程序。
(2)编写一个使用运算符、表达式、变量的程序。
(3)编写一个使用C#数组的的程序。
(4)编写使用不同选择结构的程序。
(5)编写使用不同循环结构结构的程序。
三、上机原理、方法和手段:本上机练习C#的主要数据类型,原则主要C#中数据类型在应用时应该先进行变量的定义才可以使用,在C#中的数组及应用,以及使用数据进行表达式的计算。
利用条件语句来实现功能选择功能,利用循环语句来解决重复计算要求的问题,设计程序并调试运行。
四、上机步骤:(1)编程求一个一维和二维整数数组的最大值、最小值、平均值和所有数组元素的和。
一维数组代码:using System;using System.Collections.Generic;using System.Text;namespace shiyan2{class Program{static void Main(string[] args){Console.WriteLine("请输入数组元素个数");int a = int.Parse(Console.ReadLine());int[] b = new int[a];int sum = 0;int ave = 0;for (int i = 0; i < a; i++){Console.WriteLine("请输入第{0}个数", i + 1);b[i] = int.Parse(Console.ReadLine());sum = sum + b[i];}ave = sum / a;int max = b[0];int min = b[0];for (int j = 0; j < a; j++){if (b[j] < min){min = b[j];}if (b[j] > max){max = b[j];}}Console.WriteLine("sum={0}", sum);Console.WriteLine("average={0}", ave);Console.WriteLine("max={0}", max);Console.WriteLine("min={0}", min);Console.Read();}}}运行结果如右图:二维数组代码:using System;using System.Collections.Generic;using System.Text;namespace shuzu2{class Program{static void Main(string[] args){Console.WriteLine("请输入数组的行数");int a = int.Parse(Console.ReadLine());Console.WriteLine("请输入数组的列数");int b = int.Parse(Console.ReadLine());int[,] d = new int[a, b];int c = a * b;int sum = 0;int ave = 0;for (int i = 0; i < b; i++){for (int j = 0; j < a; j++){Console.WriteLine("请输入第{0}行第{1}列的数", i + 1, j + 1); d[i, j] = int.Parse(Console.ReadLine());sum = sum + d[i, j];}}ave = sum / c;int max = d[0, 0];int min = d[0, 0];for (int m = 0; m < a; m++){for (int t = 0; t < b; t++){if (max < d[m, t]){ max = d[m, t]; }if (min > d[m, t]){ min = d[m, t]; }}}Console.WriteLine("sum={0}", sum);Console.WriteLine("ave=" + ave);Console.WriteLine("max={0}", max);Console.WriteLine("min={0}", min);Console.ReadLine();}}}运行结果如图:(2)利用ArrayList编写一个简单的统计程序,能够统计出一组数据均值、方差、2阶原点矩、2阶中心距、标准差、极值、极差等数字特征。
简单C程序设计
实验一:简单C 程序设计一:实验目的:(1)了解所用的c 语言开发环境的基本操作方法,学会使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个c 程序。
(3)通过运行简单的c 程序,初步了解c 程序的特点。
二:实验内容及要求:题目1:● 用C-Free 输入题目已提供的相应C 程序,观察运行结果,再参照原有程序,编写一个提示输入值(“a=”“b=”)并计算a-b 值的C 语言程序。
题目2:● 已知三角形的三边长为a ,b ,c ,计算三角形面积的公式为: area = ))()((c s b s a s s ---,s =)(21c b a ++要求,从键盘输入a ,b ,c 的值,计算并输出三角形的面积。
● 编写一个程序,从键盘输入圆的半径r ,计算并输出圆的周长和面积。
题目3:● 启动C-Free ,新建一个文件,输入题目提供的程序并观察运行结果,并模仿以上程序,编写一个程序,要求任意输入三个数,通过两次调用max 函数输出三个数中的最大数。
三:程序源代码:题目2: 第一小题: #include <math.h> #include <stdio.h> void main() { float a,b,c,s,d; printf("a=");题目1: #include <stdio.h> void main(){int a,b,c;printf("a=");scanf("%d",&a);printf("b=");四:运行结果、分析与讨论:题目1:在第一题中,按照要求输入a=6,b=2,其运算结果为4。
除此之外,取多组数据进行检验,均符合减法的运算要求。
但是经过分析发现,该算法运算范围较小,只适合整型数据。
而对于实型数据却无法计算。
这是这个算法的缺点所在。
应扩题目2: 第二小题: #include <stdio.h> #define PI 3.14159 void main() { float r,s,c; printf("r="); scanf("%f",&r); s=PI*r*r; c=2*PI*r; printf("area=%f\n",s); printf("circumference=%f\n",c); } 题目3: #include <stdio.h> float mymax(float x,float y) { float z; if (x>=y) z=x; else z=y; return(z); } void main() { float a,b,c,d; printf("a="); scanf("%f",&a); printf("b="); scanf("%f",&b); printf("c="); scanf("%f",&c); d=mymax(a,b); d=mymax(d,c); printf("max=%f",d); }大其计算范围最为科学合理。
第3章 最简单的C程序设计
3.1顺序程序设计举例
例3.2 计算存款利息。有1000元,想存一 年。有三种方法可选: (1)活期,年利率为r1 (2)一年期定期,年利率为r2 (3)存两次半年定期,年利率为r3 请分别计算出一年后按三种方法所得到的 本息和。
3.1顺序程序设计举例
解题思路:确定计算本息和的公式。
从数学知识可知:若存款额为p0,则: 活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
3.2.3 整型数据
扩充的整型类型:
有符号基本整型 无符号基本整型 有符号短整型 无符号短整型 有符号长整型 无符号长整型 有符号双长整型 无符号双长整型 [signed] int; unsigned int; [signed] short [int]; unsigned short [int]; [signed] long [int]; unsigned long [int] [signed] long long [int]; unsigned long long [int]
实型常量 十进制小数形式:如0.34 -56.79 0.0 指数形式:如12.34e3 (代表12.34103) 字符常量:如’?’ 转义字符:如’\n’ 字符串常量:如”boy” 符号常量:#define PI 3.1416
3.2.1 常量和变量
2. 变量:在程序运行期间,变量的值是可以改变的 变量必须先定义,后使用 定义变量时指定该变量的名字和类型 变量名和变量值是两个不同的概念 变量名实际上是以一个名字代表的一个存储地址 从变量中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据
C语言程序设计实验
C语言程序设计实验实验名称:猜数字游戏实验目的:通过设计一个小游戏,让学生熟悉C语言的基本语法,如变量、输入输出、条件语句和循环语句等,同时培养学生的逻辑思维和编程能力。
实验要求:1.设计一个随机数生成函数,生成一个1到100之间的随机整数。
2.设计一个猜数字的游戏函数,并在该函数中使用循环语句实现多次猜测,直到猜对为止。
3.在每次猜数字时,通过输入函数从键盘读取一个整数作为猜测值,并与随机数进行比较,给出相应提示。
4.在用户猜对或超过最大猜测次数时,结束游戏。
实验步骤:1.定义必要的变量,如随机数、猜测值等。
2.设计一个随机数生成函数,用来生成一个1到100之间的随机整数。
- 使用rand函数生成一个0到RAND_MAX之间的伪随机数。
-使用取余运算和加法运算将伪随机数缩小到1到100之间。
3.设计一个猜数字的游戏函数,并在该函数中使用循环语句实现多次猜测。
- 使用for循环控制游戏的最大猜测次数。
- 使用if-else语句判断用户猜测值与随机数的大小关系,并给出相应的提示。
-当用户猜对或超过最大猜测次数时,结束游戏。
4.在主函数中调用随机数生成函数和猜数字的游戏函数,实现完整的游戏过程。
实验代码:```c#include <stdio.h>#include <stdlib.h>int generateRandomNumbereturn rand( % 100 + 1; // 生成1到100之间的随机数void guessNumberGamint randomNumber = generateRandomNumber(;int guess;int maxGuesses = 5;printf("猜数字游戏开始!\n");for (int i = 1; i <= maxGuesses; i++)printf("请输入一个1到100之间的整数作为你的猜测(剩余次数:%d):", maxGuesses - i + 1);scanf("%d", &guess);if (guess == randomNumber)printf("恭喜你,猜对了!\n");return;} else if (guess < randomNumber)printf("猜小了,请再试一次。
c语言程序设计实验指导书
《C 语言程序设计》实验指导书实验一C 程序的运行环境一、实验目的1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;2、了解在该系统上如何编辑、编译、连接和运行一个C 程序;3、通过运行简单的C 程序,初步了解C 程序二、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,一般检查应该是没有明显的错误。
如果在程序中有疑问的地方,可以标记起来,以便于上机调试时予以注意。
初学者特别忌讳上机前自己不编写程序,到时随便地抄别人的程序。
三、实验指导1、输入并运行一个简单的程序,从而熟悉所用系统的上机方法与步骤。
(1)选择“File”—“New”—“Win32 console application”,输入工程名称,确定。
直接选择第一项“An empty project”,点击“Finish”。
“File”—“New”—File框下面选择文件类型“C++ Source File” ,输入文件名称,点击“OK”。
(2)输入下面的程序(例题1.1)#include <stdio.h>void main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。
编译过程将源代码转化成目标文件格式,后缀名为.o。
选择“Build”菜单下“Build”选项,快捷键为F7。
如果出现“出错信息”,则应找出原因并改正之,再进行编译构建。
(4)如果编译无错误,选择“Build”菜单“Execute”选项,运行程序,快捷键为Ctrl+F5,观察分析运行结果。
2、输入并编辑一个C 程序(1)同上,新建工程和文件。
(2)输入以下程序(例题1.2,但故意漏打或打错几个字符)#include <stdio.h>void main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上一例题3、输入并运行一个需要在运行时输入数据的程序(1)清空编辑窗口,输入下面的程序(例题1.3)。
C语言程序设计实验及代码
C语言程序设计实验及代码一、实验介绍本实验旨在通过C语言编程实践,培养学生的程序设计能力。
通过完成以下实验内容,学生将会加深对C语言的理解,掌握基本的编程技巧和方法,并能够编写简单的C语言程序。
二、实验内容1.实验一:实现一个简单的计算器程序编写一个简单的计算器程序,能够进行简单的加减乘除运算。
要求用户输入两个数字和操作符(+、-、*、/),然后输出计算结果。
实验提示:可以使用switch语句来实现根据操作符执行相应的运算。
2.实验二:实现一个学生成绩管理系统编写一个学生成绩管理系统程序,能够添加学生信息、显示学生信息、计算学生平均成绩等功能。
要求使用结构体来保存学生信息,并使用数组来存储多个学生的信息。
实验提示:可以使用循环来实现多次添加学生信息的功能。
可以使用指针来操作结构体数组。
3.实验三:实现一个简单的图书管理系统编写一个图书管理系统程序,能够添加图书信息、显示图书信息、查询图书信息等功能。
要求使用结构体来保存图书信息,并使用链表来存储多本图书的信息。
实验提示:可以使用链表的插入和删除操作来实现添加和删除图书的功能。
通过遍历链表来显示和查询图书的信息。
三、实验代码示例1.实验一代码示例:```c#include<stdio.h>int mainfloat num1, num2; //用于存储用户输入的两个数字char op; //用于存储用户输入的操作符float result; //用于存储计算结果printf("请输入两个数字和一个操作符(+、-、*、/):");scanf("%f %f %c", &num1, &num2, &op);switch(op)case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if(num2 != 0)result = num1 / num2;elseprintf("除数不能为0!\n");return 0;}break;default:printf("操作符输入错误!\n");return 0;}printf("计算结果:%f\n", result);return 0;```2.实验二代码示例:```c#include<stdio.h>#define MAX_STUDENT 100 //定义最大学生数量struct Studentint id; //学号char name[20]; //姓名float score; //成绩};void addStudent(struct Student *students, int *count) if(*count >= MAX_STUDENT)printf("已达到学生数量上限!\n");return;}printf("请输入学生的学号、姓名和成绩:");scanf("%d %s %f", &(students[*count].id),students[*count].name, &(students[*count].score));(*count)++;void showStudent(struct Student *students, int count) int i;if(count == 0)printf("暂无学生信息!\n");return;}printf("学号\t姓名\t成绩\n");for(i = 0; i < count; i++)printf("%d\t%s\t%f\n", students[i].id, students[i].name, students[i].score);}float calculateAverage(struct Student *students, int count) int i;float sum = 0;if(count == 0)return 0;for(i = 0; i < count; i++)sum += students[i].score;}return sum / count;int mainstruct Student students[MAX_STUDENT]; //保存学生信息的数组int count = 0; //学生数量int choice;while(1)printf("\n学生成绩管理系统\n");printf("1.添加学生信息\n");printf("2.显示学生信息\n");printf("3.计算平均成绩\n");printf("0.退出\n");printf("请输入对应操作的序号:");scanf("%d", &choice);switch(choice)case 1:addStudent(students, &count);break;case 2:showStudent(students, count);break;case 3:printf("平均成绩:%f\n", calculateAverage(students, count));break;case 0:return 0;default:printf("输入无效的序号!\n");break;}}return 0;```3.实验三代码示例:```c#include<stdio.h>#include<stdlib.h>#include<string.h>struct Bookchar name[50]; //书名float price; //价格struct Book *next; //指向下一本书的指针};struct Book *head = NULL; //链表的头指针void addBookstruct Book *newBook;char name[50], author[20];float price;newBook = (struct Book *)malloc(sizeof(struct Book)); scanf("%s %s %f", name, author, &price);strcpy(newBook->name, name);strcpy(newBook->author, author);newBook->price = price;newBook->next = head;head = newBook;void showBooksstruct Book *p;if(head == NULL)printf("暂无图书信息!\n");return;}p = head;while(p != NULL)printf("%s\t%s\t%f\n", p->name, p->author, p->price); p = p->next;}void searchByNamestruct Book *p;char name[50];if(head == NULL)printf("暂无图书信息!\n");return;}printf("请输入要查询的图书的书名:");scanf("%s", name);p = head;while(p != NULL)if(strcmp(p->name, name) == 0)printf("%s\t%s\t%f\n", p->name, p->author, p->price); return;}p = p->next;}printf("未找到该图书!\n");int mainint choice;while(1)printf("\n图书管理系统\n");printf("1.添加图书信息\n");printf("2.显示图书信息\n");printf("3.查询图书信息\n");printf("0.退出\n");printf("请输入对应操作的序号:");scanf("%d", &choice);switch(choice)case 1:addBook(;break;case 2:showBooks(;break;case 3:searchByName(;break;case 0:return 0;default:printf("输入无效的序号!\n");break;}}return 0;```以上是三个C语言程序设计实验的相关介绍和代码示例。
C语言程序设计实验报告(实验大纲+过程)
《C法式设计》实验教学年夜纲之欧侯瑞魂创作一、适用范围年夜纲适用信息管理专业本科教学使用.二、课程名称C法式设计三、学时数与学分总学时:90 总学分: 4实验学时:28 实验学分:1四、教学目的和基本要求目的:通过C法式设计实验,培养学生对学习法式设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握C 语言法式设计的基本方法和编程技巧.基本要求:了解和熟悉C语言法式开发的环境;学会上机调试法式,善于发现法式中的毛病,而且能很快地排除这些毛病,使法式能正确运行,到达实验知识和理论知识的融会贯通.上机实验前,学生必需事先根据题目的内容编好法式,然后在实验时输入法式、调试法式、直至运行结果正确为止,上机结束后,应整理出实验陈说.五、实验项目与学时分配注:带*的实验项目为选做实验项目六、教材、讲义及参考书《C法式设计题解与上机指导》谭浩强主编清华年夜学出书社七、实验成果评定法子实验成果=平时实验暗示+实验陈说.实验成果占总成果的20%.实验成果以品级形式给出,评定品级分优、良、中、及格、不及格五类.1、平时考核:上机实验前,学生必需事先根据题目的内容编好法式,然后在实验时输入法式、调试法式、直至运行结果正确为止.在实验中,教师可根据学生编程把持能力、观察和分析及运用知识能力、法式编制正确性以及学生的课堂纪律、实验态度、坚持实验室卫生等方面的暗示进行综合考核.2、实验陈说:学生实验后应按时完成实验陈说.八、实验教学年夜纲说明本年夜纲共安插28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时.实验项目多为设计性实验项目,每个设计性实验项目中都包括数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做.九、实验项目实验一 C法式的运行环境和运行一个C法式的方法一、实验目的1.了解Visual C++6.0编译系统的基本把持方法,学会自力使用该系统.2.了解在该系统上如何编纂、编译、连接和运行一个C法式.3.通过运行简单的C法式,初步了解C源法式的特点.二、实验内容1.用编纂法式,输入教材第一章例法式,并进行编译和运行.应了解所用的系统是用什么命令进行编译和连接运行的.编译和连接后所获得的目标法式的后缀是什么形式的?2.编写一个C法式,输出以下信息:****************************very good!****************************,了解如何在运行时向法式变量输入数据.实验二数据类型、运算符和表达式一、实验目的1.掌握C语言数据类型,熟悉如何界说一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符.2.学会使用C的有关算术运算符,以及包括这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用.二、实验内容1.输入并运行以下法式:main( ){ char c1,c2;c1=97;c2=98;printf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);}在此基础上①将第三行、第四行改为:c1=321;c2=353;再使之运行,分析其运行结果.②将第二行改为:int c1,c2;再使之运行,分析其运行结果..2.输入并运行以下法式:main( ){int i=8,j=10,m,n;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}分别作以下改动并运行:①法式改为:main( ){int i=8,j=10;printf(“%d,%d\n”,i++,j++);}②在②的基础上,将printf语句改为:printf(“%d,%d\n”,++i,++j);③再将printf语句改为:printf(“%d,%d,%d,%d\n”,i,j, i++,j++);④法式改为:main( ){int i=8,j=10,m=0,n=0;;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);}3. 请将下列给出的两个法式段分别输入计算机后,分析其运行结果:①main(){ int num;num=32767;printf(“num=%d\n”,++num);}② main(){ int a=-2;printf(“%d, %d\n”,a, a--);}实验三最简单的C法式设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用.2.掌握数据的输入输出的方法,能正确使用各种格式转换符.二、实验内容1.上机输入以下法式:main( ){int a,b;float c;scanf(“%d%d%f”,&a,&b,&c);printf(“a=%-4d,b=%4d,c=%f,c=%.2f\n”,a,b,c,c);}要使a=3,b=4,c=12.3456,在键盘上应如何输入?有几种方式?2.若将输入函数改为scanf(“%d, %d ,%f”,&a,&b,&c);应该如何输入数据?3.上机输入以下法式:main( ){int a; float b; char c;scanf(“%4d%5f%3c”,&a,&b,&c);printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n”,a,a,a,b, b,c);}要使a=77,b=4.56,c= ‘A’,在键盘上应如何输入?4.输入两面整型变量a、b的值,输出下列算式以及运算结果.a+b、a-b、a*b、a/b、(float)a/b、a%b每个算式占一行.如a即是10,b即是6,a+b应输入为:10+6=165.编写法式,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符.上机运行法式,比力用printf和putchar函数输出字符的特点.实验四选择结构法式设计一、实验目的1.了解C语言暗示逻辑量的方法(以0代表“假”,以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句.二、实验内容先编法式,解以下问题,然后上机调试运行法式.1.有一个函数用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值.2.给出一个百分制成果,要求输出成果品级‘A’,‘B’,‘C’,‘D’,‘E’.90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’.要求分别用if语句和switch语句实现3.输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N”, 若输入值不是三位数输出“data error”.提示:水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等.如:153=13+53+33.判断是否是水仙花数需把构成三位数的三个数字分离出来并存入变量.实验五循环控制一、实验目的1.熟悉用while语句,do-while语句和for语句实现循环的方法.2.掌握在法式设计中用循环的方法实现各种算法(如穷举、迭代、递推等).二、实验内容编法式并上机调试运行.1.输入两个正整数,求其中最年夜公约数和最小公倍数.2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数.3.打印出以下图案:*************************4.编程求1!+2!+3!+……+20!.实验六数组一、实验目的1.掌握一维数组和二维数组的界说、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用.3.掌握与数组有关的算法(特别是排序算法).二、实验内容编法式并上机调试运行.1. 编写法式,用scanf函数输入10个整数的数列,先将整数依照从年夜到小的顺序进行排序,然后输入一个整数拔出到数列中,使数列坚持从年夜到小的顺序.2.有15个数寄存在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,而且可以实现连续查找.15个数用赋初值的方法在法式中给出,要找的数用scanf函数输入.3.将以下二维数组中数按列的顺序寄存到一个一维数组中.二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 444.将两个字符串联接起来,不要用strcat函数.5.从键盘输入5个字符串,找出最长的字符串和最年夜的字符串.实验七函数一、实验目的1.掌握界说函数的方法;2.掌握函数实介入形参的对应关系,以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量,静态变量和静态变量的概念和使用方法.二、实验内容编法式并上机调试运行之.1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息.2.两个函数,分别求两个整数的最年夜公约数和最小公倍数,用主函数调用这两个函数,并输出结果.两个整数在主函数中输入,并传送给函数1,求出的最年夜公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最年夜公约数和最小公倍数.3.已知二阶Fibonacci数列:0 若n=0Fib(n)= 1 若n=1Fib(n-1)+Fib(n-2) 其他情况界说递归函数求Fib(n).4. 编写函数,求 10 1!n实验八指针一、实验目的1.掌握指针的概念,会界说和使用指针变量;2.学会使用数组的指针和指向数组的指针变量;3.学会使用字符串的指针和指向字符串的指针变量;4.学会使用指向函数的指针变量;5.了解指向指针的指针的概念及其使用方法.二、实验内容编法式并上机调试运行法式(都要求用指针处置).1.界说函数void fun(int x[ ],int *max,int *min),找出数组x中的最年夜值和最小值,最年夜值和最小值通过形参指针max和min传回.2.编写一个函数comp(s1,s2)实现两个字符串的比力.如果s1=s2,则函数返回值为0;如果s1≠s2,返回它们二者第一个分歧字符的ASCII码差值(如“BOY”与“BAD”,第二个字母分歧,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1<s2则输出负值.两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出.3.从键盘输入一个字符串与一个指定字符,调用函数,将字符串中呈现的指定字符全部删除.4.将一个3×3的矩阵转置,用一函数实现.在一主函数中用scanf函数输入以下矩阵元素:1357911131517将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出转置后的矩阵.实验九结构体和共用体一、实验目的1.掌握结构体类型变量的界说和使用;2.掌握结构体类型数组的概念和应用;3.掌握链表的概念,初步学会对链表进行把持;4.掌握共用体的概念与使用.二、实验内容编法式,然后上机调试运行.1.有3个学生,每个学生的数据包括学号、三门课的成果,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成果.2.建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点的数据.在链表中查找年龄最年夜的结点,并将链表中即是此年龄的结点删除(年龄最年夜的结点可能不止一个).*3.将一个链表按逆序排列,即将链头当链尾,链尾当链头.4.上机输入如下法式:main( ){union bt{int k; char c[2];}a;a.k= -7;printf(“%o,%o\n”,a.c[0],a.c[1]);}分析其运行结果.实验十位运算一、实验目的1.掌握按位运算的概念和方法,学会使用位运算符;2.学会通过位运算实现对某些位的把持.二、实验内容编写法式,上机调试并运行.1.编一个函数getbits,从一个16位的单位中取出某几位(即该几位保管原值,其余位为0).函数调用形式为:getbits(value,n1,n2)value为该16位数的值,n1为欲取出的起始位,n2为欲取出的的结束位.如:getbits(0101675,5,8)暗示对八进制数101675,取出其从左面起的第5位到第8位.要求把这几位数用八进制数打印出来.注意,应当将这几位数右移到最右端,然后用八进制形式输出.2.利用位运算把持,实现交换两个变量的值.3.将一个十六进制整数的各位循环左移4位,然后用十六进制形式输出.实验十一文件一、实验目的1.掌握文件以及缓冲文件系统、文件指针的概念;2.学会使用文件翻开、关闭、读、写等文件把持函数.3.学会用缓冲文件系统对文件进行简单的把持.二、实验内容编写法式并上机调试运行.1.编法式求100以内的素数,分别将它输出到显示器屏幕和x.txt文件中,要求每行5个数.2.从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt和二进制文件s.dat.*3.从上题的文本文件s.txt或二进制文件s.dat中读入每本书的数据,计算所有书的平均价格.要求用input函数读入,average函数求平均价格.统计与信息学院实验过程与步骤实验①1、运行2、输入#include<stdio.h>main(){char c1,c2;c1=321;c2=353;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);}3、编译,无毛病、无警告后运行,结果如下:4、在步伐2的基础上将第三行、第四行改为:c1=321;c2=353;5、编译,无毛病、无警告后运行,结果提示:aa.obj - 0 error(s), 2 warning(s)6、在步伐2的基础上将第二行改为:int c1,c2;7、编译,无毛病、无警告后运行,结果如下:实验②1、输入#include<stdio.h>main(){int i=8,j=10,m,n;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}实验③1、输入#include<stdio.h>main(){int num;num=32767;printf("num=%d\n",++num);}2、编译,无毛病、无警告后运行,结果如下:2、编译,无毛病、无警告后运行,结果如下:3、将步伐2法式改为:#include<stdio.h>main(){int i=8,j=10;printf("%d,%d\n",i++,j++);}4、编译,无毛病、无警告后运行,结果如下:5、在步伐3的基础上,将printf语句改为:printf(“%d,%d\n”,++i,++j);6、编译,无毛病、无警告后运行,结果如下:7、在步伐3的基础上,将printf语句改为:printf(“%d,%d,%d,%d\n”,i,j, i++,j++);8、编译,无毛病、无警告后运行,结果如下:9、将步伐2法式改为:#include<stdio.h>main(){int i=8,j=10,m=0,n=0;m+=i++,n-=--j;printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);}10、编译、运行,结果如下:3、输入#include<stdio.h>main(){int a=-2;printf("%d,%d\n",a,a--);}4、编译,无毛病、无警告后运行,结果如下:实验总结统计与信息学院《C法式设计》实验陈说(三)学号:姓名:班级:成果:实验名称:最简单的C法式设计指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握C语言中使用最多的一种语句——赋值语句的使用.2.掌握数据的输入输出的方法,能正确使用各种格式转换符.实验过程与步骤实验①1、运行2、输入#include<stdio.h>main(){int a,b;float c;scanf("%d%d%f",&a,&b,&c);printf("a=%-4d,b=%4d,c=%f,c=%.2f\n",a,b,c,c);}3、编译,无毛病、无警告后运行,结果如下:有空格、tab、回车三种输入方式.4、将步伐2中的scanf("%d%d%f",&a,&b,&c);改为scanf(“%d, %d ,%f”,&a,&b,&c);5、编译,无毛病、无警告后运行,结果如下:实验②1、输入#include<stdio.h>main(){int a;float b;char c;scanf("%4d%5f%3c",&a,&b,&c);printf("a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n",a,a,a,b,b,c);}2、编译,无毛病、无警告后运行,结果如下:实验③(1)a+b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a+b;printf("%d+%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(2)a-b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a-b;printf("%d-%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(3)a*b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a*b;printf("%d*%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:实验④(1)getchar输出1、输入#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);return 0;} (4)a/b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a/b;printf("%d/%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(5)(float)a/b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=(float)a/b;printf("%d/%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(6)a%b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a%b;printf("%d%%%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(2)printf输出1、输入#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=getchar();printf("%c%c\n",c1,c2);return 0;}2、编译,无毛病、无警告后运行,结果如下:2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:选择结构法式设计指导教师:张雄实验日期:实验地址:实验软件(主要仪器设备):实验要求1.了解C语言暗示逻辑量的方法(以0代表“假”,以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句.实验过程与步骤实验①1、运行.2、输入#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=10)y=3*x-11;elsey=2*x-1;printf("x=%d,y=%d\n",x,y);return 0;}3、编译,无毛病、无警告后运行,结果如下:X<1时,1=<x<10时,x>=10时,(2)switch语句1、输入#include<stdio.h>main(){float x;int y;char ch;printf("Your score:");scanf("%f",&x);y=x/10;switch(y){case 10:case 9:ch='A';break;case 8:ch='B';break;case 7:ch='C';break;case 6:ch='D';break;default:ch='E';}printf("%c\n",ch);return 0;}2、编译,无毛病、无警告后运行,结果如下:实验②(1)if语句1、输入#include<stdio.h>main(){float x;char ch;scanf("%f",&x);if(x>=90) ch="A";else if(x>=80) ch="B";else if(x>=70) ch="C";else if(x>=60) ch="D";else ch="E";printf("%c\n",ch);}2、编译,无毛病、无警告后运行,结果如下:实验③:(水仙花数)1、输入#include<stdio.h>int main(){int m,a,b,c;scanf("%d",&m);if(m/100==0){printf("data error\n");return 0;}a=m%10;b=(m/10)%10;c=m/100;if(m==a*a*a+b*b*b+c*c*c){printf("Y\n",m);return 0;}else{printf("N\n",m);return 0;}}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:循环控制指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.熟悉用while语句,do-while语句和for语句实现循环的方法.2.掌握在法式设计中用循环的方法实现各种算法(如穷举、迭代、递推等).实验过程与步骤实验①:输入两个正整数,求其中最年夜公约数和最小公倍数.(1)求最年夜公约数1、输入#include<stdio.h>main(){int m,n,i,t;scanf("%d%d",&m,&n);if(n<m){t=n;n=m;m=t;}i=m;while(1){if(m%i==0&&n%i==0) break;i--;}printf("它们的最年夜公约数是:%d\n",i);return 0;}2、编译,无毛病、无警告后执行,结果如下:(2)求最小公倍数1、输入#include<stdio.h>main(){int m,n,i,t;scanf("%d%d",&m,&n);if(n<m){t=n;n=m;m=t;}实验②:输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数.1、输入#include<stdio.h>main(){char c;int letter,space,number,other;letter=space=number=other=0;do{c=getchar();if(c>='a'&&c<='z'||c>='A'&&c<='Z')letter++;else if(c>='0'&&c<='9')number++;else if(c==' ')space++;elseother++;}while(c!='\n');printf("letter=%d,space=%d,number=%d,other=%d\n",letter,space,number,other);return 0;}i=m;while(1){if(i%m==0&&i%n==0) break;i++;}printf("它们的最小公倍数是:%d\n",i);return 0;}2、编译,无毛病、无警告后执行,结果如下:实验⑤:编写法式输出乘法表1、输入#include<stdio.h>main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-3d",j,i,i*j);printf("\n");}system("pause");}2、编译,无毛病、无警告后运行,结果如下:for(j=1;j<=2*i+1;j++)printf("*");printf("\n");}for(i=n-1;i>=0;i--){for(j=1;j<=n-i;j++)printf(" ");for(j=1;j<=2*i+1;j++)printf("*");printf("\n");}}2、编译,无毛病、无警告后运行,结果如下:实验④:编程求1!+2!+3!+……+20!.1、输入#include<stdio.h>2、编译,无毛病、无警告后执行,结果如下:实验③:打印出以下图案:7行7列菱形1、输入#include<stdio.h>#define n 3int main(){int i,j;for(i=0;i<=n;i++){for(j=1;j<=n-i;j++)printf(" "); int main(){int n,m=1,sum=0;for(n=1;n<=20;n++){m=n*m;sum=sum+m;}printf("1+2!+3!...+20!=%d\n",sum);}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:数组指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握一维数组和二维数组的界说、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用.3.掌握与数组有关的算法(特别是排序算法).实验过程与步骤实验①:编写法式,用scanf函数输入10个整数的数列,先将整数依照从年夜到小的顺序进行排序,然后输入一个整数拔出到数列中,使数列坚持从年夜到小的顺序.1、输入#include<stdio.h>main (){void Rank(int N,int n[]);int i,j,k;int n[11];for(i=0;i<10;i++)scanf("%d",&n[i]);Rank(10,n);scanf("%d",&k);if(k>n[9])n[10]=k;else{for(i=0;n[i]<=k;i++);for(j=9;j>=i;j--)n[j+1]=n[j];n[i]=k;}for(i=0;i<=10;i++)printf("%-4d",n[i]);printf("\n");}void Rank(int N,int n[]){int i,k,t;for(k=1;k<=N-1;k++)for(i=N-1;i>=k;i--)if(n[i-1]>n[i])实验②:有15个数寄存在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,而且可以实现连续查找.15个数用赋初值的方法在法式中给出,要找的数用scanf函数输入.1、输入#include<math.h>main(){static int i,j,m,a[15]={2,10,13,24,35,59,68,78,98,102,234,526,649,758,893};scanf("%d",&m);for(j=0;j<15;j++)printf("%4d",a[j]);printf("\n");i=7;while(fabs(i-7)<8){if(m<a[7]){{t=n[i];n[i]=n[i-1];n[i-1]=t;}for(i=0;i<=N-1;i++)printf("%-4d",n[i]);printf("\n");}2、编译,无毛病、无警告后运行,运行结果如下:实验④:将两个字符串联接起来,不要用strcat函数.1、输入#define M 50#define N 20main (){char a[M],b[N];int i,j;gets(a);gets(b);for(i=0;a[i]!='\0';i++);for(j=0;b[j]!='\0';j++){a[i]=b[j];i++;}a[i]='\0';puts(a);}2、编译,无毛病、无警告后运行,运行结果如下:实验⑤:从键盘输入5个字符串,找出最长的字符串和最年夜的字符串.1、输入#include "string.h"#define N 20main(){char a[5][N],max[N],m,n,max1;int b[5];int i,j;for(i=0;i<=4;i++)gets(a[i]);for(i=0;i<=4;i++)b[i]=strlen(a[i]);max1=b[0];m=0;for(i=1;i<=4;i++)if(b[i]>=max1)if(a[i]-m==0){printf("it is at (%d)\n",i+1);break;}i--;}else if(m>a[7]){if(a[i]-m==0){printf("it is at (%d)\n",i+1);break;}i++;}elseprintf("8\n");}if(fabs(i-7)-8==0)printf("无此数\n");}2、编译,无毛病、2警告后运行,运行结果如下:实验③:将以下二维数组中数按列的顺序寄存到一个一维数组中.二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 441、输入#include <stdio.h>main(){inta[3][4]={{11,22,33,44},{11,22,33,44},{11,22,33,44}};int b[12],i,j,m;{max1=b[i];m=i;}strcpy(max,a[0]);n=0;for(i=1;i<=4;i++)if(strcmp(a[i],max)>=0){strcpy(max,a[i]);n=i;}printf("\n");puts(a[m]);puts(a[n]);}2、编译,无毛病、无警告后运行,运行结果如下:m=0;for(j=0;j<=3;j++)for(i=0;i<=2;i++){b[m]=a[i][j];m++;}for(m=0;m<12;m++)printf("%d ",b[m]);printf("\n");}2、编译,无毛病、无警告后运行,运行结果如下:实验总结学号:姓名:班级:成果:实验名称:函数指导教师:张雄实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握界说函数的方法;2.掌握函数实介入形参的对应关系,以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量,静态变量和静态变量的概念和使用方法.实验过程与步骤实验①:写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息.1、输入#include <stdio.h>int is_prime(int m){int i;if(m==1)return 0;for(i=2;i<m;i++){if(m%i==0){return 0;}}return 1;}void main(){int n,c;scanf("%d",&n);c=is_prime(n);if(c==1)printf("它是素数\n");elseprintf("它不是素数\n");}2、编译,无毛病、无警告后运行,结果如下:实验③:已知二阶Fibonacci数列:0 若n=0Fib(n)= 1 若n=1Fib(n-1)+Fib(n-2) 其他情况界说递归函数求Fib(n).1、输入#include<stdio.h>int fib(int n){if(n==0 )return 0;else if(n==1)return 1;else{return fib(n-1)+fib(n-2);}}实验②:1、输入#include<stdio.h>void main(){int gy(int,int);int gb(int,int);int m,n;restart:scanf("%d%d",&m,&n);printf("最年夜公约数是%d\n",gy(m,n));printf("最小公倍数是%d\n",gb(m,n));goto restart;}int gy(int x,int y){int a,b,c,d;if(x>=y) {a=x,b=y;}else {a=y,b=x;}while(d!=0){c=a/b;d=a%b;a=b;b=d;}return a;}int gb(int x,int y){return(x*y)/gy(x,y);}2、编译,无毛病、无警告后运行,结果如下:实验④:编写函数,求101!n1、输入#include <stdio.h>int func(int n){if(n==0||n==1){return 1;}else{return n*func(n-1);}}int main(void){int n;int i;void main(){int n;scanf("%d",&n);printf("fib(%d)=%d\n",n,fib(n));}2、编译,无毛病、无警告后运行,结果如下:int sum = 0;printf("请输入一个正整数:");scanf(" %d", &n);for (i=1;i<=n;i++){sum+=func(i);}printf("1!+...+%d!=%d\n",n,sum);return 0;}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:指针指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握指针的概念,会界说和使用指针变量;2.学会使用数组的指针和指向数组的指针变量;3.学会使用字符串的指针和指向字符串的指针变量;4.学会使用指向函数的指针变量;5.了解指向指针的指针的概念及其使用方法.实验过程与步骤实验①:1.界说函数void fun(int x[ ],int*max,int *min),找出数组x中的最年夜值和最小值,最年夜值和最小值通过形参指针max和min传回.1、输入#include<stdio.h>#define N 10{ void fun(int *a,int n)int i,j,k,big;i=0;big=a[0];for(i=0;i<N;i++){if(big<a[i]){big=a[i];j=i;}}k=a[0];a[0]=a[j];a[j]=k;j=1;big=a[1];for(i=1;i<N;i++){if(big<a[i]){big=a[i];j=i;}}k=a[1];a[1]=a[j];a[j]=k;}void main(){int a[N],i;for(i=0;i<N;i++)scanf("%d",a+i);fun(a,N);for(i=0;i<N;i++)printf("%d ",a[i]);printf("\n");}}printf("-1");实验②:编写一个函数comp(s1,s2)实现两个字符串的比力.1、输入1.编写以下函数:#include <stdio.h>#include <math.h>main(){char s1[100],s2[100];int i=0,j=0;printf("s1:");do{scanf("%c",&s1[i]);s1[i]='\0';printf("s2:");do{scanf("%c",&s2[j]);}while(s2[j++]!='\n');s2[j]='\0';i=-1;j=-1;do}while(s1[i++]!='\n');break;}else if(s1[i]<s2[j]||(s1[j]!='\0'&&s1[i]=='\0')){printf("1");break;}else if(s1[i]=='\0'&&s2[j]=='\0')printf("0");}while(s1[i]!='\0'&&s2[j]!='\0');}2、编译,无毛病无警告后运行,结果如下:实验③:从键盘输入一个字符串与一个指定字符,调用函数,将字符串中呈现的指定字符全部删除.1、输入#include "stdio.h"#include "conio.h"#include "string.h"void prochar(char *str,char c){char *p;for(p=str;*p!='\0';p++)if(*p!=c)*str++=*p;*str='\0';}void main(){char str[80],char_c;gets(str);scanf("%c",&char_c);prochar(str,char_c);puts(str);getch();}2、编译,无毛病无警告后运行,结果如下:for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%d\t",array[i][j]);printf("\n");}}void convert(int array[][3]){int i,j,t;for(i=0;i<N;i++)for(j=0;j<N;j++)2、编译,无毛病无警告后运行,结果如下:{i++;j++;if(s1[i]>s2[j]||(s1[i]!='\0'&&s2[j]=='\0')){2、编译,无毛病、无警告后运行,结果如下:实验④:将一个3×3的矩阵转置,用一函数实现.在一主函数中用scanf函数输入以下矩阵元素:1357911131517将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出转置后的矩阵.1、输入#include<stdio.h>#define N 3int array[N][N];void main(){void convert(int array[][3]);int i,j;printf("输入数组:\n");for(j=0;j<N;j++)for(i=0;i<N;i++)scanf("%d",&array[i][j]);printf("\n");for(j=0;j<N;j++){for(i=0;i<N;i++)printf("%d\t",array[i][j]);printf("\n");}convert(array);printf("\n");实验总结创作时间:二零二一年六月三十日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试验项目试验一最简单的C程序设计
实验项目:实验一最简单的C程序设计
(所属课程:《C语言程序设计》学时:2)
一、实验目的
1.掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。
2.初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。
3.掌握顺序结构程序设计的基本思路。
二、实验条件
Pc和vc++编程环境
三、实验内容
1.熟悉编程环境。
2.输入并运行一个C程序
3.掌握各种格式转换符的正确使用方法。
4.编程序:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
要求用scanf函数从键盘上输入数据(半径和高),输出各计算结果,输出时要求有文字说明,取小数点后2位数字。
5.编程序:用getchar函数输入两个字符给C1、C2,然后分别用putchar函数和printf函数输出这两个字符。
四、实验步骤
编写程序,输入数据,观察结果。
五、实验结果
观察结果和预期是否一致。
实验项目:实验二选择结构程序设计
(所属课程:《C语言程序设计》学时:2)
一、实验目的
1.了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
2.学会正确使用逻辑运算符和逻辑表示式。
3.熟练掌握if语句和switch语句
二、实验条件
Pc和vc++编程环境
三、实验内容
1.有一函数:
⎪⎩⎪⎨⎧≥-<≤-<=)10x (113x )
10x 1(12x )1x (x y
用scanf 函数输入x 的值,求y 值。
运行程序,输入x 的值(分别为x<1、1≤x <10、x ≥10三种情况),检查输出的y 值是否正确。
2.给出一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
90分以上为A ,81~89分为B ,71~79分为C ,61~69分为D ,60分以下为E 。
3.输入4个整数,要求按由小到大顺序输出。
四、实验步骤
编写程序,输入数据,观察结果。
五、实验结果
观察结果和预期是否一致。
实验项目:实验三 循环结构程序设计
(所属课程:《C语言程序设计》学时:4)
一、实验目的
1.熟悉掌握用while语句,do-while语句和for语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现一些常见算法(如穷举、迭代、递推等)。
3.进一步学习调试程序。
二、实验条件
Pc和vc++编程环境
三、实验内容
1.用三种循环结构,求1000以内奇数的和。
2.用while,do-while循环求i-10的连加和,i由用户输入。
3.有一堆零件(100-200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。
编程求解这堆零件总数。
提示:用穷举法求解。
即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。
分组后多几个零件这种条件能够用求余运算获得条件表示式。
4、输入两个正整数m和n,求它们的最大公约数和最小公倍数。
在运行时,输入的值m>n,观察结果是否正确。
再输入时,使m<n,观察。