C语言实验指导书
Microsoft Visual C++(简称VC)是微软公司生产的基于其Windows系统的软件开发工具。它具有使用灵活,并与32位Windows内核(使用于Windows 95/98/NT/2000)高度兼容的特点,从而被Windows程序员们广泛使用。同时,VC同样可以加工处理C语言程序,与标准的ANSI C语言兼容。VC提供了一种控制台操作方式,本实验课程主要在控制台方式下进行设计运行。
图7编辑环境
界面的左边部分是一个“工作区”窗口,包含两个标签页,一个是“ClassView”,用来展示当前工作区中的类,函数以及变量信息。另一个是“FileView”,用来展示当前工作区内的所有文件。
图8工作区
4、编辑,编译与运行
在工作区窗口中双击对应的文件图标,就可以开始进行编辑了。
输入程序代码后,单击”文件”/”保存”,或者直接点击工具栏上的” ”按钮,进行保存。
8)根据如下学生成绩分段等级,当从键盘输入一个成绩(整数)后,输出相应的等级字母。(如果输入不合法的成绩值,需要输出“错误”提示)
90分以上A
80~89分B
70~79分C
60~69分D
59分以下E
8)(选作)根据输入的实数x的值,计算y=f(x)并输出。f(x)的表达式如下:
x+3 (x≥5)
y= 0 (0≤x<5)
main()
{
printf(”Hello World!”); //输出一个字符串
}
二、如何使用MSVC编写控制台程序?
控制台程序按照下面几个步骤进行。
1、打开VC集成开发环境。
双击桌面图标“Microsoft Visual C++6.0”,或者从系统菜单“开始”/“程序”/“Microsoft Visual Studio6.0”/“Microsoft Visual C++6.0”(如图1),打开VC开发环境(如图2)。
4)计算a+aa+aaa+…aa…a(n个a)的值,n和a的值由键盘输入
5)水仙花数是指一个n位数( n≥3 ),它的每个位上的数字的n次幂之和等于它本身。(例如:13+ 53+ 33= 153)。计算并输出所有三位水仙花数。
6)假设有原材料100米,若生产A零件需要7米材料,生产B零件需11米材料,那么AB零件各生产多少,使得最后剩余的材料最少?
3)编写函数max,计算两个整数中的较大值。并在main函数中调用该函数,计算输入数的较大者输出(该要求适用于下面各题)。
4)编写函数,计算两个整数的最大公约数
5)编写函数,计算两个整数的最小公倍数
6)编写函数,判断整数m是否是素数,并在main函数中输入数据,调用函数判断,结果输出。
7)编写递归函数,计算正整数n的位数(即n是几位数),并在main函数中输入数据,调用函数判断,结果输出。
(6)从键盘任意输入三个整数,求它们的和及平均值。
(7)已知a,b均是整型变量,编写程序将a,b两个变量中的值互换。
(
1.目的要求
1)学习使用scanf()和printf()函数进行输入、输出。
2)了解顺序控制结构的特点。
2.实验内容
1)分析下面程序,指出错误原因并改正。
#include <stdio.h>
7)输入正整数m和n,用穷举法计算m和n的最大公约数和最小公倍数。
8)(选作)在公共汽车站有三条汽车线,一路车每隔5分钟开出一辆,六路车每隔10分钟开出一辆,八路车每隔8分钟开出一辆。这三路汽车在同一时刻发车后,至少再过多少分钟,又在同一时刻发车?
9)(选作)游戏者投两枚骰子,每个骰子有六面,包含1,2,3,4,5,6个点。投两枚骰子之后,计算点数之和,如果第一次的点数之和为7或11,则游戏者胜。如果第一次的点数之和为2,3或12,则游戏者输,庄家赢。如果第一次的点数之和为4,5,6,8,9或10,则游戏者继续投骰子,直到赢到点数,如果7次之后还没有赢到点数,则游戏者输。
5)从键盘任意输入一个字符,编程判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。
6)编程从键盘输入某年某月(包括闰月),用switch语句编程,输出该年的该月拥有的天数。考虑闰年,以及输入月份不合理的情况。
7)输入任意一个小于10000的正整数,要求求出它是几位数,并分别输出每一位数字。(例如输入6789,输出“4位数,各位数字分别为6、7、8、9”)
8)编写递归函数void print(int n),打印正整数n的各位数字,并在main函数中输入数据,调用函数判断,结果输出。
9)编写函数double pow(double x,int n),计算xn,并在main函数中输入数据,调用函数判断,结果输出。
实验
1.目的要求
1)掌握数组的定义和使用
2)掌握数组的应用
3)定义数组int sc[6];,请编写代码从键盘录入6名学生的成绩用该数组存储,并统计最高分、平均分以及高于平均分的学生人数。
4)已知有序数组int a[7]={3,5,8,11,20,23},要求从键盘任意输入一个正整数,并把该数插入到数组的适当位置并挪动其他元素,使得数组仍然是升序排列的。
2.实验内容
1)从键盘输入8个整数,并存放在数组int a[8]中,统计8个整数中偶数的个数。
2)已知某班10名学生的考试成绩存储在数组中
intscore[10]={85,97,71,89,88,75,82,80,77,73 };
从键盘输入一个考分,查找该分数是否在数组中,如果是的话,打印它是第几名学生的成绩。如果该分数不存在,输出提示信息。
int b;
1=b; //将b赋值为1
printf("b=%d");
}
#include <stdio.h>
main()
{
float a;
scanf("%d",a);
printf("a=%f\n",a);
}
#include <stdio.h>
main()
{
double a;
scanf("%f",&a);
2x+30 (x<0)
实验
1.目的要求
1)掌握for/while/do-while语句、break语句和continue语句,实现循环控制结构
2)掌握嵌套循环
2.实验内容
1)输入正整数n,计算1+2+3+…+n并输出
2)判断正整数n(n>2)是否是素数(素数:除了1和它自身,没有其他因子)
3)打印斐波那契数列的前20项。(斐波那契数列特点:第一项和第二项为1,其余各项为前两项之和。1,1,2,3,5,8,11…)
图1从开始菜单中打开VC开发环境
图2 VC开发环境界面
2、建立新的工程
从VC的主界面菜单项中选择”文件”/”新建”,如图3所示。
图3文件菜单
这时会弹出一个对话框,其中有4 个可选的标签页,默认是”工程”页.工程页中列出了多种工程类型,这里我们选择”Win32 Console Application”类型。在工程编辑框里填写工程名称,然后单击“确定”按钮。出现图 5 所示界面。
对文件进行编译,可以通过菜单项”编译”/”重建全部”(也可以按功能键F7),也可以直接点击工具栏上的 ,进行编译。如果输入内容没有语法错误,那么,在屏幕下方的输出窗口将会显示:
*.exe -0 error(s), 0 warning(s)
编译结束后,可以通过输出窗口察看编译情况。编译的错误会在Developer Studio的下方的输出窗口显示出来,逐个查看这些错误的内容,用鼠标双击,光标可以自动移动到发生错误的源程序的相应地点,仔细检查的源程序并改正。改正后,再重复编译链接,直到编译通过为止。
main()
{
longa,b;
floatx,y;
scanf(“%d, %d\n”,a,b);
scanf(“%5.2f, %5.2f\n”,x, y);
printf(“a=%d, b=%d\n”, a, b);
printf(“x=%d, y=%d\n”, x, y);
}
2)编程从键盘输入一个小写英文字母,将其转换为大写英文字母后,将转换后的大写字母及其十进制ASCII码值显示在屏幕上。
图9编译信息
如果编译通过,那么可以直接运行程序了。通过菜单项“编译”/“!e*.exe”执行*.exe“,也可以直接点击工具栏上的 运行,察看运行结果。运行结果如图10所示。按任意键关闭窗口,返回编辑环境。
图10控制台应用程序的运行结果
实验
1.目的要求
1)了解C语言常量和变量的概念
2)熟悉C语言基本数据类型。
(2)编写代码,从键盘读入一个三位整数,并将数据倒序输出。例如输入123,输出321。(提示:先分解出整数的个位数输出,再相继分解出十位和百位数字并输出)
(3)下列代码能否计算整型变量a和b的平均值?应该如何修改?
(4)验证下列两段代码的输出结果是否相同。并说明原因
(5)将460分钟换算成小时和分钟表示,然后输出。
2.实验内容
(1)下列代码将同一整数以不同进制下的常量表示,以十进制形式(%d)打印输出。如果将x的初值37改为95,如何修改下列代码中的数据,使得打印结果输出相同的3个整数。
#include<stdio.h>
main()
{
int x=37;
printf("%d\n",x);
printf("%d\n",045);
实验
1.目的要求
1)熟悉C语言基本结构,
2)熟悉VC控制台应用程序设计的使用方法。