C语言程序设计实验实验指导书及答案

合集下载

C语言程序设计实验指导书参考答案

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 main(){printf("The first C Program\n");}[具体操作步骤]以Turbo C 上的操作为例(1)Windows 进入后,按照第一章中介绍的方法,进入Turbo C。

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。

#include<>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<>void main(){int a=168;float b=;float x=,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%\n",b);printf("b=%e\n",b);y=(int)(x*100+/;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b==+002x=f,y=C程序代码#include<>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二顺序结构已知a=,b=,c=,计算s=-4ac的结果并输出。

C语言程序设计实验指导书课后答案Word版

C语言程序设计实验指导书课后答案Word版

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=b2 -4ac的结果并输出。

《C语言程序设计》实验指导书

《C语言程序设计》实验指导书

《C语言程序设计》实验指导书实验一熟悉C语言编程环境(2学时) (1)实验二数据类型、运算符与表达式(2学时) (3)实验三顺序结构程序设计(2学时) (4)实验四选择结构程序设计(4学时) (6)实验五循环结构程序设计(4学时) (8)实验六算法(2学时) (11)实验七数组(4学时) (13)实验八函数(4学时) (16)实验九指针操作(4学时) (19)实验十结构体操作(2学时) (21)实验十一文件操作(2学时) (22)班级:学号:姓名:实验一熟悉C语言编程环境(2学时)实验内容1.建立自己的文件夹。

在磁盘上建立一个文件夹,用于存放C程序,如D:\c_test2.编程示例,在屏幕上显示"Hello, world!"的C程序。

#include<stdio.h>void main(){printf("Hello, world!\n");}(看老师操作)3.编程题:在屏幕上输出英文名字。

4.编程题:在屏幕上显示下列图形。

5.改错题:改正下列程序中的错误,在屏幕上显示短句"Welcome to you!"#include<stdio.h>void mian(){Printf(Welcome to you!");}实验二数据类型、运算符与表达式(2学时)实验内容1 写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}2 求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.53 写出程序运行的结果。

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案上级实验参考答案#include "stdio.h"#include"math.h"int main(){ int i;double a, b;for(i=0;i<=100000;++i){a=sqrt(i+100);b=sqrt(i+168);if((int)a==ceil(a)&&(int)b==ceil(b))printf("%d\n",i);}}实验2 基本数据类型、运算和表达式一、实验目的1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

2)掌握不同的类型数据之间赋值的规。

3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运算符的使用。

4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验内容1. 变量的定义[题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。

void main(){int a, b; /*定义整型变量a 和b*/int i, j; /*定义实型变量i 和j */a=5;b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j);}[具体操作步骤]1)将代码补充完整;2)在TC 或VC++上运行通过;3)在JudgeOnline 实验系统上提交;2. 赋值表达式与赋值语句[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:void main(){ float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf("%f,%d,%d,%c,%c",a,b,c,d,e);}运行结果为:3.500000,3,330,J,\[提示]赋值语句具有类型转换的功能,但可能会改变数据。

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案
void main()
{ float f,c;
scanf("%f",&f);
c=5.0/9*(f-32);
printf("%.2f",c);
}
实验4选择结构程序设计
一、实验目的
1)了解C语言表示逻辑的方法以0代表“假”,以非0代表“真”)。
2)学会正确使用逻辑运算符和逻辑表达式。
3)熟练掌握if语句和switch语句。
上级实验参考答案#include "stdio.h"
#include"math.h"
int main()
{ int i;
double a, b;
for(i=0;i<=100000;++i)
{a=sqrt(i+100);
b=sqrt(i+168);
if((int)a==ceil(a)&&(int)b==ceil(b))
printf("%d\n
一、实验目的
1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
2)掌握不同的类型数据之间赋值的规。
3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加++)和自减--)运
算符的使用。
}
[题目1127:计算加法]
编程实现由键盘输入一个加法式,输出正确的结果。两个加数均为整数)
[第一组自测数据] [第二组自测数据]
[键盘输入] [键盘输入]
10+20↙-15+60↙
[正确输出] [正确输出]
30 45
参考程序:

《C语言程序设计》课程实验指导书

《C语言程序设计》课程实验指导书
4.编写课本88页习题6程序,查看运行结果并上交。
三、预习内容
预习教材第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语言程序设计实验指导书参考题答案

上级实验参考答案#include "stdio.h"#include"math.h"int main(){ int i;double a, b;for(i=0;i<=100000;++i){a=sqrt(i+100);b=sqrt(i+168);if((int)a==ceil(a)&&(int)b==ceil(b))printf("%d\n",i);}}实验2 基本数据类型、运算和表达式一、实验目的1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

