C语言练习题1Word文件下载.docx

上传人:b****8 文档编号:22123233 上传时间:2023-02-02 格式:DOCX 页数:25 大小:28.74KB
下载 相关 举报
C语言练习题1Word文件下载.docx_第1页
第1页 / 共25页
C语言练习题1Word文件下载.docx_第2页
第2页 / 共25页
C语言练习题1Word文件下载.docx_第3页
第3页 / 共25页
C语言练习题1Word文件下载.docx_第4页
第4页 / 共25页
C语言练习题1Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言练习题1Word文件下载.docx

《C语言练习题1Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言练习题1Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

C语言练习题1Word文件下载.docx

D)#defineN12

inta[N];

16.已知:

inta[10];

则对a数组元素的正确引用是(D)。

A、a[10]B、a[3.5]C、a(5)D、a[0]

17.下列关系表达式中结果为真的是(D)

(A)0 

==1 

;

(B)6<

(C)(a=2*2)==2 

(D)y=(2+2)==4 

18.若有说明:

inta[][3]={{1,2,3},{4,5},{6,7}};

则数组a的第一维的大小为:

(3)

A.2B.3C.4D.无确定值

19.对二维数组的正确定义是(C )

  A.inta[][]={1,2,3,4,5,6};

B.inta[2][]={1,2,3,4,5,6};

C.inta[][3]={1,2,3,4,5,6};

D.inta[2,3]={1,2,3,4,5,6};

20.已知inta[3][4];

则对数组元素引用正确的是___C__

A)a[2][4]B)a[1,3]C)a[2][0]D)a

(2)

(1)

21.在C语言中,函数的数据类型是指(C)

A函数返回值的数据类型B.函数形参的数据类型

C调用该函数时的实参的数据类型D.任意指定的数据类型

22.在函数调用时,以下说法正确的是(B )

 A.函数调用后必须带回返回值

 B.实际参数和形式参数可以同名

 C.函数间的数据传递不可以使用全局变量

 D.主调函数必须定义在被调函数后面

23.在C语言中,表示静态存储类别的关键字是:

(A)

A)autoB)registerC)staticD)extern

24.未指定存储类别的变量,其隐含的存储类别为(C)。

A)autoB)staticC)externD)register

25.语句int*p;

说明了C。

A)p是指向一维数组的指针

B)p是指向函数的指针,该函数返回一int型数据

C)p是指向int型数据的指针

D)p是函数名,该函数返回一指向int型数据的指针

26.下列不正确的定义是( B)。

A.int*p=&

i,i;

B.int*p,i;

C.inti,*p=&

i;

D.inti,*p;

27.若有说明:

intn=2,*p=&

n,*q=p,则以下非法的赋值语句是:

( B)

A)p=qB)*p=*qC)n=*qD)p=n

28.有语句:

inta[10],;

则D是对指针变量p的正确定义和初始化。

A)intp=*a;

B)int*p=a;

C)intp=&

a;

D)int*p=&

29.若有说明语句“inta[5],*p=a;

”,则对数组元素的正确引用是(C)。

A.a[p]B.p[a]C.*(p+2)D.p+2

30.在C语言中,以D作为字符串结束标志

A)’\n’B)’’C)’0’D)’\0’

31.已知charx[]="

hello"

y[]={'

h'

'

e'

a'

b'

};

则关于两个数组长度的正确描述是B.

A)相同B)x大于yC)x小于yD)以上答案都不对

一、读程序

A.基本输入输出及流程控制

1.

#include<

stdio.h>

main()

{inta=1,b=3,c=5;

if(c==a+b)

printf("

yes\n"

);

else

no\n"

}

运行结果为:

no

2.

{inta=12,b=-34,c=56,min=0;

min=a;

if(min>

b)

min=b;

c)

min=c;

printf("

min=%d"

min);

-34

3.

