c语言实验习题
C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。
C语言程序设计实验与习题(1-4)

ffB v vbvv bgbb实验一C程序运行环境及简单程序的运行2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp#include <stdio.h>void main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。
#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输入三个整数a、b、c,显示出其中的最大值。
4.分析与总结⑴总结C程序的结构和书写规则。
⑵阅读:附件1-C语言程序的跟踪调试。
特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。
12习题一一、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B二、综合题绘制NS 算法流程图。
(1)输入10个数,求其中的最大值。
(2)输入3个数,将它们升序排列输出。
(3)输入2个数,求它们的最大公约数。
(4)输入一元二次方程的系数a 、b 、c ,判断其根。
实验二顺序结构程序设计1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。
⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。
C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。
解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。
因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。
8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。
请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。
解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。
c语言实验习题及答案详解

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=0.5;b=(int)b;d=b/1000;printf("输出现在的数:%.3lf\n0",d);}b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30)#include<stdio.h>main(){int n,sum=0,i,t;printf("请输入一个四位整数:\n");scanf("%d",&n);for(i=0;i<4;i++){t=n%10;n/=10;sum+=t*t;}printf("%d\n",sum);}c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;#include<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>main(){int i;for(i=65;i<91;i++){printf("%c",i);printf("%c",i+32);}printf("\n");}e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次#include<stdio.h>main(){double f1,f2;f1=10e-30;f2=10e30;printf("%lf\n%lf\n",f1,f2);}f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;#include<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。
C语言课后实验设计题目及答案

C语⾔课后实验设计题⽬及答案C语⾔实验题⽬及答案1、实验项⽬⼀ C程序的编辑、编译、连接和运⾏题⽬:编写程序,要求屏幕上显⽰如下信息:***********************This is a C program .***********************程序:#includevoid main(){printf(“***********************\n”);printf(“This is a C programn .\n”);printf(“***********************\n”);}实验项⽬⼆数据类型、运算符、表达式题⽬(1)程序填空:输⼊1 个实数x,计算并输出其平⽅根(保留1 位⼩数)。
填空1.double x,root;2.root=sqrt(x);(2)输⼊⼀个⼤写英⽂字母,输出相应的⼩写字母。
填空1.ch=ch+32;1、#include "stdafx.h"#include "stdio.h"#include "math.h"int main(int argc, char* argv[]){printf("This is a Cprogram\n");return 0;}#include "math.h"int main(int argc, char* argv[]) {double x;printf("x=");scanf("%lf",&x);printf("%lf\n",sqrt(x));return 0;}2、实验项⽬三顺序结构程序设计题⽬(1)编写程序,输⼊三⾓形的三边长a、b、c,求三⾓形⾯积area。
(2)设圆半径r=1.5,圆柱⾼h=3,求圆周长、圆⾯积、圆球表⾯积、圆球体积、圆柱体积。
C语言实验题及参考答案

实验一1、计算整数各位数字之和(10 分)输入一个3位正整数,将其每一位的数字相加,输出和。
输入格式:输入一个3位正整数。
变量数据类型为unsigned。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include ""int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double。
π为。
输出格式:输出y的值,精确到小数点后2位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x);y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
比如输入700,输出应该是7。
输入格式:每个测试是一个3位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值(10 分)本题要求编写程序,计算4个整数的和与平均值。
C语言程序设计练习题(答案)

