C语言从键盘上任意输入一个圆的半径,求圆的面积,可以无限次输入 当半径为正数时,输出面

2024-12-28 12:10:09
推荐回答(2个)
回答1:

《计算机程序设计C语言》(B卷)

选择题(每小题1.5分,共24分)
1、以下不C语言关键字的是( )。

A、是student B、break C、select D、int

AC都不是
2、已知a,b是整形变量,则以下合法的表达式为( A )。

A、a+=a+1 B、a=b=b+a C、a=5++ D、a+b=2.5

3、C语言规定,在一个源程序中,main函数的位置( C )。

A、必须在最开始 B、必须在最后

C、可以任意 D、必须在系统调用的库函数的后面

4、有定义int a=10;则表达式a%3/3的值为(A )。

A、0 B、1 C、2 D、10

5、定义a,b为整形变量,且均初始化为的正确语句是(B )。

A、int a,b=0; B、int a=0,b=0; C、int a=b=0; D、int a=0;b=0;

6、已定义c为字符型变量,则下列语句中正确的是( C )。

A、c=’97’; B、c=”97”; C、c=97 ; D、c=”a”;

7、通过scanf(“%d,%d”,&a,&b);要使a值为3,b值为4,则正确的数据输入形式为( D)。

A、3,4(回车) B、a=3,b=4(回车) C、a=3(回车)b=4(回车) D、3 4(回车)

8、命题x是小写字母,用C语言可描述为(A )。

A、x>=’a’&&x<=’z’ B、x>=’a’||x<=’z’

C、’a’<=x<=’z’ D、x>=’a’,x<=’z’

9、设有定义int a[4]={0,2,4,6},*p=&a[2];则执行printf(“%d\n”,8p--);的结果为( )。
应该是printf(“%d\n”,*p--);答案就是C
A、0 B、2 C、4 D、6

10、有定义:float x=10.5;则下面表达式错误的是( A )

A、x%2 B、(int)x%2 C、x/2 D、(int)x/2

11、以下程序段中循环执行的次数是( D )

int i,k=0; for(i=0;i!=k;i--)k++

A、无限次 B、有语法错,不能执行 C、1次 D、0次

12、有以下函数定义:

void fun(int x,int*y){……}

若以下选项中的变量都已正确定义,则对函数fun的正确调用语句是( C )

A、fun(10,int *n) B、k=fun(10,12); C、fun(10,&n0; D、void fun(&10,n);

13、有定义;char c;若要人键盘输入一个字符给c变量,正确的语句是( D )。

A、scanf(“%s”,&c); B、scanf(“%c”,c); C、getchar(c); D、c=getchar();

14、以下定义语句,错误的是( D )B也有点问题可能多了个{

A、char a[10],*p=a; B、char a[]={“abcdefg”,*p=&a[3];

C、int a[]={1,2,3,4},*p=a+1 D、int n,a[n=5];

15、有定义:int a[2][2]={{1},{2}};则元素a[0][2]的值是( D )

A、0 B、1 C、2 D、不定值

16、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。

main()

/*Beiginning*/

{int r;float s;

scanf(“%d”,&r);

s=pi*r*r;printf(“s=%f\n’,s);

}

出错的原因是(D )printf()里面可能又是打错有个单引号

A、注释语句书写位置错误 B、存放圆半径的变量r不应该定义为整型

C、输出语句中格式描述符非法 D、计算圆面积的赋值语句中使用了非法变量

阅读程序,给出运行结果。(每小题4分,共16分)
main()
{int I,s=0;

for(i=15;i>0;i--)

{if(i%6==0)break;

s=s+I;}

printf(“%d\n”,s0;

}

test(int x)
{static int j=2;

x++;j--;

printf(“x=%d,j=%d\t”,x,j);

}

main()

{test(1);test(2);}

fun(int a,int b)
{if(a>b)return(a);

else return(b);

}

main()

{int x=3,y=8,z=6,r;

r=fun(x+y,2*z);

printf(“%d\n”,r);

}

main()
{int i=10,m=0,n=0;

switch(i/10)

{case 0:m++;n++;

case 1:n++;

default:n++;

}

printf(“%d%d\n”,m,m);

}

程序填空(每空格3分,共30分)
程序的功能是统计整型数组中不能被5整除的数的个数。
main()

{int a[10],I,count=0;

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

scanf(“____(1)_____”,&a[i]);

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

if(____(2)_____)_____(3)_____;

printf(“count=%d”,count);

}

以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。
#include____(1)_____

main()

{char s[80],d[80];int i,j;

gets(s);

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

if(s[j]>=’0’&&s[j]<=’9’)

{d[j]=s[i];_____(2)____;}

d[j]=’\0’;

___(3)____;

}

程序的功能为用冒泡法对含有n个元素的整型数组a,从小到大进行排序。
void sort(______(1)_____)

{int i,j,temp;

for(i=0;i
for(j=1;j
if(a[j-1]>a[j])

{temp=a[j];a[j]=______(3)_______;________(4)__________=temp;}

}

main()

{int a[10],i;

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

scanf(“%d”,&a[i]);

sort(a,10);

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

printf(“%d”,a[i]);

}

编写程序(共30分)
编一个程序,计算:s=1+1/2+1/3+……+1/100

编一个函数,判断M是否为质数。再谝一主函数来调用该函数,输出3~100之间的质数。

回答2:

#include
#include
int main()
{
int r;//r半径,a圆周率,b面积
float a, b;
a = 3.14;
printf("Please enter the radius\n");
scanf_s("%d", &r);
b = a*r*r;
while (r < 0)
{
printf("ERROR ! Please enter the radius again\n");
scanf_s("%d", &r);
if (r > 0)
printf("The radius of the circle is\n %f", b);
}
if (r == 0)
printf("END");
getchar();
return 0;
}//望采纳