C语言作业练习
人天天都学到一点东西,而往往所学到的是发现昨日学到的是错的。 以下是小编为大家搜索整理了C语言作业练习,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!
一、思考题
1、顺序结构的语句有哪些?
表达式语句,空语句,复合语句
2、从程序控制的角度看,复合语句是单一的语句吗?
是
3、C语言中的语句有哪几类?C语句与其他语言中的语句有哪些异同?
表达式语句,空语句,复合语句,控制语句。C语言与其他语言的语句类型基本相同,只是语法有所区别。
4、怎样区分表达式和表达式语句?C语言为什么要设表达式语句?什么时候用表达式,什么时候用表达式语句?
在C语言中,只要在任何表达式的结尾加上分号“;”就构成了表达式语句。表达式语句使C语言更加灵活。当我们使用表达式语句时一般只关心它的作用而不关心该表达式的值。如puts("hello");这个表达式语句,我们关心的是输出hello这个结果而不是puts函数的`返回值。
5、C语言的输入输出功能是表达式语句吗,为什么?
是,因为输入输出功能是函数调用语句。
二、选择题
1、以下符合C语言语法的赋值表达式是B)d=9+e,f=d+9
2、下面程序运行时的输出结果是D)a=8
main(){
int a=5;
printf(“a=%dn”,++a+2);
}
3、putchar函数可以向终端输出一个D)字符或字符变量值
4、运行以下程序时,从键盘输入25,13,10(回车),则输出结果是A)a1+a2+a3=48
main() {
int a1,a2,a3;
scanf(“%d,%d,%d”,&a1,&a2,&a3);
}
5、若有以下定义和语句
char c1=?b?,c2=?e?;
printf(“%d,%cn”,c2-c1,c2-?a?+?A?);
则输出结果是B)3,E
6、下面程序的执行结果是A)10
main(){
int a,b;
a=20;b=10;
a+=a+b;
a-=a-b;
printf(“%dn”,a);
}
7、使下列程序输出”123,456,78”,由键盘输出数据,正确的输入是C)123,45678
int i,j,k;
scanf(“%d,%3d%d”,&i,&j,&k);
printf(“%d,%d,%dn”,i,j,k);
三、编程题
1、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出结果如下:
a=3 b=4 c=5
x=1.200000,y=2.400000,z=-3.600000
x+y=3.60 y+z=-1.20 z+x=-2.40
u=51274 n=128765
c1=’a’or 97(ascii)
c2=’b’or 98(ascii)
#include
void main()
{
int a=3,b=4,c=5;
double x=1.2,y=2.4,z=-3.6;
long u=51274,n=128765;
char c1='a',c2='b';
printf("a=%d b=%d c=%dn",a,b,c);
printf("x=%lf,y=%lf,z=%lfn",x,y,z);
printf("x+y=%.2f y+z=%.2f z+x=%.2fn",x+y,y+z,z+x);
printf("u=%ld n=%ldn",u,n);
printf("c1='%c'or%d(ascii)n",c1,c1);
printf("c2='%c'or%d(ascii)n",c2,c2);
}
2、请写出下面程序的输出结果
main(){
int a=5,b=7;
float x=67.8564,y=-789.124;
char c=’a’;
long n=1234567;
unsigned u=65535;
printf(“%d%dn”,a,b);
printf(“%3d%3dn”,a,b);
printf(“%f,%fn”,x,y);
printf(“%-10f,%10fn”,x,y);
printf(“8.2f,%8.2f,%.4f,%.4f,%3f,%3fn”,x,y,x,y,x,y);
printf(“%e,%10.2en”,x,y);
printf(“%c,%d,%o,%xn”,c,c,c,c);
printf(“%ld,%lo,%xn”,n,n,n);
printf(“%u,%o,%x,%dn”,u,u,u,u);
printf(“%s,%5.3sn”,”computer”,”computer”);
}
57
5 7
67.856400,-789.124023
67.856400 ,-789.124023
8.2f, 67.86,-789.1240,67.8564,-789.124023,67.856400
6.785640e+001,-7.89e+002
a,97,141,61
1234567,4553207,12d687
65535,177777,ffff,65535
computer, com
3、用下面的scanf函数输入数据,使a=10,b=20,c1=’a’,c2='a',x=1.5.,y=-3.75,z=67.8,请问在键盘上如何输入数据?
scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);
0001000020aa1.5 -3.75 1,67.8
4. 设圆球半径为r=2.5,求圆球表面积、圆球体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。请编程序。
#include
#define PI 3.14
main()
{
float r,s,v;
printf("输入半径:");
scanf("%f",&r);
s=4*PI*r*r;
v=4.0/3*PI*r*r*r;
printf("圆球面积是:%.2fn",s);
printf("圆球体积是:%.2fn",v);
}
5.输入一个华氏温度,根据公式为c=5/9(f-32)计算并输出摄氏温度,输出时要求有文字说明,取2位小数。请编程序。
#include
main()
{
float f,c;
printf("输入华氏温度:");
scanf("%f",&f);
c=5.0/9*(f-32);
printf("摄氏温度是:%f",c);
}
6.输入三角形的三边长,求三角形面积。请编程序。
#include
#include
main()
{
float a,b,c,s,area;
}
7.编写一个能引起short型变量溢出的程序。
#include
main()
{
short a;
a=21344211;
printf("a=21344211,溢出后a=%dn",a);
}
8.编写一个程序,显示下列10个转义字符:a,b,n,r,t,v,',",\,? #include
main()
{
printf("\a,\b,\n,\r,\t,\v,\',\",\\,\?");
}
9.编写一个程序,输入一个小写字母,输出其对应的大写字母。 #include
main()
{
char a,A;
printf("输入一个小写字母,将输出一个相应大写字母:"); a=getchar();
A=a+'A'-'a';
putchar(A);
putchar('n');
}
printf("输入三角形的三条边长:"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { //海伦公式 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("面积是:%f",area); } else printf("该三角形不存在!");
-
内部排序之堆排序的实现
堆排序(HeapSort)只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。下面小编为大家整理了内部排序之堆排序的实现,希望能帮到大家!(1)基本概念a)堆:设有n个元素的序列:{k1,k2,...,kn}对所有的i=1,2,...,(int)(n/2),当满足下面关系:ki≤k2i,ki≤k2i+1或ki...
-
2017年计算机C语言考试编程练习题及答案
江山代有才人出,各领风骚数百年。以下是小编为大家搜索整理的`2017年计算机C语言考试编程练习题及答案,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!1.从键盘上输入8个浮点数,编程求出其和以及平均值。要求写出求和以及平均值的函数。答:编...
-
c语言单引号的用法指导
C语言中用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。下面小编给大家整理了c语言单引号的用法,供大家参阅...
-
如何在c语言中调用Linux脚本
如何在c语言中调用Linux脚本呢?你知道如何在c语言中调用Linux脚本吗?下面是小编为大家带来的如何在c语言中调用Linux脚本的知识,欢迎阅读。一、引言对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系...