C语言程序设计
实验报告
第二学期
班 级
学 号
姓 名
指导教师
实验 Visual C++ 60编程环境C语言程序调试程
实验学时
2 学时
二实验目
1.解Visual C++ 60环境编辑编译连接运行C程序
2.通运行简单C程序初步解C源程序特点
三预容
教材C语言程序设计第1章
四实验容
1.请调试运行面程序
#include
int main( )
{
printf(HelloWorld\n)
return 0
}
出程序运行结果(截图):
2.请调试运行面程序二
#include
int main( )
{
int ij
for(i1i<9i++)
{
for(j1j
printf(\n)
}
return 0
}
出程序运行结果截图:
3.请改正面程序三中语法错误然调试运行该程序观察分析运行结果
#include
int main( )
{
int absum
a3
b4
suna+b
printf(d+dd\nabsum)
return 0
}
(1) 改正程序
#include
int main( )
{
int absum
a3
b4
suma+b
printf(d+dd\nabsum)
return 0
}
(2) 程序运行结果(截图):
五思考题
1.调试C语言程序步骤?
答:1 编辑2 编译3 连接4 运行
2.程序基结构三种?
答:序结构选择结构循环结构
指导教师 成绩
年 月 日
实验二 数类型运算符表达式
实验学时
2 学时
二实验目
1.掌握整型实型字符型三种基类型概念
2.掌握常量变量方法
3 掌握基算术运算符表达式方法
4 掌握++运算符赋值运算符表达式方法
三预容
教材C语言程序设计第2章
四实验容
1.面程序语法错误请调试运行该程序
#include
int main( )
{
int 2cd3
float yzl314
char for'A'
printf(d\nf\nc\n2cdyzlfor)
return 0
}
程序什出错?
答: 1 yzl314float类型改double
2 变量命名数字首位2cd3改cd3
3for循环结构作变量名改f’A’
2.观察分析面程序二运行结果:
#include
int main( )
{
int a3b4c8
float xy40z
xa+bc
za+yc
printf(xf\nzf\nxz)
return 0
}
程序运行结果(截图):
3.观察分析面程序三运行结果:
#include
int main( )
{
int abcdijmn
abcd3
ia++
j++b
mc
nd
printf(adbdcddd\nidjdmdnd\nabcdijmn)
return 0
}
程序运行结果(截图):
4.观察分析面程序四运行结果:
#include
int main( )
{
int a4
a+aa*a+a
printf(ad\na)
return 0
}
程序运行结果(截图):
五思考题
1.变量命名应该注意?
答:1变量名字母数字划线组成首位字母划线数字
2变量名区分写
3变量名系统标识符名
4变量名长度限视编译定
5变量命名时量简单易记见名意
2.程序二运行结果中xz值什?
答:xint类型x值整型数点部分0x3000000
zfloat类型z值浮点型数z3500000
3.程序三运行结果中ij值什?mn值什?
答:ia直接赋予i3
j先b+144赋j
mc直接赋予
n先d133赋n
4.请分析程序四中表达式a+aa*a+a运算序
答:1a*a16
216+a20
3a1616
4a+(16)32
成绩 指导教师
年 月 日
实验三 序结构程序设计
实验学时
2 学时
二实验目
1.掌握整型实型字符型数输入函数scanf( )
2.掌握整型实型字符型数输出函数printf( )
3.掌握序程序设计方法
三预容
教材C语言程序设计第3章
四实验容
1.面程序功:键盘输入两整数输出请横线填写条合适语句调试运行该程序
#include
int main( )
{
int absum
scanf(dd&a&b)
suma+b
printf(d+dd\nabsum)
return 0
}
出程序运行结果(截图):
2.观察分析面程序二运行结果
#include
int main( )
{
int absum
printf(请输入第整数:)
scanf(d&a)
printf(请输入第二整数:)
scanf(d&b)
suma+b
printf(d+dd\nabsum)
return 0
}
出程序运行结果(截图):
3.面程序三功:输出三变量abc值请横线填写条合适语句该程序运行结果:a35b4366c'A'
#include
int main( )
{
int a35
double b436578
char c'A'
printf(adb62fcc\nabc)
return 0
}
出程序运行结果(截图):
4. 设圆柱底面圆半径r15m高h3m编写程序求底面圆周长面积圆柱表面积体积求函数scanf( )输入rh输出时文字说明取数点两位
⑴ 出问题求解算法(NS图描述)
⑵ 出问题源代码
#include
#define PI 314159
void main()
{
double rhcsSV
scanf(lflf&r&h)
c2*PI*r
sPI*r*r
S2*PI*r*r+2*PI*r*h
VPI*r*r*h
printf(底面圆周长c62f圆面积s62f圆柱表面积S62f圆柱体积V62f\ncsSV)
}
⑶ 该程序运行结果(截图)
五思考题
程序程序二中输入数方式什区?您认种方式较什?
答:
程序中ab时定义
程序二中输出时明确区分ab编程程中分定义
认程序二更
相较程序程序二编程程易出错便输出
成绩 指导教师
年 月 日
实验四 选择结构程序设计
实验学时
2 学时
二实验目
1.正确关系运算符关系表达式
2.正确逻辑运算符逻辑表达式
3.熟练if语句实现选择结构程序设计
4.熟练switch语句实现分支选择结构程序设计
三预容
教材C语言程序设计教程第4章
四实验容
1.面程序功:输入学生成绩90分≤成绩≤100分输出Excellent60分≤成绩≤89分输出Pass成绩<60分输出Fail成绩<0分成绩>100分输出Input Error请横线填写合适语句调试运行该程序
#include
int main( )
{
int score
printf(请输入分数(0100))
scanf(d &score )
if(score>100||score<0)
printf(Input Error\n)
else if(score>90&&score<100 ) printf(Excellent\n)
else if (60
return 0
}
程序运行结果(执行程序4次分输入4成绩应4种情况):
输入数
20
562
77
99
运行结果
Fail
Input Error
Pass
Excellent
2.已知面分段函数:
请编写程序二求出显示y值x值程序运行时输入
代码:
#include
void main( )
{
float xy
scanf(f&x)
if(x<1)
yx
else if(x<10)
y2*x1
else
y3*x11
printf(72f\ny)
}
程序二运行结果(执行程序3次分输入3x值应3种y值):
输入数
2
0
10
运行结果
300
000
1100
3.设计简单计算器程序三程序运行时输入两实数四运算符:+*(例输入:45624)输出计算结果(保留两位数)
代码:
#include
void main()
{
float ab
char ch
scanf(ffc&a&b&ch)
if(ch'+')
printf(2f+2f2f\naba+b)
else if(ch'')
printf(2f2f2f\nabab)
else if(ch'*')
printf(2f*2f2f\naba*b)
else if(ch'')
printf(2f2f2f\nabab)
}
程序三运行结果(执行程序4次分输入4组数应+*四种运算):
输入数
12+
31
22*
31
运行结果
3
2
4
3
成绩 指导教师
年 月 日
实验五 循环结构程序设计
实验学时
2 学时
二实验目
1.熟悉循环结构语句whiledo…whilefor执行流程
2.熟练掌握whiledo…whilefor语句编写循环结构程序
三预容
教材C语言程序设计第5章
四实验容
1.面程序功:求式1222+3242+…142+152值请横线填写合适语句调试运行该程序
#include stdioh
void main( )
{
int sum0n1sign1
do
{
sumsum+sign*n*n
n+1
signsign*(1)
} while (n<15)
printf(1^22^2+3^24^2+…14^2+15^2d\n sum )
}
程序运行结果(截图):
2.编写程序二输入5位正整数输出该整数倒序例:输入12345输出54321
代码:
#include
void main()
{
int n
scanf(d&n)
while(n)
{
printf(dn10)
n10
}
}
程序二运行结果(截图):
3. 编写程序三求数列…前20项
代码:
#include
int main()
{
float a1b1c3sum0
int i
for(i1i<20i++)
{
sum+a(b*c)
a+1
b+2
c+2
}
printf(3f\nsum)
return 0
}
程序三运行结果(截图):
成绩 指导教师
年 月 日
实验六 嵌套结构程序设计
实验学时
2 学时
二实验目
1.掌握结构里面嵌套结构程序执行程设计方法
2.掌握break语句选结构程序中方法
3.掌握breakcontinue语句循环结构程序中方法
三预容
教材C语言程序设计第35章
四实验容
1.编写程序屏幕显示九九法表:
代码:
#include
void main()
{
int ij
printf(九九法口诀表:\n)
for(i1i<9i++)
{
for(j1j
printf(\n)
}
}
2.编写程序二屏幕显示图形:
代码:
#include
void main()
{
int ijk
for(i1i<4i++)
{
for(j1j<11ij++)
printf( )
for(k1k<2*i1k++)
printf(*)
printf(\n)
}
for(i1i<4i++)
{
for(j1j printf( )
for(k1k<72*ik++)
printf(*)
printf(\n)
}
}
3.编写程序三输出100素数谓素数指仅1该数身整1整数
代码:
#include
void main()
{
int ij
for(i2i<100i++)
{
for(j2j<(i2)j++)
{if(ij0)
break
}
if(ij0)
printf(d\ni)
}
}
程序三运行结果(截图):
成绩 指导教师
年 月 日
实验七 数组
实验学时
2 学时
二实验目
1.掌握维数组定义赋值输入输出应
2.掌握二维数组定义赋值输入输出应
3.掌握字符数组定义赋值输入输出应
三预容
教材C语言程序设计第6章
四实验容
1.编写程序已排序数列中插入数求插入该数数列排列例:原数列1357911131517插入数8变成13578911131517
代码:
#include
#define N 10
void main()
{
int i data a[N] { 1 3 5 7 9 11 13 15 17 }
printf(原数组a中数:\n)
for(i 0 i < N1 i++)
printf ( 3d a[i] )
printf (\n请输入插入数(data):)
scanf ( d &data )
for(i N2 a[i] > data && i>0 i)
a[i+1] a[i]
a[i+1] data
printf(插入d数组a中数:\n data)
for(i 0 i < N i++)
printf ( 3d a[i] )
printf (\n)
}
程序运行结果(截图):
2.编写程序二输出3行4列矩阵中元素值行标列标求:矩阵中元素值键盘输入
代码:
#include
void main()
{
int ij
int rowcolmaxa[3][4]{{79125}{3954216}{1726641}}
printf(原二维数组a\n)
for(i0i<3i++)
{
for(j0j<4j++)
printf(4da[i][j])
printf(\n)
}
rowcol0
maxa[0][0]
for(i0i<3i++)
{
for(j0j<4j++)
if(a[i][j]>max)
{
maxa[i][j]
rowi
colj
}
}
printf(二维数组中数值d位第d行第d列\nmaxrow+1col+1)
}
程序运行结果(截图):
3.编写程序三字符串中英文字母排列重新组成字符串例:原字符串:How do you do重新排列字符串:└┘└┘└┘Hddoooouwy
代码:
#include
#include
int main()
{
char s[100]t
int ijsum
printf(Input\n)
gets(s)
sumstrlen(s)
for(i0i
puts(s)
return 0
}
程序运行结果(截图):
成绩 指导教师
年 月 日
实验八 函数
实验学时
2 学时
二实验目
1.熟悉函数定义方法
2.掌握函数调方式调函数调函数间数传递方法
3.掌握递算法会函数实现递算法
三预容
教材C语言程序设计第7章
四实验容
1.面程序功求三整数中值请横线填写合适语句调试运行该程序
#include
int max(int aint bint c)
{
int m
ma
if(b>m)
mb
if(c>m)
mc
return(m)
}
void main( )
{
int xyzmaxi
scanf(ddd&x&y&z)
maxi max(xyz)
printf(Max of dd and d is d\nxyzmaxi)
}
程序运行结果(截图):
2.编写程序二函数中输入两正整数调函数求公倍数结果函数中输出
代码:
#include
int min(int mint n)
{
int s
sm
while(sn0)
s+m
return(s)
}
void main()
{
int mn
printf(请输入两正整数\n)
scanf(dd&m&n)
min(mn)
printf(两正整数公倍数d\nmin(mn))
}
程序运行结果(截图):
3. 编写程序三递方法求解猴子吃桃问题猴子第1天摘干桃子吃半瘾吃第2天剩桃子吃掉半吃天早吃前天剩半零第10天早想吃时剩桃子求第1天摘少桃子
代码:
#includestdioh
int f(int a)
{
int y
if(a10)
y1
else
yf(a+1)*2+2
return y
}
void main()
{
int ny
printf(请输入天数)
scanf(d&n)
yf(n)
printf(第天猴摘d桃子y)
}
程序运行结果(截图):
成绩 指导教师
年 月 日
实验九 变量作域存储方式
实验学时
2 学时
二实验目
1.掌握数组名作函数参数时形参实参定义方法
2.会数组名作函数参数调函数调函数间传递数
3.掌握变量作域(局部变量全局变量)
4.掌握变量存储方式(动态存储静态存储)
三预容
教材C语言程序设计第7章
四实验容
1.运行面程序分析结果
#include
int x8y3
int max(int aint b)
{
int c
if(a>b)
ca
else
cb
return c
}
void main( )
{
int x4maxi
maximax(xy)
printf(d\nmaxi)
}
程序运行结果(截图):
2.运行面程序二分析结果
#include
int f(int a)
{
static int b0
bb+a
return b
}
void main( )
{
int y1y2
y1f(1)
y2f(1)
printf(y1dy2d\ny1y2)
}
程序运行结果(截图):
3. 编写程序三函数中输入10整数调函数sort排序排序结果函数中输出
代码:
#include
#define M 10
void sort(int a[]int n)
{
int ijt
for(i0i
for(j0j
{
ta[j]
a[j]a[j+1]
a[j+1]t
}
}
}
void main()
{
int data[M]
int i
for (i0i
scanf(d&data[i])
}
sort(dataM)
for(i0i
printf(\n)
}
程序运行结果(截图):
成绩 指导教师
年 月 日
实验十 编译预处理
实验学时
2 学时
二实验目
1.理解宏概念掌握宏定义
2.掌握带参数宏定义条件编译
3.解文件包含概念掌握应方法
三预容
教材C语言程序设计第8章
四实验容
1.编写程序键盘输入三整数带参数宏找出三整数中者
代码:
#include
#define max(xyz) x>(y>zyz)x(y>zyz)
void main()
{
int opq
printf(请输入三整数:\n)
scanf(ddd&o&p&q)
printf(ddd三数中dopqmax(opq))
printf(\n)
}
程序运行结果(截图):
2.编写程序二定义带参数宏两参数值互换函数main( )中输入两整数作宏参数输出交换两值
代码:
#include
#define swap(ab) {int ttaabbt}
void main()
{
int ab
printf(请输入两整数:\n)
scanf(dd&a&b)
printf(交换前数字:adbd\nab)
swap(ab)
printf(交换数字:adbd\nab)
}
程序运行结果(截图):
3.编写程序三键盘输入三实数带参数宏设计输出三实数格式:
① 第行输出第实数
② 第二行输出前两实数
③ 第三行输出三实数
代码:
#include stdioh
#define N1 printf(f\na)
#define N2 printf(f f\nab)
#define N3 printf(f f f\nabc)
void main()
{
float abc
printf(请输入三实数)
scanf(fff&a&b&c)
N1N2N3
printf(\n)
}
程序运行结果(截图):
成绩 指导教师
年 月 日
实验十 指针
实验学时
2 学时
二实验目
1.掌握指针间接访问概念会定义指针变量
2.利指针变量作函数参数改变值
3.正确定义指数组指针变量数组进行访问
4.正确定义指字符串指针变量字符串进行访问
三预容
教材C语言程序设计第9章
四实验容
1.函数中输入2整数调swap函数值交换结果函数中输出
代码:
#include
void swap(int *p1int *p2)
{
int t
t*p1
*p1*p2
*p2t
}
void main()
{
int mn
printf(输入两整数:)
scanf(dd&m&n)
swap(&m&n)
printf(d d\nmn)
}
程序运行结果(截图):
2.函数中输入10整数调函数sum求结果函数中输出(求:实参数组名形参指针变量)
代码:
#includestdioh
int sum(int *p)
{
int isum0
for(i0i<10i++)
sum+*(p+i)
return(sum)
}
void main()
{
int b[10]sj
printf(请输入10整数)
for(j0j<10j++)
scanf(d&b[j])
ssum(b)
printf(10数d\ns)
}
程序运行结果(截图):
3 函数中输入字符串调converse函数该字符串逆序(例原序:abcdefgh逆序:hgfedcba)结果函数中输出(求:实参字符数组名形参指针变量)
代码:
#include
#include
void converse(char *s)
{
int ij
char c
jstrlen(s)
for(i0i
cs[i]
s[i]s[ji1]
s[ji1]c
}
}
void main()
{
char s[100]
printf(请输入字符串:)
gets(s)
converse(s)
printf(该字符串倒序:s\ns)
}
程序运行结果(截图):
成绩 指导教师
年 月 日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档