{intx=2,y=-1,z=5;

if(x<

y)

if(y<

0)

z=0;

z=z+1;

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

}

5

4.

stdio.h>

main()

{floatc=3.0,d=4.0;

if(c>

d)c=5.0;

else

if(c==d)c=6.0;

elsec=7.0;

printf(“%.1f\n”,c);

7.0

5.

{intm;

scanf("

%d"

&

m);

if(m>

=0)

if(m%2==0)printf("

%disapositiveeven\n"

m);

elseprintf("

%disapositiveodd\n"

else

if(m%2==0)printf("

%disanegativeeven\n"

elseprintf("

%disanegativeodd\n"

若键入-9,则运行结果为:

-9isapositiveodd

6.

{intnum=0;

while(num<

=2){num++;

%d\n"

num);

3

7.

main()

{intsum=10,n=1;

while(n<

3){sum=sum-n;

n++;

}

printf(“%d,%d”,n,sum);

}

37

8.

{intnum,c;

&

num);

do{c=num%10;

c);

}while((num/=10)>

0);

\n"

从键盘输入23,则运行结果为:

3

9.

{ints=0,a=5,n;

scanf("

n);

do{s+=1;

a=a-2;

}while(a!

=n);

%d,%d\n"

s,a);

若输入的值1,运行结果为:

13

10.

#include"

stdio.h"

main()

{charc;

c=getchar();

while(c!

='

?

'

){putchar(c);

c=getchar();

如果从键盘输入abcde?

fgh(回车)

11.

{intx,y=0;

for(x=1;

x<

=10;

x++)

{if(y>

=10)

break;

y=y+x;

printf(“%d%d”,y,x);

105

12.

#include<

main()

{charch;

ch=getchar();

switch(ch)

{case‘A’:

printf(“%c”,’A’);

case‘B’:

printf(“%c”,’B’);

default:

printf(“%s\n”,”other”);

}}

当从键盘输入字母A时,运行结果为:

A

13.

{inta=1,b=0;

scanf(“%d”,&

a);

switch(a)

{case1:

b=1;

break;

case2:

b=2;

default:

b=10;

%d"

b);

若键盘输入5,运行结果为:

10

14.

voidmain()

{

intx=1,a=1,b=0;

switch(x)

{case0:

b++;

break;

case1:

a++;

case2:

a=%d,b=%d\n"

a,b);

21

15.

{inti,sum=0;

i=1;

do{sum=sum+i;

i++;

}while(i<

=10);

printf(“%d”,sum);

55

16.

#defineN4

{inti;

intx1=1,x2=2;

for(i=1;

i<

=N;

i++)

{printf("

%4d%4d"

x1,x2);

if(i%2==0)

x1=x1+x2;

x2=x2+x1;

12358132134

17.

{inti,j;

for(i=1;

i++)5

{for(j=1;

j<

j++)

"

*"

}}

*

*

数组

18.

{inti,a[10];

for(i=9;

i>

=0;

i--)

a[i]=10-i;

printf(“%d%d%d”,a[2],a[5],a[8]);

852

19.

{inti,k,a[10],p[3];

k=5;

for(i=0;

10;

a[i]=i;

3;

p[i]=a[i*(i+1)];

k+=p[i]*2;

k);

6

20.

{inti,a[6];

for(i=0;

i<

6;

i++)

a[i]=i;

for(i=5;

i>

=0;

i--)

%3d"

a[i]);

54321

21.

intm[3][3]={{1},{2},{3}};

intn[3][3]={1,2,3};

{printf(“%d,”,m[1][0]+n[0][0]);

printf(“%d\n”,m[0][1]+n[1][0]);

30

22.

#include“stdio.h”

func(intb[])

{intj;

for(j=0;

4;

j++)

b[j]=j;

{inta[4],i;

func(a);

for(i=0;

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

1121231234

23.

f(intb[],intn)

{inti,r;

r=1;

=n;

i++)

r=r*b[i];

returnr;

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3);

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

函数

24.

intSub(inta,intb)

{return(a-b);

{intx,y,result=0;

%d,%d"

x,&

y);

result=Sub(x,y);

result=%d\n"

result);

当从键盘输入:

6,3运行结果为:

25.

intmin(intx,inty)

{intm;

if(x>

y)m=x;

elsem=y;

return(m);

main(){

inta=3,b=5,abmin;

abmin=min(a,b);

printf(“minis%d”,abmin);

26.

func(intx){

x=10;

printf(“%d,”,x);

{intx=20;

func(x);

printf(“%d”,x);

20

27.

intm=4;

floatfunc(intx,inty)

{intm=1;

return(x*y-m);

{inta=2,b=3;

m);

func(a,b)/m);

41

28.

intfac(intn)

{intf=1,i;

f=f*i;

return(f);

{intj,s;

scanf(“%d”,&

j);

s=fac(j);

%d!

=%d\n"

j,s);

如果从键盘输入3,运行结果为:

36

29.

intfun();

voidmain()

{ints=1,i;

=3;

s=s*fun();

s=%d"

s);

intfun()

{staticintm=0;

returnm=m++;

30.

intmax(intx,inty);

{inta,b,c;

a=7;

b=8;

c=max(a,b);

Maxis%d"

max(intx,inty)

{intz;

z=x>

y?

x:

y;

return(z);

指针

31.

#include<

{intx[]={10,20,30,40,50};

int*p;

p=x;

printf(“%d”,*(p+2));

30

32.

{chars[]=”abcdefg”;

char*p;

p=s;

printf(“ch=%c\n”,*(p+5));

f

33.

{inta[]={1,2,3,4,5};

intx,y,*p;

p=a;

x=*(p+2);

%d:

%d\n"

*p,x);

运行结果为:

34.

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

intx,y,*p;

p=&

a[0];

x=*(p+2);

y=*(p+4);

printf(“*p=%d,x=%d,y=%d\n”,*p,x,y);

运行结果为:

135

35.

intmain()

inta,b;

a=5;

b=9;

Swap(&

a,&

b);

a=%d,b=%d"

return0;

voidSwap(int*x,int*y)

{

inttemp;

temp=*x;

*x=*y;

*y=temp;

*x=%d,*y=%d"

*x,*y);

二、程序填空

1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。

{charch;

ch=getchar();

if(‘)

ItisanEnglishcharacter\n"

elseif()

Itisadigitcharacter\n"

elseif()

Itisaspacecharacter\n"

Itisothercharacter\n"

2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。

用输入0来结束输入,用i,j来放统计数,请填空完成程序。

  voidmain()

{n,i=0,j=0;

printf(“inputainteger,0forend\n”);

while(){

if(n>

0)i=;

elsej=j+1;

printf(“i=%4d,j=%4d\n”,i,j);

3.编程计算1+3+5+……+101的值

voidmain()

{inti,sum=0;

for(i=1;

102;

i++)

sum=sum+i;

sum=%d\n"

sum);

4.从键盘输入一个字符,判断它是否是英文字母。

inputacharacter:

"

if(c>

=&

&

c<

=||c>

=‘a’&

=‘z’)printf("

Yes\n"

elseprintf("

No"

5.下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。

  #include<

voidmain()

{inta[10],i,x;

printf(“input10integers:

”);

   for(i=0;

10;

a[i]);

printf(“inputthenumberyouwanttofindx:

 

scanf(“%d”,);

if()

if()

printf(“theposofxis:

%d\n”,i);

elseprintf(“cannotfindx!

\n”);

6.程序读入20个整数,统计非负数个数,并计算非负数之和。

#include<

{inti,a[20],s,count;

s=count=0;

;

scanf(“%d”,&

a[i]);

20;

{if(a[i]

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

当前位置:首页 > 高等教育 > 医学

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

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