C语言程序设计(上机)指导书(V5.2)
(完整版)《C语言程序设计》自学指导书
scanf("%d",&x);
if(x<0)x=-x;
do
{
m=x%10;/*求出该数的个位数*/
s=s+m;
n++;
x=x/10;
}
while(x!=0);
printf("位数是:%d\n",n);
printf("各位数字之和是:%d\n",s);
}
6、使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。
A. / B. * C. != D. %
4、设a,b都是整型变量,为了使a=4,b=8。函数scanf(“a=%d,b=%d”,&a,&b)执行时,正确的数据输入是(C)。
A. a=4 b=8 B. a=4,8 C. a=4,b=8 D. a=b=4,8
5、设a,b都是整型变量,且a=5,b=10,则函数printf(“%d,%d\n”,a++,++b)的输出结果是(B)。
i = 8;
j = 10;
m+= i++;
n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d”, i, j, m, n);
}
答:程序的输出结果是:
i=9,j=9,m=8,n=-9
五、复习思考题:
教材程序设计基础章节习题。
第
一、本章自学内容及要求:
1、了解利用一些基本要素(常量,变量,运算符,表达式等)构成程序的基本成份。
b、理解数组的概念,把握其特点
(2)一维数组
a、了解一维数组的定义与初始化
C语言程序设计实验指导书(新)
C语⾔程序设计实验指导书(新)C语⾔程序设计实验指导书重要说明:上机实验⽬的和要求⼀实验报告要求每次实验,提交⼀份实验报告。
具体格式见“实验报告格式范⽂”将代码和运⾏截图粘贴到“C改⾰实验指导书24学时”word的相应位置。
如下图,程序运⾏的截图如下:⼆上机实验的⽬的上机实验的⽬的,绝不仅仅是为了验证教材和讲课的内容,或者验证⾃⼰所编程序正确与否。
学习程序语⾔,上机实验的⽬的如下:1 加深对讲授内容的理解,尤其是⼀些语法规定,光靠课堂讲授,既枯燥⽆味⼜难以记住,通过多次上机,就能⾃然、熟练地掌握语法规定。
2 了解和熟悉C语⾔程序开发环境。
熟悉⼀两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。
3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运⾏。
要真正掌握计算机应⽤技术,就不仅应当了解和熟悉有关理论和⽅法,⽽且要求⾃⼰动⼿实践能⼒强。
4 在做实验时千万不要在程序通过后就认为万事⼤吉,完成任务了,应当在通过的程序上做⼀些调试和修改,看看会得到什么结果。
多动脑筋思考,将会对你有很⼤帮助。
三上机实验前的准备⼯作1 了解所⽤的计算机系统的性能和使⽤⽅法;2 复习和掌握与本实验有关的教学内容;3 准备好上机所⽤的程序,切忌⾃⼰不思考、不编制程序或抄袭别⼈的程序;4 准备好调试和运⾏时所需的数据。
四上机实验的步骤1 调出C语⾔编译系统,进⼊C语⾔⼯作环境;2 输⼊⾃⼰编制好的程序;3 检查输⼊是否有错,及时更正;4 进⾏编译和连接;5 运⾏程序,分析结果。
重要说明:上机实验⽬的和要求 0实验⼀C语⾔上机基础 (4)实验⼆基本数据类型、运算符和表达式 (7)实验三输⼊、输出函数的使⽤ (9)实验四选择结构程序设计 (11)实验五循环结构程序设计 (13)实验六数组 (16)实验七简单函数 (18)实验⼋⾼级函数 (19)实验九指针 (20)实验⼗⾃定义数据、⽂件 (22)附1:c语⾔函数库 (24)实验⼀C语⾔上机基础特别声明:为了教学的便捷以及学⽣⾃学的⽅便,我们选择了便于下载和安装的Microsoft Visual C++ 6.0软件作为编译环境。
C语言程序设计 上机实验指导与习题 参考答案
C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
C语言程序设计上机实验指导书
C语言程序设计上机实验指导书实验基本要求上机实验主要是培养、训练和提高学生的程序设计能力和程序调试能力。
在c语言程序设计的每个实验中,除了对程序设计提出要求之外,对程序的调试方法也提出具体的要求,这样就可以逐步培养学生的静态调试和动态调试能力,以及根据错误信息分析、判断、改正错误的能力。
通过上机,还可以加深对课堂讲授内容的理解、熟悉程序的开发环境、学习计算机系统的操作方法等。
上机实验一般经历上机前的准备(编程)、上机调试运行和实验后的总结三个步骤。
1.上机前的准备根据问题,进行分析,选择适当算法并编写程序。
上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)。
分析可能遇到的问题及解决的对策。
准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。
上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄写或复制一个别人编写的程序,到头来自己一无所获。
2.上机输入和编辑程序,并调试运行程序首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为OBJ)。
下一步是调用连接程序,产生可执行程序(扩展名为EXE)。
使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。
若有问题,则仔细调试,排除各种错误,直到得到正确结果。
在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。
整个过程应自己独立完成。
不要一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。
3.整理上机实验结果,写出实验报告实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告。
书写报告是整个实验过程的一个重要环节。
通过写报告,可以对整个实验做一个总结,不断积累经验,提高程序设计和调试的能力,同时还可以提高写作能力。
c语言程序设计上机课,《C语言程序设计上机指导》全套教案.doc
c语⾔程序设计上机课,《C语⾔程序设计上机指导》全套教案.doc项⽬⼀ C语⾔概述【实验内容、步骤】1、检查所⽤计算机是否已经安装Visual C++2012。
2、为了让实验程序保存在⾃⼰的⽬录中,在磁盘上新建⼀个⽂件夹,⽤于存放C程序。
⽤户⽬录可以使⽤有意义的符号组合⽽成:如⽬录名“1-01-张丽”代表1班01号张丽同学的⽬录。
3、进⼊Visual C++2012的⼯作环境4、编程⽰例【任务实施】 在屏幕上显⽰⼀个短句“Hello World! My first C program!” 源程序1-1:# include void main( )﹛ printf(“Hello World! \n”); printf(“My first C program! \n”);﹜运⾏结果 Hello World! My first C program!【任务考核】任务要求:在屏幕上显⽰⼀个短句“Welcome to C!”。
源程序1-2(有错误的程序) # include void mian( ) {printf(Welcome to C!\n”) }运⾏结果(改正后程序的运⾏结果) Welcome to C!调试过程演⽰:按照打开源程序1-1的步骤,打开源程序1-2.cpp。
(2)编译执⾏“⽣成/Build”→“编译【1-2.cpp】”,信息窗⼝中显⽰编译出错信息(如图1-14所⽰)。
图1-14 编译产⽣的错误信息(1)(3)找出错误在信息窗⼝中双击第⼀条出错信息,编辑窗⼝就会出现⼀个箭头指向程序出错的位置(如图1-15所⽰),⼀般在箭头的当前⾏或上⼀⾏,可以找出出错语句。
图1-15中箭头指向第四⾏,出错信息指出Welcome是⼀个未定义的变量,但Welcome并不是变量,出错的原因是Welcome前少了⼀个双引号。
改正错误在Welcome前加上双引号,重新编译,信息窗⼝显⽰本次编译出错信息,第⼀条出错信息是“missing‘;’before‘}”,双击该出错信息,箭头指向最后⼀⾏,出错信息指出在右打括弧“}”前少了分号,如图1-15。
《C语言程序设计》上机实验指导手册簿
C语言程序设计上机实验指导手册电子与信息工程学院计算机科学系第一部分上机实验的指导思想和要求一、上机实验的目的学习《C语言程序设计》课程不能满足于“懂得了”,满足于了解了语法和能看懂书上的程序,而应当掌握程序设计的全过程,即能独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。
“程序设计”是一门实践性很强的课程,必须十分重视实践环节。
许多实际的知识不是靠听课和看书学到手的,而是通过长时间的实践积累的。
要提倡通过实践去掌握知识的方法。
必须保证有足够的上机实验时间,学习本课程应该至少有30 小时的上机时间,最好能做到与授课时间之比为1:1 。
除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。
上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。
学习程序设计,上机实验的目的是:(1)加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们是很重要的,初学者的程序出错往往错在语法上。
通过多次上机,就能自然地、熟练地掌握。
通过上机来掌握语法规则是行之有效的方法。
(2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。
一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。
使用者应该了解为了运行一个C程序需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。
每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一两种计算机系统的使用,再遇到其他系统时便会触类旁通,很快就能学会。
(3)学会上机调试程序。
也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。
经验丰富的人,在编译连接过程中出现“出错信息”时,一般能很快地判断出错误所在,并改正之。
而缺乏经验的人即使在明确的“出错提示”下也往往找不出错误而求助于别人。
《C语言程序设计》上机指导书05
上机05 循环结构程序设计(2)上机课时课内:2课时;课外:2课时上机类型验证性上机上机目的1.理解C语言循环结构程序设计的基本概念和使用。
2.掌握C语言多重循环的概念和使用。
3.掌握C语言循环结构中break语句的使用。
4.掌握C语言循环结构中continue语句的使用。
上机内容建立一个“上机5”文件夹,将此次上机报告5以及每个任务的C语言文件(只要.c 格式文件,其他删除)放入该文件夹,压缩后提交至ftp://10.20.46.253/(用户名和密码均为wy)。
1、循环结构之多重循环在功能需求上,往往一个循环满足不了,比如:循环用一个“*”输出,得到以下图形。
上面这个例子显然我们用一个循环不是太容易实现,这个时候我们就要用到多重循环,多重循环就是在循环结构的循环体中又出现循环结构。
在实际开发中一般最多用到三层重循环。
因为循环层数越多,运行时间越长,程序越复杂,所以一般用2-3层多重循环就可以了。
另外不同循环之间也是可以嵌套的。
多重循环在执行的过程中,外层循环为父循环,内层循环为子循环,父循环一次,子循环需要全部执行完,直到跳出循环。
父循环再进入下一次,子循环继续执行...注:一个父循环可以有多个子循环。
那么上面这个用“*”输出的矩形用多重循环实现如下:将上述题目改为输出倒三角形,该如何修改程序呢?将上述题目改为输出菱形,又该如何修改程序呢?上机任务2任务要求完成后的代码填写到下面表格2、结束整个循环break语句break语句通常用在循环语句和开关语句中。
当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。
break在switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。
在我们生活中,可能会由于某中原因需要中断当前的事情,并且不能继续进行下去。
如:小明今天篮球训练,需要运球10次,当运到5次的时候,突然肚子疼无法坚持循环,这个时候就要停止训练。
c语言程序设计 实验指导书
c语言程序设计实验指导书C语言程序设计实验指导书一、引言C语言是一种通用的高级编程语言,广泛应用于计算机科学和软件开发领域。
为了帮助学生更好地理解和掌握C语言的编程技巧,我们编写了本实验指导书。
本指导书旨在引导学生完成一系列的C语言实验,从简单的程序设计入门开始,逐步深入学习C语言的各个方面。
二、实验一:Hello World程序1. 实验目的通过编写一个简单的Hello World程序,学习C语言的基本语法和编程环境的搭建。
2. 实验内容编写一个C程序,在屏幕上输出"Hello World"字样。
3. 实验步骤1) 打开C语言编译器,新建一个源文件。
2) 在源文件中编写C程序,使用printf函数输出"Hello World"。
3) 编译并运行程序,观察输出结果。
4. 实验结果在屏幕上显示出"Hello World"字样。
三、实验二:变量和数据类型1. 实验目的了解C语言中的变量和数据类型的概念,学习如何声明和使用变量。
2. 实验内容编写一个C程序,演示各种数据类型的声明和使用。
3. 实验步骤1) 在源文件中声明各种数据类型的变量,如int、float、char等。
2) 对各种变量进行赋值和运算操作。
3) 使用printf函数输出各种变量的值。
4. 实验结果屏幕上显示出各种变量的值。
四、实验三:控制语句1. 实验目的学习C语言中的控制语句,掌握条件语句和循环语句的用法。
2. 实验内容编写一个C程序,演示条件语句和循环语句的使用。
3. 实验步骤1) 使用if语句判断某个条件是否成立,根据条件的结果执行相应的操作。
2) 使用for循环语句实现某个操作的重复执行。
3) 使用while循环语句实现某个操作的反复执行,直到某个条件不再满足。
4. 实验结果根据条件的不同,程序执行相应的操作,循环语句可以重复执行某个操作。
五、实验四:函数和数组1. 实验目的学习C语言中的函数和数组的概念,掌握函数的定义和调用,以及数组的声明和使用。
2018-c语言上机指导书word版本 (18页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==c语言上机指导书篇一:C语言实验指导书全教程第一部分:《C语言程序设计》实验教学大纲一、本实验课的性质、任务与目的本实验课目的是使学生掌握C语言编程的常用方法,以任务驱动教学法,重点培养学生的编程能力,为以后学习后继专业课程和进行软件开发打下基础。
通过学习能够运用C语言中的各个知识点编写能完成一定功能的程序。
训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,实验教学是培养应用型人才的重要环节,其重要程度决不亚于知识的传授。
把高级语言的学习与程序设计、上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。
二、本实验课所依据的课程基本理论本实验课基于C语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。
《C语言程序设计》的主要任务是:C 语言是一种应用广泛结构化程序设计语言,本课程介绍C语言的基本概念、基本语法和编程方法,重点描述C语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用C语言编写程序的能力。
三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图,要求独立完成。
每组1人,实验共40学时五、考核方式与评分办法实验总成绩=出勤情况*10%+实验报告*20%+平时*30%+实验内容*40%六、本实验课配套教材或实验指导书教材:苏小红主编.C语言大学实用教程,电子工业出版社,十一五国家级规划教材,201X .7 参考书:[1]何钦铭,颜晖主编.C语言程序设计,高等教育出版社,十一五规划教材,201X .1 [2]颜晖主编.C语言程序设计实验指导,高等教育出版社,201X.1[3]张引,何钦铭等. C程序设计基础课程设计,浙江大学出版社,201X.9[4]谭浩强. C程序设计题解与上机指导.北京:清华大学出版社.201X年3月第3版 [5]谭浩强. C程序设计试题汇编.北京:清华大学出版社.201X年3月第2版 [6]夏宽理. C语言程序设计.北京:中国铁道出版社.201X年2月第1版[7]夏宽理. C语言程序设计上机指导与习题解答.北京:中国铁道出版社.201X.2 [8]王士元. C高级实用程序设计.北京:清华大学出版社.1996年1月第1版 [9]谭浩强. C程序设计.北京:清华大学出版社.201X年3月第3版七、实验报告要求上机实验目的在于:①通过验证课本中的内容及自己编写的程序,加深对课本中词法、语法的掌握;②熟悉所用的C语言开发环境;③上机调试自己的程序,学会编程,重要是能上机调试通过,调试经验是通过自己的直接实践来累积。
C语言上机实验指导书
C语言上机实验指导书C语言程序设计实验一数据类型及简单程序设计一、实验目的1.掌握C语言数据类型,熟悉变量的定义及赋值方法。
2.掌握不同的类型数据之间赋值的规律。
3.学会使用C的运算符及表达式,特别是自加(++)自减(——)运算符的使用。
4.学会使用VC调试程序的方法。
二、实验内容和步骤问题1:输入并运行下面的程序main(){charc1,c2;c1=’a’;c2=’b’;printf(“%c%c\\n”,c1,c2);}①程序运行结果为?②增加一条语句:printf(“%d%d\\n”,c1,c2);再运行程序,运行结果为?问题2:输入并运行下面的程序(转义字符使用)main(){charc1,c2,c3,c4,c5;c1=’某’;c2=’y’;c3=’z’;c4=’\\101’;c5=’\\102’;printf(“某%cy%c\\tz%c\\n”,c1,c2,c3);printf(“\\t\\’%c\\’\\”%c\\”\\n”,c4,c5);}在上机前先用人工分析程序,写出应得结果,上机后将二者对照。
2问题3:输入并运行下面的程序main(){inti,j,m,n;i=6;j=8;m=++i;n=j++;printf(“%d,%d,%d,%d\\n”,i,j,m,n);}①运行程序,注意i、j、m、n个变量的值为?。
②将第4、5行改为:m=i++;n=++j;运行程序,注意i、j、m、n个变量的值为?。
③将程序改为:main() {intm,n;m=6;n=8;printf(“%d,%d\\n”,m++,n++);}运行程序,注意输出结果的变化为?。
④在③的基础上,将printf语句改为:printf(“%d,%d\\n”,++m,++n);运行程序,注意输出结果的变化为?。
⑤再将printf语句改为:printf(“%d,%d,%d,%d\\n”,m,n,m++,n++);运行程序,注意输出结果的变化为?。
C语言上机实验指导书
C语言程序设计实验指导书实验一数据类型及简单程序设计一、实验目的1.掌握C语言数据类型,熟悉变量的定义及赋值方法。
2.掌握不同的类型数据之间赋值的规律。
3.学会使用C的运算符及表达式,特别是自加(++)自减(——)运算符的使用。
4.学会使用VC调试程序的方法。
二、实验内容和步骤问题1:输入并运行下面的程序main( ){char c1,c2;c1=’a’;c2=’b’;printf(“%c %c\n”,c1,c2);}①程序运行结果为?②增加一条语句:printf(“%d %d\n”,c1,c2);再运行程序,运行结果为?问题2:输入并运行下面的程序(转义字符使用)main( ){char c1,c2,c3,c4,c5;c1=’x’;c2=’y’;c3=’z’;c4=’\101’;c5=’\102’;printf(“x%c y%c\tz%c\n”,c1,c2,c3);printf(“\t\’%c\’ \”%c\”\n”,c4,c5);}在上机前先用人工分析程序,写出应得结果,上机后将二者对照。
问题3:输入并运行下面的程序main( ){int i,j,m,n;i=6;j=8;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}①运行程序,注意i、j、m、n个变量的值为?。
②将第4、5行改为:m=i++;n=++j;运行程序,注意i、j、m、n个变量的值为?。
③将程序改为:main( ){int m,n;m=6;n=8;printf(“%d,%d\n”,m++,n++);}运行程序,注意输出结果的变化为?。
④在③的基础上,将printf语句改为:printf(“%d,%d\n”,++m,++n);运行程序,注意输出结果的变化为?。
⑤再将printf语句改为:printf(“%d,%d,%d,%d \n”,m,n,m++,n++);运行程序,注意输出结果的变化为?。
c语言程序设计实验指导书
c语⾔程序设计实验指导书《C 语⾔程序设计》实验指导书实验⼀C 程序的运⾏环境⼀、实验⽬的1、了解所⽤的计算机系统的基本操作⽅法,学会独⽴使⽤该系统;2、了解在该系统上如何编辑、编译、连接和运⾏⼀个C 程序;3、通过运⾏简单的C 程序,初步了解C 程序⼆、实验预习1、认真阅读简单的C 程序介绍,C 程序上机步骤部分内容;2、编写好所需要的程序,程序的书写应该清楚整洁,⼀般检查应该是没有明显的错误。
如果在程序中有疑问的地⽅,可以标记起来,以便于上机调试时予以注意。
初学者特别忌讳上机前⾃⼰不编写程序,到时随便地抄别⼈的程序。
三、实验指导1、输⼊并运⾏⼀个简单的程序,从⽽熟悉所⽤系统的上机⽅法与步骤。
(1)选择“File”—“New”—“Win32 console application”,输⼊⼯程名称,确定。
直接选择第⼀项“An empty project”,点击“Finish”。
“File”—“New”—File框下⾯选择⽂件类型“C++ Source File” ,输⼊⽂件名称,点击“OK”。
(2)输⼊下⾯的程序(例题1.1)#includevoid main( ){printf("This is a C program.\n");}(3)选择“Build”菜单下“Compile”选项,快捷键为Ctrl+F7。
编译过程将源代码转化成⽬标⽂件格式,后缀名为.o。
选择“Build”菜单下“Build”选项,快捷键为F7。
如果出现“出错信息”,则应找出原因并改正之,再进⾏编译构建。
(4)如果编译⽆错误,选择“Build”菜单“Execute”选项,运⾏程序,快捷键为Ctrl+F5,观察分析运⾏结果。
2、输⼊并编辑⼀个C 程序(1)同上,新建⼯程和⽂件。
(2)输⼊以下程序(例题1.2,但故意漏打或打错⼏个字符)#includevoid main( ){int a,b,sum ;a=123 ;b=456 ;sum=a+b ;printf("sum is %d\n",sum);}(3)以下步骤同上⼀例题3、输⼊并运⾏⼀个需要在运⾏时输⼊数据的程序(1)清空编辑窗⼝,输⼊下⾯的程序(例题1.3)。
C程序设计上机指导
C语言上机指导手册目录第一章C语言上机环境第二章数据类型、运算符和表达式第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章函数第八章编译预处理第九章指针第十章结构体和共用体第十一章文件第一章C语言上机环境一、实验目的与要求1、了解TC集成环境的进入和退出;2、了解TC集成环境的设置;3、掌握C语言源程序的编辑、编译、连接和运行操作;4、掌握C语言源程序的程序结构和书写风格。
二、实验内容1、进入TC集成环境。
2、熟悉TC集成环境以及菜单的使用。
3、利用TC的集成环境,完成下面的程序。
(1)输入下面的程序,保存后编译、运行,查看程序的输出结果。
#include "stdio.h"main(){printf("Hello,everyone!\n");(2)自己编写程序,输出下面的图形。
* * * * * * * * * *My name is TC* * * * * * * * * *4、退出C的集成环境。
5、再次进入C的集成环境,分别载入上面的程序,观察程序的运行结果。
三、实验分析和总结第二章数据类型、运算符和表达式一、实验目的与要求1、进一步熟悉TC集成环境的进入、退出和菜单操作;2、初步了解C程序调试过程和方法;3、掌握C语言数据类型的定义方法;4、掌握C语言运算符的正确使用;5、掌握C语言运算符的优先级和结合性。
二、实验内容1、上机前人工分析下列程序,写出运行结果,上机运行后对比结果。
(1)#include "stdio.h"main(){char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf("\t\b%c %c",c4,c5);}输出结果:(2)#include "stdio.h"main(){int i, j, m, n;i=8; j=10;m=++i; n=j++;printf("i=%d, j=%d, m=%d, n=%d\n", i, j, m, n);输出结果:2、设原来a=12, 用printf函数输出下列表达式运算后a的值。
[工学]C语言实训上机任务指导书
《C语言程序设计》实训指导书计算机基础教研室编实训项目一:儿童100以内的加减乘除法游戏训练 (1)一、目的和要求 (3)二、试验性质 (3)三、实验内容 (3)四、实验步骤 (3)五、分析与讨论 (4)实训项目二:数制转换系统 (9)一、目的和要求 (9)二、试验性质 (9)三、实验内容 (9)四、实验步骤 (9)五、分析与讨论 (10)实训项目三:倒计时 (12)一、目的和要求 (12)二、试验性质 (12)三、实验内容 (13)四、实验步骤 (13)五、分析与讨论 (13)六、程序清单 (14)实训项目四:学生成绩管理系统 (15)一、目的和要求 (15)二、试验性质 (16)三、实验内容 (16)四、试验步骤 (16)五、分析讨论 (16)实训项目五:通讯录 (20)一、目的和要求 (20)二、试验性质 (20)三、实验内容 (20)四、试验步骤 (20)五、分析与讨论 (21)实训项目六:后缀表达式求值,表达式求值 (27)一、目的和要求 (27)二、试验性质 (27)三、实验内容 (27)四、实验步骤 (28)五、分析与讨论 (28)实训项目七: 迷宫 (35)一、目的和要求 (35)二、试验性质 (35)三、实验内容 (35)四、实验步骤 (36)五、分析与讨论实训项目一:儿童100以内的加减乘除法游戏训练一、目的和要求1、通过实训掌握本学期所学C语言知识。
2、编辑一个具有加减乘除基本功能的计算器程序。
3、对系统进行功能模块分析、控制模块分析,结论正确。
4、更加深入掌握C语言;5、熟练的掌握函数的定义,调用,说明的方法;二、试验性质自主设计实验三、实验内容1)通过菜单选择加减乘除。
2)100(或10)以上的两个整数通过rand函数随即产生。
3)计算减法时,不能出现结果为负数。
4)答对提示恭喜,答错续答,答错三次给出正确答案等等。
四、实验步骤1、划分程序功能模块;2、写程序实现算法;3、画出程序流程图;4、定义结构体,预处理定义,加法函数,减法函数,乘法函数,除法函数。
《C语言程序设计》课程实验指导书
三、预习内容
预习教材第3章。
实验四 选择结构程序设计
一、实验目的
1.了解C语言表示逻辑值的方法。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if语句和switch语句。
4.结合程序掌握一些简单的算法。
5.学习调试程序的方法。
二、实验内容
本实验要求编程解决以下问题,然后上机调试运行程序。
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析运行结果。
(3)将9-14行改为以下的scanf语句,即用scanf函数接收从键盘输入的数据:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
{int z;
if(x>y) z=x;
else z=y;
return(z);
}
(1)运行程序,若程序有错,则修改错误后继续运行程序,当没有错误信息时输入:2,5并按Enter键,查看运行结果。
(2)将程序的第三行改为:int a;b;c;然后按F9看结果如何,将其修改为int a,b,c;将子程序max的第3,4行合并为一行,运行程序,看结果是否相同。
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
(1)运行此程序并分析运行结果。
(2)在此基础上,修改程序的第9-14行:
C语言程序设计》实验指导书
《计算机基础与程序设计》实验指导书实验教学目标:本课程实验教学的目标在于使学生能够掌握算法的基本概念,并根据算法编制程序,掌握调试程序的基本技巧,初步了解软件开发所要经历的阶段,为学生从事计算机软件开发和数据处理工作打下坚实的基础。
实验教学要求:要求掌握数据类型的定义和使用;三种结构的程序设计;数组;函数;指针;结构体与共用体;文件操作等。
实验(一)C语言的编程环境(TURBOC 2.O)一、目的和要求1、熟悉C语言运行环境。
2、掌握C语言程序的书写格式和C语言程序的结构。
3、掌握C语言上机步骤,了解运行一个C程序的方法。
4、本实验可在学习完教材第一章后进行。
二、实验内容1. 启动Turbo C如果用户计算机系统已经安装了Turbo C编译系统,则在DOS命令状态下键入命令tc。
进入Turbo C集成环境后,首先在屏幕上显示Turbo C主菜单窗口,如下图所示。
可以看出,在该窗口,有8个菜单条目。
每一个菜单的意义如下:File 处理文件(包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用DOS 。
Edit 建立、编辑源文件。
Run 控制运行程序。
如果程序已经编译连接好,且Debug/Source Debugging以及Option/Compiler/Code generation/OBJ Debug Information开关置为On,则可以用此菜单初始化调试阶段。
Compile 编译并生成目标程序与可执行文件。
Project 允许说明程序中包含哪些文件的管理条目。
Options 可以选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选项)及定义宏;也可以记录Include Output及Library文件目录,保存编译任选项和从配置文件加载任选。
Debug 检查、改变变量的值,查找函数,程序运行时查看调用栈。
选择程序编译时是否在执行行代码中插入调试信息。
《C程序设计》指导书
精品《C 程序设计》实验大纲及其实施计划课程综述实验设置总体说明《C 程序设计》是计算机科学与技术(师范类)专业的一门专业基础课,属于专业必修课。
是本专业的多门后续专业课程的先导课。
本课程的教学目的是使学生掌握有关 C 程序设计的基本概念、基本结构、基本方法与技巧,具备利用 C 语言进行程序设计的基本素质,拥有用 C 语言编写程序和上机调试的能力,为本专业有关后续课程的学习打下坚实的基础。
《C 程序设计》是一门实践性很强的课程。
通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉 C 程序设计的开发环境;掌握程序设计和调试的基本技能。
并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。
通过 8 个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等 C 程序设计的基本概念和应用技术。
1 C 语言编程环境、简单 C 程序实验2实验名称34 (选做实验5后面加 *号)选择结构实验循环结构实验数组实验函数实验6指针实验7结构体实验精品8文件实验实验占课程总课时、学分比例情况实验资料存档形式(纸质/光盘)实验占课程总课时1/2 ,实验成绩与平时作业合计占课程成绩的30% 。
光盘精品实验 1 C 语言编程环境、简单 C 程序实验实验目的:熟悉 Turbo C 编程环境,了解和掌握利用该环境对 C 程序进行编辑、编译和运行的基本方法和步骤。
学习使用 C 语言的基本类型、基本运算符和表达式,初步掌握各类基本数据的输入输出方法。
实验环境(硬 / 软件要求):Windows XP + VC++6.0实验内容:1.VC++6.0 启动。
2.初步了解和掌握 VC++6.0 集成环境的主要功能3.数据类型、运算符和表达式4.简单 C 程序的调试实验主要步骤:1.安装 VC++6.0,若你所在的计算机上已经安装VC++6.0,则查看并记录其安装的位置。
C语言程序设计上机实验与习题指导
内容简介
内容简介
本书为《C语言程序设计教程》的配套实验教材,共分为上机实验、习题参考答案、考试样卷以及附录等4个 部分。本书内容丰富、概念清晰、实用性强,可作为学习C语言程序设计课程的参考辅导书。本书既适合高等学校 师生或计算机培训学员使用,也可供报考计算机等级 (水平)考试者和其他自学者参考。
目录
目录
第1部分 C语言程序设计上机实验 实验1预备知识 实验2表达式与输入输出函数 实验3分支结构 实验4循环结构程序 实验5数组 实验6函数 实验7指针 实验8结构体与共用体 实验9文件与位运算 第2部分习题参考答案
谢谢观看
C语言程序设计上机实验与习题 指导
2019年安徽大学出版社出版的图书
2 内容简介 04 目录
基本信息
《C语言程序设计上机实验与习题指导》是2019年安徽大学出版社出版的图书,作者是孙家启、万家华。
推荐
推荐
由安徽大学出版社出版的《C语言程序设计上机实验与习题指导》一书为《C语言程序设计教程》的配套实验 教材。本书内容有上机实验、习题参考答案、考试样卷以及附录4个部分。
作者简介
作者简介
孙家启,安徽新华学院信息工程学院院长、教授,主要研究方向为计算机软件及计算机应用、互联技术。曾 任教育部全国高等学校计算机基础课程教学指导委员会委员、安徽省教育厅高等学校计算机水平考试专家委员会 副主任兼秘书长。发表学术论文20多篇,主编教材22种。
万家华,安徽新华学院信息工程学院副院长、副教授,主要研究方向为计算机软件及计算机应用。发表论文 10多篇,其中EI检索2篇;主编或参编教材11种,其中省级规划教材1种。
C语言程序设计上机指导书
C语言程序设计上机指导书姓名:_________________学号:_________________专业:_________________日期:_________________目录序:指导原则及VS2005环境中编译C程序一、熟悉C语言集成开发环境二、掌握基本数据类型在程序中的正确应用三、运算符与表达式的使用四、掌握顺序结构程序设计五、掌握顺序结构与输入输出函数六、分支结构程序(一)七、分支结构程序(二)八、循环结构程序设计(一)九、循环结构程序设计(二)十、嵌套循环十一、数组(一)十二、数组(二)十三、数组(三)十四、函数(一)十五、函数(二)十六、函数(三)和预处理十七、指针(一)十八、指针(二)指导原则促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法目的:1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。
要求:1,复习与本次实验相关的教学内容2,了解集成开发环境的操作步骤3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
VS2005编译环境中编写运行C程序TurboC2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计(上机)指导书第五版南京邮电大学通达学院专用主编:吴伟敏南京邮电大学传媒与艺术学院2010 年元月一、课程设计的性质、目的 (2)二、课程设计的任务 (2)三、课程内容、学时分配及基本要求 (2)三、考核方式及成绩评定方法 (3)四、推荐教材与参考书 (3)五、验证及基础练习题 (4)1.改错题 (4)2.完善程序 (7)3.简单程序编写 (9)六、上机实习题目 (13)1.算法实现 (13)2.文本字符串处理 (16)3.常用程序设计 (18)七、程序设计(上机)报告格式及要求 (21)一、课程设计的性质、目的本课程是非计算机相关专业的通识基础课,属于集中实践环节,是数据结构、数学建模、操作系统等课程的前导课程,也是一门实践性很强的课程。
在掌握编程基本概念的基础上,进行上机实践是一个必不可少的环节,本课程有助于学生全面掌握使用C语言进行程序设计的综合技术。
通过本课程,可以培养学生的上机动手能力,使学生巩固《高级语言程序设计(上)》和《高级语言程序设计(下)》两门课程中所学习的内容,掌握工程化软件设计的基本方法,强化上机动手能力;为后续各门计算机课程的学习打下坚实基础。
二、课程设计的任务通过集中时间上机实验,使学生充分发挥已有的编程能力,熟悉编译环境,选择若干课题,进行审题、分析、设计和调试,并根据要求写出实验报告。
三、课程内容、学时分配及基本要求课程设计为时二周(计40学时),其具体安排如下:*注:对于选题和分组,其操作流程如下:1.同学们根据自己的兴趣、爱好,选择自己想做的题目。
2.一旦确定以后,交与班长登记。
3.班长按照先来先登记的方式依次进行分组。
例如,将先来的同学分到第一组,就这样依次分下去。
4.对于每个小组所选择难度为“H”题目,如果发现重复,则需要重新选择。
5.以上的组织形式应该安照班级和学生的具体情况做灵活的调整。
三、考核方式及成绩评定方法本课程考核由平时考核、软件验收、程序设计(上机)报告三部分组成。
其中,平时考核占总成绩的10%,软件验收占总成绩的40%,设计报告占总成绩的50%。
注:如有以下情况,视为抄袭:与已验收的程序明显雷同;面试时不能解释程序中的某些基本功能,或对所写程序一无所知。
四、推荐教材与参考书教材:[1] 秦军.程序设计(C语言).北京:机械工业出版社,2007[2] 吴伟敏.程序设计(上机)指导书.南京:南京邮电大学自编教材,2008[3] 程序设计基础(C语言版)学习与实验指导.北京:机械工业出版社,2008参考书:[1]张福炎.大学计算机信息技术教程[M] .南京:南京大学出版社,2003[2] 谭浩强.C程序设计(第三版).北京:清华大学出版社,2005[3] (美)Brian W.Kernighan、Dennis M.Ritchie.C程序设计语言(第二版).徐宝文、李志译.北京:机械工业出版社,2003[4] 苏小红等.C 语言大学实用教程(第二版)[M].北京:电子工业出版社,2007五、验证及基础练习题1.改错题(1)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。
例如:输入的两个字符串分别为abcdef 和abceef,则输出为-1。
请改正程序中的错误,使程序能得到正确的结果。
包含错误的源程序如下:#include <stdio.h>void main(){ char str1[100],str2[100];int i,s;printf("\n input string 1:\n");getchar(str1);printf("\n input string 2:\n");getchar (str2);i=0;while((strl[i]!=str2[i]&&(str1[i]=='\0'))i++;s=str1[i]+str2[i];printf("%d\n",s);}(2)以下程序中函数fun()的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。
例如:输入ewjfio23450ejgvb0erio3mg0wgjn 23,则输出2345003023。
请改正程序中的错误,使程序能得到正确的结果。
包含错误的源程序如下:#include <stdio.h>#include <conio.h>void fun (char *s) ;{ int i,j;for (i=0,j=0;s[i]!='\0';i++){if (s[i]>='0' && s[i]<='9')s[j]=s[i];}s[j]=”\0”;}main(){ char item[80];printf("\nEnter a string:");gets(item);printf("\n\nThe string is :%s\n",item);fun (item);printf("\n\nThe string of changing is :%s\n",item);}(3)以下程序的功能是在有序数组中插入一个新数,程序中共存在6个错误,请改正程序中的错误,使程序能得到正确的结果。
包含错误的源程序如下:void main(){int i,j,num,n=7;int temp1,temp2;int a[n]={1,3,5,7,9,11};for(i=0;i<6;i++)printf("%3d",a[i]);printf("\nInput insert number:");scanf("%d",num);if(num>a[5])a[6]=num;else{for(i=0;i<6;i++){if(a[i]<num){temp1=a[i];a[i]=num;for(j=i+1;j<6;j++){ temp2=a[j];a[j]=temp1;temp1=temp2;}countinue;}}}for(i=0;i<7;i++)printf("%3d",a[i]);printf("\n");}(4)在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线。
以下是对该问题的分析:如果在程序中使用数组,这个问题十分简单。
但若规定不能使用数组,问题就变得不容易了。
关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。
为了获得本文要求的图形就必须在一行中一次输出两个“*”。
为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。
将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就应为62-m。
程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
使用这种方法编出的程序短小精炼,体现了一定的技巧。
请改正程序中的错误,使程序能得到正确的结果。
包含错误的源程序如下:#include<stdio.h>#include<math.h>int main(){double y;int x,m;for(;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/{m=(int)acos(y); /*计算出y对应的弧度m,乘以10为图形放大倍数*/for(x=1;x<m;x++) printf(" ");printf("*"); /*控制打印左侧的* 号*/for(;x<62-m;x++)printf(" ");printf("*\n"); /*控制打印同一行中对称的右侧*号*/}return 0;}2.完善程序(1)从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。
请完善以下程序:#include <stdio.h>void main(){ FILE *fp;char str[100]; int i=0;if((fp=fopen("text.txt",___(1)__))==NULL){ printf("can't open this file.\n");exit(0);}printf("input astring:\n");gest(str);while (str[i]){ if(str[i]='a'&&str[i]<='z')str[i]= ___(2)__;fputc(str[i],fp);i++;}fclose(fp);fp=fopen("test.txt",___(3)__);fgets(___(4)__);printf("%s\n",str);fclose(fp);}(2)已知strcpy()函数的原型为:char *strcpy(char *strDest,char *strSrc);其中strDest是目的字符串,strSrc是源字符串,返回目的字符串的首地址。
完成以下的空白部分并实现正确的strcpy()函数功能。
char *copy_string(char *from,char *to){ char *address;__(1)___while(__(2)___){ ___(3)__from++;to++;}___(4)__return address;}(3)以下程序计算所输入的字符串中某个子串所出现的次数。
请完善以下程序:#include "string.h"#include "stdio.h"main(){ char str1[20],str2[20],*p1,*p2;int sum=0;printf("please input two strings\n");gets(str1);gets(str2);p1=str1;p2=str2;while(*p1!='\0'){___(1)__ //此处可填写多条语句}printf("%d",sum);}(4)验证歌德巴赫猜想。