c语言上机习题免费的.docx

上传人:b****5 文档编号:12176979 上传时间:2023-04-17 格式:DOCX 页数:53 大小:60.96KB
下载 相关 举报
c语言上机习题免费的.docx_第1页
第1页 / 共53页
c语言上机习题免费的.docx_第2页
第2页 / 共53页
c语言上机习题免费的.docx_第3页
第3页 / 共53页
c语言上机习题免费的.docx_第4页
第4页 / 共53页
c语言上机习题免费的.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

c语言上机习题免费的.docx

《c语言上机习题免费的.docx》由会员分享,可在线阅读,更多相关《c语言上机习题免费的.docx(53页珍藏版)》请在冰豆网上搜索。

c语言上机习题免费的.docx

c语言上机习题免费的

C语言程序设计实验教学

(2)

【实验目的】以实验形式认识变量、表达式等概念,以及它们在程序中的作用。

【实验要求】测试多种不同类型的变量,理解它们在程序中的表现。

【实验课时】2.0

【实验内容】

1.写出以下程序运行的结果:

voidmain()

{charc1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);

aabbccabc

AN

printf("\t\b%c%c\n",c4,c5);

}

2.

输出:

9,18

 

分析以下程序能否正常运行。

voidmain()

ab

9798

{intc1,c2;c1=97;c2=98;

printf("%c%c\n",c1,c2);

printf("%d%d\n",c1,c2);

}

3.写出程序运行的结果。

输出:

9,11,9,10

 

voidmain()

{inti,j,m,n;

i=8;j=10;m=++i;n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

}

4.求下面算术表达式的值

(1)设x=2.5,a=7,y=4.7

x+a%3*(int)(x+y)%2/4

(2)设a=2,b=3,x=3.5,y=2.5,

(float)(a+b)/2+(int)x%(int)y

输出:

2.500000

 

voidmain()

{inta=7;

floatx=2.5,y=4.7;

printf("%f\n",x+a%3*(int)(x+y)%2/4);

}

输出:

9,24,6

 

输出:

9,21,6

 

输出:

9,18

 

voidmain()

输出:

3.500000

 

{inta=2,b=3;

floatx=3.5,y=2.5;

printf("%f\n",(float)(a+b)/2+(int)x%(int)y);

}

5.要将“China”翻译成密码。

密码规律是:

用原来字母的后面第4个字母代替原来的字母。

请编写一程序实现。

并输出结果。

(Glmre)

voidmain()

{chara,b,c,d,e;

scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);

a+=4;b+=4;c+=4;

d+=4;e+=4;

printf("%c%c%c%c%c\n",a,b,c,d,e);

}

6.

输出:

9,21,6

 

写出以下四个程序运行的结果:

voidmain()

{inti=6;

printf("%d,%d,%d\n",i,(i++)+(i++)+(i++),i);}

输出:

9,24,6

 

voidmain()

{inti=6;

printf("%d,%d,%d\n",i,(++i)+(++i)+(++i),i);}

voidmain()

输出:

9,18

 

{inti=6,j;

j=(i++)+(i++)+(i++);

printf("%d,%d\n",i,j);}

输出:

9,27

 

voidmain()

{inti=6,j;

j=(++i)+(++i)+(++i);

printf("%d,%d\n",i,j);

}

7.写出以下程序运行的结果:

voidmain()

{typedefintcounter;

输出:

4,2.000000

 

counterx;

floaty;

x=sizeofy;

y=sizeof(counter);

printf("%d,%f\n",x,y);

}

8.写出以下程序运行的结果:

voidmain()

输出:

2.000000

 

{floatf;

inti=4;

f=10/i;

printf("%f\n",f);}

voidmain()

输出:

2.500000

 

{floatf;

inti=4;

f=10.0/i;

printf("%f\n",f);}

9.请编写程序szys.c,输入两个整数n和m,计算以下表达式的值:

(1)sum=n+m

(2)diff=n-m

voidmain()

{intm,n;

intsum,diff;

scanf("%d,%d",&n,&m);

sum=n+m;

diff=n-m;

printf("sum=%d,diff=%d\n",sum,diff);

}

10.使用sizeof()函数测试int、long、float、double类型变量占用的内存空间,并记录下来。

例如:

sizeof(12),sizeof(12L),sizeof(1.2f),sizeof(1.2),分析理解长类型变量赋值给短型变量时数据丢失的现象。

方法:

printf(“int:

%d”,sizeof(int));

输出:

int:

2

long:

4

float:

4

double:

8

sizeof(12):

2

sizeof(12l):

4

sizeof(1.2f):

4

sizeof(1.2):

8

voidmain()

