全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习与思考1单选题(1)以下选项中,对两个基类型相同的指针变量不能进行运算的运算符是(A )。A+ B- - C= = D=(2)若定义:int a34; 下列选项不能表示数组元素a11地址的是( D )。 Aa1+1 B&a11 C*(a+1)1 D*(a+5)(3)设 char *s=”tx017yz”; 则指针变量s指向的字符串所占的字节数是( C )。 A9 B7 C6 D5(4)在 int(*p)3; 语句中,对p正确的解释是(C )。A定义不合法; B一个指向整型变量的指针C一个指针,它指向一个具有三个元素的一维数组D一个指针数组名,每个元素是一个指向整型变量的指针(5)下列选区项中与 int *p5; 等价的定义是( C )。 Aint p5; Bint p; Cint *(p5); Dint (*p)5;(6)对语句 char *a2=“abcd”,”ABCD”; 的正确的解释是(C )。A数组a的元素值分别为“abcd”,”ABCD”B 是指针变量,它指向含有两个数组元素的字符数组C 数组a的两个元素分别存入含有四个字符的一维数组的首地址D 数组a的两个元素中各自存放了字符a和A的地址(7)若有语句: char s1=”book”, s210,*s3, *s4=”pencil”; 则对库函数strcpy的错误调用是( D )。Astrcpy(s1,”book”); Bstrcpy(s4,”book”);Cstrcpy(s3,”pencil”); Dstrcpy(s1,s2);(8)若有以下语句:int a=0,1,2,3,4,5,6,7,8,9;int *p=a,i;对数组元素地址正确表示的选项是( B )。A&(a+1) Ba+ C&p D&pi(9)以下不正确的程序段是( D )。Achar str20; Bchar *p; Scanf(“%s”,&str); scanf(“%s”,p);Cchar str20; Dchar str20, *p=str; Scanf(“%s”,&str2); scanf(“%s”,p2);(10)下面能正确进行字符串赋值操作的选项是(C)。Achar s5=(“net”); Bchar s5=n,e,t;Cchar *s; s=”net”; Dchar *s; scanf(“%s”,s);2分析下列各程序的运行结果(1) 下面的程序完成了什么功能?该程序实现了两个字符串的连接。#includevoid myst(char *,const char *);main()char string180,string280; printf(“Enter two strings:”); scanf(“%s%s”,string1,string2); myst(string1,string2); printf(“%sn”,string1); return 0; void myst(char *s1,const char *s2) while(*s1!=0) +s1; for(;*s1=*s2;s1+,s2+); (2) 下面的程序完成了什么功能?该程序统计输入结束后数组中的字符个数。#includeint myst(const char *);main() char string80; printf(“Enter a string:”); scanf(“%s”,string);printf(“%dn”,myst(string); return 0; int myst(const char *s) int x=0; for(;*s!=0;s+) x+; return x; 3设计程序(红色部分为答案)(1) 用一条语句分别完成下列要求。假定已经声明了浮点数变量number1和number2,并且number1被初始化为7.3。float number1=7.3;float number2; 将变量fPtr声明为指向float类型的对象的指针。float *fptr; 把变量number1的地址赋给指针变量fPtr。fptr=&number1; 打印fPtr所指向的对象的值。printf(%fn,*fptr); 指导fPtr所指向的对象的值赋给变更number2。number2=*fptr; 打印number2的值。printf(%fn,number2); 用转换说明符%p打印number1的地址。printf(%pn,&number1); 用转换说明符%p打印存储在fPtr中的地址。打印出的值等于number1的地址吗?printf(%pn,fptr);打印出来的值相等(2) 用指针表示法拷贝字符串。(不用标准函数)void main()char s110=1234567;char s210=; char *p1;char *p2;p1=s1;p2=s2; for(;*p2=*p1;p1+,p2+) printf(%s,s2);(3) 编程输入一行文字,找出其中的大写字母、小写字母、空格、数字以及其他字符各有多少?void main()char str=asdf asfdAASDFWER ;.,/?12324;char *p;p=str;int H_letter=0,L_letter=0,space=0,number=0,other=0,i;int len=strlen(str);printf(%d,len);for(i=0;i=65&*p=97&*p=48&*p=57)+number;else+other; p+;printf(H_letter=%dnL_letter=%dnspace=%dnnumber=%dnother=%dn,H_letter,L_letter,space,number,other);(4) 写一个函数,将一个3*3的矩阵转置。void main()int a33;int b33;int i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);printf(转置之前的矩阵如下:n);for(i=0;i3;i+)printf(|);for(j=0;j3;j+)printf(%d ,aij);printf(|n);print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工行业水泥生产技术员考试题目及答案
- 安全工作重心解析讲解
- 稽查个人安全生产手册讲解
- 公路工程分包协议书
- 演员肖像协议书
- 汽车代买协议书
- 虫草采挖协议书
- 保定市选调考试试卷及答案
- 饭店转让协议书简单
- 员工试用期协议书
- 期中考试模拟试卷 2024-2025学年人教版数学九年级上册
- 药品不良反应知识培训
- 《窗口操作掌握牢》参考课件
- 慢性白血病课件
- 植物拓染非物质文化遗产传承拓花草之印染自然之美课件
- 《国际贸易实务》习题及答案
- 腾讯面试自我介绍
- 以部编五上《太阳》教学为例谈小语跨学科学习任务群教学设计
- 食品智能技术加工专业职业规划
- 北京市部分区2023-2024学年高三上学期期末英语汇编:阅读表达(含解析)
- 《幕墙工程UHPC单元体幕墙施工专项方案》
评论
0/150
提交评论