




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章第七章指针指针 71 选择题 1 若有说明:int a=2, *p=,则以下非法的赋值语句是(D) 。 A p=q;B *p=*q;C a=*q;D q=a; a 是整型数, int *p,*q 定义了指针, p,q 是指向整型的指针。 p 取得 a 的地址,而 q 取得 p 的地址 p,q 是指针(也就是一个地址) ,而*p 和*q 是这个指针指向的整型数值(存 放在这个地址的值) 。 A)把 q 的地址赋给 p,则 p 和 q 完全一样了,都指向一个数 2 B)把 q 中数据个 p C)把 q 中数据给 a D)a 中数据是 2,不能够给一个地址。除非*q=a 2 若定义:int a=511, *b=的输出结果为:D A 无确定值B a 的地址C 512D 511 int a=511,*b= a 是整形变量 b 是整形指针变量,指向 a printf(“%dn“,*b);就是输出指针变量 b, 所指变量的值输出结果 511 3已有定义int a=2, *p1= 下面不能正确执行的赋值语句是 (B) 。 Aa=*p1+*p2;Bp1=a;Cp1=p2;Da=*p1*(*p2); 47、已知在程序中定义了如下的语句: int *P1,*P2; int k; p1=p2= 则下列语句中不能正确执行是( B) A、k=*P1+*P2;B、p2=k;C、P1=P2;D、K=*P1 * (*P2); P1 P2 是指针,K 是整型变量,变量怎么可以赋值给指针呢? A 其实是执行了 K=K+K(P1 和 P2 都指向 K,所以*P1*P2 其实都是指 K) C 是赋值语句 D 其实执行了 K=K*K 4 变量的指针,其含义是指该变量的(B) 。 A 值B 地址C 名D 一个标志 5 若有说明语句:int a, b, c, *d= B scanf(“%d%d%d“, a, b, d); C scanf(“%d%d%d“, D scanf(“%d%d%d“, a, b,*d); 对于 int c,*d=,c 是一整型数据,d 是一指针,它指向变量 c(即 d= 也可以用 scanf(“%d“,d); 6 若已定义 int a=5; 下面对(1) 、 (2)两个语句的正确解释是(D) 。 (1) int *p=(2) *p=a; A 语句(1)和(2)中的*p 含义相同,都表示给指针变量 p 赋值。 B (1)和(2)语句的执行结果,都是把变量 a 的地址值赋给指针变量 p。 C (1)在对 p 进行说明的同时进行初始化,使 p 指向 a; (2)变量 a 的值赋给指针变量 p。 D (1)在对 p 进行说明的同时进行初始化,使 p 指向 a; (2)将变量 a 的值赋予*p。 A:(1):*p,定义 p 为 int 类型指针(2) :*p,表示 p 所指向的变量 B(1)把变量 a 的地址赋给指针变量 p(2)把变量 a 的值,赋值给 P 所 指向的变量 C 前半句正确,后半句错误, (2)是把变量 a 的值赋值给 P 所指的变量。 7 若有语句 int *p, a=10; p= 下面均代表地址的一组选项是(D) 。 A a, p, * 则正 确的赋值语句是() 。 B A p=x;B p= C *p=x;D *p= 9 若有说明:int *p, a=1, b; 以下正确的程序段是(B) 。 A p=B scanf(“%d“, scanf(“%d“, *p=b; C p=D p= scanf(“%d“, *p);*p=a; A,B 中 p 是 b 的地址 那么如果要输入 b 应该是 scanf(“%d“, p); C 中 p 还没定义 给*p 赋值就是给一个没有开辟的地址赋值了 D 是正确的 意思是 p 为 b 的地址,将 p 地址上的数变成 a, 等价于 b=a 10有如下语句:int m=6, n=9, *p, *q; p= q= 如图 1 所示,若要实现 下图所示的存储结构,可选用的赋值语句是(C) 。 A *p=*q;B p=*q; C p=q;D *p=q; 11 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因 是(B) 。 0.2345 px m p n qp m q n #include main() int *p, *q, a, b; p= printf(“input a:“); scanf(“%d“, *p); A *p 表示的是指针变量 p 的地址 B *p 表示的是变量 a 的值,而不是变量 a 的地址 C *p 表示的是指针变量 p 的值 D *p 只能用来说明 p 是一个指针变量 scanf 后面的参数是地址,是接收的值放到这个地址 12 下面程序的功能是从输入的十个字符串中找出最长的那个串。请在_ 处填空。 #include “stdio.h“ #include “string.h“ #define N 10 main() char sN81, * t; int j; for (j=0; j main() int a, b, k=4, m=6, *p= a=p= b=(-*p)/(*q)+7; printf(“a=%dn“, a); printf(“b=%dn“, b); 【1】 A -1B 1C 0D 4 【2】 A 5B 6C 7D 10 32 下面程序的功能是将字符串 s 的所有字符传送到字符串 t 中,要求每传递三 个字符后再存放一个空格, 例如字符串s为“abcdefg“, 则字符串t为“abc def g“,请选择填空。CA #include “stdio.h“ #include “string.h“ main() int j, k=0; char s60, t100, *p; p=s; gets(p); while(*p) for (j=1; jsBt=sC*ts0 D *t=s0 【2 】 A t+B s-Ct- D w- 35以下程序的功能是删除字符串 s 中的所有空格(包括 TAB 符、回车符) ,请 填空。AC #include “stdio.h“ #include “string.h“ #include “ctype.h“ main() chars80; gets(s); delspace(s); puts(s); delspace(char *t) int m, n; char c80; for(m=0, n=0; 【1】; m+) if (!isspace(【2】) /*C 语言提供的库函数,用以判断字符是否为 空格*/ cn=tm; n+; cn=0; strcpy(t, c); 【1】AtmB!tmCtm=0 D tm=0 【 2 】 A t+mB *cmC *(t+m) D *(c+m) 36下面程序的功能是统计字串 sub 在母串 s 中出现的次数。请选择填空。BC #include “stdio.h“ #include “string.h“ main() char s80, sub80; int n; gets(s); gets(sub); printf(“%dn“, count(s,sub); int count( char *p, char *q) int m, n, k, num=0; for (m=0; pm; m+) for (【1】, k=0; qk=pn; k+, n+) if(q【2】=0) num+;break; return (num); 【1】 An=m+1Bn=mCn=0Dn=1 【2】 AkBk+Ck+1D+k 37下列程序的输出结果是(C) 。 #include “stdio.h“ main() int a=1,2,3,4,5,6,7,8,9,0, *p; p=a; printf(“%dn“, *p+9); A 0B1C 10 D9 38以下程序的输出结果是(C) 。 #include “stdio.h“ char cchar(char ch) if (ch=A printf(“%dn“, strlen(b2); A 8B 3C 1D 7 40有以下程序 #include “string.h“ #include “stdio.h“ main() char *p=“abcde0fghjik0“; printf(“%dn“, strlen(p); 程序运行后的输出结果是(D) 。 A 12B 15C 6D 5 41有以下程序 void ss( char*s, chart) while (*s) if (*s=t) *s=t-a+A; s+; main() charstr100=“abcddfefdbd“, c=d; ss(str, c); printf(“%sn“, str1); 程序运行后的输出结果是(B) 。 A ABCDDEFEDBDB abcDDfefDbDC abcAAfefAbA D Abcddfefdbd 42 以下程序调用 findmax 函数返回数组中的最大值。在下面划线处应填入的是 (B) 。 #include “stdio.h“ findmax( int *a, int n) int *p, *s; for (p=a, s=a; p-asB*p*sCapasDp-ap-s 43有以下程序 A #include “stdio.h“ #include “malloc.h“ main() char *q, *p; p=(char*) malloc (sizeof(char) *20);/*为指针 p 分配一个地址*/ q=p; scanf(“%s%s“, p, q); printf(“%s %sn“, p, q); 若从键盘输入:abcdef,则输出结果是: A defdefB abcdefC abcdD dd 44下面程序的运行结果是(D) 。 #include “stdio.h“ #include “string.h“ fun( char *s) char t10; s=t; strcpy(t, “example“); main() char *s; fun(s); puts(s); AexampleBexampleCexampleD不确定 的值 45下列程序段的输出结果是(A) 。 #include “stdio.h“ void fun( int *x, int *y) printf(“%d%d“, *x, *y); *x=3; *y=4; main() int x=1, y=2; fun( printf(“%d %d“, x, y); A 2 1 4 3B 1 2 1 2C 1 2 3 4D2 1 1 2 46下列程序的输出结果是(C) 。 #include “stdio.h“ main() char a10=9,8,7,6,5,4,3,2,1,0, *p=a+5; printf(“%d“, *-p); A 非法B a4的地址C 5D 3 47有以下程序 #include “stdio.h“ #include “string.h“ main(int argc, char *argv) int m, length=0; for (m=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁公司年终总结汇报报告
- 福建省晋江市潘径中学2026届英语九年级第一学期期末教学质量检测模拟试题含解析
- 云南省镇康县第一中学2024-2025学年高二上学期11月月考历史试卷
- 2025年轨道车司机(高级技师)职业技能鉴定考试题库(含答案)
- 江苏省江阴市长寿中学2026届九上化学期中预测试题含解析
- 2026届山西省晋中市九年级化学第一学期期中质量跟踪监视试题含解析
- 柳州市重点中学2026届九年级化学第一学期期中检测试题含解析
- 租赁场地开办幼儿园合同范本(包含装修条款)
- 高层建筑空调系统销售、安装及安全运行合同
- 汽车行业售后担保合同质量保障与消费者权益保护
- 2025年日语能力测试N1级试卷:真题模拟分析与预测模拟试题
- 三方委托付工程款协议书
- 学校课后延时服务费分配细则
- 2025年化工自动化控制仪表考试题模拟考试题库及答案
- 2025中煤电力有限公司总部及所属企业招聘16人笔试参考题库附带答案详解(10套)
- 幼儿园仓库卫生管理制度
- 钾离子结合剂在慢性肾脏病患者高钾血症治疗中应用的中国专家共识重点2025
- 别墅整装交付管理办法
- 护理专业全面解析
- 【化学 云南卷】2025年云南省高考招生统一考试真题化学试卷(含答案)
- 《风景谈》课件-课件
评论
0/150
提交评论