C语言实验题.ppt
合集下载
C语言ppt课件(完整版)

编译 链接 v0o1i0d1q0u0it(1v1oi0d1);110001 11010011 01110001 11010011 01110001 11010011
源程序 目标程序 可执行程序 v0o1i1d1s0h0o0w1Ta1b1le0(1v0o0id1);1 01110001 11010011 01110001 11010011 10101010
11010011 11010011
01110001 10110111
v0o1i0d1h0a0n1d1le_0m11e1n0u(0v0o1id)1;1010011 01110001 11010011 01110001 11010011
i1n1t1m1e0n0u0_0se0le1c1t1(v0o0id0)1; 11010011 01110001 11010011 01110001 11010011
sum=number1+number2;
printf("\n%d+%d=%d",number1,number2,sum); }
返 回 上一页
பைடு நூலகம்下一页
思考:加法器的局限性在于,它只能对整数 进行加法运算,是否可以编写这样的程序,可 以对任意两个整数进行加和减运算呢?
分析:该计算器实现两个功能:加法功能和减 法功能,因此,分别编写两个函数实现这两个 功能:加法函数sum( ),减法函数sub( )。
返回
下一页
标志符的命名规则:
(1)标识符只能由字母、数字、下划线组成,且 第一个字符不能为数字。
(2)C语言区分大小写。 (3)标识符的名字不能和C语言中的关键字和特
定字相同。 (4)标识符的长度最好不要超过8个字符。 (5)标识符的命名最好做到见名知意。如age用
源程序 目标程序 可执行程序 v0o1i1d1s0h0o0w1Ta1b1le0(1v0o0id1);1 01110001 11010011 01110001 11010011 10101010
11010011 11010011
01110001 10110111
v0o1i0d1h0a0n1d1le_0m11e1n0u(0v0o1id)1;1010011 01110001 11010011 01110001 11010011
i1n1t1m1e0n0u0_0se0le1c1t1(v0o0id0)1; 11010011 01110001 11010011 01110001 11010011
sum=number1+number2;
printf("\n%d+%d=%d",number1,number2,sum); }
返 回 上一页
பைடு நூலகம்下一页
思考:加法器的局限性在于,它只能对整数 进行加法运算,是否可以编写这样的程序,可 以对任意两个整数进行加和减运算呢?
分析:该计算器实现两个功能:加法功能和减 法功能,因此,分别编写两个函数实现这两个 功能:加法函数sum( ),减法函数sub( )。
返回
下一页
标志符的命名规则:
(1)标识符只能由字母、数字、下划线组成,且 第一个字符不能为数字。
(2)C语言区分大小写。 (3)标识符的名字不能和C语言中的关键字和特
定字相同。 (4)标识符的长度最好不要超过8个字符。 (5)标识符的命名最好做到见名知意。如age用
C语言程序设计实验ppt资料

1、实验前绘制程序框图,编制源程序、准
sum3=sum3+1.
备测试数据。 1、题目要求 输入一行字符,分别统计出其中英文字母、空格、数字、和其他字符的个数。
#include<stdio.
2、在Turbo C下完成程序的编辑、编译、 #include<stdio.
4、题目要求 求1+2+……+100+1+4+9+……+2500+1+1/2+……+1/10 #include<stdio. 解决:询问老师知道是因为没运行程序。
float sum1=0,sum2=0,sum3=0,sum; int k;
for(k=1;k<=100;k++)
{
sum1=sum1+k;
}
for(k=1;k<=50;k++) { sum2=sum2+k*k; } for(k=1;k<=10;k++) {
sum3=sum3+1.0/k;
}
sum=sum1+sum2+sum3; printf("%d\n",num);
{
a=num/100; b=num%100/10;
c=num%100%10;
if(num==a*a*a+b*b*b+c*c*c)
printf("%d\n",num); }
}
第九页,编辑于星期五:十三点 四十九分。
实验中的问题、实验结果分析
1、问题:所做程序经常出现黑屏
解决:询问老师知道是因为没运行程序。 2、问题:答案与事实相反。
c语言程序设计实验课件