2)掌握不同的类型数据之间赋值的规。

3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加 ++ )和自减 --)运算符的使用。

4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验内容1. 变量的定义[题目1117:变量定义,按要求完成程序]下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。

void main(){int a, b; /*定义整型变量a 和b*/int i, j; /*定义实型变量i 和j */a=5;b=6;i=3.14;j=i*a*b;printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j);}[具体操作步骤]1)将代码补充完整;2)在TC 或VC++上运行通过;3)在JudgeOnline 实验系统上提交;2. 赋值表达式与赋值语句[题目1118:赋值表达式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果:void main(){ float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e='\\';printf("%f,%d,%d,%c,%c", a,b,c,d,e);}运行结果为:3.500000,3,330,J,\[提示]赋值语句具有类型转换的功能,但可能会改变数据。

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++调试环境;2. 掌握C程序的编辑、调试及运行;二、实验内容项目1. 调试并运行下面程序,并写出运行结果:include <>int main{printf“Good morning\n”;printf“Hello,world\n”;return 0;}运行结果注意,按照屏幕输出格式写:项目2. 调试并运行下面程序,并写出运行结果:include <>int main{int a , b , sum; /定义变量/a=23; b=56; /为变量赋值/sum=a+b; /计算两个变量的和/printf“sum is %d\n”,sum; /输出计算结果/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:include <>int maxint,int;int main{int a , b , c; /定义变量/a=23; b=56; /为变量赋值/c=maxa,b; /调用max函数,将得到的值赋给c/ printf“max is %d\n”,c; /输出c的值/return 0;}int maxint x,int y /定义max函数,函数值为整型/ {int z; /定义变量/ifx>yz=x;elsez=y;returnz; /将z的值返回/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写;程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法;2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法;3. 熟悉运算符的优先级和结合性的概念;4. 学习简单程序的编写方法;二、实验内容项目1. 编辑运行下面程序,并分析运行结果;include<>int main{int m,a,b,c,d,e; /定义整型变量/printf“please input a data:m=”;scanf“%d”,&m;/从键盘输入一个整数/a=m+1;b=m-2;c=m3;d=m/4;e=m%5;printf“a=m+1;a=%d\n”,a;printf“b=m-2;b=%d\n”,b;printf“c=m3;c=%d\n”,c;printf“d=m/4;d=%d\n”,d;printf“e=m%%5;e=%d\n”,e;return 0;}运行结果:项目2. 编辑运行下面程序,并分析运行结果;include<>int main{float m,n,s;printf“m=”;scanf“%f”,&m;/输入矩形的边长/printf“n=”;scanf“%f”,&n;/输入矩形的边长/s=mn; /计算矩形的面积/printfs=%f\n”,s;/输出矩形的面积/return 0;}1输入24和5,运行结果:2输入-24和5,运行结果:分析结果是否正确3对上面程序进行修改,当输入一个非法的边长负数或零,会给出提示而不计算矩形的面积;输入-24和5,运行结果:项目3. 先阅读程序,并写出结果,再运行程序并分析结果;include<>int main{int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=++i;选做根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序;注意判断圆半径r是否大于零;程序代码和运行结果可写在指导书背面实验三程序控制结构选择班级学号姓名成绩项目1.三角形成立条件判断及面积计算项目任务输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”;项目说明C语言实现选择结构筑要用if语句,按照判断所给定的条件是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习分支语句if的使用方法;3进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具;项目要点1已知三边求三角形面积的公式:p=a+b+c/2 s= sqrtpp-a p-b p-c2已知三边能围成三角形的条件是:任意两边之和大于第三边;3C语言中求平方根的函数是sqrtdouble x,该函数在头文件中;4if语句中“表达式”必须用“”和“”括起来,它的值为逻辑值;除常见的关系表达式或逻辑表达式外,也允许是其他类型的数据,如整型、实型、字符型等;5else子句可选是if语句的一部分,必须与if配对使用,不能单独使用;程序代码:运行结果:项目2. 百分制成绩转换为成绩等级项目任务输入一个百分制成绩,输出对应的等级;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习多switch分支选择语句的使用方法;项目要点解决本项目的关键是如何将输入的百分制成绩与case 常量联系起来,不难想到将百分制成绩用score 表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a ’,8对应‘b ‘,……,5、4、3、2、1、0对应’e ’既不及格; 程序代码:运行结果:项目3.选做⎝⎛<--=>+=0100012x x x x x y ;程序代码和运行结果可写在指导书背面实验四程序控制结构循环班级学号姓名成绩项目1:使用循环结构实现重复处理项目说明从键盘输入一个班的成绩,把百分制转换成等级制;将百分制成绩用score表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格;要求分别使用三种循环结构实现;该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束;该项目中,同时要使用switch语句实现多分支选择结构;项目目的1掌握用while语句和do…while语句实现循环的方法;2掌握用for语句实现循环的方法;3掌握三种语句的特点和应用技巧;4掌握用break语句和continue语句改变循环状态的方法;项目内容1、用while语句实现的程序代码:2、用do…while和break语句实现的程序代码:3、用do…while和continue语句实现的程序代码:4、用for语句实现的程序代码:项目2.选做求101!nn =∑即求1!2!3!10!++++程序代码和运行结果可写在指导书背面实验五数组班级学号姓名成绩项目1.冒泡排序法项目说明输入10个数,用“冒泡法”对10个数排序由小到大;冒泡法的基本思想:通过相邻两个数之间的比较和交换,使数值较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部;就像水底的气泡一样逐渐向上冒,故而得名;项目目的1掌握冒泡排序算法的编程;2掌握与数组有关的算法;程序代码:运行结果:项目2.字符统计项目说明有一篇文章,共有3行文字,每行80个字符;要求分别统计出其中英文字母和数字的个数;项目目的1掌握键盘输入字符串方法;2掌握二维数组的处理方法;技术要点13行文字可定义一个二维字符数组来表示;2使用gets 函数对字符串进行输入;程序代码:include <>int main{int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for i=0;i<3;i++{ printf"please input line %d:\n",i+1;getstexti;for j=0;j<80 && textij='\0';j++{if textij>='A'&& textij<='Z'upp++;else if textij>='a' && textij<='z'low++;else if textij>='0' && textij<='9'dig++;else if textij==' 'spa++;elseoth++;}}printf"\nupper case: %d\n",upp;printf"lower case: %d\n",low;printf"digit : %d\n",dig;printf"space : %d\n",spa;printf"other : %d\n",oth;return 0;}运行结果:项目3.选做在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点;要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来; 程序代码和运行结果可写在指导书背面实验六函数班级学号姓名成绩项目1:使用函数实现对二维数组转置;项目说明写一个函数,使给定的33的二维整型数组转置,即行列互换;要求输出转换之前和转换之后的结果; 项目目的1掌握函数的定义和调用;2掌握二维数组名作为函数的参数的使用技巧;技术要点1使用二重循环对二维数组进行输入,处理和输出;2二维数组名作为函数的参数,定义函数需要给出第二维的大小;程序代码:运行结果:项目2:使用函数实现成绩处理项目说明输入3个学生4门课的成绩,分别用函数实现以下功能:1计算每个学生的平均分;2计算每门课的平均分;3找出12个分数中最高分数所对应的学生和课程;项目目的1掌握函数的定义和调用;2掌握全局变量的使用;技术要点学生成绩可定义成全局的二维数组,这样自定义函数可以直接使用,而不需要进行参数的传递; 程序代码:运行结果:项目3.选做求101!nn =∑即求1!2!3!10!++++阶乘要求使用递归函数来实现,程序代码和运行结果可写在指导书背面实验七指针班级学号姓名成绩项目1.使用指针参数交换两个变量值项目说明用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积;要求用指针变量作为函数参数;项目目的1熟悉如何定义指针变量,掌握将指针变量作为函数参数的方法;2掌握通过指针参数由被调函数向主调函数传递多个值的方法;技术要点由于变量的值始终存放在内存单元中,因此,要交换两个变量的值,只需交换这两个变量对应的存储单元的值即可,这就需要知道两个变量的地址;也就是说,需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元,即传递的参数是内存单元的地址,而不是内存单元中的值;程序代码:运行结果:项目2. 数组的排序和的插入项目目的1熟悉如何定义指针变量,掌握将指针变量指向一维数组元素的方法;2掌握如何对数组进行排序;3掌握如何在一个有序的数列中查找合适的位置;4掌握如何将一个数插入到一个有序数列中;技术要点1排序可采用冒泡法或者选择法;2有序数组中插入一个数的关键是找到该数据插入的位置,然后将插入位置及其后的所有元素均后移一位,在空出的位置放入待插入的数据;例如,在13、27、38、49、65、76、97 这列有序数据中插入53 这个数,成为新的有序数列13、27、38、49、53、65、76、97;4定义数组时多开辟一个存储单元,用于存放待插入的数据;程序代码:运行结果:项目3.选做程序代码和运行结果可写在指导书背面编写函数 int findint p,int n,int x,在指针 p 所指的数组中查找整型数 x,如果 x 在数组中,则该函数返回 1,否则返回 0;n 为数组的大小;编写主函数测试之;。

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100 #include<> int main(void) {

int i,a; for(i=1;i<=10;i++)
{ a=i*i; printf("%d*%d=%d\n",i,i,i*i);
} return 0; }
^
}
输入两个数 a 和 b,将两数的值互换后输出新值。 #include <> void main() { int x,y,t;

scanf("%d%d",&x,&y); t=x; x=y; y=t; printf("x=%d,y=%d\n",x,y); }
简单分支结构
输入两个整数,求出其中的较小值输出。 #include<>

{ ch=getchar(); if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='z')) letter++; else if(ch==' '||ch=='\n') space++; else if(ch>='0'&&ch<='9') digiter++; else other++;
程序输出结果: a=168
|
a=168 b==+002 x=f,y=

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案
y=x*x; else
y=x*x*x; printf("y=f(%f)=%f\n",x,y); } 2.2.5 输入三个整数,用 if-else 结构求出其中的最大值。提示:首先求出两个数 的较大值放在一个变量里,然后用这个变量与第三个数再进行一次比较。 #include<stdio、h> int main() { int a,b,c,max; printf("请输入三个数"); scanf("%d,%d,%d",&a,&b,&c); if(a>b)
C 语言程序设计实验指导书课后答案
均分。 #include <stdio、h> void main() { int math,english,c_program; float sum ,average; printf("input math,english,c_program:"); scanf("%d,%d,%d",&math,&english,&c_program); sum=math+english+c_program; average=sum/3; printf("sum=%、0f,average=%、5f",sum,average); }
{ item=flag*(2*i-1)/(3*i-2); sum=sum+item; flag=-flag;
} printf("%f\n",sum); }
实验三
3、1、1 输入一个整数 x,判定就是否为 5 的倍数。 #include<stdio、h>
int main(void)

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1、熟悉C语言Visual C++6、0调试环境。

