TP-5884.0101C语言程序设计实训教程习题和实验解答
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf(“%d,%d,%d”,&a,&b,&c);
sum=a+b+c;
printf(“sum is : %d\n”,sum);
}
2.3顺序结构程序设计
【习题解答】
一、选择题
1. B2. C3. A4.A5.D6.B
二、填空题
1. y=2
2.□□6□□6□6.00□6.00(□表示空格)
3. k=11,k8=13,k16=b。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
对于程序设计人员,必须会设计算法,并根据算法写出程序。可以用自然语言、流程图、伪代码和计算机语言表示算法。
3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。
else
if(n<1000)printf("3\n");
else
printf("4\n");
}
2)给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分及以上为’A’,80~89为’B’,70~79为’C’,60~69为’D’,60以下为’E’。用switch语句来实现。
s=3.14*r*r;
printf("l=%.2f,s=%.2f,v=%.2f",l,s);
}
2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
#include <stdio.h>
void main()
{
int a,b,c,d;
scanf("%d",&a);
b=a/100;
c=a/10%10;
⑤出错
⑥304 321
0 A
7.编写一个C程序,输入a,b,c三个整数,求这三个数之和。
具体要求:
1)在Turbo C环境或其他编译环境下编辑该程序,然后进行编译连接。
2)运行该程序,检查你所编写的程序是否正确。
#include <stdio.h>
void main()
{
int a,b,c,sum;
putchar(a);
putchar(b);
printf("\n%c%c",a,b);
}
2.4选择结构程序设计
【习题解答】
一、选择题
1. A。2. D。3. A。4. B。5. C。6. A。
二、填空题
1. (x>20&&x<30)||x<-100。
2. 1,0,0。
3. 585858。
4. 20,0。
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
l=a+b+c;
printf("l=%f\n",l);
}
else
printf("It is not triangle!\n");
}
3.从键盘上输入一个整数判断其奇偶以及正负。
#include "stdio.h"
void main()
{
int a;
scanf(“%d,%d”,&a,&b);
c=a/b;
d=a%b;
printf(“%d,%d”,c,d);
}
3.输入三个学生的成绩,求这三个学生的总成绩和平均成绩。
#include <stdio.h>
void main()
{
int a,b,c,sum;
float average;
printf(“please input students’score:”);
if(b*b-4*a*c>0) printf("2");
else if(b*b-4*a*c==0) printf("1");
else printf("0");
}
5.从键盘输入表示年份的整数,判断是否为闰年。
#include "stdio.h"
void main()
{
int year;
scanf("%d",&year);
else
printf("It is MINUS odd number");
}
else
printf("It is ZERO");
}
4.判断方程ax2+bx+c=0的根的个数。
#include "stdio.h"
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
4. !
□□□!
□□□□□□□□□□ahpu
ahpu□□□□□□□□□□□
5. 5,4,c=3
6. i=56,j=789.000000,x=12345.000000,y=a,c=72
三、编程题
1.已知x=3.2,y=7,z=2,计算y/3*x-2的值。
#include<stdio.h>
{
int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
scanf("%d",&a);
if(a>0)
{
if(a%2==0) printf("It is PLUS even number");
else
printf("It is PLUS odd number");
}
else if(a<0)
{
if(a%2==0) printf("It is MINUS even number");
a=(int)b;
c=b-a;
printf("%.2f=%d+%.2f",b,a,c);
}
4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两字符。
#include <stdio.h>
void main()
{
char a,b;
a=getchar();
b=getchar();
5. 2。
6.a=3,b=2。
三、编程题
1.要求输入三个数,输出其中最大值。
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)max=b;
if(max<c)max=c;
printf("max is:%d\n",max);
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
d=a%10;
printf("%d %d %d",b,c,d);
}
3)从键盘输入一个带2位的实数,将其整数部分和小数部分分离后输出。例如:输入321.54,输出321.54=321+0.54。
#include <stdio.h>
void main()
{
int a;
float b,c;
scanf("%f",&b);
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;
printf("please input a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
void main()
{
float x=3.2;
int y=7,z=2;
printf(“%f”,y/3*x-2);
}
2.输入一个华氏温度,要求输出摄氏温度(结果保留2位)。公式为c=5/9*(f-32)。
#include <stdio.h>
void main()
{
float f,c;
scanf(“%f”,&f);
#include<stdio.h>
void main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
printf("Error!");
else
{
score=score/10;
switch(score)
{
case 10:
case 9:printf("A\n");break;
scanf(“%d,%d,%d”,&a,&b,&c);
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
c=5.0/9*(f-32);
printf(“c=%.2f”,c);
}
3.从键盘输入一个小写字母,用大写形式输出该字母。
#include <stdio.h>
void main()
{
char a,b;
printf(“please input a little letter:”);
scanf("%c",&a);
b=a-32;
printf("%c",b);
}
4.把16进制数12a以10进制形式输出。
#include <stdio.h>
void main()
{
int a=0x12a;
printf("%d",a);
}
5.输入两个整数,将其值交换。
#include <stdio.h>
void main()
{
int a,b,t;
scanf("a=%d,b=%d",&a,&b);
t=a;
a=b;
b=t;
printf("a=%d,b=%d",a,b);
}
【实验解答】
实验顺序结构程序设计
1.②结果为0,因为a,b被定义为实型,而却以整型输入,类型不匹配。
2.错误之处:s=3/(a+b)*(a+b);应改为:s=3.0/((a+b)*(a+b));
C语言程序设计实训教程习题和实验解答
2.1C语言概述
【习题解答】
1结构化ห้องสมุดไป่ตู้序有三大基本结构:顺序、分支和循环.
2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。。
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
if((year%400==0)||(year%4==0&&year%100!=0))
printf("It is runnian");
else
printf("It is not runnian");
}
【实验解答】
实验名称选择结构程序设计
1.if(‘0’<=c&&c<=’9’)
if((‘A’<=c&&c<=’Z’)||(’a’<=c&&c<=’z’))
else
2.编程并上机调试运行
1)给出一个不多于4位的正整数,求它是几位数?
#include<stdio.h>
void main()
{
int n;
printf("Input a num(0<num<10000)");
scanf("%d",&n);
if(n<10)printf("1\n");
else
if(n<100)printf("2\n");
#include <stdio.h>
void main()
{
float r=1.5,volume;
volume=4.0/3*r*r*r;
printf(“%f\n”,volume);
}
2.输入两个数a和b,求a除以b的商和余数?
#include <stdio.h>
void main()
{
int a,b,c,d;
4.用传统流程图表达如下:
2.2数据类型与表达式
【习题解答】
一、选择题
1.C 2.B 3.A 4.B 5.A 6.B 7.D 8.B 9.D 10.C
二、填空题
1.整型、实型、字符型、枚举类型
2.3.000000
3.逗号运算符
4.三,自右向左
5.1,0
6.32767
三、编程题
1.已知球的半径为1.5cm,计算球的体积。
void main()
{
int a,b ,c;
a=b=5 ;
c=a+b ;
printf(“a+b=%d”,c) ;
sum=a+b+c;
printf(“sum is : %d\n”,sum);
}
2.3顺序结构程序设计
【习题解答】
一、选择题
1. B2. C3. A4.A5.D6.B
二、填空题
1. y=2
2.□□6□□6□6.00□6.00(□表示空格)
3. k=11,k8=13,k16=b。
确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的,有零个或多个输入输出,有一个或多个输出。
有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。
对于程序设计人员,必须会设计算法,并根据算法写出程序。可以用自然语言、流程图、伪代码和计算机语言表示算法。
3.C语言的主要特点有:语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字;控制语句丰富,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;运算符丰富,共有34种;数据结构类型丰富;具有结构化的控制语句;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言;生成目标代码质量高,程序执行效率高;与汇编语言相比,用C语言写的程序可移植性好。
else
if(n<1000)printf("3\n");
else
printf("4\n");
}
2)给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分及以上为’A’,80~89为’B’,70~79为’C’,60~69为’D’,60以下为’E’。用switch语句来实现。
s=3.14*r*r;
printf("l=%.2f,s=%.2f,v=%.2f",l,s);
}
2)输入一个3位十进制整数,分别输出百位、十位以及个位上的数。
#include <stdio.h>
void main()
{
int a,b,c,d;
scanf("%d",&a);
b=a/100;
c=a/10%10;
⑤出错
⑥304 321
0 A
7.编写一个C程序,输入a,b,c三个整数,求这三个数之和。
具体要求:
1)在Turbo C环境或其他编译环境下编辑该程序,然后进行编译连接。
2)运行该程序,检查你所编写的程序是否正确。
#include <stdio.h>
void main()
{
int a,b,c,sum;
putchar(a);
putchar(b);
printf("\n%c%c",a,b);
}
2.4选择结构程序设计
【习题解答】
一、选择题
1. A。2. D。3. A。4. B。5. C。6. A。
二、填空题
1. (x>20&&x<30)||x<-100。
2. 1,0,0。
3. 585858。
4. 20,0。
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
l=a+b+c;
printf("l=%f\n",l);
}
else
printf("It is not triangle!\n");
}
3.从键盘上输入一个整数判断其奇偶以及正负。
#include "stdio.h"
void main()
{
int a;
scanf(“%d,%d”,&a,&b);
c=a/b;
d=a%b;
printf(“%d,%d”,c,d);
}
3.输入三个学生的成绩,求这三个学生的总成绩和平均成绩。
#include <stdio.h>
void main()
{
int a,b,c,sum;
float average;
printf(“please input students’score:”);
if(b*b-4*a*c>0) printf("2");
else if(b*b-4*a*c==0) printf("1");
else printf("0");
}
5.从键盘输入表示年份的整数,判断是否为闰年。
#include "stdio.h"
void main()
{
int year;
scanf("%d",&year);
else
printf("It is MINUS odd number");
}
else
printf("It is ZERO");
}
4.判断方程ax2+bx+c=0的根的个数。
#include "stdio.h"
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
case 8:printf("B\n");break;
case 7:printf("C\n");break;
case 6:printf("D\n");break;
default:printf("E\n");
}
}
}
3)输入四个数,要求按从大到小顺序输出。
#include<stdio.h>
void main()
4. !
□□□!
□□□□□□□□□□ahpu
ahpu□□□□□□□□□□□
5. 5,4,c=3
6. i=56,j=789.000000,x=12345.000000,y=a,c=72
三、编程题
1.已知x=3.2,y=7,z=2,计算y/3*x-2的值。
#include<stdio.h>
{
int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
scanf("%d",&a);
if(a>0)
{
if(a%2==0) printf("It is PLUS even number");
else
printf("It is PLUS odd number");
}
else if(a<0)
{
if(a%2==0) printf("It is MINUS even number");
a=(int)b;
c=b-a;
printf("%.2f=%d+%.2f",b,a,c);
}
4)用getchar函数读入两个字符,然后分别用putchar和printf函数输出这两字符。
#include <stdio.h>
void main()
{
char a,b;
a=getchar();
b=getchar();
5. 2。
6.a=3,b=2。
三、编程题
1.要求输入三个数,输出其中最大值。
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)max=b;
if(max<c)max=c;
printf("max is:%d\n",max);
3.运行结果-1,177777,ffff,65535
b=-2
4.编程并上机调试运行
1)设圆半径为r=1.5,求圆周长、面积。要求用scanf函数输入数据,输出时取小数点后两位。
#include <stdio.h>
void main()
{
float r,l,s,v;
scanf("%f",&r);
l=2*3.14*r;
d=a%10;
printf("%d %d %d",b,c,d);
}
3)从键盘输入一个带2位的实数,将其整数部分和小数部分分离后输出。例如:输入321.54,输出321.54=321+0.54。
#include <stdio.h>
void main()
{
int a;
float b,c;
scanf("%f",&b);
}
2.由键盘输入3个数,若输入的这3个数可以构成三角形,则计算以这3个数为边长的三角形周长;如果不能,则输出提示错误信息。
#include <stdio.h>
void main()
{
float a,b,c,l;
printf("please input a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
void main()
{
float x=3.2;
int y=7,z=2;
printf(“%f”,y/3*x-2);
}
2.输入一个华氏温度,要求输出摄氏温度(结果保留2位)。公式为c=5/9*(f-32)。
#include <stdio.h>
void main()
{
float f,c;
scanf(“%f”,&f);
#include<stdio.h>
void main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
printf("Error!");
else
{
score=score/10;
switch(score)
{
case 10:
case 9:printf("A\n");break;
scanf(“%d,%d,%d”,&a,&b,&c);
sum=a+b+c;
average=sum/3.0;
printf(“sum=%d,average=%f\n”,sum,average);
}
【实验解答】
1.c=10
2.①程序功能为输入两个数,求两数的差
②c=10
3.#include<stdio.h>
c=5.0/9*(f-32);
printf(“c=%.2f”,c);
}
3.从键盘输入一个小写字母,用大写形式输出该字母。
#include <stdio.h>
void main()
{
char a,b;
printf(“please input a little letter:”);
scanf("%c",&a);
b=a-32;
printf("%c",b);
}
4.把16进制数12a以10进制形式输出。
#include <stdio.h>
void main()
{
int a=0x12a;
printf("%d",a);
}
5.输入两个整数,将其值交换。
#include <stdio.h>
void main()
{
int a,b,t;
scanf("a=%d,b=%d",&a,&b);
t=a;
a=b;
b=t;
printf("a=%d,b=%d",a,b);
}
【实验解答】
实验顺序结构程序设计
1.②结果为0,因为a,b被定义为实型,而却以整型输入,类型不匹配。
2.错误之处:s=3/(a+b)*(a+b);应改为:s=3.0/((a+b)*(a+b));
C语言程序设计实训教程习题和实验解答
2.1C语言概述
【习题解答】
1结构化ห้องสมุดไป่ตู้序有三大基本结构:顺序、分支和循环.
2..算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。。
有穷性:一个算法应包含有限的操作步骤而不能是无限的。
if((year%400==0)||(year%4==0&&year%100!=0))
printf("It is runnian");
else
printf("It is not runnian");
}
【实验解答】
实验名称选择结构程序设计
1.if(‘0’<=c&&c<=’9’)
if((‘A’<=c&&c<=’Z’)||(’a’<=c&&c<=’z’))
else
2.编程并上机调试运行
1)给出一个不多于4位的正整数,求它是几位数?
#include<stdio.h>
void main()
{
int n;
printf("Input a num(0<num<10000)");
scanf("%d",&n);
if(n<10)printf("1\n");
else
if(n<100)printf("2\n");
#include <stdio.h>
void main()
{
float r=1.5,volume;
volume=4.0/3*r*r*r;
printf(“%f\n”,volume);
}
2.输入两个数a和b,求a除以b的商和余数?
#include <stdio.h>
void main()
{
int a,b,c,d;
4.用传统流程图表达如下:
2.2数据类型与表达式
【习题解答】
一、选择题
1.C 2.B 3.A 4.B 5.A 6.B 7.D 8.B 9.D 10.C
二、填空题
1.整型、实型、字符型、枚举类型
2.3.000000
3.逗号运算符
4.三,自右向左
5.1,0
6.32767
三、编程题
1.已知球的半径为1.5cm,计算球的体积。
void main()
{
int a,b ,c;
a=b=5 ;
c=a+b ;
printf(“a+b=%d”,c) ;