1、 y=sizeof(2.25*4);则y的值是_8_。18.已知 int a=1,b=3则ab的值为_2_。19.下面程序段的运行结果是_ef_。char str =abc0def0ghi,*p=str;printf(%s,p+5);20.表达式0x13|0x17的值是_ox17_。21.rewind函数的作用是_使文件位置标记指向文件开始位置_。22.与表达式a&=b等价的另一书写形式是_a=a&b_。23.若有以下定义和语句:int a4=0,1,2,3,4,*p;a1;则+(*p)的值是_2_。24.若有int (*p)4;则p是_指向包含4个整型元素的一维数组的指针变量。25.表达式0
2、71052的值是_o23_26.表达式0x14&0x18的值是_ox10_。27.设有定义:int (*p)(int, int),则p是_指向函数入口地址的指针变量。28.fclose函数当成功地执行了关闭操作,则返回值为_0_。29.设有定义int a34,*p;若二维数组的首行首地址为2000,一个整型数据占4个字节,则a+1的首地址是_2016_。30.表达式3&5的值是_1_。31.设有定义union data int i;2 char ch; float f;a; 则变量a所占内存长度为_4_个字节。32.若p是指向某一结构体变量的指针变量,则通过指变量对结构体成员的引用方法有: _
3、p-_和_(*p)._。33.设a是二维数组名,则a0表示_0行0列元素地址_。34.设有语句:a=a+7;的输出结果是_china!_。35.设int b =1,2,3,4,y,*p=b;则执行语句y=*p+;之后,变量y的值为_1_。36.设int a34=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 math.hdouble fun(int n) double s, t;int
4、 i;_s=1_ ;t=1.0;for(i=1;i=n; i+) t=t*i/(2*i+1);_s+=t_;return s;main()printf(n %12.10lf, fun(25);2.下面程序的功能是:对字符串从小到大进行排序并输出,请填空。#include string.hstdio.hsort(char *a,int n) int i,j;char *p;for(j=1;j=_n-1_;j+) for(i=0; _i0) p=ai;ai=ai+1;ai+1=p; 3.下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。FILE *fp;
5、 char ch;if(fp=fopen( “bi.dat”,w_)=NULL)exit(0);while(ch=getchar( )!=_)fputc (ch,fp);fclose(fp);4.若已定义:struct num int a; int b;n=1,3,5.0;struct num *pn=&n;则表达式pn-b/n.a*+pn-b的值是_12_,表达式(*pn).a+pn-f的值是_6.0_。5.下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include #define M 81 int
6、 fun(char *ss, char c) int i=0;for(; _*ss!0_;ss+) if(*ss=c) i+;return i; char aM, ch;clrscr();please enter a string: n); gets(a);please enter a char: ch=getchar();nThe number of the char is: %dn,fun(_aM,ch_);6.下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回,n是数据个数。请填空。void fun(int a,int n, int *max,
7、 int *d) int i;*max=a0;*d=0;_in_;if(*max wp) p+;for(i=*n; ip; i-) wi=_wi-1_;wp=_x_;+*n;8.下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int *p,int n) int *q;int max,min;max=min=*p;for(q=p;qmax) max=*q;else if( _*qmin_ ) min=*q;9.以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。 FILE *fp;char a4=1234,b6=ab
8、cedf;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(int m)int k=2; while (k void main( ) FILE *in,*out; char ch,infile10,outfile10; printf(Enter the infile name:n scanf(,infile);Enter
9、 the outfile name:,outfile); if(in=fopen( _infile,r_ )=NULL) printf(cannot open infilen exit(0); if(out=fopen(outfile,)=NULL)cannot open outfilen while( _!feof_(in)fputc(fgetc(in),out); fclose(in); fclose(out);12.以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。#define N 3#define M 3
10、int select(int aNM,int *n) int i,j,row=1,colum=1;N;i+)for(j=0;M;j+)if(aijarowcolum)row=i;colum=j;*n= _row_ ;return _arowcolum_ ; main() int aNM=9,11,23,6,1,15,9,17,20,max,n; max=select(a,&n);max=%d,line=%dn,max,n);13.下面程序是对输入的两个整数按大小顺序输出。int main() void swap(int *p1,int *p2);(226) int a,b; int *poin
11、ter_1,*pointer_2;please enter a and b:%d,%d,&a,&b); pointer_1=&a; pointer_2=&b; if(ab) swap(_pointer_1,pointer_2_);max=%d,min=%dn,a,b); return 0;void swap(int *p1,int *p2) int _temp_; temp=*p1; (p256) *p1=*p2; *p2=temp;14.以下程序将数组a中的数据按逆序存放。#define M 8int aM,i,j,t; for(i=0;i+) scanf(%d,a+i); i=0; j=M
12、-1; while (ij)t=*(a+i); *(a+i)=*(a+j)_;*( _a+j_ )=t; i+;j-;i+) printf(%3d,*(a+i);15.mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。int mystrlen(char *str) _stri_ !=0i+);return( _i_ );16.下面的程序中,函数fun的功能是:根据形参m,计算下面公式的值。T=1+1/(2*3)+1/(3*4)+1/(m*(m+1) 请填空。#includedouble fun(int m) double t=1.0;int i=2;for(i=2; i
13、t时返回正值,当sdata=ch;t3-next=t2;t3=t2;next=NULL;_ return(t1)_;19.下面程序是判断输入的字符串是否是“回文”,(正读和倒读都一样的字符串称“回文”,如level )。string,h char s81,*p1,*p2;int n;gets(s);n=strlen(s);p1=s;p2=_s+n-1_;while(p1p2) if(*p1!=*p2) break; else p1+;_p2-_ ;if(p1*(x+k) _k=j_; if(k!=i) t=*(x+i);_*(x+i)=*(x+k)_;*(x+k)=t;21.设函数findbi
14、g已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。 int findbig(int,int,int); int (*f)(),x,yz,z,big; f=_findbig_;%d%d%dx,&y,&z); big=_(*f)_(x,y,z);bing=%dn,big);22.以下程序是将若干字符串按字母顺序(由小到大)输出。string.hvoid main() void sort(char *name ,int n); void print(char *name ,int n);char *name =Follow meBASICGreat WallFORTRANC
15、omputer design; int n=5; sort(name,n); print(name,n);void sort(char *name ,int n) char *temp; int i,j,k; k=i; if(strcmp(namek,namej)0) _ k=j_; temp=namei;_namei=namek_; namek=temp;void print(char *name ,int n) int i;%sn,namei);23.以下程序为从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个“#”为止。 #include *b) _num=*b_;if(num*c
16、) _num=*c_;printf (输出最小整数:%dn, num ) ;25.下面程序段中,for循环的执行次数是_6_。char *s=ta018bc*s!s+)*26.以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表不带头结点)。struct link char data;struct link *next;;struct link *p,*first;int c=0;p=first;while( p!=NULL_ ) c+; p= P-next_;27.下面的程序是求如下表达式的值。s=sqrt(ln(1)+ln(2)+ln(3)+ln(n), 当n=50时,给出程序运行结果(保留6位小数)。double fun(in
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1