2、掌握C程序的编辑、调试及运行。

二、实验内容项目1、调试并运行下面程序,并写出运行结果:#include <stdio、h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2、调试并运行下面程序,并写出运行结果:#include <stdio、h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的与*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:项目3、调试并运行下面程序,并写出运行结果:#include <stdio、h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1、试想,如果求10个数中的最大者,则程序该如何编写。

程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1、掌握C数据类型的概念、熟悉整型、字符型与实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值与使用方法。

2、掌握算术表达式、关系表达式及逻辑表达式的特点及用法。

3、熟悉运算符的优先级与结合性的概念。

4、学习简单程序的编写方法。

二、实验内容项目1、编辑运行下面程序,并分析运行结果。

#include<stdio、h>int main(){int m,a,b,c,d,e; /*定义整型变量*/printf(“please input a data:m=”);scanf(“%d”,&m);/*从键盘输入一个整数*/ a=m+1;b=m-2;c=m*3;d=m/4;e=m%5;printf(“a=m+1;a=%d\n”,a);printf(“b=m-2;b=%d\n”,b);printf(“c=m*3;c=%d\n”,c);printf(“d=m/4;d=%d\n”,d);printf(“e=m%%5;e=%d\n”,e);return 0;}运行结果:项目2、编辑运行下面程序,并分析运行结果。

