版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指针-单项选择题(每题2分,共40分)1以下表达中错误的选项是_B.A在程序中但凡以“ #开始的语句行都是预处理命令行B预处理命令行的最后不能以分号表示结束C #define MAX是合法的宏定义命令行DC程序对预处理命令行的处理是在程序执行的过程中进行的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 12B 15C 16D 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 0A 6B 2C 4D 88下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该C_.A *px B aC pxD &a9假设指针px为空指针,那么B.A px指向不定 B px 的值为零 C px 的目标为零 D px的地址为零10对下语句int *px10
4、;,下面正确的说法是_B.A px是一个指针,指向一个数组,数组的元素是整数型.B px是一个数组,其数组的每一个元素是指向整数的指针.CA和B均错,但它是C语言的正确语句.D C语言不允许这样的语句.11具有相同基类型的指针变量 p和数组y,以下写法中不合法的是D.A p=yB *p=yiC p=&yiD 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 0A 5B 4C 6D 713说明语句int *(*p)();的含义为_ D 0A p是一个指向int型数组的指针Bp是指针变量,它构
5、成了指针数组Cp是一个指向函数的指针,该函数的返回值是一个整型Dp是一个指向函数的指针,该函数的返回值是一个指向整型的指针14设有如下程序段char s20=Beijing,*p; p=s;那么执行p=s;语句后,以下表达正确的选项是A.A可以用*p表示s0Bs数组中元素个数和p所指字符串长度相等Cs和p都是指针变量D数组s中的内容和指针变量p中的内容相同15设int型变量i、n均已定义,指针变量s1、s2各指向一个字符串.循环中,以下语句用以实现将s2所指字符串中前n个字符复制到在 for(i=0;in;i+)s1所指字符串中,其1617中代码正确的选项是AA *s1+=*s2+;B s1n
6、-1=s2n-1;C *(s1+n-1)=*(s2+n-1);给出以下程序的运行结果#include void main()D *(+s1)=*(+s2); static char a=language,b=program;char *ptr1=a,*ptr2=b;int k;for(k=0;k7;k+)A gaeif(*(ptr1+k)=*(ptr2+k) printf(%c,*(ptr1+k);B gaC language D有语法错误以下程序执行后的输出结果是_ A ovoid fun1(char *p) char *q;q=p;while(*q!=0) (*q)+; q+; )main
7、() char a=Program,*p;p=&a3; fun1(p); printf(%sn,a);A Prohsbn B Prphsbn C Progsbn D Program18以下程序执行后的输出结果是_ C ovoid 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() char *p=369
8、7,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 35B 37C 39D 397520以下程序运行后的输出结果是_A ovoid 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,*p;p=str+n
9、2;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分)2468 o1以下程序的定义语句中,x1的初值是N,程序运行后输出的内容是main() int x=1,2,3,4,5,678,9,10,11,12,13,14,15,16,*p4,i;for(i=0; i4; i+) pi=&x2*i+1; printf(%d, pi0); printf(n);)2以下程序的输出结果是 2
10、50void 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 omain() int a5=2,4,6,8,10, *p;p=a; p+;printf(%d, *p);4以下程序的输出结果是 55 o#define M 5#define N M+M main() int k;k=N*N*5; printf(%dn,k);)5 假设有定义语句:int a4=0,1,2,3,*p;p=&a1; 那么+(*p)的
11、值是 N.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+)2 *sp=stri;1234转换为1234,请请填
12、空使程序完整if(strlen(*sp)strlen(stri)2下面函数的功能是将一个整数字符串转换为一个整数,例如:填空使程序完整.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;【6stri ;
13、i+)if(substr 8 k+1 = 0) num+ ; break ; return (num);4下面函数的功能是用递归法将一个整数存放到一个字符数组中,存放时按逆序存放,如483存放成“ 384,请填空使程序完整.void convert(char *a, int n) int i;if(i=n/10)!=0) convert(【9】a+1 ,i);else *(a+1)=0;*a=【10】 n%10+0;结构体文件单项选择题(18题每题5分,918题每题6分,共100分)1有以下说明语句,对结构变量中成员age的正确引用是A_.struct student int age; int
14、 sex; stud1,*p;2说明语句如下,那么正确的表达是Dunion data int x; char y; float z; a;A data和a均是共用体类型变量B a所占内存长度等于其成员x、v、z各在内存所占长度之和C任何情况下,均不能对a作整体赋值D a的地址和它的各成员地址都是同一地址共用体成员的数据类型B.A相同C长度一样可以不同也可以相同是结构体变量4由系统分配和限制的标准输出文件为 DA键盘 B 磁盘 C 打印机 D 显示器5以下关于C语言数据文件的表达中正确的选项是 CA C语言只能读写文本文件BC语言只能读写二进制文件C文件由字符序列组成,可按数据的存放形式分为二进
15、制文件和文本文件D文件由二进制数据序列组成6假设要用fopen函数建一个新的二进制文件,该文件要既能读也能写,那么文件方式字符串应该为_B oA ab+ B wb+ C rb+ D ab7以下程序运行后的输出结果是 A_ostruct s int n; char *c; *p;char d=a,b,c,d,e;struct s a=10,&d0,20,&d1,30,&d2,40,&d3,50,&d4;#include main() P=a;printf(%dn,+p-n);printf(%dn,(+p)-n);printf(%cn,+(*p-c);A 11B 11C 10D 102020202
16、08struct student char *name; int student_no; char grade; ;struct student temp,*p=&temp;=chou;那么下面不正确的选项是_B.表达式值A p-namechouB (*p)-name+2hC *p-name+2eD *(p-name+2)o9下面程序运行后,其输出结果是B#includestruct tree int x; char *s; t;func(struct tree t) t.x=10; t.s=computer; return 0; main() t.x=1; t.s=mini
17、computer;func(t); printf(%d,%sn,t.x,t.s);A 10,computer B 1,minicomputer C 1,computer D 10,minicomputer10以下程序的输出结果是 B_o#includemain() union int i2;long k;char c4;t,*s=&t;s-i0=0x39;s-i1=0x38;printf(%lx ,s-k);printf(%cn,s-c0);)A 390038 39 B 380039 9 C 3938 38 D 3839 811假设已定义了如下的共用体类型变量 x,那么x所占用的内存字节数为
18、C_.union data int i; char cha; double f; x;A 7B 11C 8D 1012如下说明语句:enum A A0=1,A1=3,A2,A3,A4,A5;enum A B;执行 B=A3; printf(%dn,B);输出是_ A_.A5B 3C2D编译时出错13有以下说明语句,那么结构变量 s的成员num的不正确引用是B. struct student int num;int age;s,*p;A s.num B *p.num C p-num D (*p).num14以下各选项试图说明一种新的类型名,其中正确的选项是C.A typedef integer int;B typedef integer=int;C typedef int integer;D typedef int=integer;15运行下面程序,其输出结果是 C_.#include struct sample int a,b; char *ch; ;main() struct sample arg;arg.a=1000;arg.b=100;arg.ch=abcd;f1(arg);f1(struct sample param) param.a+=param.b;param.ch2=x;printf(%dn,param.a);printf(%sn,param.ch);A 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漯河市辅警招聘考试题库及答案
- 2026六年级道德与法治下册 美好未来展望
- 喉角化症护理查房
- 重庆市沙坪坝区2025-2026学年高二语文下学期半期测试试卷含解析
- 2026年国企招聘公文写作材料分析题及答案
- 云南迪庆州藏文中学2025~2026学年下学期高二年级期中考试政治试题卷(含解析)
- 复发性流产合并血栓前状态诊治2026
- 《食品添加剂应用技术》课件-项目8:食品乳化剂
- 《医药市场营销》课件-项目一 认知医药市场营销
- 2026道德与法治二年级拓展空间 酒文化了解
- 2026年水利安全生产考核b证题库附参考答案详解【培优】
- 2026四川泸州北方化学工业有限公司社会招聘保卫人员8人笔试备考题库及答案详解
- 2026年喀什地区“才聚喀什·智惠丝路”春季招才引智(824人)考试模拟试题及答案解析
- 第四届长三角地区铁道行业职业技能竞赛(铁路桥隧工赛项)考试题库(含答案)
- 胖东来企业文化指导手册
- 橡胶制品的质检体系与质量监控改进计划
- 妊娠高血压综合征眼底病变演示课件
- 单元式幕墙安装方案
- 企业服饰生产制造单模板
- 最强最高效的钢结构基本知识及材料排版备料技术
- 《骨筋膜室综合征》
评论
0/150
提交评论