4.设半径r=1.5,圆柱高h=3,求圆周长,圆面 积,圆柱表面积,圆柱体积。用scanf输 入数据,输出结果,输入要有文字说明, 取小数点后2位数字。 5.给出一个不多于5位的正整数,要求: (1) 求出它是几位数? (2) 分别输出每个数字? (3)按逆顺序输出。如(123输出321)
实验二
1.输入两个正整数,求其最大公约数和最小公倍数。 2.一个数如果恰好等于它的因子之和,这个数就称为 完数,例如6=1+2+3,编程找出1000之内的所有完 数,并按下面格式输出其因子。 6 its factors are 1,2,3
3.输入一行字符,分别统计出其中英文字母、空 格、数字和其他字符的个数。
实验四
1.写一个函数,将一个字符串中的元音字母复制到另 一字符串,然后输出。 2. 编写一个函数,由实参传来一个字符串,统计此 字符串中字母、数字、空格和其他字符个数,在主 函数中输入字符串以及输出上述结果。 3. 一只公鸡十五元,一只母鸡十三元,三只小鸡十 元。用一千元买鸡,可以各买公鸡、母鸡、小鸡多 省只?
• 4.一个球从100m高度自由落下,每次落地后反跳 回原高度的一半,再落下,再反弹。求它在第10 次落地式,共经过多少米,第10次反弹多高。
实验三
1.从键盘输入一个整数,并将其插入到其元素已按升 序排列的数组中,要求插入操作完成后,数组中的 元素仍按升序排列。 2. 一篇文章,共有三行文字,每行有80个字符。要求 分别统计出其中英文大写字母、小写字母、数字、 空格以及其他字符的个数。 3. 从键盘输入10个整数,并求出这10个数的最大值 及出现次数。
4. 输入10个学生5门课的成绩,分别用函数实现下列功 能: ①计算每个学生平均分; ②计算每门课的平均分; ③找出50个分数中最高的分数所对应的学生和课程; ④计算平均分方差:
武汉理工C语言程序设计练习题PPT课件

