第一篇:C語(yǔ)言程序設(shè)計(jì)第四次(2.8)實(shí)驗(yàn)報(bào)告范文
C語(yǔ)言程序設(shè)計(jì)
實(shí)驗(yàn)報(bào)告
專業(yè)
班級(jí)
日期
11月26日
成績(jī)
實(shí)驗(yàn)組別
第 3(2.7)次實(shí)驗(yàn)
指導(dǎo)教師
李開(kāi)
學(xué)生姓名
學(xué)號(hào)
同組人姓名
實(shí)驗(yàn)名稱 實(shí)驗(yàn)8 指針實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
(1)熟練掌握指針的說(shuō)明、賦值、使用。
(2)掌握用指針引用數(shù)組的元素,熟悉指向數(shù)組的指針的使用。
(3)熟練掌握字符數(shù)組與字符串的使用,掌握指針數(shù)組及字符指針數(shù)組的用法。(4)掌握指針函數(shù)與函數(shù)指針的用法。(5)掌握帶有參數(shù)的main函數(shù)的用法。
二、實(shí)驗(yàn)任務(wù)
8.2 實(shí)驗(yàn)內(nèi)容及要求 1.源程序改錯(cuò)
2.源程序完善、修改、替換 3.跟蹤調(diào)試 4.程序設(shè)計(jì) 5.選做題
8.3 指定main函數(shù)的參數(shù)
三、實(shí)驗(yàn)步驟及結(jié)果
(要求給出源程序和程序運(yùn)行結(jié)果。另外,根據(jù)實(shí)驗(yàn)內(nèi)容,記錄編輯、編譯、鏈接、調(diào)試程序的操作過(guò)程和實(shí)驗(yàn)現(xiàn)象)8.2 實(shí)驗(yàn)內(nèi)容及要求 1.源程序改錯(cuò)
下面程序是否存在錯(cuò)誤?如果存在,原因是什么?如果存在錯(cuò)誤,要求在計(jì)算機(jī)上對(duì)這個(gè)例子程序進(jìn)行調(diào)試修改,使之能夠正確執(zhí)行。#include
存在,錯(cuò)誤為指針一開(kāi)始沒(méi)有初始化,而sacnf傳入的是float型指針指向的地址,我們并不知道系統(tǒng)能給我們分配什么地址,所以說(shuō)我們輸入的地址很有可能使程序崩潰。修改后代碼:
#include
2.源程序完善、修改、替換
(1)下面的程序通過(guò)函數(shù)指針和菜單選擇來(lái)調(diào)用字符串拷貝函數(shù)或字符串連接函數(shù),請(qǐng)?jiān)谙聞澗€處填寫合適的表達(dá)式、語(yǔ)句、或代碼片段來(lái)完善該程序。#include
printf(“tt1 copy string.n”);
printf(“tt2 connect string.n”);
printf(“tt3 exit.n”);
printf(“ttinput a number(1-3)please!n”);
scanf(“%d”,&choice);}while(choice<1 || choice>5);switch(choice){ case 1:
p=strcpy;
break;
case 2:
p=strcat;
break;case 3:
goto down;} getchar();printf(“input the first string please!n”);i=0;gets(a);printf(“input the second string please!n”);i=0;gets(b);
result= p(a,b);printf(“the result is %sn”,result);down:;}(2)請(qǐng)上機(jī)運(yùn)行第(1)題程序,使之能按要求輸出下面結(jié)果:((輸入)表示該數(shù)據(jù)是鍵盤輸入數(shù)據(jù))
copy string.2 connect string.3 exit.input a number(1-3)please!2(輸入)
input the first string please!the more you learn,(輸入)input the second string please!the more you get.(輸入)
the result is the more you learn,the more you get.3.跟蹤調(diào)試
#include
進(jìn)入strcpy時(shí):
返回main時(shí):
(2)排除錯(cuò)誤,使程序輸出結(jié)果為: there is a boat on the lake.#include