C语言上机练习题 下载本文

?0.200??1??Y1??1?Y2???0.8??1?1?0.2?0.2??=??×?? ?Y3??0?0.81?0.2??1???????Y40?0.8?0.81?????1? 下面程序的功能是求出Y1,Y2,Y3,Y4的值。请填空。

#include<>

voidmain() { floata[4][4]={{1,,0,0},{,1,,}, {0,,1,},{0,,,1}}; floatx[4]={1,1,1,1},y[4]; inti,j,k; for(i=0;i<4;i++) { y[i]=0; for(j=0;j<4;j++)

【1】

}

for(k=0;k<4;k++)

printf(“\\nY[%d]=%-6.2f”,k+1,

}

12.运行以下程序时,如果从键盘上输入:

ab<回车> c<回车> def<回车> 则输出结果为()。

#include\#defineN6 voidmain() {charc[N]; inti=0;

for(;i

for(i=0;i

2】);

ccd dd e f

13.给出下列程序的运行结果:

#include\#include\voidmain()

{charstr[81],str1[81]; intk=1,i=1,j; intflag=0; gets(str);

str1[0]=str[0]; while(str[i]!='\\0') {for(j=0;j

if(flag!=1)str1[k++]=str[i]; i++; }

for(i=0;i

如运行时输入:abcbaccba

14.若输入一个整数10,以下程序的运行结果是 。 #include<> sub(inta) {intc; c=a%2; returnc;} voidmain()

{inta,e[10],c,i=0;

printf(“输入一整数\\n”);

scanf(“%d”,&a); while(a!=0) {c=sub(a); a=a/2; e[i]=c; i++;}

for(;i>0;i--)printf(“%d”,e[i-1]); }

15.以下程序的正确运行结果是 。

#include<> #defineMAX10 inta[MAX],i; sub2() {

inta[MAX],i,max;

max=5; for(i=0;i

}

sub1() {

for(i=0;i

sub3(inta[]) {

inti;

for(i=0;i

}

voidmain() {

printf(“\\n”);sub1();sub3(a);sub2();sub3(a); } 16.以下程序的正确运行结果是 。

#include<>

func(inta,intb) {

staticintm=0,i=2; i+=m+1; m=i+a+b; return(m); } voidmain() {

intk=4,m=1,p; p=func(k,m);printf(“%d,”,p); p=func(k,m);printf(“%d\\n”,p); }

17.阅读程序,说出程序的运行结果()。 #include<> #defineADD(x)x+x

voidmain()

{

intm=1,n=2,k=3; intsum=ADD(m+n)*k; printf(\

}

18.以下程序的正确运行结果是 。

intfun(intx,inty,int*cp,int*dp) {*cp=x+y; *dp=x-y; }

#include<> voidmain() {inta,b,c,d; a=4;b=3;

fun(a,b,&c,&d);

printf(\}

19.以下程序的正确运行结果是 。 #include<> voidmain()

{inta[]={2,3,4,5}; ints,i,*p; s=1;p=a;

for(i=0;i<=3;i++)s+=*p++; printf(\}

20.以下程序的正确运行结果是 。

#include<> voidmain() {

voidmove(int*);

inta[3][3]={1,2,3,4,5,6,7,8,9},(*p)[3],*p1=*a,i,j; for(;p1<*a+9;p1++)printf(\printf(\p1=*a;

for(i=0;i<3;i++) { for(j=0;j<3;j++)printf(\printf(\} p=a; move(p);

for(i=0;i<3;i++)

printf(\}

voidmove(int*pointer) {inti,j,t;

for(i=0;i<2;i++) for(j=i+1;j<3;j++) {t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i); *(pointer+3*j+i)=t; } }

21.以下程序的正确运行结果是 。

#include<> #include<> voidmain()

{char*p1,str1[20]=\p1=\

strcat(str1+1,p1+1); strcpy(str2,str1); printf(\}

22.下列程序的输出结果是

#include<> structabc {inta,b,c;}; main()

{structabcs[2]={{1,2,3},{4,5,6}}; intt;

t=s[0].a+s[1].b; printf(\}

1.摊论个卖西瓜,以西瓜的重量论价。10斤以上的每斤元,8斤以上的每斤元,6斤以上的每斤元,4斤以上的每斤元,4斤以下的每斤元,从键盘输入西瓜的重量和顾客所付钱数,输出应付款和应找钱数。

2.编写程序完成任意两个数的+,-,*,/运算,要求从键盘输入四个运算符之一和任意两个数,输出运算结果。