构成 C 源程序的基本单位是( ) A.语句 B.变量 C.运算符 D.函数
C 语言函数体由( )括起来。
A.< >
B.( )
C.{ }
D.[ ]
2021
2
已知'A'的ASCII码的十进制值为65,’0‘的ASCII码的十进制值为48,则以下程序 运行结果是( )。
main() {char ch1,ch2;
2021
6
;赴美生子 赴美生子;
蝇王》描述在一场未来的核战争中,一架飞机带着一群孩子从本土飞到南方疏散。飞机被击落,孩子们乘坐的机舱落到一座美丽但无人烟的珊瑚岛上。起初孩子们齐心协 力,后来由于害怕所谓的“野兽”分裂成两派,互相残杀,发生悲剧性的结果,以崇尚本能的专制派压倒了讲究理智的民主派而告终。 《蝇王》是哲理小说,借小孩的天真来探讨人性的恶这一严肃主题。作者将抽象的哲理命题具体化,让读者通过阅读引人入胜的故事和激动人心的争斗场面来加以体悟。 小说中几个主要人物都具有象征意义,而那颗布满苍蝇的猪头则象征人性恶,象征了人心中的黑暗世界。 《蝇王》取材于19世纪苏格兰作家巴伦坦的《珊瑚岛》, 但不同于《珊瑚岛》的是:戈尔丁从人性的缺陷来探索社会。 Although successful heavier-than-air flight is less than two decades old, and successful dirigible propulsion antedates it by a very short period, the mass of experiment and accomplishment renders any one-volume history of the subject a matter of selection. In addition to the restrictions imposed by space limits, the material for compilation is fragmentary, and, in many cases, scattered through periodical and other publications. Hitherto, there has been no attempt at furnishing a detailed account of how the aeroplane and the dirigible of to-day came to being, but each author who has treated the subject has devoted his attention to some special phase or section. The principal exception to this rule—Hildebrandt—wrote in 1906, and a good many of his statements are inaccurate, especially with regard to heavier-than-air experiment.
C语言程序设计实验内容PPT课件

int max_value(int array[3][4])
{
int i,j,k;
int
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(array[i][j]>max)
max=array[i][j];
return max;
}
main()
2020/10/13
9
#include <stdio.h> #include <string.h> void main() {
FILE *fp; char s[120],p[60],ch; int i,j,len; fp=fopen("test2-2.in", "r"); if(fp==NULL) {
4
综合实验(四) ——上机模拟考试
(一)程序改错(40分) (二)编写程序(60分)
2020/10/13
5
一、程序调试题(文件名test2-1.c) 磁盘上有一个C程序文件test2-1.c,其作用是求一个3×4 的矩阵中的最大元素。 调试该程序,可以增加和修改程序行,但不得删除程 序的整行。 (22次)
{
static int
a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
printf("max value is %d\n",max_value(a));
}
2020/10/13
8
二、编写程序(程序文件名test2-c.c) 磁盘上有一个文件test2-2.in,其中存有一行字符串, 将该字符串读入到字符数组a中,然后将字符数组a中 下标值为偶数的元素从小到大排列,其它元素不变。 要求输出重新排序的字符串以及下标值为偶数的元素。 (22次)
C语言程序设计实验解读PPT教案

连接(Link)、组建(Build=编译+连接)
目标文件+库文件→执行文件.OBJ+.LIB→.EXE
运行(Run) 调试(Debug)
关于Turbo C环境(1)
设定工作目录
File~Change dir菜单项,键入工作目录 按Alt-F进入File主菜单,或F10进入主菜单行
装入文件
二、课程与相关课程的联系与分 工
先修课为《C语言程序设计》和《算法与数 据结构》。后续课为《数据库原理与应用》 和《软件系统基础》。
本课程设计是为了让学生巩固《C语言程序 设计》课程学到的知识,熟练C开发工具, 运用《算法与数据结构》课程学到的算法 设计思想解决实际应用问题。并为后续课 程《数据库原理及应用》和《软件系统基 础》等奠定基础。
入条件表达式)
要特别注意各控制结构的流程
• 流程控制语句
⑴条件语句
if~else~ switch语句
⑵循环语句 句
for语句、while语句、do~while语
⑶提前结束本次循环语句 continue
⑷循环或多分支终止语句 break
⑸无条件转移语句
goto
⑹返回语句
return
基本控制结构
• 复合表达式语句 C语言允许把一组语句括在花括号之中构成一个语 句块,称之为复合语句。例如 { char ch; ch=getchar(); putchar(ch); }
2、评分标准 从以下五个方面评出课程设计完成后的综合
分: ① 设计报告占30% ② 系统完成情况及编程工作量占30% ③ 编程难度和程序亮点占10% ④ 回答教师所提出的问题占20% ⑤ 课程设计过程中的工作态度(考勤)占
10%
课程实验考核方法及成绩评定
目标文件+库文件→执行文件.OBJ+.LIB→.EXE
运行(Run) 调试(Debug)
关于Turbo C环境(1)
设定工作目录
File~Change dir菜单项,键入工作目录 按Alt-F进入File主菜单,或F10进入主菜单行
装入文件
二、课程与相关课程的联系与分 工
先修课为《C语言程序设计》和《算法与数 据结构》。后续课为《数据库原理与应用》 和《软件系统基础》。
本课程设计是为了让学生巩固《C语言程序 设计》课程学到的知识,熟练C开发工具, 运用《算法与数据结构》课程学到的算法 设计思想解决实际应用问题。并为后续课 程《数据库原理及应用》和《软件系统基 础》等奠定基础。
入条件表达式)
要特别注意各控制结构的流程
• 流程控制语句
⑴条件语句
if~else~ switch语句
⑵循环语句 句
for语句、while语句、do~while语
⑶提前结束本次循环语句 continue
⑷循环或多分支终止语句 break
⑸无条件转移语句
goto
⑹返回语句
return
基本控制结构
• 复合表达式语句 C语言允许把一组语句括在花括号之中构成一个语 句块,称之为复合语句。例如 { char ch; ch=getchar(); putchar(ch); }
2、评分标准 从以下五个方面评出课程设计完成后的综合
分: ① 设计报告占30% ② 系统完成情况及编程工作量占30% ③ 编程难度和程序亮点占10% ④ 回答教师所提出的问题占20% ⑤ 课程设计过程中的工作态度(考勤)占
10%
课程实验考核方法及成绩评定
C语言实验课件

