c语言习题谭浩强有答案版

上传人:luoxia****01814 文档编号:46317531 上传时间:2018-06-25 格式:DOC 页数:19 大小:205.31KB
返回 下载 相关 举报
c语言习题谭浩强有答案版_第1页
第1页 / 共19页
c语言习题谭浩强有答案版_第2页
第2页 / 共19页
c语言习题谭浩强有答案版_第3页
第3页 / 共19页
c语言习题谭浩强有答案版_第4页
第4页 / 共19页
c语言习题谭浩强有答案版_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《c语言习题谭浩强有答案版》由会员分享,可在线阅读,更多相关《c语言习题谭浩强有答案版(19页珍藏版)》请在金锄头文库上搜索。

1、11.若有以下定义和语句: int a4=0,1,2,3,*p; p= 则+(*p)的值是_3_。 2.与表达式 a|=b 等价的另一书写形式是_a=a|b_。 3.链表中的每个结点都是_结构体_类型数据。4.设有语句:char *a=“I_love_china!“;a=a+2;则执行 printf(“%sn”,a);的输出结果是_love_china!_。5.若有宏义:#define f(x) x*x 则当 a=3 时,执行 f(a-1)的值是_-1_。6.有以下函数调用语句,请问函数 fun1 到底有_4_个参数。 fun1(x,(y,z),10,fun2(x-1,y-1) 7.设有以下定

2、义和语句,则*(*(p+2)+1)的值为_60_。 int a32=10, 20, 30, 40, 50, 60, (*p)2; p=a; 8.若有 int a=1;int b=2;则 ab 的值为_3_。 9.设有 char *p=“abcde0fghjik0 “; 则语句 printf(“%dn “,strlen(p);的 输出结果是_5_。 10.表达式 0x130x17 的值是_ox4_。 11.在 C 语言中,则*(*a+2)的值为_3_。 14.判断文本文件是否结束时使用的符号常量 EOF 的值是_-1_。 15.FILE *p 的作用是定义一个文件指针变量,其中的 FILE 是在

3、 stdio.h_ 头文件中定义的。 16.若有以下说明和定义语句,则变量 w 在内存中所占的字节数是_34_ 。union aa float x; float y; char c6; ; struct st union aa v; float s5; double ave; w; 17.设有语句 int y; 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|0x

4、17 的值是_ox17_。 21.rewind 函数的作用是_使文件位置标记指向文件开始位置_。22.与表达式 a2p= 则+(*p)的值是_2_。 24.若有 int (*p)4;则 p 是_指向包含 4 个整型元素的一维数组的指针变量。25.表达式 071052 的值是_o23_ 26.表达式 0x14若二维数组的首行首地址为 2000,一个整型数据占 4 个字节,则 a+1 的首地址是_2016_。30.表达式 32char ch;float f;a;则变量 a 所占内存长度为_4_个字节。 32.若 p 是指向某一结构体变量的指针变量,则通过指变量对结构体成员的引用方法有:_p-_和_

5、(*p)._。33.设 a 是二维数组名,则 a0表示_0 行 0 列元素地址_。34.设有语句:char *a=“I_love_china!“;a=a+7;则执行 printf(“%sn”,a);的输出结果是_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)

6、,请填空。#include #include double fun(int n) double s, t; 3int i; _s=1_ ;t=1.0;for(i=1;i0) p=ai; ai=ai+1; ai+1=p; 3.下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat 的新文件中,请填空。#include “stdio.h“FILE *fp; char ch; if(fp=fopen( “bi.dat”,“w“_))=NULL)exit(0);while(ch=getchar( ))!=_)fputc (ch,fp);fclose(fp); 4.若已定义:stru

7、ct num4 int a;int b;float f; n=1,3,5.0;struct num *pn= 则表达式 pn-b/n.a*+pn-b 的值是_12_,表达式(*pn).a+pn-f的值是_6.0_。5.下列程序的功能是:求出 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串 123412132,输入字符 1,则输出 3,请填空。 #include #include #define M 81 int fun(char *ss, char c) int i=0; for(; _*ss!=0_;ss+) if(*ss=c) i+; return i; main()

8、char aM, ch; clrscr(); printf(“please enter a string: n“); gets(a); printf(“please enter a char: “; ch=getchar(); printf(“nThe number of the char is: %dn“,fun(_aM,ch_); 6.下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值 的和它所在的下标通过形参传回,n 是数据个数。请填空。 void fun(int a,int n, int *max, int *d) int i; *max=a0; *d=0; for(i

9、=0;_i 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( _*q #include void main( )FILE *in,*out;char ch,infile10,outfile10;printf(“Enter the infile name:n“);scanf(“%s“,inf

10、ile);printf(“Enter the outfile name:n“);scanf(“%s“,outfile);if(in=fopen( _infile,“r“_ )=NULL)printf(“cannot open infilen“);exit(0);if(out=fopen(outfile,“w“)=NULL)printf(“cannot open outfilen“);exit(0);while( _!feof_(in)fputc(fgetc(in),out);fclose(in);fclose(out); 12.以下程序中,select 函数的功能是:在 N 行 M 列的二维数

11、组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#define N 3#define M 3int select(int aNM,int *n) int i,j,row=1,colum=1;for(i=0;iarowcolum)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,7printf(“max=%d,line=%dn“,max,n); 13.下面程序是对输入的两个整数按大小顺序输出。请填空。#includ

12、e int main()void swap(int *p1,int *p2);(226)int a,b;int *pointer_1,*pointer_2;printf(“please enter a and b:“);scanf(“%d,%d“,pointer_1=pointer_2=if(a #include double fun(int m) double t=1.0; int i=2; for(i=2; it 时返回正值, 当 sdata=ch; t3-next=t2; t3=t2; ch=getchar(); t3-next=NULL; _ return(t1)_; 19.下面程序是

13、判断输入的字符串是否是“回文”,(正读和倒读都一样的字符 串称“回文”,如 level )。请填空。#include #includemain() char s81,*p1,*p2;int n; gets(s); n=strlen(s); p1=s; p2=_s+n-1_; while(p1*(x+k) _k=j_;if(k!=i)10t=*(x+i);_*(x+i)=*(x+k)_;*(x+k)=t; 21.设函数 findbig 已定义为求 3 个数中的最大值。以下程序将利用函数指针调 用 findbig 函数。请填空。main() int findbig(int,int,int); in

14、t (*f)(),x,yz,z,big; f=_findbig_; scanf(“%d%d%d“, big=_(*f)_(x,y,z); printf(“bing=%dn“,big); 22.以下程序是将若干字符串按字母顺序(由小到大)输出。请填空。 #include #include void main()void sort(char *name ,int n);void print(char *name ,int n); char *name =“Follow me“,“BASIC“,“Great Wall“,“FORTRAN“,“Computer design“;int n=5;sort(name,n);print(name,n); void sort(char *name ,int n)char *temp;int i,j,k;for(i=0;i0) _ k=j_;if(k!=i)temp=namei;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 物流与供应链

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号