C语言实验指导(请对C上机完全不懂的兄弟到这里仔细的来学习)
出处: 作者: 日期:2007年01月23日 13时12分
4.编写一个计算n!的函数,用主函数调用它,使之输出7阶杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
杨辉三角形是二项展开式(a+b)n的系数,共有n+1项,n=0,1,…。杨辉三角形在数学上具有重要的意义,在高中阶段已学过,系数是按照公式:am= ,其中am是展开式中的第m项系数。
5.编写一个程序,包括主函数和如下子函数。
(1) 输入10个无序的整数;
(2) 用起泡方法从大到小排序;
(3) 要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。
分析:input函数完成10个整数的录入。sort函数完成起泡法排序,search函数完成输入数的查找。
实验九 文件
目的与要求】
1.掌握文件和文件指针的概念以及文件的定义方法。
2.了解文件打开和关闭的概念和方法。
3.掌握有关文件的函数。
【上机内容】
【一般示例】
【例1】对data.dat文件写入100条记录。
#include <stdio.h>
main()
{FILE *fp;
int i;
float x;
fp=fopen("date.dat","w");
for(i=1;i<=100;i++)
{scanf("%f",&x);
fprintf(fp,"%f\n",x);
}
fclose(fp);
}
【例2】设有一文件cj.dat存放了50个人的成绩(英语、计算机、数学),存放格式为:每人一行,成绩间由逗号分隔。计算三门课平均成绩,统计个人平均成绩大于或等于90分的学生人数。
#include <stdio.h>
main()
{FILE *fp;
int num;
float x , y , z , s1 , s2 , s3 ;
fp=fopen ("cj.dat","r");
{fscanf (fp,"%f,%f,%f",&x,&y,&z);
s1=s1+x;
s2=s2+y;
s3=s3+z;
if((x+y+z)/3>=90)
num=num+1;
}
printf("分数高于90的人数为:%.2d",num);
fclose(fp);
}
【例3】统计上题cj.dat文件中每个学生的总成绩,并将原有数据和计算出的总分数存放在磁盘文件“stud”中。
#include "stdio.h"
main()
{
FILE *fp1,*fp2;
float x,y,z;
fp1=fopen("cj.dat","r");
fp2=fopen("stud","w");
while(!feof(fp1))
{
fscanf (fp1,"%f,%f,%f",&x,&y,&z);
printf("%f,%f,%f,%f\n",x,y,z,x+y+z);
fprintf(fp2,"%f,%f,%f,%f\n",x,y,z,x+y+z);
}
fclose(fp1);
fclose(fp2);
}
【作业】
1. 有 5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。
2. 将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件“stu_sort”中。 实验十 综合练习
【目的与要求】
1.要求学生能够运用所学过的基础语法知识和基本编程技能进行综合练习。
2.独立完成3套模拟试题。
【上机内容】
模拟试题一
一、选择题(每题1分 共15分)
1.设x,y为float型变量,则下列()为不合适的赋值语句
A ++x; B y=(float)3;
C x=y=0; D x*=y+8;
2.若x为int 变量,则执行下列语句x的值为()
x=65535;
printf(“%d\n”,x);
A 65535 B 1
C 无定值 D -1
3.下面()不正确的转义符()
A ‘\t’ B ‘\a’
C ‘\081’ D ‘\n’
4.在C语言中,char类数据在内存中是以()形式存储的
A原码 B反码
C 补码 D ASCII码
5.以下变量名()是合法的。
A break B $123
C lotus_2_3 D <temp>
6.判断char型变量c1是否为小写字符的最简单且正确的表达式()。
A ‘a’<=c1<=’z ‘ B (c1<=a)&&(c1<=z)
C (‘a’<=c1)&&(‘z’>=c1) D (c1>=’a’)&&(c1<=’z’)
7.在C语言中,int,char,float所占用的内存。
A 均为2个字节 B 由用户自己定义 C PC 机为2,1,4 D 2,2,4
8.. 若有说明int x,y,下面程序()不能实现以下函数关系
y= -1 x<0
0 x=0
1 x>0
A if (x<0) y=-1;else if (x==0) y=0;else y=1;
B y=-1; if (x!=0) if (x>0) y=1;else y=0;
C y=0; if (x>=0) { if (x>0) y=1;} else y=-1;
D if (x>=0) if (x>0) y=1;else y=0; else y=-1;
9.while (!x)中(!x)与下面条件()等价
最后更新时间:2008-05-28 11:40:35