皮皮学,免费搜题
登录
logo - 刷刷题
搜题
【简答题】
实验编号: C05200C07 实验名称:指针 实验日期: 201 8.11 实验地址:格致 4 楼 实验教师: C 语言课题组 实验内容提要:指针变量的定义和使用;数组指针使用;字符串指针;指针数组 具体内容: 1. 写出下列程序的运行结果: 关于互换两个整型变量的值的几种情况 1 #include void swap( int *a, int *b) { int t; t=*a; *a=*b; *b=t; } void main() { int x = 3, y = 5, *p = &x, *q = &y; printf("before swapping:"); printf(“x=%d, y=%d\n”, x, y) ; swap(p, q); printf("after swapping:"); printf("x=%d, y=%d\n", x, y); } 分析 : 此为 正确的交换方法 。 注意函数中 t 为普通变量,并非指针变量,指针变量的值传递, 实质上传递的是指针变量所指向的目标变量的地址。这种情况下,被调函数中形参对目标变量 的改变肯定会影响到实参,因为实参和形参现在都指向同一个目标变量。 2 #include void swap ( int *a, int *b) { int *t; t = a; a = b; b = t; } void main ( ) { int x = 3, y = 5, *p = &x, *q = &y; swap (p, q); printf ( “ %d%d\n” , *p, *q); } 分析 :虽然用指针作函数参数,但未能达到交换的目的,原因:函数 swap 的作用是 交换两个指针变量 a , b 的指向。但要注意的是,两个指针变量 a , b 为形式参数,调用 结束后 a , b 即被释放,形式参数的变化不会影响到实参,指针变量 p , q 的指向并没有交换。 3(此方法不需上机操作) void swap( int *a, int *b) { int *t; *t =*a; *a =*b; *b =*t; } 分析 :函数中指针变量 t 没有初始赋值,内部是一个随机地址,“ *t =*a; ”相当于 给指针变量直接赋予一个整数值,这样写 swap 函数不仅不能完成交换,反而会引起严重后果 4 void swap( int x, int y) { int t; t=x; x=y; y=t; } 分析 :不用地址量作参数,也不能实现交换。原因是普通变量的“单向值传递”。 形参的改变不会对实参造成任何影响 结合以上知识,请写出 以下程序的运行结果: void fun ( char *c , int d) { *c = *c + 1; d = d + 1; printf ( “ %c , %c ” , *c , d); } main ( ) { char a = ‘A’ , b = ‘a’; fun (&b , a); printf ( “ %c , %c\n” , a , b); } 2. 有以下程序,请分别写出程序运行后的输出结果: (1) main ( ) { int a[] = {2 , 4 , 6 , 8 , 10} , y = 0 , x , *p; p = &a[1]; for (x = 1; x < 3; x ++ ) y + = p[x]; printf ( “ %d\n , ” , y); } (2) main ( ) { int a[10] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } , *p = &a[3] , *q = p + 2; printf ( “ %d\n” , *p + *q); } (3) main ( ) { char a[] = “ 123456789 ” , *p; int i = 0; p = a; while (*p) { if (i%2 = = 0) *p = '*'; p ++ ; i ++ ; } puts (a); } 3. 下面这段程序能输出数组 a 的 10 个元素值吗? 请分析写出能或不能的原因。 main() { int i,a[10],*p=a; for(;p ='a'&&*p<='z') {a[i]=*p;i++;} } a[i]='\0'; puts(a); } 7. 以下程序的输出结果为: #include "stdio.h" main() { char *p="abcdefghijklmnopq"; while(*(p++)!='e') ; /* 此处为空语句,当 p 指向字符 ’e’ 时, while 的循环条件不成立,但 p 已经进行了自加,指向了字符 ’f’*/ printf("%c\n",*p); } 8. 编写阶乘函数,并在主函数调用验证 , 不用 return 语句 void jc(long *p, int n) 9. 编写函数,排好序的数组,插入一个数据,仍然是排序的数据。在主函数调用验证。 10. 用指针编写函数,验证回文。例如, abcdcba, 是回文。在主函数调用验证。
手机使用
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
反馈
参考答案:
举一反三
【多选题】成品油具有的危险特性是()
A.
易燃易爆
B.
易积聚静电荷
C.
易蒸发
D.
易受热膨胀
【判断题】对中过程中,相互连接的两个中心轴线之间偏移量是指其中心线在测量点的距离。
A.
正确
B.
错误
【单选题】“因侵害旅游者合法权益,造成游客滞留或者严重社会不良影响的”,或者“连续12个月内两次被列入旅游市场重点关注名单”两种情形被列入黑名单的,可在列入之日起 向列入机关提出信用修复申请,并在3个月内完成信用修复。
A.
1个月内
B.
2个月内
C.
3个月内
D.
6个月内
【单选题】因侵害旅游者合法权益,造成游客滞留或者严重社会不良影响的;连续 12 个月内两次被列入旅游市场重点关注名单的情形被列入黑名单的被列入黑名单的旅游市场主体和从业人员,可在列入之日起( )月内向列入机关提出信用修复申请,并在 ( )月内完成信用修复。
A.
1,1
B.
1,3
C.
3,1
D.
3,3
【简答题】机构的自由度就是( )。因此,机构具有确定运动的条件是:自由度数大于零,且( )。
【简答题】PCCS表色系中的24色色环是由心理4原色、 、 、暖色、 、 组合而成。
【单选题】马克思主义中国化的理论精髓是( )
A.
实事求是
B.
解放思想
C.
改革开放
D.
理论与实际相结合
【单选题】连续12个月内( ) 次被列人旅游市场重点关注名单的旅游市场主体和从业人员,将被列入本辖区旅游市场黑名单。
A.
B.
C.
D.
E.
、儿
【单选题】马克思主义中国化的理论精髓是
A.
群众路线
B.
实事求是
C.
一切从实际出发
D.
理论联系实际
【判断题】工业是欧盟改革的重点。()
A.
正确
B.
错误
相关题目:
参考解析:
知识点:
题目纠错 0
发布
创建自己的小题库 - 刷刷题