#include<stdio、h>int main(){float m,n,s;printf(“m=”);scanf(“%f”,&m);/*输入矩形的边长*/printf(“n=”);scanf(“%f”,&n);/*输入矩形的边长*/s=m*n; /*计算矩形的面积*/printf(s=%f\n”,s);/*输出矩形的面积*/return 0;}(1)输入24与5,运行结果:(2)输入-24与5,运行结果:分析结果就是否正确?(3)对上面程序进行修改,当输入一个非法的边长(负数或零),会给出提示而不计算矩形的面积。

输入-24与5,运行结果:项目3、先阅读程序,并写出结果,再运行程序并分析结果。

#include<stdio、h>int main(){int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=++i; //m=9,i=9n=j++; //n=10,j=11;p+=i++;//p=p+i++;//p=9,i=10q-=--j; //q=q-(--j);//q=-10,j=10x+=m+10; //x=x+( m+10)//x=20,y=p==q; //y=0printf(“i=%d,j=%d,m=%d,n=%d,p=%d,q=%d,x=%d,y=%d”,i,j,m,n,p,q,x,y);return 0;}分析结果:i=__10___;j=__10___;m=___9__;n=__10___;p=__9___;q=__-10___;x=__20___;y=__0___运行结果:项目4、(选做)根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L与圆面积S的程序。