{printf("int:

%d\n",sizeof(int));

printf("long:

%d\n",sizeof(long));

printf("float:

%d\n",sizeof(float));

printf("double:

%d\n",sizeof(double));

printf("sizeof(12):

%d\n",sizeof(12));

printf("sizeof(12l):

%d\n",sizeof(12l));

printf("sizeof(1.2f):

%d\n",sizeof(1.2f));

printf("sizeof(1.2):

%d\n",sizeof(1.2));

}

11.输入一个字母,将该字母进行大小写转换,输出转换后的字母。

(也可以不进行判断,直接进行转换)

voidmain()

{charch;

scanf("%c",&ch);

if(ch>=97&&ch<=122)

ch=ch-32;

elseif(ch>=65&&ch<=90)

ch=ch+32;

printf("Nowchis:

%c\n",ch);

}

12.输入一个不大于255的自然数x,计算y=(1+x)/x2。

(x使用char类型)

voidmain()

{charx;floaty;intz;

scanf("%d",&x);

if(x>0&&x<=127)

{z=x;y=1.0*(1+z)/z/z;}

else

{z=x+256;y=1.0*(1+z)/z/z;}

printf("x=%d,z=%d,y=%f\n",x,z,y);

}

13.输入一个自然数n,计算n除以3的商与余数。

voidmain()

{intn,a,b;

printf("Pleaseinputanum:

");

scanf("%d",&n);

a=n/3;b=n%3;

printf("shangis:

%d,yushuis:

%d\n",a,b);

}

C语言程序设计实验教学(3)

【实验目的】通过程序设计实现,掌握scanf()和printf()的正确应用。

【实验要求】使用输入输出函数实现多种类型变量的输入输出操作,注意总结输入和输出的格式问题。

【实验课时】2.0

【实验内容】

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)

2.写出以下程序运行的结果:

main()

{inta=5,b=7;floatx=67.8564,y=-789.124;charc='A';

longn=1234567;unsignedu=65535;

printf("%d%d\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);

printf("%e,%10.2e\n",x,y);

printf("%c,%d,%o,%x\n",c,c,c,c);

printf("%ld,%lo,%x\n",n,n,n);

printf("%u,%o,%x,%d\n",u,u,u,u);

printf("%s,%5.3s\n","COMPUTER","COMPUTER");}

3.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’

main()

{inta,b;floatx,y;charc1,c2;

scanf("a=%db=%d",&a,&b);

scanf("%f%e",&x,&y);

scanf("%c%c",&c1,&c2);

printf("a=%d,b=%d\n",a,b);

printf("x=%f,y=%f\n",x,y);

printf("c1=%c,c2=%c\n",c1,c2);}

4.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8

main()

{inta,b;charc1,c2;floatx,y,z;

scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z);

printf("a=%d,b=%d\n",a,b);

printf("c1=%c,c2=%c\n",c1,c2);

printf("x=%6.2f,y=%6.2f,z=%6.2f\n",x,y,z);}

5.请编写程序prog35.c。

设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输入数据,输出计算结果时保留小数点后两位。

6.请编写程序prog36.c。

输入一个华氏温度,要求输出摄氏温度。

(保留小数点后两位)。

计算公式如下:

c=(F-32)*5/9

7.输入任意两个整数,求它们的和及平均值。

要求平均值取两位小数输出。

8.给定一个三位正整数,分别输出它的个位数、十位数和百位数。

9.取一个16位的二进制数a的7、6、5、4四个位,如图4-2中加阴影的部分。

15

图4-2整数a的二进制位

8

7

6

5

4

3

2

1

0

 

10.求方程ax2+bx+c=0的根。

a、b、c由键盘输入,a≠0且b2-4ac≥0。

 

C语言程序设计实验教学(4)

【实验目的】通过程序设计实现,掌握if结构和switch结构的正确应用。

【实验要求】使用if结构和switch结构实现多种条件的选择结构程序,熟练二者的应用范围和注意事项。

练习条件表达式的书写。

【实验课时】4.0

【实验内容】

1、编写程序,实现从键盘上输入一个整数,判断其奇偶性。

#include

voidmain()

{inta;

scanf("%d",&a);

if(a%2==0)

printf("%disoushu.\n",a);

else

printf("%disjishu.\n",a);}

2、输入一个整数,判断它能否被3或7整除,若能整除,输出“YES”,

否则输出“NO”。

#include

voidmain()

{intn;

scanf("%d",&n);

if(n%3==0||n%7==0)/*判断能否被3或7整除*/

printf("YES\n");

else

printf("NO\n");

}

3、编写程序,实现从键盘上输入3个整数a,b,c,并输出其中最大的数。

#include

voidmain()

{inta,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

max=a>b?

a:

b;

max=max>c?

max:

c;

printf("maxis%d\n",max);}

#include

voidmain()

{inta,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

if(a>b)max=a;

elsemax=b;

if(c>max)max=c;

printf("maxis%d\n",max);}

#include

voidmain()

{inta,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

if(a>b)

if(a>c)

max=a;

else

max=c;

else

if(b>c)

max=b;

else

max=c;

printf("maxis%d\n",max);}

4、编写程序,实现从键盘上输入4个整数,并按从大到小顺序输出。

#include

voidmain()

{inta,b,c,d,t;

scanf("%d,%d,%d,%d",&a,&b,&c,&d);

if(a>b){t=a;a=b;b=t;}

if(a>c){t=a;a=c;c=t;}

if(a>d){t=a;a=d;d=t;}

if(b>c){t=b;b=c;c=t;}

if(b>d){t=b;b=d;d=t;}

if(c>d){t=c;c=d;d=t;}

printf("sortedbysmalltolarge:

%d,%d,%d,%d\n",a,b,c,d);}

5、完成下列分段函数的计算:

分别使用if-elseif和if-if的嵌套结构来实

现。

方法一(用if——elseif结构表达)

#include

#include

voidmain()

{intx,y;

clrscr();

printf("Pleaseinputvalueofx:

\n");

scanf("%d",&x);

if(x<0)

y=1;

elseif(x<=10)

y=x+1;

else

y=x*x+x+1;

printf("x=%d,y=%d\n",x,y);}

方法二(用if——if结构表达)

#include

#include

voidmain()

{intx,y;

clrscr();

printf("Pleaseinputvalueofx:

\n");

scanf("%d",&x);

if(x<=10)

if(x<0)

y=1;

else

y=x+1;

else

y=x*x+x+1;

printf("x=%d,y=%d\n",x,y);}

6、输入x和a的值,按下列公式计算y的值。

程序代码一:

#include

#include

voidmain()

{floatx,a,y;

printf("\nPleaseinputx,a:

");

scanf("%f,%f",&x,&a);

if(x>-a&&x

y=sqrt(a*a-x*x);

if(x==a||x==-a)/*或fabs(x)==a*/

y=0;

if(x<-a||x>a)/*或fabs(x)>a*/

y=x-1;

printf("x=%g,a=%g,y=%g\n",x,a,y);

}

程序代码二:

#include

#include

voidmain()

{floatx,a,y;

printf("\nPleaseinputx,a:

");

scanf("%f,%f",&x,&a);

if(fabs(x)-a&&x

y=sqrt(a*a-x*x);

elseif(fabs(x)==a)/*或x==a||x==-a*/

y=0;

else

y=x-1;

printf("x=%g,a=%g,y=%g\n",x,a,y);

}

程序代码三:

#include

#include

voidmain()

{floatx,a,y;

printf("\nPleaseinputx,a:

");

scanf("%f,%f",&x,&a);

if(fabs(x)<=a)

if(fabs(x)

y=sqrt(a*a-x*x);

else

y=0;

else

y=x-1;

printf("x=%g,a=%g,y=%g\n",x,a,y);

}

7、编写一个程序,判断从键盘上输入的一个年份是否为闰年?

方法一:

#include

#include

voidmain()

{intyear;

clrscr();

printf("Pleaseinputayear:

\n");

scanf("%d",&year);

if(year%4==0&&year%100!

=0||year%400==0)

printf("%disaleapyear\n",year);

else

printf("%disnotaleapyear\n",year);}

方法二:

(用ifif结构表达)

#include

#include

voidmain()

{intyear,leap;

clrscr();

printf("Pleaseinputayear:

\n");

scanf("%d",&year);

if(year%4==0)

if(year%100==0)

if(year%400==0)

leap=1;

else

leap=0;

else

leap=1;

else

leap=0;

if(leap==1)

printf("%disaleapyear\n",year);

else

printf("%disnotaleapyear\n",year);}

方法三:

(用ifelseif结构表达)

#include

#include

voidmain()

{intyear,leap;

clrscr();

printf("Pleaseinputayear:

\n");

scanf("%d",&year);

if(year%400==0)

leap=1;

elseif(year%100==0)

leap=0;

elseif(year%4==0)

leap=1;

else

leap=0;

if(leap==1)

printf("%disaleapyear\n",year);

else

printf("%disnotaleapyear\n",year);}

8、输入一个三位自然数num,判断其是否为水仙花数?

注:

一个3位自然数,各个数位的数字立方和等于该数本身,即称为水仙花数。

如:

153=13+53+33。

#include

#include

voidmain()

{intm,a,b,c;

clrscr();

printf("Pleaseinputanum(100<=num<=999):

\n");

scanf("%d",&m);

a=m/100;b=m/10%10;c=m%10;

if(a*a*a+b*b*b+c*c*c==m)

printf("%dissxhshu.\n",m);

else

printf("%disnotsxhshu.\n",m);}

9、编写一个程序,实现对给出的一百分制成绩,输出相应的成绩等级。

即:

90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。

方法一:

(用if结构)

#include

#include

voidmain()

{floatscore;chargrade;

clrscr();

printf("Pleaseinputascore(0<=score<=100):

\n");

scanf("%f",&score);

if(score>=90)

grade='A';

elseif(score>=80)

grade='B';

elseif(score>=70)

grade='C';

elseif(score>=60)

grade='D';

else

grade='E';

printf("scoreis%5.1f,gradeis%c.\n",score,grade);}

方法二:

(用switch结构)

#include

#include<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1