计算机课程卡
课程名称
程序设计基础(C
班级
顺序号
1
实验名称
实验一  熟悉C语言上机环境
实验目的
1.熟悉C语言的系统环境,掌握程序的编辑、编译、连接、运行的全过程;
2.通过运行简单的C程序,初步了解C源程序的特点。
实验内容
1. 练习一(见教材P18 【例3-2】)
通过一个简单的C程序,掌握用VC++ 6.0编辑、编译和运行简单C程序的基本过程。
2.练习二(见教材P2 【例1-1】)
VC++ 6.0编辑、编译和运行程序后,初步掌握在程序运行中如何给变量输入任意数据,体会输入函数scanf的用法,并练习文件的保存。
3.复习第一章部分课件(结合教材)。
实施情况
   
编程环境:VC++集成环境
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
2
实验名称
实验二  数据类型与表达式
实验目的
1.掌握C语言的基本数据类型,熟悉定义变量及对变量赋值的方法;
2.学会使用C语言的运算符和表达式;
3.进一步熟悉C语言环境,即熟悉C语言的编辑、编译和运行过程。
输出函数printf使用方法实验内容
1.输入并运行下列程序。
程序1main( )
{ int a=97,b=98;float x=54.234,y=-45.567;
char c='a';
printf("%d,%4d\n",a,b);
printf("%f,%6.2f\n",x,y);
printf("%c\n",c);}
分析运行结果。若想输出a,b变量的ASCII字符,应如何处理?
程序2main( )
{ int a=10;
    a+=a;    printf("%d",a);
    a/=4;    printf("\t%d",a);
    a+=a*=2;  printf("\t%d",a);
    a=a++;  printf("\t%d",a);
a=--a;    printf("\t%d\n",a);}
分析其运行结果。若将程序分别作以下改动并运行:
⑴将a=a++;改为a=++a; a=--a;改为a=a--;结果会如何?
⑵将printf函数中凡有"\t"的地方,换成"\n"",",结果会如何?
⑶将最后一行改为printf("%%d",a);结果会如何?
2.有两个整型变量ab,其值可由键盘任意输入(提示:用scanf函数),分别计算它们的和、差、积、商及ab相乘的绝对值的平方根(提示:用sqrt函数,见教材P385,并加头文件:#include<math.h>)。
3.编写程序,计算两个数a,b的和,并在屏幕上显示。其中a=1,b=2,屏幕上显示的形式是:1+2=3
⑴把程序修改为求ab的平均值。
⑵如果对任意输入的ab值求平均值,程序应如何修改?
实施情况
   
介绍几个数学函数(教材P253
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
3
实验名称
实验三  顺序结构程序设计
实验目的
1. 掌握赋值语句的使用;
2. 熟练掌握输出函数printf、输入函数scanf的几种常用的控制格式的用法;
3. 掌握字符输入函数getchar、输出函数putchar的用法;
4. 掌握最简单的程序设计方法顺序结构程序设计。
实验内容
1. 编程实现输入一个华氏温度f,要求输出摄氏温度c。公式为:c=5(f-32)/9。(结果保留2位小数。验证:f=40,c=4.44)。
2. 设计一个程序,输入正五边形的边长的长度a(设为整数),按公式
                 
计算该五边形外接圆的半径,结果保留两位小数(提示:使用平方根函数sqrt时必须加头文件 #include<math.h>。验证:如a=1时,R=0.85a=2时,R=0.43)。
3. 编写程序,输入平面中两点的坐标x1,y1x2,y2计算两点之间的距离s(提示:须使用平方根函数sqrt)。
4. 编程实现从键盘给变量ab分别输入整数,要求每个变量只能接受两位数,例如:3246,求两数的乘积并显示出32*46=1472。输出时要求a,b占字符宽度3位,乘积占用5位显示。
5. 编程实现用getchar函数从键盘输入一个小写字母,并用putchar函数输出对应的大写字母。
扩展:输入一个字符,出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。
实施情况
   
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
4
实验名称
实验四  选择结构程序设计
实验目的
1. 熟练掌握if语句;
2. 掌握switch语句;
3. 学会使用选择结构解决实际问题。
实验内容
1. 输入4个整数,要求按由小到大(或由大到小)顺序输出(参考教材P54【例5.6】)。
2. 输入x的值,输出y相应的值(分段函数)。
        3*x+5  (x>0)
  y=  0      (x=0)
        3*x-5  (x<0)
3. 给出一百分制成绩,要求输出成绩等级ABCDE90分以上为A8089分为B7079分为C6069分为D60分以下为E(提示:可用if语句或switch语句编写,题目见教材P59 .3)
4. 编写程序输入一整数,将其值按小于1010991009991000以上分类显示。
    例如:输入782时,显示782100999之间的数。
5. 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符(相似题目见教材P59 .1.2.)。
6. 3个整数abc,由键盘输入,输出其中最大的数(或最小的数)。
扩展:有3个整数abc,由键盘输入,编写程序输出其中绝对值最大(或最小)的数。(提示:使用绝对值函数abs时必须加头文件#include<math.h>
实施情况
   
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
5
实验名称
实验五  循环结构程序设计
实验目的
1.熟练掌握while语句、do-while语句和for语句。
2.能够用这三种循环结构实现穷举、迭代等常用算法。
3.进一步学习调试程序。
实验内容
1.1-3+5-7+9……-99+101的值。
  (运行结果:51)
2.计算的值。(请分别用while do while for语句来实现,运行结果:47977.928968)。
3. 算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333
4.输入一行字符,分别统计出其中英文大小写字母、空格、数字和其它字符的个数(见第四章课件)。
5.编程实现1500之间的满足条件的解。“除以31,除以52,除以73”。(中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”)(运行结果:52157262367472)。
实施情况
   
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
6
实验名称
实验六  综合练习
实验目的
结合前四章内容,掌握用顺序结构、选择结构、循环结构编写、设计程序,解决实际问题。
实验内容
1. 打印“九九乘法表”(利用for语句)。
2. 编程实现求数列…的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果:s=2.999999。提示:利用while编写
3. 打印出以下图案(利用for语句)
实施情况
   
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
7
实验名称
实验七  一维数组的使用
实验目的
1.理解一维数组的定义、类型、数组元素和下标的概念;
2.掌握一维数组的声明、初始化和数组元素访问的方法;
3.能够运用一维数组解决实际问题。
实验内容
1. 编写一个程序,计算若干学生(如6个学生)的某门功课的平均成绩、最高分和最低分(提示:利用一维数组)。
2. 排序算法:理解和重点掌握选择法排序、冒泡法排序、插入法排序的思想。
编写程序,对n个整数用冒泡法排序(从小到大或从大到小);
编写程序,对n个整数用选择法排序(从小到大或从大到小);
利用数组编程实现插入、删除的算法,要求完成:
编写程序插入指定的数,插入后数组仍然有序(见教材P168 4.);
编写程序删除指定的一个数。
3. 查算法:读懂、掌握顺序查、折半查算法(程序代码提供)
编写程序在数组中查一个数。要求:
⑴用顺序查实现;
⑵用折半查实现。
注:若有该数,则输出该数,否则输出“无此数”。
4.(选作) 100120间的全部素数(运行结果:101 103 107 109 113)。
(素数的算法见“第四章(综合举例).ppt”中的【例4-19】判断m是否素数,或教材P69【例6-11】)
实施情况
   
计算机课程实验卡
课程名称
程序设计基础(C
班级
顺序号
8
实验名称
实验八  二维数组的使用
实验目的
1.理解二维数组及多维数组的概念;
2.掌握二维数组及多维数组的声明、初始化和数组元素访问的一般方法;
3.能够运用二维数组解决实际问题
实验内容
1.打印杨辉三角形(要求打印8行,参见课件例题)。
2.求一个3×3的整型矩阵两对角线元素之和。
扩展:编写程序,产生16个随机数到44列的数组中,求其主对角线元素之积(见教材P104 .2)。
3.求二维数组中最小元素值及其行列号(见课件)。
4.选作(一维数组):用筛法求100之内的素数。(所谓“筛法”指的是“埃拉托尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采用的方法是,在一张纸上写上1100全部整数,然后逐个判断它们是否素数,出一个非素数,就把它挖掉(用0代表被挖掉的数),最后剩下的就是素数(非0的数)。
实施情况
   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。