四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。
1.(1)Void应为void;(2)INT应为int;(3)“/* COMPUTE RESULT”后缺少“*/”;(4)“printf ("The answer is %i\n" sum);”应为“printf ("The answer is %d\n" ,sum);”
①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。如图1-2所示
图1-2选择新建
②在弹出的新建对话框中设置好相应的内容,如图2-2所示。要事先准备好保存文件的目录,例d:\lx目录。在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C语言程序的扩展名“.c”。设置好后,单击“OK”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c文件存放在D盘的LX目录下。
int main (void)
{
printf ("This is my first C program.\nAnd programming in C is even more fun.\n");
return 0;
}
实验4(1)计算33+56的和。
解题思路:将例1.2中变量值改为33与56代码如下:
#include <stdio.h>
int main( )
{int a,b,c;
a=2;b=3;
C=a+b;错误:C未定义
printf(“%d+%d=%d\n”,a,b,c);
return 0;
}
运行结果:2+3=5
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||码是:97实用文档B 程序代码#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=168实用文档b=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语言实验习题7-1 输出图形(10 分)编写程序输出图形。
第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$输入样例:输出样例:代码:#include <stdio.h>int main(){printf("$$$$$$$$$$$$\n"" hello!\n”"$$$$$$$$$$$$\n");return 0 ;}7-5 计算华氏温度(5 分)本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。
计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
输入格式:本题目没有输入。
输出格式:按照下列格式输出代码:#include 〈stdio。
h>int main(){int f;int c;c=26;f=9*c/5+32;printf(”celsius = 26, fahr = %d”,f);return 0 ;}7-9 逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
比如输入700,输出应该是7。
输入格式:每个测试是一个3位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:代码:#include <stdio。
h〉int main(){int n,a,b,c;scanf(”%d”,&n);a=n/100;b=n/10—a*10;c=n—a*100—b*10;int d;d=a+b*10+c*100;printf("%d",d);return 0 ;}7—10 整数四则运算(10 分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内。
输入格式:输入在一行中给出2个正整数A和B。
输出格式:在4行中按照格式“A 运算符 B = 结果"顺序输出和、差、积、商。
C语言实验2-6参考答案

实验二参考答案1.输入两个整型数字,输出他们的和。
#include<stdio.h>main(){int a, b, sum;scanf(“%d%d ”, &a, &b);sum=a+b;printf(“a+b=%d ”, sum);}2.输入两个实型数,输出他们的和与乘积。
#include<stdio.h>main(){float a, b, sum, product;scanf(“%f%f ”, &a, &b);sum=a+b;product=a*b;printf(“a+b=%5.2f, a*b =%5.2f ”, sum, product);}3.求方程02=++c bx ax 的根(设042≥-ac b )(其中a ,b ,c 的值由键盘输入)。
#include<stdio.h>#include<math.h>main(){float a, b, c, dt, x1, x2;scanf(“%f%f%f ”, &a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(“x1=%5.2f, x2 =%5.2f ”, x1, x2);}4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#include<stdio.h>main(){int h, f, x,y;scanf(“%d%d”, &h, &f);x=2*h-f/2;y=f/2-h;printf(“x=%d, y =%d”, x, y);}实验三参考答案1.输入三个数a、b、c,要求按由小到大的顺序输出。
#include<stdio.h>main(){float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}printf(“%f,%f,%f”,a,b,c);}2.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
C语言程序设计实验及习题(1-4)

C语⾔程序设计实验及习题(1-4)ffB v vbvv bgbb实验⼀C程序运⾏环境及简单程序的运⾏2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以⽂件名sy1_2.cpp#includevoid main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输⼊圆的半径,计算圆⾯积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以⽂件名sy1_3.cpp存盘)。
#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输⼊三个整数a、b、c,显⽰出其中的最⼤值。
4.分析与总结⑴总结C程序的结构和书写规则。
⑵阅读:附件1-C语⾔程序的跟踪调试。
特别提⽰:当程序在编译时发现很多错误,此时应从上到下逐⼀改正,或改⼀个错误,就重新再编译,因为有时⼀个错误会引起很多错误信息。
习题⼀⼀、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B⼆、综合题绘制NS 算法流程图。
(1)输⼊10个数,求其中的最⼤值。
(2)输⼊3个数,将它们升序排列输出。
(3)输⼊2个数,求它们的最⼤公约数。
(4)输⼊⼀元⼆次⽅程的系数a 、b 、c ,判断其根。
实验⼆顺序结构程序设计1.阅读程序,尝试写出程序的运⾏结果,然后输⼊并调试程序,对照其实际输出与分析的结果是否⼀致,若不⼀致,请找出原因。
⑴以下程序⽤于测试C中不同类型数据所占内存字节数,运⾏并体会sizeof运算符的使⽤⽅法。
C语言实验5(附参考答案)

实验5:运算符与表达式(4)实验目的:1、熟悉条件运算符、复合赋值运算符的基本运用和规则。
2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。
实验内容:1、写出下面逻辑表达式的值。
设a=3,b=4,c=5。
①a + b > c && b == c =0②a || b + c && b – c =1③!( a > b ) && ! c || 1 =1④(0||0)||5 =1⑤(10<12)&&! (1>-1) =02、将下面的数学表达式写成C语言逻辑表达式:x大于0,并且X小于等于10 x>=0&&x<=10a或b中有一个大于零__a>0||b>0________3、求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4 =0设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y =0设a=2,b=3,x=3.5,y=2.5先自己分析,再试着用程序求解,看得到的结果是否一致。
4、写出下面表达式运算后a的值,设原来a=10。
设a和n已定义成整型变量。
(1)a+=a =20(2)a-=2 =8(3)a*=2+3 =50(4)a/=a+a =0(5)a%=(n%=2),n的值等于5 =0(6)a+=a-=a*=a =0先自己分析,再试着用程序求解,看得到的结果是否一致。
5、闰年是能够被4整除,但是不能够被100整除,或者能够被400整除,假设年份用变量名year表示,请用表达式写出以上条件。
year%4==0&&year%100!=0||year%400==06、程序填空(已知一个摄氏温度c,要求输出华氏温度f。
公式为f=5/9*c+32.5)main( ){float c,f;c=37.5;f= 5.0/9*c+32.5;printf("%5.2f\n",f);}7、先思考下面程序的输入,然后放到编译器里面去验证,看看是否和自己思考的结果一样,并把正确结果写在程序下文。
C语言实验题

此外,如果喜爱体育锻炼,那么可增加身高2%, 如果有良好的卫生饮食习惯,那么可增加身高 1.5%。
实验2: 选择结构编程练习 ——身高预测
实验2:选择结构编程练习 ——简单的计算器程序
要求用switch语句编程设计一个简单的计算器 程序。要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2 计算表达式的值,指定的算术运算符为加
(+)、减(-)、乘(*)、除(/)。
例4.8:计算器程序
编程设计一个简单的计算器程序,要求根据 用户从键盘输入如下形式的表达式:
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
A) 1 2 34
B) 1, 2, 34
C) ’1’,’2’,34
D) 12 34
实验1: 熟悉上机环境和顺序结构编程 练习——键盘输入与屏幕输出练习
问题2:与上面程序的键盘输入相同的情况下, 要使上面程序的输出语句在屏幕上显示1 2 34, 则应修改程序中的哪条语句?怎样修改?
#include <time.h>
srand(time(NULL)); magic = rand() % 100 + 1;
#include <stdlib.h> #include <stdio.h> #include <time.h> main() {
《C语言程序设计》实验设计习题答案