注意判断圆半径r就是否大于零。

(程序代码与运行结果可写在指导书背面)实验三程序控制结构(选择)班级学号姓名成绩项目1、三角形成立条件判断及面积计算【项目任务】输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”。

【项目说明】C语言实现选择结构筑要用if语句,按照判断所给定的条件就是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一。

【项目目的】(1)正确使用关系表达式与逻辑表达式表达条件。

(2)学习分支语句if的使用方法。

(3)进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具。

【项目要点】(1)已知三边求三角形面积的公式:p=(a+b+c)/2 s= sqrt(p*(p-a)*( p-b)*( p-c))(2)已知三边能围成三角形的条件就是:任意两边之与大于第三边。

(3)C语言中求平方根的函数就是sqrt(double x),该函数在math、h头文件中。

(4)if语句中“表达式”必须用“(”与“)”括起来,它的值为逻辑值。

除常见的关系表达式或逻辑表达式外,也允许就是其她类型的数据,如整型、实型、字符型等。

(5)else子句(可选)就是if语句的一部分,必须与if配对使用,不能单独使用。

程序代码:运行结果:项目2、百分制成绩转换为成绩等级【项目任务】输入一个百分制成绩,输出对应的等级。

【项目目的】(1)正确使用关系表达式与逻辑表达式表达条件。

(2)学习多switch 分支选择语句的使用方法。

【项目要点】解决本项目的关键就是如何将输入的百分制成绩与case 常量联系起来,不难想到将百分制成绩(用score 表示)除以10之后再取整,一定得到0到10之间的数。

9、10对应’a ’,8对应‘b ‘,……,5、4、3、2、1、0对应’e ’既不及格。

程序代码:运行结果:项目3、选做⎝⎛<--=>+=0100012x x x x x y 。

(程序代码与运行结果可写在指导书背面)实验四程序控制结构(循环)班级学号姓名成绩项目1:使用循环结构实现重复处理【项目说明】从键盘输入一个班的成绩,把百分制转换成等级制。

将百分制成绩(用score表示)除以10之后再取整,一定得到0到10之间的数。

9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格。

要求分别使用三种循环结构实现。

该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束。

该项目中,同时要使用switch语句实现多分支选择结构。

【项目目的】(1)掌握用while语句与do…while语句实现循环的方法。

(2)掌握用for语句实现循环的方法。

(3)掌握三种语句的特点与应用技巧。

(4)掌握用break语句与continue语句改变循环状态的方法。

【项目内容】1、用while语句实现的程序代码:2、用do…while与break语句实现的程序代码:3、用do…while与continue语句实现的程序代码:4、用for语句实现的程序代码:项目2、(选做)求101!nn =∑(即求1!2!3!10!++++)(程序代码与运行结果可写在指导书背面)实验五数组班级学号姓名成绩项目1、冒泡排序法【项目说明】输入10个数,用“冒泡法”对10个数排序(由小到大)。

冒泡法的基本思想:通过相邻两个数之间的比较与交换,使(数值)较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部。

就像水底的气泡一样逐渐向上冒,故而得名。

【项目目的】(1)掌握冒泡排序算法的编程。

(2)掌握与数组有关的算法。

程序代码:运行结果:项目2、字符统计【项目说明】有一篇文章,共有3行文字,每行80个字符。

要求分别统计出其中英文字母与数字的个数。

【项目目的】(1)掌握键盘输入字符串方法。

(2)掌握二维数组的处理方法。

【技术要点】(1)3行文字可定义一个二维字符数组来表示。

(2)使用gets( ) 函数对字符串进行输入。

程序代码:#include <stdio、h>int main(){int i,j,upp,low,dig,spa,oth;char text[3][80];upp=low=dig=spa=oth=0;for (i=0;i<3;i++){ printf("please input line %d:\n",i+1);gets(text[i]);for (j=0;j<80 && text[i][j]!='\0';j++){if (text[i][j]>='A'&& text[i][j]<='Z')upp++;else if (text[i][j]>='a' && text[i][j]<='z')low++;else if (text[i][j]>='0' && text[i][j]<='9')dig++;else if (text[i][j]==' ')spa++;elseoth++;}}printf("\nupper case: %d\n",upp);printf("lower case: %d\n",low);printf("digit : %d\n",dig);printf("space : %d\n",spa);printf("other : %d\n",oth);return 0;}运行结果:项目3、(选做)在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点。

相关文档
最新文档