实验1 C语言的编程环境
一、实验目的
1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;
2、了解在该系统上如何编辑、编译、连接和执行一个C程序;
3、通过执行简单的C程序,初步了解C程序的特点。
4、掌握单文件程序及多文件程序的编写与运行过程,学会建立工程,编译运行程序,学会查找和排除错误的方法
二、实验基本原理
1.启动V isual C++6.0开发环境
从“开始“菜单中选择“程序”—Microsoft V isual Studio 6.0—Microsoft V isual C++ 6.0,显示V isual C++6.0开发环境窗口。
2.创建一个项目或工程(Project)
(1) 单击“文件”菜单中的“新建”选项,显示“新建”对话框。
(2) 单击“工程”标签,在“工程”选项卡中,选择“Win32 Console Application”(Win32控制台应用程序)。在“位置”文本框中指定一个路径,在“工程”文本框中为项目输入一个名字如lab1_1,单击““确定按纽。
(3) 在弹出的Win32 Console Application-Step 1 of 1对话框选择An Empty Project 单选项,然后单击“完成”按纽。
(4) 最后在New Project Information 对话框单击“完成”按纽,完成项目的建立。
3.建立C源程序文件
(1)选择菜单命令“工程”—“添加工程”—“新建”,弹出对话框。
(2)在“新建”对话框的“文件”选项卡中选择“C++ Source File”,并填入文件名称如:lab1_1.c,单击“确定”按纽,完成新建C源程序文件。
4、编辑C源程序文件内容
(1)在文件编辑窗口中输入代码。
(2)选择“文件”菜单—“保存”命令。
5、建立并运行可执行程序
(1)选择菜单命令“编译”—lab1_1.c,编译程序。
如果程序有语法错误,则屏幕下方的状态窗口中会出现错误信息,根据这些错误信息对源程序进行修改后,重新编译。
(2)选择菜单运行命令“编译”—“执行lab1_1.exe”运行程序,观察屏幕的显示内容。
6、关闭工作空间
选择“文件”菜单—“关闭工作区”,即可关闭当前工作区。
三、实验内容:
使用Visual C++来建立以下C程序,编译、连接并运行,然后记录运行结果。建议在硬盘(如E盘)上建立一个文件夹,将C程序存储在其中,实验完毕后,再将源程序复制到u盘。
四、主要仪器设备及耗材:
PC环境、Windows操作系统、VC++程序集成环境
五、实验步骤:
1、启动Turbo C
2、输入程序
输入以下程序
main()
{
printf(“How are you!”);
}
3、运行程序
4、保存文件
5、退出TC程序
6、打开已经存在的文件
六、实验数据及处理结果:
运行结果为:How are you!
七、思考讨论题或体会或对改进实验的建议:
C语言具有灵活,易查错的特点,适合像我们这种入门者用。但是由于对语法和代码的不熟悉导致我的编译速度那是相当的纠结,同时漏洞百出,只能慢慢看错误提示信息和观察自己的程序。回忆相关语法来改正。由于我的经验不足,外加不够细心,漏个“;”,和把“main”写成“mian”那是常有的事。我只能慢慢在C语言中摸索。初学是有一定的困难,但是自己就要经常练习,增加自己的熟练程度。
实验2 数据类型、运算符和表达式
一.实验目的
1.了解C语言中数据类型的意义;
2.掌握不同数据类型之间的赋值的规律;
3.学会有关C语言的有关运算符,以及包含这些运算符的表达式,特别是是++和—运算符的使用。
4.进一步熟悉C程序的编辑环境。
二.实验内容
1.用printf函数来输入表达式运行结果
2.观察实验步骤中表达式的结果
三.实验环境
PC微机
Windows 操作系统
VC++6.0 程序集成环境
四.实验步骤
请编程实现习题3.7.
3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
解:
#include
main()
{ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
运行结果: 2
密码是Glmre
五.思考题
“/”的应用。当“/”号的两个操作数都是整数和有一个为浮点数时的结果。
解答:当’/’两边都是整数时则结果为整数,若有一个为浮点数时则结果为浮点数。
实验 3 数据输入输出
一、实验目的:
1、熟练掌握字符数据的输入输出函数getchar和putchar的使用。
2、熟练掌握格式输入输出函数scanf和printf的使用。
3、进一步熟悉C程序的编辑环境。
二、实验内容:
编程实现书上习题4.4
若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=‘a’,c2=’b’,要得到以下结果请写出程序。要求输出结果如下:
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1=’a’ or 97(ACSII)
c2=’B’ or 98(ASCII)
三、主要仪器设备及耗材:
PC微机、Windows操作系统、VC++程序集成环境
四、实验步骤:
程序编写如下:
#include
void main()
{
int a=3,b=4,c=5;
float x=1.2,y=2.4,z=-3.6;
long int u=51274,n=128765;
char c1=’a’,c2=’b’;
printf(“a=%2d b=%2d c=%2d”,a,b,c);
printf(“x=%f,y=%f,z=%f”,x,y,z);
printf(“x+y=%5.2f y+z=%-7.2fz+x=%-5.2f”,x+y,y+z,z+x);
printf(“u=%6u n=%9u”,u,n);
printf(“c1=%c or %d”,c1,c1);(ASCII)
printf(“c2=%c or %d”,c2-32,c2);(ASCII)
}
五、实验数据及处理结果:
运行结果为:
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1=’a’ or 97(ACSII)
c2=’B’ or 98(ASCII)
六、思考讨论题或体会或对改进实验的建议:
本次实验增强了我对格式控制符和输入输出函数的了解,为后面打了很好的基础。自己要多多练习,掌握基本用法。
实验4 控制语句
一、实验目的
1.熟练掌握if、if...else、if,,,elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2.熟练掌握while语句、do...while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的其那套,利用血环语句实现循环结构。
3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法、
二、实验内容
1.选择结构程序设计;
2.if语句的使用;
3.使用switch语句实现多分支选择结构;
4.三种循环语句的应用;
5.循环结构的嵌套;
6.break和continue语句的使用。
三、实验环境
PC微机DOS操作系统或Windows操作系统Turbo C 程序集成系统
四、实验步骤
1.编程实现:输入一个整数,将其数值按照○1小于19,○210~99,○3100~999,○4 1000~9999以上四个类型分类并显示。
要求:
(1)将变量定义为整型。
(2)输入整数前,里欧年更puts()/printf()给出提示信息。
(3)输入结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。
(4)改程序利用if语句实现。
运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。
程序:
#include
void main()
{
int t;
printf("输入一个整数:\n");
scanf("%d",&t);
if (t<100)
if(t<10)
printf("%d 小于10",t);
else
printf("%d 在10 ~ 99之间",t);
else
if(t>=1000)
printf("%d 在1000以上",t);
else
printf("%d 在100 ~ 999之间",t);
}
2.编写程序:根据公式22222
π=++++,输出π的值。
/61/11/21/3......1/n
要求:
(1)变量n为单精度类型,n为整型;
(2)计算当n的取值分别为20,50,100,200时的π值,说明什么问题?
(3)修改程序,不给出n值,而改为求π值,直到最后一向的数值小于10^(-4)为止。
(4)对修改后的程序输出n值以及总的项数n,输出格式为:x=值;n=值。
程序:
#include
#include
void main()
{
int n,i=0;
float pi=0,t=1;
scanf("%d",&n);
while(i { pi=pi+t; i=i+1; t=1.0/(i*i); } pi=sqrt(pi*6); printf("pi=%f\n",pi); } 修改后的程序: #include #include void main() { int i=0; float pi=0,t=1; while(1.0/(i*i)>(1.0e-4)) { pi=pi+t; i=i+1; t=1.0/(i*i); } pi=sqrt(pi*6); printf("pi=%f;n=%d\n",pi,i); } 3.从键盘输入一个0~1000之间的任意整数,输出该函数的所有因子(例如:输入12,其因子为1,2,,3,4,6,12)。 要求: (1)采用while循环语句实现。 (2)输出格式为:Input:12 Output:1,2,3,4,6,12 程序: #include void main() { int m,i; printf("Input:"); scanf("%d",&m); printf("Output:"); i=1; while(0 { if(m%i==0) printf("%d ",i); i++; } } 4.编程实现:由用户从键盘输入一串字符(以回车键结束),统计其中数字、大、小写字母、空格、其他字符的个数。 要求: (1)通过键盘输入字符。 (2)给出相应的输入、输出信息提示。并按照数字、大写字母、小写字母、空格、其他字符数的顺序输出结果。 程序: #include void main() { int i,n,j,k,s,e; n=0;j=0;k=0;s=0;e=0; char c; for(i=0;(c=getchar())!='\n';i=i+c) { if(c<=90&&c>=65) j=j+1; else if(c<=122&&c>=97) k=k+1; else if(c>48&&c<=57) n=n+1; else if(c==32) s=s+1; else e=e+1; } } 5.计算并输出1000以内最大的10个素数以及他们的和。 要求: (1)在程序内部加必要的解释。 (2)由于偶数不是素数,可以不考虑对偶数的处理。 (3)虽然在1000以内的素数超过10个,但要对1000以内不够10个素数的情况进行处理。(4)输出形式为:素数1+素数2+素数3+.......+素数10=总和值。 程序: #include #include void main() { int a[10]; int i,j,s,n; j=0;s=0; for(n=999;n>=3;--n)/*对数进行从大到小循环,方便得到最大的十个素数*/ { for(i=2;i if(n%i==0) break;/*若能被本身之外的整数除,说明不是素数,结束循环*/ if(i>=n)/*若不被任何数整除,说明该数是素数*/{ j=j+1;/*累加计算素数的个数*/ if(j<=10) a[j-1]=n;/*将前十个最大素数的值赋给数组a*/} } if(j<10)/*对以内素数不超过10个的情况进行处理*/ { printf("1000以内素数小于10个,分别为:\n"); for(i=0;i printf("%d",a[i]); } else { printf("1000以内十个最大素数的和:\n"); for(i=0;i<9;++i) s=s+a[i]; for(i=0;i<9;i++) printf("%d",a[i]); printf("%d=%d",a[9],s);/*以“素数+素数+......素数=和”的形式输出十个最大素数以及它们的和*/ } } 实验 5 数组 一、实验目的 1.掌握数组的基本概念,包括:数组的定义、数组的类型、数组的初始化、数组的赋值、数组元素下标的范围、数组元素的正确以及引用数组元素的输入/输出。 2.掌握字符数组与字符串的使用方法。理解字符数组与其它数组的区别、理解字符串及其特点。掌握常用的字符串处理库函数的用法并清楚对字符串的简单处理。 3.掌握与数组相关的算法,包括排序算法和查找算法等。 二、实验基本原理 关于数组的程序设计 三、主要仪器设备及耗材 PC微机 DOS操作系统或Windows 操作系统 Turbo C 程序集成环境 四、实验步骤 1.编程实现:对任意一个一维数组,从中找出数组元素的最大值和最小值。 要求: (1)数组为整型数组(10个元素)。 (2)使用scanf函数实现数组元素的输入。在输入前给出必要的提示。 (3)输出时给出必要的说明,首先输出原始的10个元素,换行后输出最大值以及最大值在数组中的位置、最小值以及最小值在数组中的位置。 (4)如果现改为20个元素的数组,怎样修改程序?修改程序后,运行程序进行检查。如果需要数组元素不断改变,应怎样修改程序? 程序: #include"stdio.h" #define N 10 void main() { int a[N]; int i,max,min; printf ("Please input any numbers:\n");