C语言实验指导书新

实验九指针

一实验目的

1了解指针的概念,学会定义和使用指针变量。 2.掌握函数的值调用和引用调用的含义

3.掌握简单变量、数组和指针作为函数参数进行传递的形式

二、实验内容

1.运行下列程序,写出运行结果。 #include\main()

{inta[5],*p,j;

for(j=0;j<5;j++)a[j]=j+1; p=a;

for(j=0;j<5;j++)printf(\改为p[j] }

2.想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的?

swap(int*p1,int*p2) {int*p;

p=p1;p1=p2;p2=p;//inta;a=*p1;*p1=*p2;*p2=a; }

main()

{inta,b;int*pt1,*pt2; scanf(\pt1=&a;pt2=&b;

if(a

printf(\}

上机调试此程序。如果不能实现题目要求,指出原因并修改之。

1.编写自定义函数:进行两个数据之间的交换。分析与设计:使用两种参数传递方法,进行数据的交换,比较下面程序的运行结果有何不同。 程序1:参数的值传递。 voidswap(intx,inty) {intt;t=x;x=y;y=t;

printf(“x=%d\\ty=%d\\n”,x,y); }

main() {inta,b;

printf(“pleaseinputa,b:”); scanf(“%d,%d”,&a,&b); swap(a,b);

printf(“a=%d\\tb=%d\\n”,a,b); }

程序2:参数的地址传递。 voidswap(int*x,int*y) {intt;

t=*x;*x=*y;*y=t;

printf(“x=%d\\ty=%d\\n”,*x,*y); }

main() {inta,b;

printf(“pleaseinputa,b:”); scanf(“%d,%d”,&a,&b); swap(a,b);//swap(&a,&b);

printf(“a=%d\\tb=%d\\n”,a,b); }

三.案例项目

1.用指针变量记录一门课的成绩a,并用指针输出a的值;

2.用指针数组score[]记录两个学生的成绩a[3],b[3],并用score输出所有成绩.

3(选做).输入学生课程的数目,并用指针与动态内存分配函数malloc()记录一个学生的成绩:pp2811)函数malloc

实验十自定义数据、文件

一实验目的

1掌握结构体类型的概念和定义方法与使用。

2掌握指向结构体变量的指针变量的概念和应用。 二案例项目

1.完成下列自定义函数:

1)定义一个学生信息结构体Student_Info(其成员变量有姓名,学号,成绩数组,平均分),并在main()函数中用结构体变量记录一个学生的信息,然后输出该学生的所有信息。

2)用一个结构体数组Student_InfoStudent[1000],记录N个学生的结构体变量。定义一个函数AddStudent(structStudent_Infos[]),向Student[]数组中添加一个学生的信息。

3)定义一个函数find(intnumber)查找指定学号number的学员,并返回该学生在Student[1000]数组中的下标i,如果指定学号不存在,返回-1;

4)定义一个函数voidquery(intnumber):用find(intnu

>>闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗笒椤︿即寮查鍫熷仭婵犲﹤鍟扮粻缁橆殽閻愭潙鐏村┑顔瑰亾闂侀潧鐗嗛幊鎰邦敊婵犲倵鏀介幒鎶藉磹閹版澘纾婚柟鎯у濡垶鏌熼鍡楃灱閸氬姊洪崫鍕効缂傚秳绶氶悰顕€宕堕澶嬫櫖闂佹寧绻傚Λ宀勫箰閸涱喚绡€闁汇垽娼ф禒婊勪繆椤栨熬鏀荤紒鍌氱Т楗即宕煎┑鍫О闂備線鈧偛鑻晶顔姐亜椤忓嫬鏆e┑鈥崇埣瀹曞崬螖閳ь剝銆栫紓鍌氬€搁崐鍝ョ矓閺夋嚦娑樜旈埀顒勬偝婵犳艾閿ゆ俊銈勭娴滄粓姊虹粙璺ㄧ闁汇劎鍏橀獮蹇涙惞閸︻厾锛滅紓鍌欓檷閸ㄥ綊鐛弽顓熺厵闁告劘灏欑粻娲煏閸ャ劌濮屾い锕€顕槐鎺撴綇閵娿儲璇為梺璇″枓閺呯姴鐣峰鈧幊鐘活敄閹稿骸浜濈紓鍌氬€搁崐椋庢閿熺姴绐楅柡宥庡幗閸嬪鏌熼幆褏锛嶉柡鍡畵閺岀喖鎮滃鍡樼暦闂佺ǹ锕﹂崗姗€骞冨Δ鍛仺闁谎嗩嚙濠€閬嶅极椤曗偓楠炲棜顦柡鈧禒瀣厽婵☆垵娅f禒娑㈡煛閸″繑娅呴柍瑙勫灴椤㈡瑧鍠婇崡鐐搭啀闂備胶鎳撶粻宥夊垂绾懐浜藉┑鐐存尰閸戝綊宕归幎钘夌劦妞ゆ帒鍟悡鎰版煏閸パ冾伃鐎殿喗娼欒灃闁逞屽墯缁傚秵銈i崘鈹炬嫼闂佸憡绻傜€氼噣鎮炵捄銊х<闁哄被鍎抽悾鐑橆殽閻愬弶顥㈢€殿噮鍣e畷濂割敃閿濆棙鐝┑鐘垫暩閸嬬偤宕归崼鏇熸櫇闁冲搫鍊搁閬嶆煥閻曞倹瀚�<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4