第二讲,C语言的数据类型、格式化 输入输出
邵长友
机电工程系
Mechanical and Electrical Engineering
第二讲,C语言的数据类型、格式化输入 输出
实验2: 熟悉数据类型定义和格式化输入输 出的方法 实验目的:掌握变量定义、printf和scanf函 数的使用方法
问题2:修改以下程序,输入数据格式为1,2,34,在屏幕上显示 的结果也为1,2,34
#include <stdio.h> main() { char a,b; int c;
scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);
}
第二讲,C语言的数据类型、格式化输入 输出
第三讲, C语言格式化输入输出、运 算符和表达式
问题3:运行下面的程序,实验该程序是否能判断所输入的整数在3和 9之间,如果不能,请修改之 #include<stdio.h> void main() { int x;
printf(“请输入一个整数”); scanf(“%d”,&x); if(3<=x<=9) printf(“YES,你输入的整数在3和9之间\n”); else printf(“NO,你输入的整数不在3和9之间\n”); }
<stdio.h>
单精度浮点型 双精度浮点型
printf("Data type printf("-----------printf("char printf("int printf("short int printf("long int printf("float printf("double
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/4/18
C语言大学实用教程课件 制作人苏小红
5
实验1: 熟悉上机环境和顺序结构编程 练习——键盘输入与屏幕输出练习
问题3:要使上面程序的键盘输入数据格式为1,2,34 ,输出语句在屏幕上显示的结果也为1,2,34,则应 修改程序中的哪条语句?怎样修改?
#include <stdio.h> main() {
switch (op)
ቤተ መጻሕፍቲ ባይዱ
{ case '+':
/*处理加法*/
printf("%d + %d = %d\n", data1, data2, data1 + data2);
break; case '-':
/*处理减法*/
printf("%d - %d = %d\n", data1, data2, data1 - data2);
– 男性成人时身高 = (faHeight + moHeight) * 0.54(cm) – 女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm) 此外,如果喜爱体育锻炼,那么可增加身高2%,如 果有良好的卫生饮食习惯,那么可增加身高1.5%。
2020/4/18
符)
– 第四种输入方式:1↙
2↙
34↙(以回车符作为分隔符)
2020/4/18
C语言大学实用教程课件 制作人苏小红
8
实验1: 熟悉上机环境和顺序结构编程 练习——计算定期存款本利之和
设银行定期存款的年利率rate为2.25%,并已 知存款期为n年,存款本金为capital元,试编 程计算n年后的本利之和deposit。 要求定期存款的年利率rate、存款期n和存款 本金capital均由键盘输入。
C语言大学实用教程课件 制作人苏小红
10
实验2: 选择结构编程练习 ——身高预测
编程从键盘输入你的性别(用字符型变量sex存储, 输入字符F表示女性,输入字符M表示男性)、父母 身高(用实型变量存储,faHeight为其父身高, moHeight为其母身高)、是否喜爱体育锻炼(用字 符型变量sports存储,输入字符Y表示喜爱,输入字 符N表示不喜爱)、是否有良好的饮食习惯等条件( 用字符型变量diet存储,输入字符Y表示喜爱,输入 字符N表示不喜爱),利用给定公式和身高预测方法 对你的身高进行预测。
C语言大学实用教程课件 制作人苏小红
18
#include <stdlib.h> #include <stdio.h> main() {
int magic; int guess; int counter; unsigned int seed;
printf("Please enter seed:"); scanf("%u", &seed); srand(seed);
int magic; int guess; int counter;
算结束后,程序都给出提示:
Do you want to continue(Y/N or y/n)?
– 如果用户输入Y或y时,程序继续进行其它算术运算,否则
程序才退出运行状态。那么,程序如何修改?
2020/4/18
C语言大学实用教程课件 制作人苏小红
15
实验2:选择结构编程练习 ——简单的计算器程序
苏小红等,《C语言大学实用教程学习指导》,电子工 业出版社,2007,4
2020/4/18
C语言大学实用教程课件 制作人苏小红
2
实验内容
2020/4/18
C语言大学实用教程课件 制作人苏小红
3
实验1: 熟悉上机环境和顺序结构编程 练习——键盘输入与屏幕输出练习
问题1:要使下面程序的输出语句在屏幕上显示 1,2,34,则从键盘输入的数据格式应为以下备选答 案中的哪一个?
printf("%d/%d = %d\n", data1, data2, data1/data2);
break;
default:
printf("Unknown operator! \n");
2}020/4/18
C语言大学实用教程课件 制作人苏小红
14
}
实验2:选择结构编程练习 ——简单的计算器程序
2020/4/18
C语言大学实用教程课件 制作人苏小红
11
实验2:选择结构编程练习 ——简单的计算器程序
要求用switch语句编程设计一个简单的计算器程序。 要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的算术运算符为加(+)、减 (-)、乘(*)、除(/)。
问题5:要使上面程序的键盘输入无论用下面 哪种格式输入数据,程序在屏幕上的输出结果 都为’1’,’2’,34,则程序应修改程序中的哪条 语句?怎样修改?
– 第一种输入方式:1,2,34↙(以逗号作为分隔符) – 第二种输入方式:1 2 34↙(以空格作为分隔符) – 第三种输入方式:1 2 34↙(以Tab键作为分隔
char a,b; int c;
scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); }
2020/4/18
C语言大学实用教程课件 制作人苏小红
6
实验1: 熟悉上机环境和顺序结构编程 练习——键盘输入与屏幕输出练习
问题4:要使上面程序的键盘输入数据格式为1,2,34 ,而输出语句在屏幕上显示的结果为’1’,’2’,34, 则应修改程序中的哪条语句?怎样修改?
break; case '*':
/*处理乘法*/
printf("%d * %d = %d\n", data1, data2, data1 * data2);
break; case '/':
/*处理除法*/
if (0 == data2)
printf("Division by zero!\n");
else
17
猜数游戏用到的库函数
随机函数srand – 为函数rand()设置随机数种子来实现对函数rand所产
生的伪随机数的 “随机化”
通过键入随机数种子,产生[0,100]之间的随机数
scanf("%u", &seed); srand(seed); magic = rand() % 100 + 1;
2020/4/18
2020/4/18
C语言大学实用教程课件 制作人苏小红
9
实验2: 选择结构编程练习 ——身高预测
每个做父母的都关心自己孩子成人后的身高,据有关 生理卫生知识与数理统计分析表明,影响小孩成人后 身高的因素有遗传、饮食习惯与坚持体育锻炼等。小 孩成人后身高与其父母身高和自身性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高 预测公式为:
#include <stdio.h> main() {
char a,b; int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
A) 1 2 34
B) 1, 2, 34
C2)020/4’/118’,’2’,34
CD语言) 大1学2实用34教程课件 制作人苏小红
– scanf("%d%c%d", &data1, &op, &data2); – scanf("%d%1s%d", &data1, &op, &data2);
2020/4/18
C语言大学实用教程课件 制作人苏小红
16
实验3:循环结构编程练习 ——猜数游戏
在这个实验中,我们将尝试编写一个猜数游戏程序 ,这个程序看上去有些难度,但是如果你按下列要 求以循序渐进方式进行编程实现,你就会发现其实 这个程序是很容易实现的。先编写第一个程序,然 后试着在第一个程序的基础上编写第二个程序, ……。
2020/4/18
C语言大学实用教程课件 制作人苏小红
12
例4.8:计算器程序
编程设计一个简单的计算器程序,要求根据用户 从键盘输入如下形式的表达式:
操作数1 运算符op 操作数2
然后,计算并输出表达式的值 指定的运算符为 加(+) 减(-) 乘(*) 除(/)
2020/4/18
C语言大学实用教程课件 制作人苏小红
本实验程序是在例4.8基础上,增加如下要求: – (1)如果要求程序能进行浮点数的算术运算,程序应该
如何修改? 如何比较实型变量data2和常数0是否相等?
– (2)如果要求输入的算术表达式中的操作数和运算符之
间可以加入任意多空白符,那么程序如何修改?
– (3)(选作题)如果要求连续做多次算术运算,每次运
语句 if (0 == data2)的必要性 – 1998年11月《科学美国人》杂志,描述了美国导弹巡
洋舰约克敦号上的一起事故,除零错导致军舰推进系统 的关闭
如果要求程序能进行浮点数的算术运算,语句 if (0 == data2)还能用于比较实型变量data2和 常数0的大小吗?
– if (fabs(data2) <= 1e-7) 如果要求输入的算术表达式中的操作数和运算符之 间可以加入任意多个空格符,那么程序如何修改?
哈尔滨工业大学计算机科学与技术学院