C语言程序设计基础实验讲义Word格式.docx
- 文档编号:22073913
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:17
- 大小:173.31KB
C语言程序设计基础实验讲义Word格式.docx
《C语言程序设计基础实验讲义Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础实验讲义Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
3.通过运行简单的C语言程序,初步了解C语言源程序的特点。
(本实验可以在完成第一章内容使用)
二、实验内容
1.了解WINDOWS,DOS操作系统,学习如何进入正确的系统工作状态,掌握其操作命令和应用程序的使用,包括如何建立目录,查找文件,列目录,复制文件等。
(本部分为计算机基础课程的内容,在此应用复习)
2.了解VisualC++6.0开发环境。
(1)系统环境的启动
点击开始菜单中的MicrosoftVisualstudio6.0菜单下的MicrosoftVisualC++6.0,启动系统集成开发环境。
(2)新建C++源文件
图1创建C源文件界面
(3)编译源文件
图2编译C源文件界面
(4)运行程序
图3运行C程序界面
3.输入教材中1.3节中的例1.1,例1.2。
例1.3调试运行程序,了解在VisualC++环境下如何运行C程序。
4.输出如下图型:
*************************
Howareyou?
*************************
5.写出VC++6.0的上机过程!
6.完成从键盘输入3个数,并按从小到大输出。
实验二数据类型、运算符和表达式
1.掌握定义整型、字符型和实型变量的方法,以及对它们赋值的方法。
2.学会使用C语言的有关算术运算符,以及包含这些运算符的表达式。
3.学会编辑、编译、连接和运行C语言程序。
二、实验内容(由教师任选几道)
1.输入如下程序,验证运行结果。
main()
{inti1,i2;
charch1,ch2;
floatf1,f2;
doubled1,d2;
i1=12;
i2=113;
ch1=`A`;
ch2=`B`;
f1=1.23;
f2=0.34;
d1=1.23;
d2=0.34;
printf(”\ni1=%d,i2=%d”,i1,i2);
printf(”\nch1=%c,ch2=%c”,ch1,ch2);
printf(”\nfl=%f,f2=%f”,f1,f2);
printf(”\ndl=%lf,d2=%lf”,d1,d2);
}
2.输入如下程序,验证运行结果。
charch1;
floatf1;
ch1=`A`;
d1=1.23;
i2=i1+ch1;
printf(”\ni2=%d”,i2);
i2=i1+f1;
d2=ch1+i2+i1+f1+d1;
printf(”\nd1=%lf”,d2);
d2=ch1+i2+i1+(int)f1+(int)d1;
3.输入如下程序,验证运行结果。
{charc1,c2;
c1=97;
c2=98;
printf(”\ncl=%c,c2=%c”,c1,c2);
printf(”\ncl=%d,c2=%d”,c1,c2);
cl=`a`;
c2=`b`;
4.输入如下程序,验证运行结果。
{intx,y,z;
x=y=z=1;
printf(”One:
\nx=%d,y=%d,z=%d”,x,y,z);
x+=x;
y—=y*=y+=2;
z+=z*=z-=4;
printf(”Two:
5.输入如下程序,验证运行结果。
x++;
++y;
z--;
x=x---2;
printf(”Three:
\nx=%d”,x);
y=++y+y;
\nx=%d”,y);
x=1;
y=(x++)+(x++)+(x++);
y=(++x)+(++x)+(++x);
6.输入如下程序,验证运行结果。
{printf(”abc\tde\n\txya\b\r123”);
printf(”nabc\b\b\rxya\r123”);
printf(”\nI\`mastudent”);
printf(”\nIt\`sanumber\012”);
6、输入并运行下面的程序:
#include<
stdio.h>
voidmain()
{charcl,c2;
c1=’a’;
c2=’b’;
printf(“%c%c\n”,c1,c2);
7、完成教材第2章47页习题1、习题2、习题3、习题4。
8、输入并运行下面的程序:
voidmain()
{inta,b;
unsignedc,d;
longe,f;
a=100;
b=-100;
e=50000;
f=32767;
c=a;
d=b;
printf(“%d,%d\n”,a,b);
printf(“%u,%u\n”,a,b);
printf(“%u,%u\n”,c,d);
c=a=e;
d=b=f;
printf(“%d,%d\n”,a,b);
printf(“%u,%u\n”,a,b);
实验三最简单的C程序设计
一、目的和要求
1.掌握赋值语句的使用。
2.掌握数据的输入/输出方法,学会输入/输出函数的使用方法。
1.输入一个字符,并将其输出。
要求:
(1)利用putchar()函数和getchar()函数来实现。
(2)利用scanf()函数,printf()函数来实现。
2.输入下面程序,运行进行正确的数据输入
{inti,j;
floatk;
printf(”\n(One)Inputtwonumber:
”);
scanf(”%d%d”,&i,&
j);
printf(”i=%d,j=%d”,i,j);
printf(”\n(Two)Inputtwonumber:
scanf(”%d,%d”&i,&
printf(”\n(Three)Inputtwonumber:
scanf(”i=%d,j=%d”&i,&
printf(”\n(Four)Inputtwonumberandachar:
scanf(”%d%c%f”&i,&
ch1,&
k);
printf(”i=%d,ch1=%c,k=%f”,i,ch1,k);
3.输入一个华氏温度,要求输出摄氏温度公式为:
C=5/9(F-32)
输出要求要有文字说明,取两位小数。
4.编写程序,输入一圆的半径,分别求圆的周长,面积的体积。
5.输入三角形的三边,计算三角形的周长,面积。
6.从键盘上输入一个小写字母,用大写字母输出。
或反之。
实验四 选择结构程序设计
1.了解C语言表示逻辑量的方法。
2.学会正确使用逻辑运算符和逻辑表达式。
3.熟练掌握if语句和switch语句的格式及应用。
1.输入下面程序,验证结果与自己计算的值是否相同。
x=y=z=0;
++x||++y||++z;
printf(”\nx=%d,y=%d,z=%d”,x,y,z);
++x&
&
++y||++z;
++y&
++z;
x=y=z=-1;
2.输入四个数,要求按照从小到大的顺序输出。
3.给一个不多于5位的正整数,要求
(1)求出它是几位数。
(2)分别找印出每位数字,数字与数字之间用*号分隔。
(3)按逆序打印出各位数字,例如:
原数为234,应输出432。
4.输入年份和月份,输出该月有多少天?
5.输入三角形的三边,计算三角形的周长,面积,要求判断三角形的合法性。
6.编程序:
设函数
1(x>
100)
Y=0(x=100)
-1(x<
其中,x从键盘输入。
实验五 循环控制
1.熟练掌握用while语句、do—while语句和for语句实现循环的方法。
2.掌握用循环的方法实现各种算法(例如:
累加、累乘、迭代等)。
二、实验内容(由教师任选几道)
1.分别用while语句,do-while语句和for语句实现求1+2+3……100的和。
2.编写程序求1!
+2!
+……+20!
值。
3.找钱出所有的水仙花数,所谓水仙水数是指一个3位数,其各位数字的立方和等于其本身。
例如:
153=13+53+33
4.一个数如果恰好等于它的因子的和,则称这个数为完数。
例如6=1+2+3,则是完数。
求出1000以内的所有完数,要求每行输出2个。
5.打印九九表。
6.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
实验六 数组
1.掌握数组的定义、赋值和输入/输出方法。
2.掌握字符数组的使用,了解字符串函数的使用。
3.掌握与数组有关的算法(例如:
各种排序算法)。
1.用选择法对10个整数进行排序。
2.已有一个已排好序的数组,今输入一个数,要求按照原来顺序的规律将它插入到数组中。
3.将两个字符串连起来,不要用strcat()函数。
4.求3*3矩阵对角线的元素之和。
5.求3*3矩阵中最大元素所在的行列位置。
6.有N个学生,每人考M门课程,要求:
(1)找出成绩最高的学生号和课程号。
(2)找出有不及格课程的学生号及其各门课的全部成绩。
(3)求出全部学生全部课程的总平均数。
7.求输入的10个正整数的最大数和最小数,并输出最大数和最小数及其所在的位置。
8.利用公式Cij=∑aik*bkj计算矩阵A和矩阵B的乘积。
其中A为m×
n矩
k=1
阵,B为n×
m矩阵,C为m×
m矩阵。
实验七函数
1.掌握定义函数的方法。
2.掌握函数实参与形参的对应关系,以及“值传递”的方式。
3.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。
4.掌握函数的嵌套调用方法,学会递归调用方法。
1.编写判断一个数是否是素数的函数,在主函数中调出用100以内的所有素数。
2.编写求一个数阶乘的函数,在主函数中调用输出10以内的所有数的阶乘。
3.写一个函数,使给定的一个二维数组(3*3)转置。
4.编写递归函数实现汉诺塔问题。
5.编写递归函数,求出给定数字的所有(质数)因子。
72=2*2*2*3*3。
6.从键盘上输入10个人的高数成绩,统计不及格,60-70,70-80,80-90,90-100,100分的人数,并输出。
用函数来实现。
7.编写递归函数,求输入的n个整数的和,并编写主函数测试它
8.写一个函数,将两个字符串拼接。
9.完成教材第7章,第12、13题。
实验八指针
1.掌握指针的概念,掌握定义和使用指针变量的方法。
2.掌握使用数组的指针和指向数组的指针变量。
3.掌握使用字符串的指针和指向字符串的指针变量。
4.掌握使用指向函数的指针变量。
5.掌握指针数组、指向指针的指针的概念,学会其使用方法。
(以下题目要求用指针来完成)
1.输入10个整数,将其中最小的数与第一个数互换,把最大的数与最后一个数和互换。
写三个函数(1)输入10个数(2)具体互换处理(3)输出10个数。
2.将N个数按照输入时顺序的逆序排列,并输出(用函数实现)。
3.写一函数,将一个3*3矩阵转置。
4.有一个班4个学生,5门课。
(1)求第一门课的平均分;
(2)找出有2门以上课程不及格的学生输出他们的学号和全部课程成绩以及平均成绩;
(3)找出平均成绩的90分以上或全部课成绩在85分以上的学生。
分别编3个函数实现以上3个要求。
5.输入10个字符串,按照由小到达的顺序输出。
6.用一个函数实现两个字符串的比较,即自己编写一个strcmp函数,函数原型为intstrcmp(chqr*p1,char*p2);
设P1指向字符串S1,P2指向字符串S2。
要求当S1=S2时,返回值为0;
若S1<>S2,返回值为它们两者第一个不同字符的ASCII码差值。
如果S1>S2,则输出正值,如果S1<S2,则输出负值。
7.用指向指针的方法对10个字符串排序并输出。
8.用指向指针的方法对N个整数进行排序,并输出。
(要求排序单独写成一个函数)
9.利用指针编写字符串拷贝的函数。
(不能使用系统函数)
实验九 (一个小MIS的实现)结构体和共用体
1.掌握结构体类型变量的定义和使用方法。
2.掌握结构体类型数组的概念和使用方法。
3.掌握指向结构体的指针变量的定义和使用方法。
4.掌握共用体的概念和使用方法。
1.10名学生的数据信息,包括学号,姓名,性别,出生年,月,日,C语言的成绩,BASIC语言的成绩,离散数学的成绩,平均成绩和名次等。
按照如下步骤编写程序:
(1)要求定义一个结构体数据类型来描述学生的信息。
(2)输入学生的基本信息以及三门课程的成绩。
(3)求出每个学和三门课程的平均分。
(4)对10名学和按照平均分进行排队。
(5)输出每门课程成绩最高的同学的基本信息。
2.对学生的基本信息用链表进行处理,基本信息包括:
学号、姓名、性别、年龄、C语言的成绩。
(1)建立链表,输入一个学生的基本信息,插入链表,插入要求为链表必须按照学号从小到大的顺序进行排列。
(2)可以在链表中删除某一学生的信息即输入一个学生的学号,查找到该节点信息作删除。
3.口袋中有红、绿、蓝三种颜色的球若干,每次从口袋中取出2个球。
求2种不同颜色的球可能取法并打印出每种组合的两种颜色。
(用枚举类型来做)
4.编写一个程序,将5个学生的身高、体重及姓名存放在一个结构体中,从中查出身材最高和身体最重的学生姓名,以及与之相应的身高和体重。
5.设计和实现一个学生班级的电话簿程序。
实验十 文件
1.掌握文件和文件指针的概念。
2.学会使用文件打开、关闭、读、写等文件操作函数。
3.掌握二进制文件、文本文件的概念及操作。
1.按照要求进行如下基本文件操作
(1)从键盘上输入一串字行,以﹩结束,将输入的字符串存入到文件char.dat中;
(2)从文件char.dat中将存放在字符串读出,将其中的小写字母变成大写输出到屏幕上。
2.有5个学生。
每个学生有3门课程的成绩,从键盘上输入学生号,姓名,三门课的成绩,计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件STUD中。
3.从上一题目文件STUD中,输入学生的学号,读出该学生的数据信息。
4.把文件1中的小写字母转换成相应的大写字母,数字字符也转换成大写字母,如1转换成A,2转换成B等,其他字符不变,然后写到文件2中。
5.利用指向结构体的指针编写程序,实现输入4个学生的学号、数学成绩、英语成绩,将此四个学生的信息写到文件中,输入一个学生的学号,从文件中定位查询,然后计算其平均成绩并输出该生成绩。
6.完成教材第10章,第10、11题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 实验 讲义