㈠ c語言實訓
/*8、學生成績管理系統
學生屬性:學號,姓名,入學年月,有成績的學期數,四門課的成績等9個成員,
在編程中要求當執行狀態輸入i為輸入學生記錄,輸入D為刪除,輸入s為查詢(以學號為查詢條件,輸入p為將整個學生記錄輸出,使用結構數組或結構指針編程)
*/
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include "windows.h"
int stu_num=0; //全局變數,已輸入成績的學生人數
struct student //結構體數組,用於儲存學生的數據
{
char num[11]; //儲存學號
char name[11]; //儲存名字
char sex[3]; //儲存性別
char date[11]; //儲存入學年月
int term; //儲存學期數
float score1; //儲存成績1
float score2; //儲存成績2
float score3; //儲存成績3
float score4; //儲存成績4
}student[100];
void warning() //警告函數
{
char a;
printf("您所查找的學生暫無數據,按任意鍵返回重新輸入");
a=getch(); //儲存任意鍵
}
void input() //輸入函數
{
char a;
do
{
system("cls");
printf("(i)輸入學生數據\n(e)返回主菜單\n請輸入您要執行的選項:");
a=getch(); //獲取輸入選項
if(a=='i'||a=='I') //輸入學生數據
{
system("cls"); //清屏函數
printf("下面輸入第%d個學生的數據\n學號:",stu_num+1); //以下操作儲存學生數據於結構體中
scanf("%s",&student[stu_num].num);
printf("姓名:");
scanf("%s",&student[stu_num].name);
printf("性別:");
scanf("%s",&student[stu_num].sex);
printf("入學年月:");
scanf("%s",&student[stu_num].date);
printf("學期:");
scanf("%d",&student[stu_num].term);
printf("成績1:");
scanf("%f",&student[stu_num].score1);
printf("成績2:");
scanf("%f",&student[stu_num].score2);
printf("成績3:");
scanf("%f",&student[stu_num].score3);
printf("成績4:");
scanf("%f",&student[stu_num].score4);
stu_num++;
}
if(a=='e'||a=='E') //退出輸入函數
{
break; //強制結束循環以退出輸入函數
}
}while(1);
}
void output() //輸出函數
{
system("cls"); //清屏函數
int i,j;
printf("學號\t 姓名 性別 入學年月 學期 成績1 成績2 成績3 成績4\n");
for(i=0;i<stu_num;i++) //通過for語句逐個輸出學生數據
{
printf("%-12s%-8s%-8s%-10s%-6d%-8.2f%-8.2f%-8.2f%-5.2f\n",student[i].num,student[i].name,student[i].sex,student[i].date,student[i].term,student[i].score1,student[i].score2,student[i].score3,student[i].score4);
}
printf("按任意鍵返回主菜單");
j=getch(); //儲存任意鍵
}
void revise() //修改函數
{
int i=0;
char a,num[11],name[11];
st: system("cls"); //清屏函數
printf("(x)按學號查找修改\n(m)按名字查找修改\n(e)返回主菜單\n請輸入您要執行的選項:");
a=getch(); //獲取輸入選項
if(a=='x'||a=='X') //按學號查找
{
printf("請輸入該學生學號:");
scanf("%s",&num); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(num,student[i].num)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='m'||a=='M') //按姓名查找
{
printf("請輸入該學生姓名:");
scanf("%s",&name); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(name,student[i].name)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='e'||a=='E') //退出修改函數
{
return;
}
else //為了防止選錯選項
{
goto st;
}
if(i==stu_num) //未找到學生數據時提示警告並重新查找
{
warning();
goto st;
}
system("cls");
printf("您要更改的學生的信息為:\n"); //輸出欲修改的學生信息
printf("學號\t 姓名 性別 入學年月 學期 成績1 成績2 成績3 成績4\n");
printf("%-12s%-8s%-8s%-10s%-6d%-8.2f%-8.2f%-8.2f%-5.2f\n",student[i].num,student[i].name,student[i].sex,student[i].date,student[i].term,student[i].score1,student[i].score2,student[i].score3,student[i].score4);
printf("請更新該學生的數據\n學號:"); //找到後進行數據更新
scanf("%s",&student[i].num);
printf("姓名:");
scanf("%s",&student[i].name);
printf("性別:");
scanf("%s",&student[i].sex);
printf("入學年月:");
scanf("%s",&student[i].date);
printf("學期:");
scanf("%d",&student[i].term);
printf("成績1:");
scanf("%f",&student[i].score1);
printf("成績2:");
scanf("%f",&student[i].score2);
printf("成績3:");
scanf("%f",&student[i].score3);
printf("成績4:");
scanf("%f",&student[i].score4);
printf("該學生數據已修改,按任意鍵返回");
a=getch(); //儲存任意鍵
}
void search() //查詢函數
{
int i=0;
char a,num[11],name[11];
st: system("cls"); //清屏函數
printf("(x)按學號查找\n(m)按名字查找\n(e)返回主菜單\n請輸入您要執行的選項:");
a=getch(); //獲取輸入選項
if(a=='x'||a=='X') //按學號查找
{
printf("請輸入該學生學號:");
scanf("%s",&num); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(num,student[i].num)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='m'||a=='M') //按姓名查找
{
printf("請輸入該學生姓名:");
scanf("%s",&name); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(name,student[i].name)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='e'||a=='E') //退出查詢函數
{
return;
}
else //為了防止選錯選項
{
goto st;
}
if(i==stu_num) //未找到學生數據時提示警告並重新查找
{
warning();
goto st;
}
printf("學號\t 姓名 性別 入學年月 學期 成績1 成績2 成績3 成績4\n");
printf("%-12s%-8s%-8s%-10s%-6d%-8.2f%-8.2f%-8.2f%-5.2f\n",student[i].num,student[i].name,student[i].sex,student[i].date,student[i].term,student[i].score1,student[i].score2,student[i].score3,student[i].score4);
printf("按任意鍵返回主菜單");
a=getch();
}
void del() //刪除函數
{
int i=0,j;
char a,num[11],name[11];
st: system("cls"); //清屏函數
printf("(x)按學號查找刪除\n(m)按名字查找刪除\n(e)返回主菜單\n請輸入您要執行的選項:");
a=getch(); //獲取輸入選項
if(a=='x'||a=='X') //按學號查找
{
printf("請輸入該學生學號:");
scanf("%s",&num); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(num,student[i].num)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='m'||a=='M') //按姓名查找
{
printf("請輸入該學生姓名:");
scanf("%s",&name); //輸入查找數據並用for語句進行逐個對比
for(i=0;i<stu_num;i++)
{
if(strcmp(name,student[i].name)==0)
{
break; //找到後結束循環
}
}
}
else if(a=='e'||a=='E') //退出刪除函數
{
return;
}
else
{
goto st; //為了防止選錯選項
}
if(i==stu_num) //未找到學生數據時提示警告並重新查找
{
warning();
goto st;
}
for(j=i;j<stu_num;j++) //通過for語句進行數據覆蓋實現刪除學生數據
{
student[j]=student[j+1];
}
stu_num-=1;
printf("該學生數據已刪除,按任意鍵返回主菜單");
a=getch();
}
void menu() //目錄函數
{
do
{
char a;
st: system("cls"); //清屏函數
printf("\t\t 歡迎使用學生成績管理系統 1.22版\n\n\n\t\t\t(i)輸入學生數據\n\n\t\t\t(d)刪除學生數據\n\n\t\t\t(o)查看學生數據\n\n\t\t\t(s)查詢學生數據\n\n\t\t\t(r)修改學生數據\n\n\t\t\t(e)退出系統\n\n\n請輸入您要執行的選項:"); //主菜單
a=getch(); //獲取輸入選項
switch(a)
{
case 'i': //進入輸入函數
case 'I':
input();
break;
case 'o': //進入輸出函數
case 'O':
output();
break;
case 'r': //進入修改函數
case 'R':
revise();
break;
case 'd': //進入刪除函數
case 'D':
del();
break;
case 's': //進入查找函數
case 'S':
search();
break;
case 'e': //退出程序
case 'E':
return;
default: //為了防止選錯選項
goto st;
}
}while(1);
}
void main()
{
printf("組員:\n李東海 陳志銳\n凌華富 林繼其\n杜德偉 鍾鵬琿\n\n\n\n\t\t請稍後……"); //鳴謝欄
Sleep(7000);
menu();
}
這個是我們幾個人做的期末作業,你可以拿去參考;如果windows函數不能用,就把他刪除掉還有sleep這個也一起刪除掉。
㈡ c語言實訓問題
intmain(intargc,char*argv[])
{
inti,j,n=0;
doublemax,average;
while(n<=0){
printf("請輸入學生的數量:
");
scanf("%d",&n);
if(n<=0){
printf("請輸入正整數!
");
}
}
LinkList*students=creat(n);
printf("---------------列印輸入的全部學生信息-----------------
");
printflist(students);
printf("---------------列印學生的平均分和最高分---------------
");
max=getmax(students);
average=getaverage(students);
printf("全體學生的平均分:%.2lf,最高分:%.2lf
",average,max);
bubbleSort(students);
printf("----------------按分數從低到高排序--------------------
");
printflist(students);
return0;
}
要完整代碼請採納私信,謝謝
㈢ c語言實訓
《C語言實訓教程》共分為兩篇。實驗篇為上機實驗指導,涉及順序結構程序設計、分支結構程序設計、循環結構程序設計、函數、數組、結構體與共用體、指針、位運算、文件等部分內容的相關實驗項目,每一部分的實驗項目按照由淺入深、循序漸進的原則設置了三個層次。習題篇為每章的習題及參考答案。配套光碟的教學資源中提供了每個實驗項目的問題解析、參考程序、在線測試等,以便於學生自學。
《C語言實訓教程》通俗易懂,實驗項目設置合理,符合學生對程序設計類課程知識掌握的規律,適合各類高等院校C語言程序設計課程的實驗教學,同時也可以作為獨立的實訓教材。
㈣ c語言實驗原理應該寫什麼內容
c語言實驗原理:利用結構體、函數的調用和指針的傳輸等原理進行實驗。
C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。
㈤ c語言程序設計實訓 求c語言高手幫忙
//每個學生數據學號、姓名、三門課成績,從鍵盤錄入10人數據,通過函數調用完成
//1、三門課總平均成績
//2有不及格成績學生數據
//3輸出每個學生總分由高到低的結果
//4、將原有數據和每個學生平均成績存放在磁碟文件中
#include<stdio.h>
#include<string.h>
#include<Windows.h>
const int N=30;
const int M=100;
typedef struct student_information
{
char ID[N]; //學生學號
char name[N]; //學生姓名
int score[3]; //學生三科成績
float aver; //平均成績
}student;
student stu[M];
FILE *fp;
int n;
float average(int a,int b,int c) //平均成績
{
float m=a+b+c/1.0;
return m/3.0;
}
void order(student a[])
{
int i,j,temp[3];
char str[N],str1[N];
float m;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
if(a[j].score[0]+a[j].score[1]+a[j].score[2]<a[j+1].score[0]+a[j+1].score[1]+a[j+1].score[2])
{
strcpy(str,a[j].ID);strcpy(str1,a[j].name);m=a[j].aver;
temp[0]=a[j].score[0];temp[1]=a[j].score[1];temp[2]=a[j].score[2];
strcpy(a[j].ID,a[j+1].ID);strcpy(a[j].name,a[j+1].name);a[j].aver=a[j+1].aver;
a[j].score[0]=a[j+1].score[0];a[j].score[1]=a[j+1].score[1];a[j].score[2]=a[j+1].score[2];
strcpy(a[j+1].ID,str);strcpy(a[j+1].name,str1);a[j+1].aver=m;
a[j+1].score[0]=temp[0];a[j+1].score[1]=temp[1];a[j+1].score[2]=temp[2];
}
}
printf("\n學生學號 學生姓名 第1科成績 第2科成績 第3科成績 平均成績\n");
for(i=0;i<n;i++)
printf("%8s%12s\t %d\t\t%d\t\t%d\t %.1f\n",a[i].ID,a[i].name,a[i].score[0],
a[i].score[1],a[i].score[2],a[i].aver);
}
void add() /*定義錄入功能函數*/
{
int i;
printf("請輸入錄入信息總數:");
scanf("%d",&n);
fp=fopen("e:\\zhangtianjiao.txt","wb+");
for (i=1;i<=n;i++)
{
printf("\n\t請輸入第%d個學生學號(d):",i);
scanf("%10s",stu[i-1].ID);
printf("\n\t請輸入第%d個學生姓名(10s):",i);
scanf("%10s",stu[i-1].name);
printf("\n\t請輸入第%d個學生第1科成績(f):",i);
scanf("%d",&stu[i-1].score[0]);
printf("\n\t請輸入第%d個學生第2科成績(f):",i);
scanf("%d",&stu[i-1].score[1]);
printf("\n\t請輸入第%d個學生第3科成績(f):",i);
scanf("%d",&stu[i-1].score[2]);
stu[i-1].aver=average(stu[i-1].score[0],stu[i-1].score[1],stu[i-1].score[2]);
printf("\n\t提示:您已成功錄入第%d條信息\n",i);
fwrite(&stu[i-1],sizeof(student),1,fp); /*保存設備信息至文件*/
}
}
void scan() /*定義瀏覽功能函數*/
{
int i,b;
fp=fopen("e:\\zhangtianjiao.txt","rb");
for (i=0;i<n;i++)
fread(&stu[i],sizeof(student),1,fp);
while(PF_FLOATING_POINT_EMULATED)
{
printf("請選擇\t1.有不及格成績學生數據\t\t2.總分從高到底所有學生數據");
scanf("%d",&b);
switch(b)
{
case 1:
printf("\n學生學號 學生姓名 第1科成績 第2科成績 第3科成績 平均成績\n");
for(i=0;i<n;i++)
{
if(stu[i].score[0]<60||stu[i].score[1]<60||stu[i].score[2]<60)
printf("%8s%12s\t %d\t\t%d\t\t%d\t %.1f\n",stu[i].ID,stu[i].name,stu[i].score[0],
stu[i].score[1],stu[i].score[2],stu[i].aver);
}
break;
case 2:
order(stu);
break;
default:printf("提示:輸入錯誤");system("pause");
}
printf("\n\t**1.繼續\n\t**0.返回主菜單");
printf("\n\t 請輸入您的選擇:");
scanf("%d",&b);
if(!b)
break;
}
rewind(fp);
fclose(fp);
}
void menu() //定義主菜單功能
{
printf("\n\t*******************歡迎進入學生信息系統!******************\n");
printf("\t* 1.錄入功能 2.瀏覽功能 *\n");
printf("\t* 0.-*EXIT*- *\n");
printf("\t**********************************************************\n");
printf("\n\t 請輸入您的選擇:");
}
void main()
{
system("color 5f");
int a;
C:;
menu();
scanf("%d",&a);
switch(a)
{
case 0:printf("***正在退出**謝謝使用本系統,再見");break;
case 1:add();goto C; //錄入功能
case 2:scan();goto C; //瀏覽功能
default:printf("提示:輸入錯誤");system("pause");goto C;
}
}
自己把第N科成績改成你要的就行了
#include<stdio.h>
#define N 10
void main()
{
int a[N],*pt=a,temp;
for(int i=0;i<N;i++)
scanf("%d",pt++);
pt=a;
printf("原樣輸出:");
for(i=0;i<10;i++)
printf("%d ",*pt++);
printf("排序後輸出:");
for(i=0;i<N-1;i++)
for(int j=0;j<N-1-i;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
for(pt=a,i=0;i<10;i++)
printf("%d ",*pt++);
}
㈥ C語言實訓
在初學C語言的一個學期後,我們進行了C語言實訓階段,嘗試自己編寫一個比較復雜的程序系統。在為期兩周的時間中,我們同組的同學共同的感受是:C語言實訓和平時上課所接觸的程序是有很大不同的,所經受的考驗和克服的困難是平時所無法比擬的。好在同組的搭檔們精誠合作,分工明確,有問題共同解決,攻克了C語言實訓的復雜程序。在這里,我作為其中的參與者,自然感觸良多。 剛開始接觸到C的時候,我已經學過一些有關VB的內容,這個在演算法和思維上稍微有點幫助。回想本學期的學習,首先,最基本的,是C的數據格式,讓我們知道整數,浮點數以及字元常量在C中的運用。然後,在學會了數據轉化,以及熟練的可以對各種數據處理之後,我開始進行有關數據結構,像數組,結構體等的學習,因為有的東西從現有的知識來看都是非常簡單的,還沒有聯繫到指針等等一些復雜的概念。可是,僅僅學會這些是遠遠不夠的,C語言中,還有很多更加經典、重要、實用的知識。 說說函數。雖說很多程序語言都有函數這一內容,但我覺得C語言的函數是最有魅力的了。學習函數的方法是比較簡單的,只有兩個字「牢記」,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,學習C語言的「高人」都說,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。比如,大家可以作一個比較字元串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話,30句都很難實現,可想而知函數的實用和快捷。在我們C語言實訓的代碼中,函數更是得到了充分的應用,可以說,實訓題目的復雜代碼,就是用無數個函數的調用和嵌套積累出來的。 要注意的是,有的同學剛剛開始的時候,都是被一些大的程序激勵的,所以當開始的時候看到繁瑣的數據轉化和簡單的演算法,都覺得很無聊,都想自己做幾個自己滿意的程序來看看,雖然這種想法很好,但是,我們說,沒有基礎,純粹是搬照一些現成設計方法,是不足取的。要知道,程序設計講究的是個人的思維的,假如剛開始就被一些現成的思想束縛住,以後就會覺得很無趣。 我們知道,指針其實是C語言的靈魂,許多的數據結構在我們學到這里之前都可以說是精通了。所以我們的任務就是,讓數據結構在指針中運行。當然,剛剛開始接觸到這些新的東西,是一件非常痛苦的事情,所以我們一定要用非常形象的思維去看待指針,不能太固化。所以,新的東西,比如結構體在指針中的表現方法,數組及多維數組在結構體中的運用,都一點一點的加了進來,同時豐滿了我們對原來C的數據機構,數據表示的理解。當我們完成了這三步的學習,我們已經可以自豪的說,我們的基礎都扎實了,可以進一步的學習有關演算法,設計概念等等深層次的東西了。 但是,指針,結構體,這些太抽象的東西,在學習C語言的時候我們就有點「似懂非懂」,可是在眼下的C語言實訓中,像這么重要的C語言知識,一定要達到能熟練掌握,實際運用的程度。在實訓的大程序中,結構體在指針中的表現方法,數組及在結構體中的運用等具體的技術環節,都得到了體現,不會指針,我們的工作是沒法展開的。所以,在實訓期間,大家在鞏固基本知識的基礎上,逐塊攻克實訓課題,克服了困難,自信心得到了提高。 最後,談談我們組的程序軟體。商店商品管理系統,是一個比較利於應用,解決實際問題,方便實際管理的程序。設計代碼比較復雜,結構比較嚴謹。在程序編寫的1周左右的時間里,組員們遇到了上述的困難,包括程序設計構思,甚至是指針等某些知識點的欠缺,導致的工作中出現的困難。但是,當大家一起團結協作,解決了這些困難之後,發現自己也可以編寫復雜的、應用性的程序了,更發現自己對C語言這門學科的興趣也提高了。 當然,我們編寫的商店商品管理系統,還存在很多疏漏和不合理之處。比如,程序復雜冗長,如果時間充裕,我們將在不改變程序運行結果的基礎上,簡化程序,使每一句更加精闢,總體上更加簡化。另外,在程序的外觀上,我們由於時間問題,沒有做更多的修飾,運行起來顯得比較死板、枯燥乏味。如果增添一些色彩和其他效果,我們的程序也許會更加完美。 以上就是我的C語言實訓個人總結
㈦ C語言實訓心得
通過這次C語言實訓,提高了我掌握和利用C語言進行程設計的能力, 而且進一步理解和運用結構化程設計的思想和方法。初步掌握了開發一個小型實用系統的基本方法。學會了調試一個較長程序的基本方法。學會了利用流程圖或N-S圖表示演算法。掌握了書寫程設計開發文檔的能力.為以後的實訓打下堅實的基礎。
㈧ C語言實訓項目編程一般步驟
稱 計算機工程系 專業 網路安全 指導教師
學生姓名 班級
實訓
時間 年 月 日---------- 年 月 日
實訓項目和地點:
實訓項目:C++程序的設計與應用
地點:
實訓目的:
在實踐過程中,使我們進一步鞏固C++程序設計課程所學知識,更加深入地了解面向對象程序設計的主要技術特點以及C++語言的強大編程功能指導學生利用獲取信息的手段進一步獲取新知識,以解決實訓過程中遇到的技術難點,從中提高自學能力;按照軟體開發的基本要求引導我們完成實訓課題,以便我們了解軟體開發的幾個重要環節;提高我們的編程技術,使程序的編寫更趨於專業化,為從業打下良好的基礎、培養我們分工協作的團隊精神。
實訓設備及器材:
1、計算機配置:Celeron cpu 2.66GHz 1G內存 計算機一台
2、操作系統平台: Windows XP
3、軟體開發平台:Visual C++ 6.0
4、其它應用軟體:Microsoft Access / SQL Server 、Word、Visio等
實訓的步驟和內容:
設計題目:輸入4個整數,要求按由大到小的順序輸出
第1步、問題描述:
輸入4個整數,要求按由大到小的順序輸出。
第2步、基本思路:
利用選擇法進行排序。
第3步、編寫程序:
#include<stdio.h>
void main()
{
int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a<b)
{t=a;
a=b;
b=t;}
if(a<c)
{t=a;
a=c;
c=t;}
if(a<d)
{t=a;
a=d;
d=t;}
if(b<c)
{t=b;
b=c;
c=t;}
if(b<d)
{t=b;
b=d;
d=t;}
if(c<d)
{t=c;
c=d;
d=t;}
printf("%d,%d,%d,%d",a,b,c,d);
}
第4步、運行結果:_
輸入:5,7,9,4
輸出:9,7,5,4
實訓結果分析及其心得體會:
通過C++實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現的問題很多,比理論要難的多,當一個程序寫完以後,經常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經驗,有些錯誤可以很快就看出來。
這次實訓有很大的收獲,讓我對C語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒用,會有種成就感,於是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。
C語言是一個有序的學習,學了最基本的替換,然後擴展到循環,嵌套,條理很清楚,不是 一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以後要多多鍛煉自己的信心和增加自己的能力,爭取做到不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對於簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然後有條不紊的分析,一步一步理解,C語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對C語言程序開發環境的了解,不管以後從事什麼行業,學習C語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以後的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。
當初在初步接觸C語言的時候,看著一堆「奇形怪狀」的符號,覺得甚是無聊,通過這次實訓,擺脫了那種似懂非懂的狀態!
感謝學校安排這次實訓和老師的耐心講解,讓我學到了很多知識,在實訓過程中,同學之間的互相探討,老師的循循善誘,最終讓我們達到了舉一反三的效果,在學知識的同,也增加了同學老師之間的感情。希望以後還會有更多類似的實訓課程,在有限的大學時間內學到更多的實用技能,為以後的工作打下一個良好的基礎。