C语言程序设计习题集.doc

上传人:夏** 文档编号:561095903 上传时间:2024-01-02 格式:DOC 页数:18 大小:64.54KB
返回 下载 相关 举报
C语言程序设计习题集.doc_第1页
第1页 / 共18页
C语言程序设计习题集.doc_第2页
第2页 / 共18页
C语言程序设计习题集.doc_第3页
第3页 / 共18页
C语言程序设计习题集.doc_第4页
第4页 / 共18页
C语言程序设计习题集.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C语言程序设计习题集.doc》由会员分享,可在线阅读,更多相关《C语言程序设计习题集.doc(18页珍藏版)》请在金锄头文库上搜索。

1、指针一 单项选择题(每题2分,共40分)1 以下叙述中错误的是B。A 在程序中凡是以“#”开始的语句行都是预解决命令行B 预解决命令行的最后不能以分号表达结束C #define MAX是合法的宏定义命令行D C程序对预解决命令行的解决是在程序执行的过程中进行的2 若程序中有宏定义行:#define N 100 ,则以下叙述中对的的是B。A 宏定义行中定义了标记符N的值为整数100B 在编译程序对C源程序进行预解决时用100替换标记符NC 对C源程序进行编译时用100替换标记符ND 在运营时用100替换标记符3 若有如下宏定义:#define N 2#define y(n) (N+1)*n)则执

2、行下列语句:z=4*(N+y(5);后的结果是B。A 语句有错误 B z值为68 C z值为60 D z值为1804 以下程序运营后的输出结果是A。#define F(X,Y) (X)*(Y)main() int a=3,b=4;printf(%dn,F(a+,b+);A 12 B 15 C 16 D 205 以下程序运营后的输出结果是C。#define f(x) (x*x)main() int i1,i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf(%d,%dn,i1,i2);A 64,28 B 4,4 C 4,3 D 64,646 若已定义a为int型变量,

3、则D是对指针变量p的对的说明和初始化。A int p=&a; B int *p=a; C int *p=*a; D int *p=&a;7 已知下列说明语句:static int a=2,4,6,8static int *p=a,a+1,a+2,a+3;int *q;q=p;则表达式*(q+2)的值是A。A 6 B 2 C 4 D 88 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应当C。A *px B a C px D &a9 若指针px为空指针,则B。A px指向不定 B px的值为零 C px的目的为零 D px的地址为零10 对下语句int *px10;,下面

4、对的的说法是B。A px是一个指针,指向一个数组,数组的元素是整数型。B px是一个数组,其数组的每一个元素是指向整数的指针。C A和B均错,但它是C语言的对的语句。D C语言不允许这样的语句。11 具有相同基类型的指针变量p和数组y,下列写法中不合法的是D。A p=y B *p=yi C p=&yi D p=&y12 已知static int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p; ,则表达式 *(p0+1)+*(q+2) 的值是A。A 5 B 4 C 6 D 713 说明语句int *(*p)();的含义为D。A p是一个指向int型数组的指针B p是指针变量

5、,它构成了指针数组C p是一个指向函数的指针,该函数的返回值是一个整型D p是一个指向函数的指针,该函数的返回值是一个指向整型的指针14 设有如下程序段char s20=Beijing,*p; p=s;则执行p=s;语句后,以下叙述对的的是A。A 可以用*p表达s0B s数组中元素个数和p所指字符串长度相等C s和p都是指针变量D 数组s中的内容和指针变量p中的内容相同15 设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串。在for(i=0;in;i+)循环中,下列语句用以实现将s2所指字符串中前n个字符复制到s1所指字符串中,其中代码对的的是A。A *s1+=*s2+; B

6、s1n-1=s2n-1;C *(s1+n-1)=*(s2+n-1); D *(+s1)=*(+s2);16 给出下列程序的运营结果B。#include void main() static char a=language,b=program;char *ptr1=a,*ptr2=b;int k;for(k=0;k7;k+)if(*(ptr1+k)=*(ptr2+k) printf(%c,*(ptr1+k);A gae B ga C language D 有语法错误17 以下程序执行后的输出结果是A。void fun1(char *p) char *q;q=p;while(*q!=0) (*q)

7、+; q+; main() char a=Program,*p;p=&a3; fun1(p); printf(%sn,a);A Prohsbn B Prphsbn C Progsbn D Program18 以下程序执行后的输出结果是C。void swap(char *x,char *y) char t;t=*x; *x=*y; *y=t;main() char *s1=abc,*s2=123;swap(s1,s2); printf(%s,%sn,s1,s2);A 123,abc B abc,123 C 1bc,a23 D 321,cba19 以下程序执行后的输出结果是C。main() cha

8、r *p=3697,2584;int i,j; long num=0;for(i=0;i2;i+) j=0;while(pij!=0) if(pij-0)%2) num=10*num+pij-0;j+=2;printf(%dn,num);A 35 B 37 C 39 D 397520 下列程序运营后的输出结果是A。void main() char str=The_Microsoft; int n=4;sub(str,0,n-1);sub(str,0,strlen(str)-1);printf(%sn,str);sub(str,n1,n2)char *str;int n1,n2; char c,

9、*p;p=str+n2;str=str+n1;while(strp) c=*str; *str=*p; *p=c;str+; p-;A tfosorciMThe_ B. ehT_Microsoft C tfosorciM_ehT D. Microsoft_The二 填空题(每空3分,共30分)1 以下程序的定义语句中,x1的初值是 2 ,程序运营后输出的内容是 2468 。main() int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*p4,i;for(i=0; i4; i+) pi=&x2*i+1; printf(%d, pi0); printf(n

10、);2 以下程序的输出结果是 2 5 。void swap(int *a, int *b) int *t;t=a; a=b; b=t;main() int i=2,j=5,*p=&i,*q=&j;swap(p,q); printf(%d %dn,*p,*q)3 以下程序的输出结果是 4 。main() int a5=2,4,6,8,10, *p;p=a; p+;printf(%d, *p);4 以下程序的输出结果是_55_。#define M 5#define N M+Mmain() int k;k=N*N*5; printf(%dn,k);5 若有定义语句:int a4=0,1,2,3,*p

11、;p=&a1;则+(*p)的值是 2 。6 若有定义:int a23=2,4,6,8,10,12;则*(&a00+2*2+1)的值是 12 ,*(a1+2)的值是 12 。7 若有程序段:int *p3,a6,i;for(i=0;i3;i+) pi=&a2*i ;则*p0引用的是a数组元素 a0 ,*(p1+1)引用的是a数组元素 a3 。三 程序填空题(每空3分,共30分)1 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。void fun(char str1081,char *sp) int i;*sp = 【1】str0 ;for(i=1;i10; i+)if(s

12、trlen(*sp)strlen(stri) 【2】*sp=stri ;2 下面函数的功能是将一个整数字符串转换为一个整数,例如:1234转换为1234,请填空使程序完整。int chnum(char *p) int num=0,k,len,j;len=strlen(p);for( ; 【3】*p ; p+) k= 【4】*p-0 ; j=(-len);while( 【5】j- ) k=k*10;num=num+k;return (num);3 下面函数的功能使记录子串substr在母串str中出现的次数,请填空使程序完整。int count(char *str, char *substr) int i,j,k,num=0;for(i=0; 【6】stri ;i+)for( 【7】j=i ,k=0;substrk=strj;k+,j+)

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

当前位置:首页 > 商业/管理/HR > 商业合同/协议

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