1.C語言實驗報告總結
你只需要按那個模版就行,那些內容就改成你的作業
班級: 學號: 姓名:
實驗9 指針
一、實驗目的
(1)掌握指針概念,并定義與使用它。
(2)使用數組的指針和指向數組的指針變量。
(3)使用字符串的指針和指向字符串的指針變量。
二、實驗內容
1. 將一個3*3的矩陣轉置,用函數實現。
2. 有n個人圍成一圈,順序排號。從第一個人開始報數(1~3),凡報到3的人退出,問第幾號的人能留下。
三、實驗環境
硬件:(1)學生用微機
(2)多媒體實驗教室
軟件:(1)Windows XP 中文操作系統
(2)VC++ 6.0
四、實驗結果
程序1:
#include<stdio.h>
void main()
{
void move(int *pointer);
int a[3][3],*p,i;
printf("input marix:\n");
for(i=0;i<3;i++)
scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
p=&a[0][0];
move(p);
printf("matrix:\n");
for(i=0;i<3;i++)
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
}
void move(int *pointer)
{
int i,j,t;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{
t=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
程序2:
#include<stdio.h>
void main()
{
int i,k,m,n,num[50],*p;
printf("input num of person:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<n-1)
{
if(*(p+i)!=0)k++;
if(k==3)
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n)i=0;
}
while(*p==0)p++;
printf("the last num is %d\n",*p);
}
結果1:(就是程序運行之后出現的框,截圖后粘貼這里)
結果2:
五、總結:
通過這個實驗的學習, 基本掌握了指針的基本用法。
2.C語言實訓總結
在初學C語言的一個學期后,我們進行了C語言實訓階段,嘗試自己編寫一個比較復雜的程序系統。
在為期兩周的時間中,我們同組的同學共同的感受是:C語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓的復雜程序。
在這里,我作為其中的參與者,自然感觸良多。剛開始接觸到C的時候,我已經學過一些有關VB的內容,這個在算法和思維上稍微有點幫助。
回想本學期的學習,首先,最基本的,是C的數據格式,讓我們知道整數,浮點數以及字符常量在C中的運用。然后,在學會了數據轉化,以及熟練的可以對各種數據處理之后,我開始進行有關數據結構,像數組,結構體等的學習,因為有的東西從現有的知識來看都是非常簡單的,還沒有聯系到指針等等一些復雜的概念。
可是,僅僅學會這些是遠遠不夠的,C語言中,還有很多更加經典、重要、實用的知識。說說函數。
雖說很多程序語言都有函數這一內容,但我覺得C語言的函數是最有魅力的了。學習函數的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。
函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,學習C語言的“高人”都說,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。比如,大家可以作一個比較字符串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話,30句都很難實現,可想而知函數的實用和快捷。
在我們C語言實訓的代碼中,函數更是得到了充分的應用,可以說,實訓題目的復雜代碼,就是用無數個函數的調用和嵌套積累出來的。要注意的是,有的同學剛剛開始的時候,都是被一些大的程序激勵的,所以當開始的時候看到繁瑣的數據轉化和簡單的算法,都覺得很無聊,都想自己做幾個自己滿意的程序來看看,雖然這種想法很好,但是,我們說,沒有基礎,純粹是搬照一些現成設計方法,是不足取的。
要知道,程序設計講究的是個人的思維的,假如剛開始就被一些現成的思想束縛住,以后就會覺得很無趣。 我們知道,指針其實是C語言的靈魂,許多的數據結構在我們學到這里之前都可以說是精通了。
所以我們的任務就是,讓數據結構在指針中運行。當然,剛剛開始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。
所以,新的東西,比如結構體在指針中的表現方法,數組及多維數組在結構體中的運用,都一點一點的加了進來,同時豐滿了我們對原來C的數據機構,數據表示的理解。當我們完成了這三步的學習,我們已經可以自豪的說,我們的基礎都扎實了,可以進一步的學習有關算法,設計概念等等深層次的東西了。
但是,指針,結構體,這些太抽象的東西,在學習C語言的時候我們就有點“似懂非懂”,可是在眼下的C語言實訓中,像這么重要的C語言知識,一定要達到能熟練掌握,實際運用的程度。在實訓的大程序中,結構體在指針中的表現方法,數組及在結構體中的運用等具體的技術環節,都得到了體現,不會指針,我們的工作是沒法展開的。
所以,在實訓期間,大家在鞏固基本知識的基礎上,逐塊攻克實訓課題,克服了困難,自信心得到了提高。最后,談談我們組的程序軟件。
商店商品管理系統,是一個比較利于應用,解決實際問題,方便實際管理的程序。設計代碼比較復雜,結構比較嚴謹。
在程序編寫的1周左右的時間里,組員們遇到了上述的困難,包括程序設計構思,甚至是指針等某些知識點的欠缺,導致的工作中出現的困難。但是,當大家一起團結協作,解決了這些困難之后,發現自己也可以編寫復雜的、應用性的程序了,更發現自己對C語言這門學科的興趣也提高了。
當然,我們編寫的商店商品管理系統,還存在很多疏漏和不合理之處。比如,程序復雜冗長,如果時間充裕,我們將在不改變程序運行結果的基礎上,簡化程序,使每一句更加精辟,總體上更加簡化。
另外,在程序的外觀上,我們由于時間問題,沒有做更多的修飾,運行起來顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會更加完美。
以上就是我的C語言實訓個人總結。
3.c語言實驗報告心得
原發布者:立人計劃
c語言實驗報告學號:__________姓名:__________班級:__________日期:__________指導教師:__________成績:__________實驗一上機操作初步和簡單的C程序設計一、實驗目的1、熟悉C語言運行環境TurboC++3.02、會簡單的程序調試3、熟悉C語言各種類型數據的輸入輸出函數的使用方法4、掌握順序結構程序設計二、實驗內容1、上機運行本章3個例題,熟悉所用系統的上機方法與步驟。(習題1.7)2、編寫一個C程序,輸入a、b、c3個值,輸出其中最大者。(習題1.6)3、設圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數據,輸出計算結果,輸出時要求有文字說明,取小數點后2位數字。注意:在TruboC++3.0中不能輸入漢字,只能輸入英文或拼音。(習題4.8)4、運行如下程序,寫出運行結果。第一┆整理該文章,版權歸原作者、原出處所有。#includevoidmain(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\\n",a,b);}三、實驗步驟與過程四、程序調試記錄2019年02月24日
4.C語言程序設計實驗報告
最低0.27元/天開通百度文庫會員,可在文庫查看完整內容>
原發布者:神州任我行RSH
《C語言程序設計》實驗報告專業:班級:學號:學生姓名:實驗日期:成績:指導老師:實驗單元一程序基本結構設計一、實驗題目實驗一熟悉VC++環境二、實驗目的1.熟悉C程序編輯環境,掌握主要菜單項的作用。2.熟悉編寫一個C程序的上機過程(編輯、編譯、鏈接和運行)。3.熟悉C程序的基本輸入輸出語句三、實驗內容1.書本第一章的例一程序。2.由鍵盤輸入兩個整數,求得它們的和并輸出至屏幕。四、實驗環境1.硬件環境:當前所有電腦硬件環境均支持。2.軟件環境:VisualC++6.0五、實驗代碼及結果(程序運行結果請以截屏圖給出)1.源程序代碼:#include"stdio.h"intmain(){inta,b,sum;a=2;b=3;sum=a+b;printf("007zhang\nsum=%d\n",sum);return0;}運行結果為:2.源程序代碼:運行結果為:六、實驗心得(請對每個實驗題目編程及調試運行中遇到的問題及解決方案進行簡單總結)《C語言程序設計》實驗報告專業:班級:學號:學生姓名:實驗日期:成績:指導老師:實驗單元一程序基本結構設計一、實驗題目實驗二順序結構程序設計二、實驗目的(1)掌握C語言數據類型以及變量的聲明。(2)掌握C語言的賦值運算符、賦值表達式、賦值語句。(3)掌握C語言的整型和字符型的混合運算。(4)掌握C語言的輸入
5.C語言試驗報告該怎么寫
實驗題目: 輸入一個班10個學生的學號和每個學生考試三門功課(數學、英語、計算機基礎)的成績。
編程計算出每個學生的總分和平均分,并按學生成績優劣排序,最后打印一張按高分到低分名次排序的成績單。要求: 1)排序用一個函數實現。
2)打印的成績單表項包括:序號,學號、數學、英語、計算機、總分、平均分。 3)按實驗報告電子模板格式填寫實驗內容。
實驗目的 源程序清單: (調試好的源程序代碼) #include #include #define STU_NUM 10 /*宏定義學生的數量*/ struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/ { char stu_id[20]; /*學生學號;*/ float score[3]; /*三門課成績;*/ float total; /*總成績;*/ float aver; /*平均成績;*/ }; /*排序用一個函數來實現*/ void SortScore(student *stu,int n) { student stud; for(int i = 0; i。
6.c語言實驗報告 就1道題 很簡單求大神 答好了加分
#include 談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是“讓我歡喜讓我憂。” 歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了后,你就可以理直氣壯地對他人說“我是電腦高手!”,而且以后若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如“少林武功”一般博大精深,太難學了。 其實就筆者認為C語言并非是“difficult(困難)”的,只要你能理清思路,掌握它的精髓,那么自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習C語言應從哪幾方面著手。 了解一些基本知識 一.C語言的背景 就個人感觸,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。 C語言屬于高級程序語言的一種,它的前身是“ALGOL”。 其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用于UNIX系統上。 然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標準化協會制定了C語言的國際標準,簡稱“ANSI C”,從此以后它便成為一種廣泛使用的程序語言。 C語言的優點很多,主要的有如下四點: 1.兼備高級語言與低級語言的優點,屬于一種中間語言。 2.它是一種結構化程序設計語言,非常適合結構化程序設計。 3.有較豐富的數據類型、運算符以及函數供以選用。 4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕松,簡單。 二.二大語系二種不同的學習方法 其實高級程序語言分為兩大語系。例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),JAVAs cript,Js cript ,VBs cript,JAVA,ASP,FOXPRO,PERL等等。 一路是以C為主的程序語言,例如:JAVAs cript,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VBs cript等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。 因此若是您以前是從QBASIC起家的,那么在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。 講到這里,我想大家對C語言一定有了感性認識吧!下面讓我們再升華一下,全方位親密接觸它。 學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那么基本上就大功告成了。 親密接觸C語言 一.輸入輸出 C語言的輸入輸出是非常嚴格的,或許在其他程序語言中我們可以不關心這個問題,但在C語言中,我們必須要徹底了解它。 由于篇幅有限,因此筆者不能詳談,有興趣的朋友可以參考由著名程序語言教授譚浩強先生主編,由清華大學出版社出版的《C程序設計第二版》。不過這里筆者還是有幾點要簡單的談一下。 1.二維浮點數數組的輸入 二維浮點數數組的輸入(即:通過鍵盤給二維浮點數數組賦值)在很多專業書中都沒有詳細講過這個問題。在給二維浮點數數組賦值時一定要先聲明一個變量,接著把數值賦予這個變量,最后把變量數值賦予二維浮點數數組賦值。 2.注意輸出格式中“%”后的字符 C語言的輸出說復雜不復雜,因為常用的都很簡單。可說不復雜也未必,記得曾在一次等級考前輔導我們C語言的教授講道:“如果C語言要考得很難的話,根本不用考什么指針,只要專考輸出格式,我想百分之九十九的學生都不及格。” 當時我們無不認同。從這則事例中可以看出C語言的輸出格式之復雜程度。 因此大家在學習它時千萬要學會辨別輸出格式中“%”后的字符,每個字符都有其意義,也都有其作用。 二.優先級 說道優先級,有很多朋友都不是很了解或說很模糊。 為此筆者想先通過一個例子讓各位有個概念。什么叫優先級?比方說,我們在公交車終點站排座隊時總會遇到70歲以上的老人不需要排隊就能上車的情景,這就是優先級的涵義。 C程序在運行時也象排隊坐車一樣,首先照顧那些優先級高的運算符,若是優先級相同,那么就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優先級的運算并不是千篇一律的,只能說是在大多數情況下,有些運算符的優先級有其自己的特點,因此這點大家要注意。 例如條件表達式:條件?結果1:結果2,這種表達式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運算時的優先級就不是按照C語言的規則來完成的。所以說對于優先級各位編程愛好者一定靈活掌握,不要死記硬背。 三.指針 就個人認為,C語言中的指針是最有特色的,當然也是最難學的。指針說穿了,其實是變量的一種表現形式,只不過這種變量記載的不是數值而是地址。 就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經有三年多了,在這期間曾經收到過很多網友的電子郵件詢問學習指針的方法。 就本人感觸,學習指針最好是先學些計算機硬件工作的原理,例如:直接尋址,間接尋址等,只有了解了這些內容以后,你再學指針就比較容易理會,畢竟C語言是一門介于機器語言與高級語言中間的語言,沒有一些硬件工作知識是很難領悟它的真諦的。然而事事并非絕。 源程序:#include "stdio.h" /*I/O函數*/#include "stdlib.h" /*其它說明*/#include "string.h" /*字符串函數*/#include "conio.h" /*屏幕操作函數*/#include "mem.h" /*內存操作函數*/#include "ctype.h" /*字符操作函數*/#include "alloc.h" /*動態地址分配函數*/#include "dos.h"#define N 4 /*定義常數*/typedef struct z1 /*定義數據結構*/{ char no[12]; char name[20]; int score[N]; float sum; float average; int order; struct z1 *next;}STUDENT;/*以下是函數原型*/STUDENT *init(); /*初始化函數*/STUDENT *create(); /*創建鏈表*/STUDENT *delete(STUDENT *h); /*刪除記錄*/void print(STUDENT *h); /* 顯示所有記錄*/void lookup(STUDENT *h); /*查找*/void save(STUDENT *h); /*保存*/STUDENT *load(); /*讀入記錄*/void computer(STUDENT *h); /*計算總分和均分*/STUDENT *Modify(STUDENT *h); /*修改記錄*/void append(); /*追加記錄*/STUDENT *sort(STUDENT *h); /*按總分排序*/STUDENT *index(STUDENT *h); /*按學號排序*/int menu_select(); /*菜單函數*//******主函數開始*******/main(){ int i; STUDENT *head; /*鏈表定義頭指針*/ printf("\n\n\n\n\n\n\n\n\n"); printf(" * * ******* * ***** ***** * * ******* \n"); printf(" * * * * * * * ** * * * \n"); printf(" * * * * ******* * * * * * *** * ******* \n" ); printf(" * * * * * * * * * * * * * \n"); printf(" * * ******* ******* ***** * *** * * * ******* \n"); printf("\n"); printf("\n"); printf("\n"); sleep(2); head=init(); /*初始化鏈表*/ clrscr(); /*清屏*/ for(;;) /*無限循環*/ { switch(menu_select()) /*調用主菜單函數,返回值整數作開關語句的條件*/ { /*值不同,執行的函數不同,break 不能省略*/ case 0:head=init();break; /*執行初始化*/ case 1:head=create();break; /*創建鏈表*/ case 2:print(head);break; /*顯示全部記錄*/ case 3:head=delete(head);break; /*刪除記錄*/ case 4:lookup(head);break; /*按名字查找記錄*/ case 5:save(head);break; /*保存文件*/ case 6:head=load(); break; /*讀文件*/ case 7:computer(head);break; /*計算總分和均分*/ case 8:head=Modify(head); break; /*修改記錄,一般會插在表尾*/ case 9:head=sort(head);break; /*按部分排序*/ case 10:append();break; /*追加記錄*/ case 11:head=index(head);break; /*按學號排序*/ case 12: exit(0); /*如菜單返回值為14程序結束*/ } }}/*菜單函數,返回值為整數*/menu_select(){ char *menu[]={"***************MENU***************", /*定義菜單字符串數組*/ " 00. init list", /*初始化*/ " 01. Enter list", /*輸入記錄*/ " 02. print list ", /*顯示單鏈表中所有記錄*/ " 03. Delete a record from list", /*從表中刪除記錄*/ " 04. Search record on name", /*按照姓名查找記錄*/ " 05. Save the file", /*將單鏈表中記錄保存到文件中*/ " 06. Load the file", /*從文件中讀入記錄*/ " 07. compute the score", /*計算所有學生的總分和均分*/ " 08. Modify an information ", /*修改某學號的信息*/ " 09. sort to make new file", /*排序*/ " 10. append record to file", /*追加記錄到文件中*/ " 11. index on nomber", /*按學號排序*/ " 12. Quit"}; /*退出*/ char s[3]; /*以字符形式保存選擇號*/ int c,i; /*定義整形變量*/ gotoxy(1,1); /*移動光標*/ textcolor(YELLOW); /*設置文本顯示顏色為黃色*/ textbackground(BLUE); /*設置背景顏色為藍色*/ gotoxy(10,2); /*移動光標*/ putch(0xc9); /*輸出左上角邊框┏*/ for(i=1;i<44;i++) putch(0xcd); /*輸出上邊框水平線*/ putch(0xbb); /*輸出右上角邊框 ┓*/ for(i=3;i<20;i++) { gotoxy(10,i);putch(0xba); /*輸出左垂直線*/ gotoxy(54,i);putch(0xba); } /*輸出右垂直線*/ gotoxy(10,20);putch(0xc8); /*輸出左上角邊框┗*/ for(i=1;i<44;i++) putch(0xcd); /*輸出下邊框水平線*/ putch(0xbc); /*輸出右下角邊框┛*/ window(11,3,53,19); /* 制作顯示菜單的窗口,大小根據菜單條數設計*/ clrscr(); /*清屏*/ for(i=0;i<16;i++) /*輸出主菜單數組*/ { gotoxy(10,i+1); cprintf("%s",menu[i]); } textbackground(BLACK); /*設置背景顏色為黑色*/ window(1,1,80,25); /*恢復原窗口大小*/ gotoxy(10,21); /*移動光標*/ do{printf("\n make by wenwei"); printf("\n Enter you choice(0~13):"); /*在菜單窗口外顯示提示信息*/ scanf("%s",s); /*輸入選擇項*/ c=atoi(s); /*將輸入的字符串轉化為整形數*/ }while(c<0||c>14); /*選擇項不在0~14之間重輸*/ return c; /*返回選擇項,主程序根據該數調用相應的函數*/}STUDENT *init(){ clrscr(); return NULL;}/*創建鏈表*/STUDENT *create(){ int i; int s; STUDENT *h=NULL,*info; /* STUDENT指向結構體的指針*/ clrscr(); for(;;) { info=(STUDENT *)malloc(sizeof(STUDENT)); /*申請空間*/ if(!info) /*如。 轉載請注明出處華閱文章網 » c語言實驗報告總結簡短7.C語言實訓個人總結誰會寫
8.C語言實訓心得