admin 管理员组

文章数量: 887021


2023年12月19日发(作者:深圳php网站开发)

C语言基础练习四

1.下面程序的运行结果是( ) 。

#include

main()

{int a[6],i;

for(i=1;i<6;i++)

{a[i]=9(i-2+4(i>3))%5;

printf("%2d",a[i]);

}

}

A)-4 0 4 0 4

B)-4 0 4 0 3

C)-4 0 4 4 3

D)-4 0 4 4 0

2.下面程序段中,for循环的执行次数是( ) 。

char s="ta018bc";

for( ;s!='0';s++) printf("");

A)9

B)5

C)6

D)7

3.若运行以下程序时,从键盘输入2473(表示回车),则下面程序的运行结

果是 ( )。

#include "stdio.h"

{int c;

while ((c=getchar())!='n')

switch (c-'2')

{case 0:

case 1: putchar(c+4);

case 2:putchar(c+4);break;

case 3:putchar(c+3);

default:putchar(c+2);break;

}

printf("n");}

A)668977

B)668966

C)66778777

D)6688766

4.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空。

#include

main()

{int i=0,j,k;

do

{i++;k=316-13i;}while( );

j=k/11;

printf("316=13%d+11%d",i,j);

}

A)k/11

B)k%11

C)k/11==0

D)k%11==0

5.若有说明:int a[3][4];则对a数组元素的非法引用是( )。

A)a[0][21]

B)a[1][3]

C)a[4-2][0]

D)a[0][4]

6.下面程序的运行结果是 。

#include

main()

{char ch[7]={"12ab56"};

int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10s+ch[i]-'0';

printf("%dn",s);

}

A)1

B)1256

C)12ab56

D)1 2 5 6

7.下面判断正确的是( )。

A)char a="china";等价于char a;a="china";

B)char str[10]={"china"};等价于char str[10];str[]="china";

C)char s="china";等价于char s;s="china";

D)char c[6]="china",d[6]="china";等价于char c[6]=d[6]="china";

8.下面程序的运行结果是________。

#include "stdio.h"

#include "string.h"

main()

{char s1="AbDeG";

char s2="AbdEg";

s1+=2; s2+=2;

printf"%dn",strcmp(s1,s2));

}

A)正数

B)负数

C)零

D)不确定的值

9.已知各变量的类型说明如下,则不符合C语言语法规定的表达式是( )。

int k,a,b;

unsigned long w=5;

double x=1.42;

A)x%(-3)

B)w+=-2

C)k=(a=2,b=3,a+b)

D)a+=a-=(b=4)(a=3)

10.根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为

( )。

main()

{char ch1,ch2,ch3;

输入语句

printf("%c%c%c",ch1,ch2,ch3);

}

输入形式:A□B□C

输出形式:A□B

A)scanf("%c%c%c",&ch1,&ch2,&ch3);

B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);

C)scanf("%c %c %c",&ch1,&ch2,&ch3);

D)scanf("%c%c",&ch1,&ch2,&ch3);

11.若有代数式|x3+lgx|,则正确的C语言表达式是( )。

A)fabs(x3+log10(x))

B)abs(pow(x,3)+log10(x))

C)abs(pow(x,3.0)+log10(x))

D)fabs(pow(x,3.0)+log10(x))

12.下面程序的运行结果是( ) 。

#include

main()

{int y=10;

do {y--;}while(--y);

printf("%dn",y--);

}

A)-1

B)1

C)8

D)0

13.若int a=3,b=2,c=1,f;表达式f=a>b>c的值是( )。

14.有int x,y,z;且x=3,y=-4,z=5,则表达式!((x>y)+y!=z)||(x+y)&&(y-z)的值为( )。

15.有int x,y,z;且x=3,y=-4,z=5,则表达式x++-y+(++z)的值为( )。

16.以下程序的运行结果是 ( )。

main()

{int x,y,z;

x=1;y=2;z=3;

x=y--<=x||x+y!=z;

printf("%d,%d",x,y);

}

17.若int a=5,b=4,c=2;表达式a>b!=c的值是( )。

18.下面程序段的运行结果是( ) 。

x=y=0;

while(x<15)

y++,x+=++y;

printf("%d,%d",y,x);

19.有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为( )。

20.下面程序段的运行结果是 ( )。

a=1;b=2;c=2;

while(a

printf("%d,%d,%d",a,b,c);

21.下面程序的功能是将字符串s中所有的字符'c'删除。

#include "stdio.h"

main()

{char s[80];

int i,j;

gets(s);

for (i=j=0;s[i]!='0';i++)

if (s[i]!='c') 请填空 ;

s[j]='0';

puts(s);}

22.以下程序的运行结果是(

#include

main()

{int a=1,b=2,c;

c=max(a,b);

printf("%dn",c);

}

max(int x,int y)

{int z;

z=(x>y)?x:y;

return(z);

) 。

}

23.若输入一个整数10,以下程序的运行结果是 ( )。

int sub(int a)

{int c;

c=a%2;

return c;

}

main()

{int a,e[10],c,i=0;

printf("Input a number:");

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]);

}

24.以下程序的运行结果是 (

。 )

main()

{int x,y,z;

x=1;y=1;z=0;

x=x||y&&z;

printf("%d,%d",x,x&&!y||z);

}

25.以下程序的运行结果是 ( )。

main()

{int a[3][3]={1,3,5,7,9,11,13,15,17},sum;

sum=func(a);

printf("nsum=%dn",sum);

}

func(int a[][3])

{int i,j,sum=0;

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

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

{a[i][j]=i+j;

if(i==j) sum=sum+a[i][j];

}

return (sum);

}

26.执行以下程序后的输出结果是( ) 。

int w=3,z=7,x=10;

printf("%d",x>10?x+100:x-10);

printf("%d",w++||z++);

printf("%d",!w>z);

printf("%d",w&&z);

27.请阅读以下程序:

#include

main()

{float a,b;

scanf("%f",&a);

if(a<0.0) b=0.0;

else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);

else if(a<10.0) b=1.0/a;

else b=10.0;

printf("%fn",b);

}

若运行时输入2.0,则上面程序的输出结果是( )。


本文标签: 程序 结果 运行 C语言 输入