指针1-60
更新时间:2024-01-04 20:36:01 阅读量: 教育文库 文档下载
题目部分,(卷面共有60题,180.0分,各大题标有题量和总分) 一、单项选择题(60小题,共180.0分) (3分)[1]以下程序的输出结果是 #include
void fun(char *w, int m) {char s, *p1, *p2; p1=w; p2=w+m-1; while(p1 {s=*p1++; *p1=*p2--; *p2=s;} } main( ) {char a[ ]=\; fun(a, strlen(a)); puts(a); } A、GEFDCBA B、AGADAGA C、AGAAGAG (3分)[2]下列语句执行后的结果是 y=5; p=&y; x=*p++; A、x=5,y=5 B、x=5,y=6 C、x=6, y=5 (3分)[3]以下程序的输出结果是 point(char *pt); main() {char b[4]={?a?, ?c?, ?s?, ?f?}, *pt=b; point(pt); printf(“%c\\n”, *pt); } point(char *p) {p+=3; } A、a B、c C、s D、f (3分)[4]在下列叙述中,正确的一条是 A、以下程序运行结果为Computer and c: main() {char str[4]; str=“Computer and c”; printf(“%s\\n”, str); } B、下面两种表示方式等价 (1) int fun(int x,int y) (2) int fun(x,y) int x,y; C、若输入1、2,以下程序的运行结果为12 main() D、GAGGAGA D、x=6, y=6 {int *p,i,a[2]; p=a; for(i=0;i<2;i++) scanf(“%d”,p++); for(i=0;i<2;i++,p++) printf(“%d”,*p); } D、以下程序的运行结果为3 main() {int *p,a[5]={1,3,4,5,6}; p=a; printf(“%d”,*p++); } (3分)[5]以下程序的输出结果为 move(int array[6], int n, int m) {int *p, array_end; array_end=*(array+n-1); for(p=array+n-1;p>array;p--) *p=*(p-1); *array=array_end; m--; if(m>0) move (array, n, m); } main() {static int number[6]={1, 2, 3, 4, 5, 6}; int m=4, j; move(number, 6, m); for(j=0;j<5;j++) printf(“%d,”, number[i]); printf(“%d”, number[5]); } A、1,2,3,4,5,6 B、6,5,4,3,2,1 C、3,4,5,6,1,2 D、6,1,2,3,4,5 (3分)[6]以下程序的输出结果为 f(char *s) {char *p=s; while(*p!=?\\0?) p++; return(p-s); } main() { printf(“%d\\n”, f(“12345678”)); } A、12345678 B、7 C、1 (3分)[7]以下程序的输出结果为 #idefine FORMAT “%u, %u” main() {int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23}; D、8 printf(“\\n”); printf(FORMAT, **a, *a[0]); printf(FORMAT, *(a[0]+1), *&a[0][1]); printf(FORMAT, a[1][0], *(*(a+1)+0)); } A、3,3 5,5 9,9 B、1,1 3,3 9,9 C、1,1 3,3 5,5 D、5,5 7,7 9,9 (3分)[8]以下程序的输出结果是 sub(int *s, int y) {static int t=3; y=s[t]; t--; } main() {int a[ ]={1, 2, 3, 4}, n; int x=4; for(n=0; n<4; n++) {sub(a, x); printf(“%d”, x); } printf(“\\n”); } A、1234 B、3333 C、4321 (3分)[9]在下列程序中,输出结果与其它程序不同的是A、main() {int a[10]; int i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,a[i]); } B、main() {int a[10]; int i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,*(a+i)); } C、main() {int a[10]; int i, *p; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(p=a;p<(a+10);p++) printf(“%d”,*p); } D、main() {int a[10]; D、4444 int i, *p; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,*(p+i)); } (3分)[10]以下程序的输出结果是 sub(int x, int y, int *z) {*z=y-x+2;} main() {int a, b, c; sub(16, 7, &a); sub(9, a, &b); sub(a, b, &C、; printf(“%d, %d, %d\\n”, a, b, C、; } A、–7,- 14,-5 B、–7,-16,-9 C、–7,-12,-9 D、–9,-14,-5 (3分)[11]在下列语句中,其含义为“p为带回一个指针的函数,该指针指向整型数据”的定义语句是 A、int *p(); B、int **p; C、int (*p)(); D、int *p; (3分)[12]变量p为指针变量,若p=&a,下列说法不正确的是 A、&*p==&a B、*&a==a C、(*p)++==a++ D、*(p++)==a++ (3分)[13]在下列叙述中,正确的一条是 A、语句int *pt中的*pt是指针变量名 B、语句int *p=a;等价于int *p; p=&a[0]; C、运算符*和&都是取变量地址的运算符 D、已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值 (3分)[14]以下程序段给数组所有的元素输入数据,则以下正确答案为 main() {int a[10], i=0; while (i<10) scanf(“%d”, __________ ); ? } A、a+(i++) B、&a[i+1] C、a+i D、&a[++i] (3分)[15]下面函数的功能是 sss (char *s, char *t) {while((*s)&&(*t)&&(*t= =*s)) s++, t++; return(*s-*t); } A、求字符串的长度 B、比较两个字符串的大小 C、将字符串s复制到字符串t中 D、将字符串s连接到字符串t中 (3分)[16]以下程序的输出结果是 fun(int *s, int n1, int n2) {int i, j, t; i=n1; j=n2; while(i {t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i++; j--; } } main( ) {int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, i, *p=a; fun (p, 0, 3); fun (p, 4, 9); fun (p, 0, 9); for(i=0; i<10; i++) printf(\; printf(“\\n”); } A、0 9 8 7 6 5 4 3 2 1 B、4 3 2 1 0 9 8 7 6 5 C、5 6 7 8 9 0 1 2 3 4 D、0 9 8 7 6 5 1 2 3 4 (3分)[17]下面各语句行中,能正确进行赋字符串操作的语句行是 A、char st[4][5]={“ABCDE”}; B、char s[5]={?A?, ?B?, ?C?, ?D?, ?E?}; C、char *s; s= “ABCDE”; D、char *s; scanf(“%s”,s); (3分)[18]以下程序的输出结果是 #include {char *s1=\,*s2=\; s1++;s2++; printf(\,strcmp(s1, s2)); } A、正数 B、负数 C、零 D、不确定的值 (3分)[19]请读程序: #include {if(*c<=?Z?&&*c>=?A?) *c-=?A?-?a?; return *c; } main( ) {char s[81], *p=s; gets (s); while(*p) {*p=fun(p); putchar(*p); p++;} putchar(?\\n?); } 若运行时从键盘上输入OPEN THE DOOR<回车>,则上面程序的输出结果为 A、oPEN tHE dOOR B、open the door C、OPEN THE DOOR D、Open The Door (3分)[20]在下面关于指针的说法中,错误的一条是 A、变量的指针就是变量的地址 B、可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量 C、一个指针变量只能指向同一个类型的变量 A、xyabcAB B、abcABz C、ABabcz D、xycdBCD (3分)[48]下列程序的输出结果是 main( ) {int a[5]={2, 4, 6, 8, 10}, *p, **k; p=a; k=&p; printf(“%d ”, *(p++)); printf(“%d\\n”, **k); } A、4 4 B、2 2 C、2 4 D、4 6 (3分)[49]执行以下程序后,y的值是 main( ) {int a[ ]={2, 4, 6, 8, 10}; int y=1, x, *p; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf(“%d\\n”, y); } A、17 B、18 C、19 D、20 (3分)[50]若已定义:int a[9], *p=a; 并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是 A、p+1 B、a+1 C、a++ D、++p (3分)[51]以下程序的输出结果是 main( ) {char s[ ]=”ABCD”, *p; for(p=s+1; p A、ABCD BCD CD D B、A B C D C、B C D D、BCD CD D (3分)[52]假定下列程序的可执行文件名为prg . exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是 main(int argc, char *argv[ ]) {int i; if(argc<=0) return; for(i=1; i A、hello good B、hg C、hel D、hellogood (3分)[53]若有以下调用语句,则不正确的fun函数的首部是 main() { ? int a[50], n; ? fun (n, &a[9]); ? } A、void fun(int m,int x[ ]) B、void fun(int s,int h[41]) C、void fun(int p,int *s) D、void fun(int n,int a) (3分)[54]有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 A、*p+9 B、*(p+8) C、*p+=9 D、p+8 (3分)[55]以下程序执行后,a的值是 main() {int a, k=4, m=6, *p1=&k, *p2=&m; a=p1= =&m; printf(“%d\\n”, a); } A、4 B、1 C、0 D、运行时出错,a无定值 (3分)[56]有如下程序: main() {char ch[2][5]={“6937”,“8254”},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>?\\0?;j+=2) s=10*s+p[i][j]-?0?; printf(“%d\\n”,s); } 该程序的输出结果是 A、69825 B 63825 C、6385 D、693825 (3分)[57]以下程序运行后,输出结果是 main() {char *s=“abcde”; s+=2; printf(“%ld\\n”, s); } A、cde B、字符c的ASCII码值 C、字符c的地址 D、出错 (3分)[58]以下程序的输出结果是 main() {char a[ ]=“programming”, b[ ]= “language”; char *p1, *p2; int i; p1=a; p2=b; for(i=0; i<7; i++) if(*(p1+i)= =*(p2+i)) printf(“%c”, *(p1+i)); } A、gm B、rg C、or D、ga (3分)[59]设有如下定义: int arr[ ]={6, 7, 8, 9, 10}; int *ptr; 则下列程序段的输出结果是 ptr=arr; *(ptr+2)+=2; printf(“%d, %d\\n”, *ptr, *(ptr+2)); A、8,10 B、6,8 C、7,9 D、6,10 (3分)[60]设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 A、k=*p1+*p2; B、p2=k; C、p1=p2; ====================答案==================== 答案部分,(卷面共有60题,180.0分,各大题标有题量和总分) 一、单项选择题(60小题,共180.0分) (3分)[1][答案] C (3分)[2][答案] A (3分)[3][答案] A (3分)[4][答案] B (3分)[5][答案] C (3分)[6][答案] D (3分)[7][答案] B (3分)[8][答案] D (3分)[9][答案] D (3分)[10][答案] A (3分)[11][答案] A (3分)[12][答案] D (3分)[13][答案] B (3分)[14][答案] A (3分)[15][答案] B D、k=*p1*(*p2); (3分)[16][答案] C (3分)[17][答案] C (3分)[18][答案] A (3分)[19][答案] B (3分)[20][答案] B (3分)[21][答案] A (3分)[22][答案] B (3分)[23][答案] B (3分)[24][答案] D (3分)[25][答案] C (3分)[26][答案] B (3分)[27][答案] B (3分)[28][答案] B (3分)[29][答案] C (3分)[30][答案] D (3分)[31][答案] C (3分)[32][答案] B (3分)[33][答案] C (3分)[34][答案] D (3分)[35][答案] A (3分)[36][答案] C (3分)[37][答案] A (3分)[38][答案] B (3分)[39][答案] C (3分)[40][答案] B (3分)[41][答案] A (3分)[42][答案] D (3分)[43][答案] D (3分)[44][答案] A (3分)[45][答案] D (3分)[46][答案] D (3分)[47][答案] D (3分)[48][答案] C (3分)[49][答案] C (3分)[50][答案] C (3分)[51][答案] D (3分)[52][答案] B (3分)[53][答案] D (3分)[54][答案] B (3分)[55][答案] C (3分)[56][答案] C (3分)[57][答案] C (3分)[58][答案] D (3分)[59][答案] D (3分)[60][答案] B
正在阅读:
指针1-6001-04
重庆市2008建筑工程定额说明和计算规则08-31
广东省建设项目环境监理资格行业评定管理办法(试行)06-05
2016年山东大学文学与新闻传播学院新闻传播学基础复试笔试仿真模拟题06-05
新视野大学英语第三册单词表(第二版)08-16
青春的座右铭02-19
2018-2017年春八年级英语下册模块专项训练7新版外研版10-22
村落文化与农村组织07-27
新学期新气象黑板报内容_黑板报内容08-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 指针
- 60
- 环评合同(范本)
- 鸡作文之小鸡吃米的作文
- 2016-2022年中国电梯导轨型钢市场监测及发展趋势研究报告 - 图文
- 数学假期作业
- 计算机VB+SQL学生成绩管理系统
- 2016年最新广西生态文明与可持续发展试题试题库
- 2015年计算机内审
- 粤语拼音与中文对照
- 四(下)科技教案3、小小模型飞机
- 影响企业招聘的因素
- 武汉市部分重点高中高一数学期末测试题
- 国际企业战略联盟成功和失败案例分析
- 检修施工xc-第一册-商务通用
- 高考政治大二轮复习专题二生产劳动与经营提升卷52
- 最新(部编人教版)小学数学四年级下册第八单元检测2
- 军理复习提纲
- 20-2-网易邮箱定价策略研究
- 多媒体技术介绍
- 师生音乐会主持词
- 2015高考英语考前冲刺40天:7 非谓语动词