C语言牛牛手里有一个字符串A,程序设计语言C实验卡学生.doc

程序设计语言C实验卡学生.doc

计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 1(3月4日) 实验名称 实验一 熟悉C语言上机环境 实验目的 1.熟悉C语言的编辑、编译及运行程序的环境; 2.了解上机环境中的常用命令和操作; 3.运行一个C程序,了解基本的程序编辑、调试方法。 实验内容 1.复习第一章部分课件; 2. 使用DOS操作命令查看TC目录下的文件。学习建立个人的C源程序文件子目录。 3.在TC集成开发环境下,输入教材P8【例1-1】并进行编译和运行,观察C程序的书写格式,学会在屏幕上查看运行结果并练习文件的保存。 4.输入教材第一章P8【例1-2】、P17【例2-1】、P37【例2-5】,学会在程序运行中如何给变量输入数据,同时体会转义字符“\n”的用法,并练习文件的保存。 5. 输入教材P43【例3-2】,掌握大写字母与小写字母之间的转换算法并练习文件的保存。 6. 编程题模仿【例1-1】编写“教材P13 三、编程题”。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 2 实验名称 实验二 数据类型与表达式 实验目的 1.掌握C语言的基本数据类型,熟悉定义变量及对变量赋值的方法; 2.学会使用C语言的运算符和表达式; 3.进一步熟悉TC环境,即熟悉C语言的编辑、编译和运行过程。 实验内容 1.复习第一章课件并运行其中的例子; 2.输入并运行下列程序。 程序1main { int a97,b98; float x54.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字符,应如何处理若将char语句改为char“a”;结果会如何 程序2main { int a10; aa; printf“d”,a; a/4; printf“\td”,a; aa*2; printf“\td”,a; aa; printf“\td”,a; a--a; printf“\td\n”,a; 分析其运行结果。若将程序分别作以下改动并运行 ⑴将第10行改为aa;第12行改为aa--;结果会如何 ⑵将printf函数中凡有“\t”的地方,换成“\n”或“,”,结果会如何 ⑶将第5行改为printf“dd”,a;结果会如何 3.有两个整型变量a和b,其值可由键盘任意输入(提示用scanf函数),分别计算它们的和、差、积、商及a、b相乘的绝对值的平方根(此问选作)。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 3 实验名称 实验三 顺序结构程序设计 实验目的 1.掌握赋值语句的使用; 2.熟练掌握输出函数printf、输入函数scanf的几种常用的控制格式的用法; 3.掌握字符输入函数getchar、输出函数putchar的用法 4.掌握最简单的程序设计方法顺序结构程序设计 实验内容 1.复习第二章课件; 2.编程实现从键盘给变量a,b分别输入整数,要求每个变量只能接受两位数,例如32和46,求两数的乘积并显示出32*461472。输出时要求a,b占字符宽度3位,乘积占用5位显示。 3.编程实现用getchar函数从键盘得到一个字符,并用putchar函数输出这个字符(参考教材P32【例2-2】、【例2-3】)。 4.设计一个程序,输入正五边形的边长的长度a,按公式 计算该五边形外接圆的半径,结果保留两位小数。(验证如a1时,R0.85;a2时,R0.43) 5.设计一程序,输入空间中两点的坐标x1,y1,z1和x2,y2,z2,计算两点之间的距离。 6.鸡兔同笼问题。已知鸡、兔总头数为h,总脚数为f,求鸡兔各多少只 (验证如h=12,f40,则cock4,rabbit8;如h16,f40,则cock12,rabbit4) 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 4 实验名称 实验四 选择结构程序设计 实验目的 1.熟练掌握if语句; 2.掌握switch语句; 3.学会使用选择结构解决实际问题。 实验内容 1. 复习第三章课件; 2. 练习、读懂第三章P44 【例3-3】、P45 【例3-4】、P46 【例3-5】、P48【例3-6】; 3. 编写程序输入四个整数,要求按由小到大(或由大到小)顺序输出; 4. 由键盘输入三个整数分别赋给变量a、b、c,编写程序输出其中绝对值最大(或最小)的数; 5. 模仿P45 【例3-4】写程序,输入x,输出y值; 3*x5 x0 y 0 x0 3*x-5 x0 6. 模仿P48【例3-6】,给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 7.编写程序输入一整数,将其值按大于10,10~99,100~999,1000以上分类显示。 例如输入782时,显示782是100~999之间的数。 8. 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 5 实验名称 实验五 循环结构程序设计 实验目的 1.熟练掌握while语句、do-while语句和for语句; 2.能够用这三种循环结构实现穷举、迭代等常用算法。 实验内容 1.复习第四章课件; 2. 教材 P62 三、编程题 3; (验证如n=2,结果1.833333;如n=5,结果11.450000) 3. 编写程序求出满足不等式123n500的最大n值及总和; (运行结果n31,sum496) 4.编写程序,求1-35-79-99101的值; 运行结果51.000000 5. 求的值。(请分别用while 、do while 和for语句来实现,运行结果47976.00) 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 6 实验名称 实验六 综合练习 实验目的 结合前四章内容,掌握用顺序结构、选择结构、循环结构编写、设计程序,解决实际问题。 实验内容 1.复习第四章、第四章(综合举例)课件; 2. 教材 P62 三、编程题 1、2、5; 3.编程实现求数列的所有大于等于0.000001的数据项之和,显示输出计算结果(运行结果s2.999999); 4.把100~150之间的不能被3整除的数输出; 5. 计算公式t1-1/2-1/3-1/m的值。例如若输入5,则应输出-0.283333; 6. 编程实现1~500之间的满足条件的解。“除以3余1,除以5余2,除以7余3”。(中国剩余定理“有物不知几何,三三数余一,五五数余二,七七数余三,问物有几何”)(运行结果52、157、262、367、472); 7. 打印“九九乘法表”。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 7 实验名称 实验七 一维数组的使用 实验目的 1.理解一维数组的定义、类型、数组元素和下标的概念; 2.掌握一维数组的声明、初始化和数组元素访问的方法; 3.能够运用一维数组解决实际问题。 实验内容 1.复习第五章课件; 2. 练习、读懂教材 P66 【例4-1】、【例4-2】,P67【例4-3】(冒泡法); 3. 编写一个程序,计算若干学生的某门功课的平均成绩,找出最高分和最低分; 4. 排序问题自学、参阅辅助教材(绿皮书)P137“第7章 排序及查找算法及其实现”重点掌握选择法排序、冒泡法排序、插入法排序的思想。 ⑴ P139“7.2 冒泡排序法的设计及其实现”。 编写程序,对n个整数用冒泡法排序(从小到大或从大到小); ⑵ P141“7.3 选择排序法的设计及其实现”。 编写程序,对n个整数用选择法排序(从小到大或从大到小); ⑶ P143“7.4 插入排序法的设计及其实现”。 利用数组编程实现删除、插入的算法,要求完成 l 编写程序删除指定的一个数; l 编写程序插入指定的数,插入后数组仍然有序。 5. 查找问题掌握查找的常用算法(顺序查找、折半查找)。 P150~P154“7.7、7.8、7.9”。 编写程序在数组中查找一个数。要求 ⑴ 若有该数,则输出该数,否则输出未找到的信息; ⑵ 用顺序查找实现; ⑶ 用折半查找实现。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 8 实验名称 实验八 二维数组的使用 实验目的 1.理解二维数组及多维数组的概念; 2.掌握二维数组及多维数组的声明、初始化和数组元素访问的一般方法; 3.能够运用二维数组解决实际问题。 实验内容 1.复习第五章课件; 2. 练习、读懂教材 P71【例4-4】、P72【例4-5】; 3. 打印杨辉三角形(要求打印10行); 4. 求一个33的整型矩阵两对角线元素之和(参阅P71【例4-4】); 5. 两个矩阵相加减,并输出结果; 6. 求二维数组中最大元素值(或最小元素值)及其行列号; 7. 将二维数组行列元素互换,存到另一个数组中; 8. 输入三个学生、五门课程的成绩,分别存放在36矩阵的前五列上,计算每个学生的平均成绩后,存放在该数组最后一列的对应行上。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 9 实验名称 实验九 字符数组与字符函数 实验目的 1. 理解和掌握字符型数组与其他数组的区别及特点; 2. 掌握字符型数组和字符串函数的使用方法。 实验内容 1.复习第五章课件。 2.编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不能使用strcpy函数。拷贝时,\0也要拷贝过去。 (代码提示fori0;istrlens2;i s1[i]s2[i];) 3.编一程序,求字符串的长度,不能使用strlen函数。 4.编一程序,将两个字符串连接起来,不能使用strcat函数。 5.把输入的字符串逆序排列,如输入ABCDE,输出为EDCBA。 6.对长度为7个的字符串,除首尾字符外,将其余5个字符按ASCII码升序排序。如BdsinAD,排序结果BAdinsD。 (演示用选择法或冒泡法)。 选作 7.判断m是否素数 (算法见第四章综合举例.ppt课件 扩展题求100~120间的全部素数。(运行结果101 103 107 109 113) 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 10 实验名称 实验十 函数的定义与调用 实验目的 1.掌握C语言函数的定义与调用规则; 2.掌握函数形参与实参的对应关系; 3.理解函数的返回值类型。 实验内容 1.复习第六章课件的部分内容; 2.编写一个函数max ,用来求三个数的最大值; 3.使用自定义函数,计算两个实数a、b的值的平方根之和; 要求数据的输入、输出在主函数中实现; 4.教材P107 三.编程题 1、3; 选作 5.打印出杨辉三角形。 要求⑴用自定义函数输出三角形; ⑵输出行数由用户自行决定。 6.写一个判断素数的函数。要求 ⑴在主函数中输入一个整数并输出是否素数的信息; ⑵用自定义函数判断此数是否素数。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 11 实验名称 实验十一 模块化程序设计 实验目的 1.理解模块化程序设计的思想; 2.学会使用模块化程序设计方法解决实际问题。 实验内容 1. 用递归方法求⑴n; ⑵123n; 2.用递归方法求n阶勒让德多项式的值,递归公式为 (验证如 n=0, x=7,则p071.00 n=1, x=2,则p122.00 n=3, x=4,则p34154.00) 3. 求100~110间的全部素数,要求 ⑴在主函数中输入、输出; ⑵用自定义函数判断是否素数。 选作 4.有n位学生,每个学生有m门功课,请编写程序解决 ⑴在主函数中定义数组; ⑵写一个enter函数输入学生的成绩; ⑶写一个sort函数,按总成绩对数组排序; ⑷写一个print函数输出成绩表,每行输出一位学生的成绩。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 12 实验名称 实验十二 变量的存储类型与预处理命令 实验目的 1.理解和掌握变量的作用域、生存周期、局部变量、全局变量的概念; 2.掌握不同存储类型变量之间的区别; 3.掌握宏的定义与用法; 4.理解文件包含的概念。 实验内容 1. 编译执行下列程序,体会宏定义的用法 include stdio.h define P 2 define POWERx P*x*x main { int x1,y2; printf“d,d”,POWERxy,POWERyx; } 2. 编写一段程序,用来求两个数的最小值,其中用来求最小值的部分用宏定义来实现。 3. 编写一段程序,输入两个整数,求他们相除的余数。用带参的宏来实现。 4. 有以下程序,将其格式输出部分改写成宏定义后并添加到at.h头文件中,编写完成后编译执行。 define PR printf define NL “\n” define F “6.3f” define F1 F NL define F2 F F NL define F3 F F F NL main { float x,y,z; x1.2;y2.3;z3.4; PRF1,x; PRF2,x,y; PRF3,x,y,z;} 5.文件包含练习分别求两个整数的最大公约数。 选作 6.分别用函数和带参的宏,从3个数中找出最大数。 7.文件包含练习选择法排序。 ⑴在主函数中完成3个函数模块调用; ⑵文件包含模块里包括数据的输入、排序及输出代码。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 13 实验名称 实验十三 实验测试 实验目的 通过实验测试考查学生C语言基本知识的掌握及程序编写能力。 实验内容 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 14 实验名称 实验十四 指针与指针变量的使用 实验目的 1.学会指针变量的定义与引用; 2.学会指针运算符; 3.理解指针与数组、函数的关系。 实验内容 1. 复习第八章课件。 2. 编写程序,用指针来实现数组的输入和输出。数组定义如下a[10]{1,2,3,4,5,6,7,8,9,0}。 3. 练习、读懂教材P112【例6-1】、P115【例6-4】、P117【例6-5】、P120【例6-7】、P121【例6-8】。 4. 对长度为7个字符的字符串BdsinAD,将字符按ASCII码升序排列,结果ABDdins。 选作 5. 分别采用数组形式、指针形式,用选择法对6个整数按从小到大的顺序进行排列。写三个函数输入6个数、进行处理、输出6个数。 实施情况 备 注 计算机课程实验卡 课程名称 程序设计语言(C) 班级 顺序号 15 实验名称 实验十五 结构体定义与应用 实验目的 1.掌握结构体变量、数组的定义、初始化及引用方式; 2.学会使用结构体数据类型。 实验内容 1. 复习第九章课件。 2. 练习、读懂教材P159【例8-1】、P162【例8-2】、P162【例8-3】 3.有关结构体的练习 ⑴给出年、月、日,计算该日是该年的第几天注意闰年问题 ⑵写一个函数days,计算该日是该年的第几天注意闰年问题。由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出 ⑶将第⑵题改写成文件包含形式 ⑷定义一个结构体变量(包括年、月、日)。计算该日是该年的第几天注意闰年问题。 选作 4.使用两个结构体变量,分别存放用户输入的两个日期,然后计算两日期相隔多少天 实施情况 备 注

你可能感兴趣的:(C语言牛牛手里有一个字符串A)