实验三3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar('\n');printf("%c %c\n",c1,c2);}3.5把790分钟换成用小时和分钟表示,然后输出。
void main(){int s=790;printf("%d小时",s/60);printf("%d分钟",s%60);}3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a.main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("%d,%d,%d",a,b,c);3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。
#include<stdio.h>void main(){float x,s,a;int z;scanf("%f",&x);a=100*x+0.5;z=(int)(a);s=z/100.0;printf("%.2f\n",s); }main(){int a,b,t;double c;scanf("%lf",&c);b=100*c;t=1000*c;a=t%10;if (a>=5) b=b+1;else b=b+0;c=1.0*b/100;printf("%7.2lf/n",c); return 0;}void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ; if(x==0) y = x-1;if(x<10&&x>0) y = x+1; printf("%d",y);}实验四4.2不嵌套if语句void main(){int x,y;scanf("%d",&x);if(x<0&&x>-5) y = x ;if(x==0) y = x-1;if(x<10&&x>0) y = x+1;printf("%d",y);}法二:嵌套if语句void main(){int x,y;scanf("%d",&x);if((x>-5)&&(x<0)) y=x;else if(x==0) y=x-1;else if(x<10&&x>0) y=x+1;printf("%d",y);}4.3如下程序运用条件运算符求变量的绝对值?void main(){int a,M;scanf("%d",&a);M=a>0?a:-a;printf("abs(a)=%d",M);4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。
C语言实验题及参考答案

C语言实验题及参考答案1. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有整数。
```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有奇数。
```c#include <stdio.h>int main() {int n;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {printf("%d ", i);}return 0;}```3. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有整数的和。
```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i++) {sum += i;}printf("1到%d的和为%d\n", n, sum);return 0;}```4. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有奇数的和。
```c#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {sum += i;}printf("1到%d的奇数的和为%d\n", n, sum);return 0;}```5. 编写一个程序,要求用户输入一个整数n,然后判断n是否为素数。
c语言实践试题及答案

