C 复习题C文档格式.docx

上传人:b****4 文档编号:18488891 上传时间:2022-12-17 格式:DOCX 页数:11 大小:18.56KB
下载 相关 举报
C 复习题C文档格式.docx_第1页
第1页 / 共11页
C 复习题C文档格式.docx_第2页
第2页 / 共11页
C 复习题C文档格式.docx_第3页
第3页 / 共11页
C 复习题C文档格式.docx_第4页
第4页 / 共11页
C 复习题C文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C 复习题C文档格式.docx

《C 复习题C文档格式.docx》由会员分享,可在线阅读,更多相关《C 复习题C文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

C 复习题C文档格式.docx

x);

if(x--<

5)printf("

x);

elseprintf("

x++);

程序运行后,如果从键盘上输入5,则输出结果是

A)3B)4C)5D)6

(8)t为int类型,进人下面的循环之前,t的值为0

while(t=l)

{……}

则以下叙述中正确的是

A)循环控制表达式的值为0B)循环控制表达式的值为1

C)循环控制表达式不合法D)以上说法都不对

(9)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是

A)地址传递B)单向值传递

C)双向值传递D)传递方式由用户指定

(10)以下函数值的类型是

fun(floatx)

{

floaty;

y=3*x-4;

returny;

A)intB)不确定C)voidD)float

(11)以下程序的输出结果是

charc='

z'

;

%c"

c-25);

A)aB)ZC)z-25D)y

(12)若有说明:

inti,j=2,*p=&

j;

,则能完成i=j赋值功能的语句是

A)i=*p;

B)p*=*&

C)i=&

D)i=**p;

(13)以下定义语句中,错误的是

A)inta[]={1,2};

B)char*a[3];

C)chars[10]="

test"

D)intn=5,a[n];

(14)假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};

,则数组x在内存中所占字节数是

A)3B)6C)10D)20

(15)以下程序的输出结果是

inti,a[10];

for(i=9;

i>

=0;

i--)a[i]=10-i;

%d%d%d"

a[2],a[5],a[8]);

A)258B)741C)852D)369

(16)以下数组定义中不正确的是

A)inta[2][3];

B)intb[][3]={0,1,2,3};

C)intc[100][100]={0};

D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

(17)以下程序的输出结果是

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

%d%d%d%d\n"

a[0][3],a[1][2],a[2][1],a[3][0]);

A)0650B)1470C)5430D)输出值不定

(18)以下程序的输出结果是

charst[20]="

hello\0\thg"

printf(%d%d\n"

strlen(st),sizeof(st));

A)99B)520C)1320D)2020

(19)以下选项中,不能正确赋值的是

A)chars1[10];

s1="

Ctest"

B)chars2[]={'

C'

'

t'

e'

s'

};

C)chars3[20]="

D)char*s4="

Ctest\n"

(20)以下程序的输出结果是

structHAR

{intx,y;

structHAR*p;

}h[2];

h[0].x=1;

h[0].y=2;

h[1].x=3;

h[1].y=4;

h[0].p=&

h[1];

h[1].p=h;

%d%d\n"

h[0].p->

x,h[1].p->

y);

A)12B)23C)14D)32

(21)以下程序的输出结果是

inta,b;

for(a=1,b=1;

a<

=100;

a++)

if(b>

=10)break;

if(b%3==1)

{b+=3;

continue;

}

a);

A)101B)6C)5D)4

(22)以下程序的输出结果是

unionmyun

struct

{intx,y,z;

}u;

intk;

}a;

a.u.x=4;

a.u.y=5;

a.u.z=6;

a.k=0;

a.u.x);

A)4B)5C)6D)0

(23)以下程序的输出结果是

voidfun()

{a=100;

b=200;

}

inta=5,b=7;

fun();

a,b);

A)100200B)57C)200100D)75

(24)以下程序的输出结果是

#defineM(x,y,z)x*y+z//带参宏定义

inta=1,b=2,c=3;

M(a+b,b+c,c+a));

