C语言程序设计课程实验题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由s123hi贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 C 语言程序设计课程实验题目 学时) (每组实验内容 2 学时) 实验一 C 语言上机步骤 实验目的:熟练掌 握在 Turbo C 系统上编辑、编译、连接和运行 C 程序的 方法。 实验内容: 1.启 动 Turbo C 系统。 ① 进入 MS-DOS 方式。 ② CD\TC↙ ③ TC↙ 2. 编辑修改源程 序。 ① 按“F3” ,然后输入:exam↙(默认文件名为“NONAME.C”) ② 输入下列源 程序。 main() { int a,b,sum; a=1;b=2;sum=a+b; printf("sum=%d\n",sum); } ③ 源程序存盘。 方法一:按“F2”键,将以源文件名存盘。 方法二:选取菜单项“F ile/Write To” ,将以新文件名存盘。 3.编译连接程序。 方法一:编译、连接分 步执行。 按“Alt+F9”键,编译生成目标文件“exam.obj” ;再按“F9”,连接生成 可执行文件“exam.exe” 方法二:编译、连接连续执行。 按“F9”键,首先编译生 成目标文件“exam.obj” ;接着自动连接生成可执 行文件“exam.exe” 4.运行程 序。 方法一:编辑状态下,按“Ctrl+F9”键,此时是编译、连接、运行连续进 行。 方法二:按“Alt+X”键,然后输入:exam↙(必须编译、连接成功)。 5.显示运行 结果。 若按方法一运行程序,按“Alt+F5”键,查看运行结果,按任意键返回到 Turb o C 编辑状态。若按方法二运行程序,直接显示结果。 6.退出。 按“Alt+x”键, 退出 Turbo C。 实验二 运算符和表达式 实验目的:掌握 C 语言运算符的优先级和 结合方向。 实验内容: 1.若有定义 int x,a,b,c,*p=&x;,写出顺序执行下列表达 式后 x 的值,然 后通过程序验证。 要求:先写出运算结果,然后利用程序验证。 ① x=a=b=10 ② x=25%(c=3) ③ *p+=2+3 ④ x/=(x+(*p%=2),(a&&5+3)) ⑤ x*=x+=x -=x ⑥ x=((a=4%3,a!=1),++*p>10) 验证程序: main() { int x,a,b,c,*p=&x; x=a =b=10; printf("x=%d\n",x); x=25%(c=3); printf("x=%d\n",x); *p+=2+3; printf ("x=%d\n",x); x/=(x+(*p%=2),(a&&5+3)); printf("x=%d\n",x); x*=x+=x-=x; pri ntf("x=%d\n",x); x=((a=4%3,a!=1),++*p>10); printf("x=%d\n",x); } 2.若有定 义 int a=2,b=-3,c=4,*p=&a,*q=&b;,计算下列各表达式的值, 然后通过程序验证。 要求:先写出运算结果,然后利用程序验证。 ① a>b&&b >c ② !(b>c)+(b!=*p)||(a+b) ③ a++-c+*q ④ ++a-c+++b ⑤ b%=c+a-c/7 ⑥ (flo at)(a+b)/2+*q ⑦ !(a==b+c)&&(*p-a) ⑧ !c+1+c&&b+c/2 验证程序: main() { in t a,b,c,*p=&a,*q=&b; a=2;b=-3;c=4; printf("a>b&&b>c=%d\n",a>b&&b>c); a=2;b =-3;c=4; printf("!(b>c)+(b!=*p)||(a+b)=%d\n",!(b>c)+(b!=*p)||(a+b)); a=2;b =-3;c=4; printf("a++-c+*q=%d\n",a++-c+*q); a=2;b=-3;c=4; printf("++a-c+++b =%d\n",++a-c+++b); a=2;b=-3;c=4; printf("b%%=c+a-c/7=%d\n",b%=c+a-c/7); a= 2;b=-3;c=4; printf("(float)(a+b)/2+*q=%f\n",(float)(a+b)/2+*q); a=2;b=-3;c =4; printf("!(a==b+c)&&(*p-a)=%d\n",!(a==b+c)&&(*p-a)); a=2;b=-3;c=4; prin tf("!c+1+c&&b+c/2=%d\n",!c+1+c&&b+c/2); } 实验三 基本输入输出函数 实验目的 : 熟练掌握数据的输入输出格式。 实验内容: 1.写出下列程序的输出结果。 要求:先写出输出结果,然后利用程序验证。 #include "stdio.h" main() { int a=65,b=67,c=67; float x=67.8564,y=-789.124 ; char C='A'; long n=1234567; unsigned u=65535; putchar(C); putchar('\t'); putchar(C+32); putchar(a); putchar('\n'); printf("%d%d\n",a,b); printf("% c%c\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%-10f, %-10f\n",x,y); printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); prin tf("%e,%10.2e\n",x,y); printf("%c,%d,%o,%x\n",c,c,c,c); printf("%ld,%lo,%l x\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u); printf("%s,%5.3s\n","COMPUTE R","COMPUTER"); } 2.根据输入,写出下列程序的输出结果。 要求:先写出输出结 果,然后利用程序验证。 #include "stdio.h" main() { char a,*p1=&a; int b,*p 2=&b; float c,*p3=&c; a=getchar(); putchar(*p1); putchar('\t'); putchar(a>='a'&&a<='z'?a-32:a); putchar( '\n'); getchar(); scanf("%c%d%f",&a,&b,&c); printf("a=%c b=%d c=%.2f\n",a,
page 1
b,c); getchar(); scanf("a=%cb=%dc=%f",p1,p2,p3); printf("a=%d b=%c c=%.2f\ n",a,b,c); } 输入:a↙ 输出: 输入:b□65□3.1234↙ 输出: 输入:a=b□b=65 □c=3.1234↙ 输出: 实验四 分支语句 实验目的:掌握使用 if ̄else 语句和 swit ch ̄case 语句实现分支结构的方 法。 实验内容: 1.求出下面分段函数的值 x≤0 ?0 ? y= ? x 0 < x ≤ 10 ?2 x + 1 x > 10 ? 要求: (1)使用 if ̄else 语句 ( 2)x 的值从键盘输入 2.运输公司对用户计算运费。距离越远,每公里运费越低,标 准如下: s<250km 250<=s<500 500<=s<1000 1000<=s<2000 2000<=s<3000 无折扣 2 %折扣 5%折扣 8%折扣 10%折扣 3000<=s 15%折扣 设每公里每吨货物的基本运费为 p,货物重为 w,距离为 s,折扣为 d,则 总 运费计算公式为:f=p*w*s*(1-d),编写程序计算运费。 要求: (1)使用 switch ̄ case 语句。 (2)p、w、s 的值从键盘输入。 实验五 循环语句 实验目的:掌握使 用三种循环语句实现循环结构的方法。 实验内容: 1.猴子吃桃问题。猴子第一天摘 下若干个桃子,当即吃了一半另一个,以 后每天早晨都吃剩下的一半另一个,到第十 天早晨再想吃时,就剩一个桃子。问 第一天共摘了多少桃子。 要求:分别用三种语 句编写程序。 2.编写程序验证下列结论:任何一个自然数 n 的立方都等于 n 个连 续奇数 之和。例如:13=1;23=3+5;33=7+9+11。 要求:程序对每个输入的自然数计 算并输出相应的连续奇数,直到输入的 自然数为 0 时止。 实验六 编译预处理 实验 目的:掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的 概念和使用。 实验内容: 1.试分析以下宏替换后的形式,计算输出结果。 要求:先计算运行结果 ,然后利用程序验证。 #include "stdio.h" #define #define #define main() { i nt x=2; PR1(CX(5)*x); } 2.通过宏调用方式,求从 n 个数的最大值。 要求:数据 从键盘输入。 CX(y) PR(a) 2.5+y printf("%d",(int)(a)) PR1(a) PR(a); putchar('\n') 实验七 一维数组 实验目的:掌握一维数组的定义、初始化,以及一维数组元素 的下标法引 用和指针法引用。 实验内容: 1.数组 a 中存放 10 个非 0 整数,编 写程序,将数组 a 中的所有正数存放 在数组的前面,负数存放在数组的后面。 要求 : (1)数组元素值从键盘输入。 (2)用下标法和指针法两种方法。 2.将数组 a 中的 10 个元素后移 m 位,移出的 m 位顺序存放在数组的前位。 要求: (1)数 组元素值在程序中初始化。 (2)m 的值从键盘输入。 (3)用下标法和指针法两种 方法。 实验八 二维数组 实验目的:掌握二维数组的定义、初始化,以及二维数组元 素的下标法引 用和指针法引用。 实验内容: 1.有 5 名学生,每名学生有语文、数 学、物理和外语四门课的考试成绩, 编程统计各学生的总分和平均分,以及所有学生 各科的总计分和平均分。 要求: (1)成绩在程序中初始化,结果以表格的形式输出 。 (2)分别用下标法和指针法实现。 2.将 4×4 阶矩阵的 4 个最小值按升序存放 在主对角线上。 要求: (1)矩阵元素从键盘输入。 (2)分别用下标法和指针法实 现。 实验九 字符串 实验目的:掌握使用下标法和指针法处理字符串。 实验内容: 1.编写程序,将字符串中相同字符的存放在一起,并按 ASCII 码升序存放。 2.编 写程序,统计字符串 str 中含有子串 substr 的个数。 实验要求: (1)字符串从 键盘输入。 (2)分别用下标法和指针法实现。 函数的定义、 实验十 函数的定义、调用与参数传递 实验目的: 掌握函数的定 义、调用和参数的传递方式。 实验内容: 1.有两个数组 a、b,各有 10 个元素, 分别统计出两个数组对应元素大于 (a[i]>b[i])、等于(a[i]=b[i])和小于(a[i]<b[i ])的次数。 要求:通过函数调用方式,并分别使用数组元素、数组名和指针变量作函 数的参数。 2.编写程序,将一个 5×5 阶矩阵中最大元素放在中心,四个角分别放 4 个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放) 。 要求:通 过函数调用方式,wk.baidu.com分别使用数组名和指针变量作函数的参数。 实验十一 函数的嵌 套调用和递归调用 实验目的:掌握函数的嵌套调用和递归调用。 实验内容: 1.编 写程序,计算下列函数值: f(x,y)= s( x) s( y) n 其中,s(n)= ∑ p (i ) =p(1)+p(2)+…p(n),p(i)=i!。
相关文档
最新文档