c语言实践试题及答案一、选择题1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项是合法的C语言常量?A. 0.1E2B. 1.2eC. 1.2ED. 1.2e-3.5答案:A3. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. =答案:C5. 在C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B二、填空题1. 在C语言中,声明一个整型变量的语句是 ________。
答案:int variable_name;2. C语言中,用于定义一个数组的语句是 ________。
答案:type array_name[size];3. C语言中,用于定义一个指针的语句是 ________。
答案:type *pointer_name;4. C语言中,用于执行条件判断的语句是 ________。
答案:if (condition) { /* code */ }5. C语言中,用于执行循环的语句是 ________。
答案:for (initialization; condition; increment) { /* code */ }三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是在程序中使用函数名和参数列表来执行函数。
2. 解释C语言中指针和引用的区别。
答案:指针是一个变量,存储另一个变量的内存地址。
引用是变量的别名,不能改变其指向,且必须在声明时初始化。
四、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```。
C语言实验题

实验二 C基本数据类型及运算目的要求:掌握C语言中整型、字符型、实型变量的定义及赋值;学会使用C的有关运算符及相关表达式;进一步熟悉VC++ 6.0的集成开发环境。
实验内容:1. 编写程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。
2. 编程。
要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1) 用整型输出这两个数的和、差;2) 用长整型输出这两个数的积,用float输出商;3) 用整型输出这两个数的余数,用float输出平均值。
3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明 *。
实验三 C简单程序设计目的要求:掌握C语言中赋值语句的使用。
掌握数据输入输出的方法。
能正确使用各种格式转换符。
实验内容:1. 编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。
例如,输入整数5,程序运行后输出字符5。
2. 编程。
输入半径,计算球体表面积和球体积。
3. 编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。
这六个变量的值分别为:10,-10,40000,a,3.14,hello。
*实验四 C程序控制结构--分支目的要求:学会正确使用逻辑运算符与逻辑表达式。
掌握分支结构的格式及流程。
学会利用分支结构控制程序的流程。
实验内容:1. 编程实现:键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。
2. 编程实现:键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。
3. 计算以下分段函数值具体要求如下:①用if语句实现分支结构的编程。
②自变量与函数均采用双精度类型。
③自变量x用scanf函数输入,且输入前要有提示。
④结果的输出采用以下形式:x=具体值,f(x)=j具体值。
c语言习题

5.分析下面程序的应得结果,并与上机运行结果进行比较。
#include <stdio.h>
void main( )
{
int a,b;
float d,e;
char c1,c2;
double f,g;
a=61; b=62;
c1='a'; c2='b';
f=3157.890121; g=0.123456789;
②将两个printf语句分别改为:
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);
printf("f=%f,g=%f\n",f,g);
然后再运行程序,并分析结果。
6.下面的程序计算由键盘输入的任意两个整数的和。
第
实验
一、目的和要求
1.熟悉C程序运行环境。
2.初步了解运行一个C程序的过程(编辑、编译、连接和运行)。
3.通过运行和模仿编写简单的C程序,初步了解C源程序的结构和特点。
二、实验内容
1.熟悉计算机中安装的C编译集成环境,新建一个C文件,输入下面的程序,编译并执行。学习运行程序的过程,并分析运行结果。
②运行程序时要分别输入以下测试数据测试:1位正整数,2位正整数,3位正整数,4位正整数,5位正整数。
③除此之外,程序还应当对不合法的输入作必要的处理,如输入的是负数或超过5位的正整数。
实验
一、目的和要求
1.掌握while语句、do-while语句和for语句实现循环的方法。
2.掌握各种循环语句中如何正确的设定循环条件,以及如何正确的控制循环次数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.
a.编写函数实现void func(int a,int b,int c,int *pmax,int *pmin,float *pavg),求出a,b,c的最大值和最小值、平均值通过指针返回;
k.一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。
l.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。
f.编写一个函数,求一个整型数的各位数字的立方和;
g.编写函数fun计算并返回分段函数的值:
x^2+x+6 x<0且x≠-3
f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3
x^2-x-1 其它
h.编写一个函数,用递归法求阶乘;
i.编写一个函数,用递归法求fibonacci数列的的前n项,n为形参;
b.编写函数void swap(int*x ,int *y)交换想x和y指向变量的值;
c.编写函数int aSum(int *a ,int n)求出a所指向数组的前n项的和;
d.编写函数void cpyStr(char *stra,char *strb),将字符串strb复制给stra所指向的空间;
b)求出数组的最大值、平均值;
b.将数组分别使用选择排序法和冒泡排序法排序,并输出排序后的数组;
c.建立一个字符数组,将26个小写字母保存到数组中,并逆序输出;
d.用数组保存fibonacci数列的前20项;
6.
a.建立一个5行5列的二维数组,提示用户输入数组的值,分别按照先行后列和先列后行的顺序输入相同值;将数组显示到屏幕上,按矩阵显示;观察两种读入顺序的不同;
k.编写函数voidfindCh(char *str , char ch),判断字符ch是否与str所指串中的某个字符相同; 若存在相同,什么也不做,若不同,则将其插在串的最后。
l.编写函数 int func(int n),函数返回值为sum=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n
b.读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。
例如:若输入:“i am a student to take the examination.”,则应输出:“IAm A Student To Take The Examination.”。
h.编写函数int lenStr(char s[]),求字符串的长度;
i.编写函数intfindCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;
j.编写函数intfunc(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串的长度作为返回值;比如“abc123xyz”过滤后“abcxyz”返回值为6
c.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
d.给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
e.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
f.打印出杨辉三角形(要求打印出10行)
g.求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,31,……
h.例如:若 n = 15,则应输出:The value is: 2209。
i.在字符串str中找出ASCii码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。
j.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
2.
a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)
b.输入一个年份值,判断是否为闰年;
c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;
d.输入任意实数,求出其所对应的函数值(调用数学函数库)。
h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息
3.
a.编写程序实现1+2+3+4+......+n,n由用户输入;
b.修改程序1,实现1+3+5+7+9+......2*n-1;
c.修改程序1,实现2+4+6+8+10+......2*n;
d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);
o.输入n和m,求出他们的最大公约数和最小公倍数;
p.在屏幕上输出以下图形,要求使用循环嵌套实现
1.
*****
*****
*****
*****
*****
2.
*
**
***
****
*****
3.
*****
****
***
**
*
4.
*****
****
***
**
*
5.
*
**
***
****
*****
6.
*
***
*****
****** *
4.
a.编写一个函数,返回一个整数的绝对值.;
b.编写一个函数,判断一个整数是否为素数,如果是则返回1,否则返回0.;
c.编写一个函数,找出一个大于给定整数且紧随这个整数的素数。
d.通过调用素数函数,实现求出1000以内所有素数的和;
e.通过调用素数函数,验证哥德巴赫猜想在10000以内有效;
e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次
f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观察输出结果;
g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。
g.提示用户输入两个字符串保存到字符数组str1和str2中,再输入一个整型值n,将str2代表的字符串插入到str1中下标为n的位置,输出插入后的字符串;
h.输入一个字符串,将字符串逆序,输出逆序后的字符串;
i.已有两个字符串,分别保存在字符数组str1[80]和str2[3]中,统计在str1保存的字符串中str2保存的字符串出现了多少次;(str2中的字符串长度为2)
e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);
f.编程实现1*2*3*4*5*.....n;
g.编程实现输入n,判断n是不是质数;
h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。
i.用一元五角钱兑换人民币5分、2分和1分的硬币(要求每种至少有一个)共100枚,请输出每种具体的兑换方案以及共有多少种方案。
p.编写一个函数求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)
e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;
f.判断一个字符是否为字母或者数字;
g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。
1.
a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.141593.142,10.12345610.123)
b.输入一个4位整数,求其得各位数字的平方和;(12341+4+9+16=30).
c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码;
d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)
m.编写函数 int func(int a[],int n,int b),将b插入到一个已按降序排好的数组a中,a中现在有n个元素,要求插入后的数组仍然是降序的;
n.请编写函数voidfun(char *str),对字符串,按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。
j.编写一个函数,在函数中定义一个静态局部变量count,统计该函数被调用的次数;
k.编写一个函数,参数为整型n,输出n行的菱形;例如n=7,则图形为
*
***
*****
*******
*****
***
*
5.
a.建立一个整型数组,在定义数组的时候为数组初始化任意10数字,体会初始化的用法;