皮皮学,免费搜题
登录
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.
叶片泵
【单选题】汽车上常用的机油泵型式是()。
A.
齿轮式
B.
转子式
C.
离心式
D.
惯性式
【简答题】The statistics result shows that the incidence of red-green blindness in males is 7% and the incidence of females is 0.5%. (1) If you ask a man: "Are you red-green blind?" His answer may be: "Yes" , O...
【简答题】单词拼写 小题1:Blindness is a very serious ____________(残疾). 小题2:Whenever she went, Brace would like to be ____________(陪伴) by her husband. 小题3:She has a very ____________(狭隘的) mind, for which she often bec...
【单选题】汽车上常用的机油泵型式是( )。
A.
齿轮式
B.
转子式
C.
离心式
D.
齿轮式和转子式
【单选题】汽车上常用的机油泵型式是( )。
A.
叶片式
B.
转子式
C.
离心式
D.
柱塞式
【判断题】磺化反应时邻位取代为动力学产物,对位取代为热力学产物。
A.
正确
B.
错误
【判断题】自动售检票系统的降级运行模式,主要包括列车故障模式;进站免检模式;出站免检模式;时间免检模式;日期免检模式和车费免检模式。( )
A.
正确
B.
错误
【简答题】单词拼写。 1. Blindness is a very serious ________(残疾). 2. Whenever she went, Brace would like to be _______(陪伴) by her husband. 3. She has a very ________(狭隘的) mind, for which she often becomes the target...
【单选题】汽车上常用的机油泵型式()。
A.
齿轮式
B.
转子式
C.
离心式
D.
惯性式
相关题目:
参考解析:
知识点:
题目纠错 0
发布
创建自己的小题库 - 刷刷题