A)19B)17C)15D)12

(25)下面的程序执行后,文件test.t中的内容是

#include<

stdio.h>

voidfun(char*fname,char*st)

FILE*myf;

myf=fopen(fname,"

w"

);

fputs(st,myf);

fclose(myf);

fun("

"

newworld!

"

);

hello!

}

A)hello!

B)newworld!

C)newworld!

D)hello!

rld!

 

二、填空题

(1)语句:

x++;

++x;

x=x+1;

x=1+x;

执行后都使变量x的值增1,请写出一条同一功能的赋值语句()。

(2)以下程序运行后的输出结果是()。

voidmain()

inti=10,j=0;

do{j=j+i;

i--;

}while(i-->

2);

j);

(3)设有以下程序:

intn1,n2;

n2);

while(n2!

=0)

n1=n2%10;

n2=n2/10;

n1);

程序运行后,如果从键盘上输入1298;

则输出结果为()。

(4)以下程序输出的最后一个值是()。

intff(intn)

staticintf;

f=f+n;

returnf;

inti;

for(i=1;

i<

=5;

i++)printf("

ff(i));

(5)以下函数的功能是:

求x的y次方,请填空。

doublefun(doublex,inty)

doublez;

for(i=1,z=x;

____;

i++)_____;

returnz;

(6)设有以下程序:

inta,b,k=4,m=6,*p1=&

k,*p2=&

m;

a=p1==&

b=(*p1)/(*p2)+7;

a=%d\n"

a);

b=%d\n"

b);

执行该程序后,a的值为(),b的值为()。

(7)若已定义:

inta[10],i;

,以下fun函数的功能是:

在第一个循环中给10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;

在第二个循环中使a数组10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。

请填空。

fun(inta[])

=10;

i++)_____=i;

for(i=0;

5;

i++)_____=a[i];

(8)若有定义语句:

chars[100],d[100];

inti=0;

,且s中已赋字符串,请填空以实现字符串拷贝。

(注:

不得使用逗号表达式)

while(s[i]){d[i]=____;

i++;

d[i]=’\0’;

(9)以下程序段用于构成一个简单的单向链表,请填空。

structSTRU

intx,y;

floatrate;

___________p;

}a,b;

a.x=0;

a.y=0;

a.rate=0;

a.p=&

b;

b.x=0;

b.y=0;

b.rate=0;

b.p=NULL;

(10)若有如下结构体说明:

inta,b;

charc;

doubled:

structSTRUp1,p2;

___________t[20];

请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型.

三、改错题

注意:

在/*********found**********/下一行改,不得增行或删行,也不得更改程序的结构!

1.给定函数fun的功能是:

先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。

请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。

intfun()

inta[3][3],sum;

inti,j;

/*********found**********/

______;

for(i=0;

i<

3;

i++)

{for(j=0;

j<

j++)

a[i][j]);

sum=sum+a[i][i];

Sum=%d\n"

sum);

2.给定函数fun的功能是:

将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用'

.'

结束输入。

请改正函数中的错误,使程序能输出正确的结果。

intfun(char*c,intstatus)

/***********found**********/

if(c=='

'

)return1;

else

if(status&

*c<

='

&

*c>

a'

c+='

A'

-'

return0;

3.给定函数fun的功能是:

计算整数n的阶乘。

请改正函数中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。

doublefun(intn)

longresult=1;

while(n>

1&

n<

30)

/*********found*********/

result*=--n;

return________;

习题答案

一、单选题

1.C2.B3.D4.D5.D6.C7.B8.C

9.B10.D11.A12.A13.D14.D15.C16.D

17.A18.B19.A20.D21.D22.D23.B24.D

25.A

1.x+=12.303.89214.15

5.i<

yz*=x6.077.a[i-1]a[9-i]8.s[i]

9.structSTRU10.structSTRU

1.sum=0;

scanf("

a[i][j]);

2.if(*c=='

*c+='

3.result*=n--;

returnresult;

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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