c语言习题谭浩强有参考答案版Word文档格式.docx

上传人:b****2 文档编号:15287118 上传时间:2022-10-29 格式:DOCX 页数:24 大小:25.34KB
下载 相关 举报
c语言习题谭浩强有参考答案版Word文档格式.docx_第1页
第1页 / 共24页
c语言习题谭浩强有参考答案版Word文档格式.docx_第2页
第2页 / 共24页
c语言习题谭浩强有参考答案版Word文档格式.docx_第3页
第3页 / 共24页
c语言习题谭浩强有参考答案版Word文档格式.docx_第4页
第4页 / 共24页
c语言习题谭浩强有参考答案版Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

c语言习题谭浩强有参考答案版Word文档格式.docx

《c语言习题谭浩强有参考答案版Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言习题谭浩强有参考答案版Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

c语言习题谭浩强有参考答案版Word文档格式.docx

9.设有char*p="

abcde\0fghjik\0"

则语句printf("

%d\n"

strlen(p));

的输出结果是_____5_______。

10.表达式0x13^0x17的值是__ox4________。

11.在C语言中,&

运算符作为单目运算符时表示的是__取地址_____运算;

作为双目运算符时表示的是_按位与____运算。

12.若p是指向某一结构体变量的指针变量,则通过指变量对结构体成员的引用方法有:

_____p->

_______和_______(*p)._______。

13.设inta[3][4]={{1,2,3,4},{5,6,7,8}};

则*(*a+2)的值为__3____。

14.判断文本文件是否结束时使用的符号常量EOF的值是___-1___。

15.FILE*p的作用是定义一个文件指针变量,其中的FILE是在stdio.h_____头文件中定义的。

16.若有以下说明和定义语句,则变量w在内存中所占的字节数是_34_______。

  unionaa{floatx;

floaty;

charc[6];

};

structst{unionaav;

floats[5];

doubleave;

}w;

17.设有语句inty;

y=sizeof(2.25*4);

则y的值是____8_____。

18.已知inta=1,b=3则a^b的值为___2_______。

19.下面程序段的运行结果是___ef_____。

charstr[]="

abc\0def\0ghi"

*p=str;

printf("

%s"

p+5);

20.表达式0x13|0x17的值是__ox17________。

21.rewind函数的作用是_使文件位置标记指向文件开始位置________。

22.与表达式a&

=b等价的另一书写形式是___a=a&

b______。

23.若有以下定义和语句:

inta[4]={0,1,2,3,4},*p;

a[1];

则++(*p)的值是___2_____。

24.若有int(*p)[4];

则p是_指向包含4个整型元素的一维数组的指针变量。

25.表达式071∧052的值是___o23______ 

26.表达式0x14&

0x18的值是__ox10_______。

27.设有定义:

int(*p)(int,int),则p是___指向函数入口地址的指针变量。

28.fclose函数当成功地执行了关闭操作,则返回值为___0___________。

29.设有定义inta[3][4],*p;

若二维数组的首行首地址为2000,一个整型数据占4个字节,则a+1的首地址是__2016___________。

30.表达式3&

5的值是_____1_______。

31.设有定义uniondata

{inti;

'

2

charch;

floatf;

}a;

则变量a所占内存长度为_____4_______个字节。

32.若p是指向某一结构体变量的指针变量,则通过指变量对结构体成员的引用方法有:

_____p->

__________和_____(*p)._________。

33.设a是二维数组名,则a[0]表示___0行0列元素地址__________________。

34.设有语句:

a=a+7;

的输出结果是_china!

____________。

35.设intb[]={1,2,3,4},y,*p=b;

则执行语句y=*p++;

之后,变量y的值为__1_____。

36.设inta[3][4]={{1,3,5,7},{2,4,6,8}};

则*(*a+1)的值为_3_____。

 

程序阅读题

1.下面的程序是求表达式的值:

s=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+......+(1*2*3*......*n)/(3*5*7*......(2*n+1)),请填空。

#include<

stdio.h>

math.h>

doublefun(intn)

{doubles,t;

inti;

___s=1_______;

t=1.0;

for(i=1;

i<

=n;

i++)

{t=t*i/(2*i+1);

______s+=t_________;

}

returns;

main()

{printf("

\n%12.10lf"

fun(25));

2.下面程序的功能是:

对字符串从小到大进行排序并输出,请填空。

#include"

string.h"

stdio.h"

sort(char*a[],intn)

{inti,j;

char*p;

for(j=1;

j<

=__n-1________;

j++)

for(i=0;

_i<

n-j_______;

i++)

if(___strcmp(a[i],a[i+1])___>

0)

{p=a[i];

a[i]=a[i+1];

a[i+1]=p;

}

3.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。

FILE*fp;

{charch;

if((fp=fopen(“bi.dat”,"

w"

___________))==NULL)exit(0);

while((ch=getchar())!

='

___@____'

)fputc(ch,fp);

fclose(fp);

4.若已定义:

structnum

{inta;

intb;

}n={1,3,5.0};

structnum*pn=&

n;

则表达式pn->

b/n.a*++pn->

b的值是_12________,表达式(*pn).a+pn->

f的值是____6.0__。

5.下列程序的功能是:

求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include

#defineM81

intfun(char*ss,charc)

{inti=0;

for(;

___*ss!

\0'

_____________;

ss++)

if(*ss==c)i++;

returni;

{chara[M],ch;

clrscr();

pleaseenterastring:

\n"

);

gets(a);

pleaseenterachar:

"

ch=getchar());

\nThenumberofthecharis:

%d\n"

fun(__a[M],ch______));

6.下面函数的功能是:

找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回,n是数据个数。

请填空。

voidfun(inta[],intn,int*max,int*d)

{inti;

*max=a[0];

*d=0;

___i<

n________;

if(*max<

___a[i]_________)

{*max=a[i];

*d=i;

}

7.以下函数用来在w数组中插入x。

n所指向的存储单元中存放w数组中字符个数。

数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。

voidfun(char*w,charx,int*n)

{inti,p;

p=0;

while(x>

w[p])p++;

for(i=*n;

i>

p;

i--)w[i]=__w[i-1]____________;

w[p]=____x________;

++*n;

8.下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。

fun(int*p,intn)

{int*q;

intmax,min;

max=min=*p;

for(q=p;

q<

__p+n______;

q++)

if(*q>

max)max=*q;

elseif(___*q<

min_____________)min=*q;

9.以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。

{FILE*fp;

chara[4]="

1234"

,b[6]="

abcedf"

if((fp=fopen("

_lett.dat___"

"

wb"

))=NULL)exit(0);

fwrite(a,sizeof(char),4,fp);

fwrite(b,_6_,1,fp);

10.函数primedec(m)是求整数m的所有素数因子,并输出。

如:

m为120时。

输出的素数因子为:

2,2,2,3,5

程序如下:

primedec(intm)

{intk=2;

while(k<

=m)

if(___m%k==0________)

{printf(“%d,”,k);

m=m/k

else

k++;

11.以下程序是将一个磁盘文件中的信息复制到另一个磁盘文件中。

stdlib.h>

voidmain()

{FILE*in,*out;

charch,infile[10],outfile[10];

printf("

Entertheinfilename:

\n"

scanf("

infile);

Entertheoutfilename:

outfile);

if((in=fopen(__infile,"

r"

_______))==NULL)

{printf

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

当前位置:首页 > 职业教育 > 职高对口

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

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