C实验教案(清华)_c实验教案清华
C实验教案(清华)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c实验教案清华”。
实验一
熟悉C语言程序开发环境
实验目的:
1、了解计算机程序设计语言。
2、熟悉Turbo C集成环境。
3、正确启动和退出Turbo C。实验内容: 1.熟悉Turbo C集成环境。
2.编写一个在窗口中显示字符的程序。#include main(){printf(“***********************n”);printf(“n”);printf(“ Very Good!n”);printf(“n”);printf(“***********************n”);} 3.实验结果。
实验二
数据描述
(一)实验目的: 掌握C语言的运算符和表达式的正确使用方法。实验内容:
写出以下程序的运行结果 #include main(){char c1=’a’,c2=’b’,c3=’c’,c4=’101’,c5=’116’;printf(“a%cb%ctc%ct abcn”,c1,c2,c3);printf(“tb%c %cn”,c4,c5);} 解:程序结果(略)
实验二
数据描述
(二)实验目的:
掌握C语言的运算符和表达式的正确使用方法。实验内容:
写出以下程序的运行结果 #include main(){int i,j,m,n;i=8;j=10’ m=++i;n=j++;printf(“%d,%d,%d,%dn”,i,j,m,n);} 解:程序结果(略)
实验三
顺序结构程序设计
实验目的:
掌握C语言的几种基本数据类型和基本输入/输出函数的使用方法。实验内容:
1.编程列出在用户的系统下各种数据类型的长度。#include int main(){printf(“字符类型数据的字长为%dn”,sizeof(char));printf(“短整型类型数据的字长为%dn”,sizeof(short));printf(“整型类型数据的字长为%dn”,sizeof(int));printf(“长整型类型数据的字长为%dn”,sizeof(long));printf(“浮点数类型数据的字长为%dn”,sizeof(float));printf(“双精度类型数据的字长为%dn”,sizeof(double));
2.编程执行下列语句后, a,b,c,d,e的值分别等于多少? 为什么? int a, b,c,w=10,x=20,y=30,z=40,d=10,e=60;a=b=c=10;++a||++b&&++c;(d=w>x)&&(e=y>z);
3.下面程序的功能是从键盘上输入x=20, y=25.5, z=A, 然后将输入的内容从屏幕上输出。调试程序,修改有错误的语句行, 并输出正确的结果。main(){int x;float y;char z;scanf(“x=%d,y=%d,z=%c”,x,y,z);printf(“n x=%d,y=%d,z=%c”,x,y,z);getch();} 4.下面程序的输出结果是什么? 并对输出结果给予合理的解释。main(){char ch;int k;ch=‟A‟;k=0;printf(“%d,%x,%o,%c”,ch,ch,ch,ch);printf(“k=%dn”,k);} 5.编写一个程序, 从键盘输入一个字符, 然后打印该字符的ASCII码。
实验四
选择结构程序设计
实验目的: 掌握结构化程序设计的的思想方法、C语言的基本控制结构和控制转移语句。实验内容:
一、IF语句
判断两个数的大小
#include
main()
{
int x,y;
printf(“Enter integer x,y:”);
scanf(“%d,%d”,&x,&y);
if(x!=y)
if(x>y)printf(“X>Yn”);
else
printf(“X
else
printf(”X==Yn“);
}
二、switch语句
1.阅读下面的程序, 试分析该程序的运行结果。#include main(){int i;for(i=1;i 实验五 循环结构程序设计 实验目的: 掌握结构化程序设计的的思想方法、C语言的基本控制结构和控制转移语句。实验内容: 一、while语句 二、do-while语句 三、for语句 四、break和continue语句 求1加到100的和? main(){int i,s=0;i=1;while(i 1、输入两个数M和N,求其最大公约数和最小公倍数。(用展转相除法求之) 2、求Sn=a+aa+aaa+„„+aa„a之值,其中a是一个数字。例如:2+22+222+2222+2222(此时n=5),n由键盘输入。 3、求100-200之间的素数。 4、求1000内的同构数 5、求完数。 6、求水仙花数 7、Fibonacci数列 8、自然数的阶乘 9、阅读下面的程序, 试分析该程序并指出该程序具有什么功能? #include main(){float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);} 10、试编写一个程序解决猴子吃桃问题。问题描述如下: 猴子第一天摘了N个桃子, 当即吃了一半, 又多吃了一个;第二天早上, 将剩下的吃了一半,又多吃了一个。以后每天如此, 等到第20天想吃桃子时, 就只剩下一个桃子了, N是多少? 实验六 数组 (一) 实验目的: 掌握一维数组和二维数组的使用, 以及字符串处理函数的使用方法。 实验内容: 1.试写出下面程序的运行结果。#include main(){int i,f[10];f[0]=f[1]=1;for(i=2;i 4.用二维数组编写程序: 读入3个字符串, 然后反序输出每个字符串以及每个字符串的长度。 实验六 数组 (二) 实验目的: 掌握一维数组和二维数组的使用, 以及字符串处理函数的使用方法。实验内容: 5.试编写程序解决母牛生母牛, 母牛何其多的问题。问题描述如下: 有一头母牛, 它每一年生一头小母牛, 而这头小母牛在4 年后, 也是每一年生一头小母牛, 小母牛4 年后还仍然如此。那么, 在20年内, 每一年的母牛数是多少。6.完善程序, 使其能打印出如下图形。main(){static char a[]={„*‟, „*‟ , „*‟ , „*‟ , „*‟}; ***** int i,j,k;char space=‟ „;for(i=0;i {printf(”%c”,a[i]); } } 7.编写程序,实现: 输入一行字符, 统计其中有多少个单词, 单词之间用空格分隔开。 8.试编写程序实现: 在三个字符串中, 找出其中最大者。 实验七 函数 (一)实验目的: 掌握C语言函数的定义和调用方法, 学会编写通用程序模块, 掌握程序设计的基本方法,并编写出具有清晰模块结构的C程序。实验内容: 1.编写程序计算C nm。 2.编写程序解决汉诺塔问题。汉诺塔问题是这样的: 有3个塔, 分别为A,B,C塔, 现在A塔上有64个盘子, 盘子大小不等, 并且大的始终在下, 小的在上。现在要将64个盘子全部移到C塔上, 每次只许移动一个盘子, 移动过程中, 始终保持大的在下, 小的在上, 可以借助B塔。 实验七 编译预处理 (二)实验目的: 掌握编译预处理功能的使用。实验内容: 1.如果要求a,b中的最大值,使用带参数宏定义如何编程来实现。 2.输入一行字母字符, 根据需要设置条件编译, 使之能将字母全必为大写输出, 或全改为小写字母输出, 编写程序。 3.试利用宏定义编写程序实现两个数交换位置。4.试写出下面程序段的运行结果。#define PR(ar)printf(“%d”,ar)main(){int j,a[]={1,3,5,7,9,11,13,15},I=5;for(j=3;j;j--){switch(j) {case 1: case 2: PR(a[I++]);break; case 3: PR(a[--I]; }}} 5.设有以下程序, 为使之正确运行, 请在____中填入应包含的命令行。___________ main(){int x=2,y=3;printf(“%dn”,pow(x,y));} 实验八 指针 实验目的: 掌握C语言有关指针的概念, 正确使用指针变量、指针数组、字符串指针和二级指针, 编写简捷、高效的程序, 掌握指针的运算。实验内容: 1.通过下面的程序理解指针与数组的关系。main(){int a[5],*p,i;for(i=0;i main(){int a=28,b;char s[10],*p;p=s;do{b=a%16; if(b else *p=b+55; p++; a=a/5;}while(a>0);*p=‟ ‟;puts(s);} 4.试分析下面程序的运行结果。#include main(){static char a[]=”language”,b[]=”program”;char *s1,*s2;int k;s1=a;s2=b;for(k=0;k 实验九 结构体与共用体 实验目的: 掌握结构体类型、共用体类型以及相应类型变量的定义方法和引用方法。实验内容: 1.分析以下程序的结果。union cc {int a;int b;};union cc s[4];union cc *p;main(){int n=1,i;printf(“n”);for(i=0;ia);printf(“%d”,++p->a);} 3.试编写程序实现将输入的16进制的低位字节和高位字节交换。 5.试利用结构体类型编程序实现将一个学生的数学期中和期末成绩,然后计算并输出其平均成绩。 7.编写程序实现按学生姓名查询其排名和平均成绩, 查询可连续进行, 直到键入0时结束。请调试该程序, 允许修改和添加语句, 但不得删除整行。