當前位置:首頁 » 編程語言 » c語言程序報告

c語言程序報告

發布時間: 2023-09-02 03:48:14

A. c語言實驗報告怎麼寫

#include <stdio.h>


int main()

{

unsigned long a;

char c;

printf("Input a binary number: ");

for(a=0;(c=getchar())!=' ';)

a=a*2+c-'0';

printf("The number is %lu in decimal ",a);

printf("The number is %lo in octal ",a);

printf("The number is %lX in Hexadecimal ",a);

return 0;

}

B. 求完整C語言程序設計報告!!

C語言課程設計報告--學生成績管理系

C語言課程設計報告:
學生成績管理系統
系統需求
一、 當前學生信息:通過結構體struct student 來保存學生的姓名,學號,性別,語文,數學,英語和計算機等等相關信息,並且通過cin函數來進行給當前學生輸入初始信息.

二、學生成績查詢: 輸入一個學號, 在文件中查找此學生, 若找到則輸出此學生的全部信息和成績; 若找不到則輸出查找失敗的信息. 同時也可以全部把各科的平均成績,最高和最低分輸出。

三、新生插入 :通過給該生的學號來和原班上的學生的學號比較大小,若大就在後,若小則靠前排,將此生的信息保存下來。

四、輸出全部學生信息和全部學生成績。

五、退出系統.

六、附加說明:系統將來完善的功能有:可以通過性別來模糊查詢,也可以通過姓名的姓來先進行模糊查詢,以便後面精確查找。

總體設計
一、 仔細閱讀系統要求,首先將此系統化分為如下模塊(即如下函數)

1、輸入初始的學生信息:其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現此操作。

2、查詢模塊:可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。

3、插入模塊:可用insert( )函數來實現。其中通過學號的大小來比較的,並且以此來排序。

4、輸出學生的信息以及成績:通過學生的姓名來查看學生的語文、數學、英語和計算機等相關成績,同時也可以分別通過caverage() 、 maverage() 、eaverage() 和comaverage() 來輸出語文、數學、英語和計算機等成績的平均分數、最高和最低分數。

5、退出系統:可用一個函數exit()來實現,首先將信息保存到文件中,釋放動態創建的內存空間,再退出此程序。

二、系統主模塊結構圖:

詳細設計
一、 界面設計
此系統界面採用圖形和數字化菜單設計。
主界面設計如下:

學生成績管理系統

請選擇相應的數字執行相應的功能:
1:是否輸入其他數據
2:查看數據
3:插入數據
4:查找數據
5:更新數據
6:保留數據
7:顯示或列印數據
8:語文成績狀況
9:數學成績狀況
10:英語成績狀況
11:計算機成績狀況
12:?
13:退出系統
二、 數據結構設計:
程序設計中用到的結構體類型:
學生信息結構體類型:
typedef struct student{
char name[MAX];
int num[MAX];
char sex[MAX];
int chinese;
int mathematic;
int english;
int computer;
struct student *next;
}

程序代碼:
//原始密碼是123456
#include"stdio.h"
#include"stddef.h"
#include"stddef.h"
#include"string.h"
#define MAX 10
typedef struct student{ /*定義結構體*/
char name[MAX]; /*姓名*/
int num[MAX]; /* 學號*/
char sex[MAX]; /*性別*/
int chinese; /*語文*/
int mathematic; /* 數學*/
int english; /*英語*/
int computer; /*計算機*/
struct student *next; /*結構體指針*/
}stu;
stu *head; /*頭指針*/
void print() /*顯示或列印函數*/
{
system("cls");
printf("\t\t\tScore Manage System\n"); /*成績管理系統*/
printf("<1>Enter Record\t"); /*輸入數據*/
printf("<2>Display\t"); /*顯示*/
printf("<3>Insert\t"); /*插入數據*/
printf("<4>Quest\t"); /*訪問數據*/
printf("<5>Update\t"); /*以前數據*/
printf("<6>Save\t"); /*保留數據*/
printf("<7>Fresh\t"); /*更新數據*/
printf("<8>Chinese Average\t"); /*語文平均成績*/
printf("<9>Math Average\t"); /*數學平均成績*/
printf("<10>English Average\t"); /*英語平均成績*/
printf("<11>Computer Average\t"); /*計算機平均成績*/
printf("<12>Quit\t\n"); /*退出*/
}

void cin(stu *p1) /*輸入相關數據的函數*/
{ printf("Enter name:\n");
scanf("%s",&p1->name);
printf("Enter num:\n");
scanf("%d",&p1->num);
printf("Enter sex:\n");
scanf("%s",&p1->sex);
printf("Enter score:\n");
printf("Enter chinese:\n");
scanf("%d",&p1->chinese);
printf("Enter math:\n");
scanf("%d",&p1->mathematic);
printf("Enter English:\n");
scanf("%d",&p1->english);
printf("Enter Computer:\n");
scanf("%d",&p1->computer);
}
stu *cindata() /*其他數據是否繼續輸入的函數*/
{ stu *p1,*p2;
int i=1;
char ch;
p1=(stu *)malloc(sizeof(stu));
head=p1;
while(i)
{
cin(p1);
printf("Do you Want to Continue?yes or no"); /*是否繼續輸入數據*/
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
{ i=0;
p1->next=NULL;
}
else
{ p2=p1;
p1=(stu *)malloc(sizeof(stu));
p2->next=p1;
}
}
return(p1->next);
}

stu *lookdata(stu *p1) /*查看數據的函數*/
{
while(p1!=NULL)
{ printf("Num:%d\t",p1->num);
printf("Name:%s\t",p1->name);
printf("Sex:%s\t",p1->sex);
printf("\n");
printf("Chinese:%d\t",p1->chinese);
printf("Math:%d\t",p1->mathematic);
printf("English:%d\t",p1->english);
printf("Computer:%d\t",p1->computer);
printf("\n");
p1=p1->next;
}
return p1;
}

void insert() /*通過比較學號來插入數據的函數*/
{ stu *p1,*p3,*p2;
char ch;
p1=head;
p3=(stu *)malloc(sizeof(stu));

p3->next=NULL;
if(head==NULL){ head=p3; return;}
cin(p3);
while(p1!=NULL&&(p1->num<p3->num)) /*通過學號的比較來插入*/
{ p2=p1;p1=p1->next;}
if(p2==head) {p3->next=head; head=p3; return;}
p3->next=p1;
p2->next=p3;

}

find(stu *p2) /*通過姓名查找查看數據的函數*/
{ char name[20];
int b=0;
printf("Enter the name of the student you want to find:"); /*通過姓名查看*/
scanf("%s",name);
while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("The data you want has be found\n");
printf(" Name:%s\t",p2->name);
printf("Num:%d\t",p2->num);
printf("sex%s\t",p2->sex);
printf("\n");
printf("Chinese:%d\t",p2->chinese);
printf("Math:%d\t",p2->mathematic);
printf("English:%d\t",p2->english);
printf("Computer:%d\t",p2->computer);
printf("\n");

b=1;
}
else if(b==0)
printf("sorry not find data!");
p2=p2->next;
}

if(b==1)
{
print();
printf("Find one\n");}
else
{print();
printf("Not find\n");

}
}

void caverage() /*求各學生語文平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->chinese;
aver=sum/i;

p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->chinese)
max=p1->chinese;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->chinese)
min=p1->chinese;
}
printf("Chinese Average:%f",aver);
printf("Chinese Max:%f",max);
printf("Chinese Min:%f",min);
}

void maverage() /*求各學生數學平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->mathematic;
aver=sum/i;

p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->mathematic)
max=p1->mathematic;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->mathematic)
min=p1->mathematic;
}
printf("Mathe Average:%f",aver);
printf("Mathe Max:%f",max);
printf("Mathe Min:%f",min);
}

void eaverage() /*求各學生英語平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->english;
aver=sum/i;

p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->english)
max=p1->english;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->english)
min=p1->english;
}
printf("English Average:%f",aver);
printf("English Max:%f",max);
printf("English Min:%f",min);
}

void comaverage() /*求各學生計算機平均分、最高和最低分成績的函數*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->computer;
aver=sum/i;

p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->computer)
max=p1->computer;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->computer)
min=p1->computer;
}
printf("Computer Average:%f",aver);
printf("Computer Max:%f",max);
printf("Computer Min:%f",min);
}

update(stu *p2) /*通過姓名查找來更新數據*/
{
char name[10]; /*p2為指向結構體struct student的指針*/
int b=0;
printf("Enter The Name"); /*輸入姓名*/
scanf("%s",name);

while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("Find you data\n");
scanf("Name:%s",p2->name);
scanf("Num:%s",p2->num);
scanf("Sex:%s",p2->sex);
scanf("Chinese:%d",p2->chinese);
scanf("Math:%d",p2->mathematic);
scanf("english:%d",p2->english);
scanf("Computer:%d",p2->computer);
printf("Success!");

b=1;}
else if(b==0)
printf("Sorry not Find data!");
p2=p2->next;}
if(b==0)
{print();
printf("Sorry not Find data!");
}
else
{
print();
printf("Finish!");
}
}

save(stu *p2) /*保留數據函數*/
{
FILE *fp;
char file[10];
printf("Enter file name"); /*輸入文件名*/
scanf("%s",file);
fp=fopen(file,"w");
while(p2!=NULL)
{
fprintf(fp,"%s",p2->name);
fprintf(fp,"%s",p2->num);
fprintf(fp,"%s",p2->sex);
fprintf(fp,"%d",p2->chinese);
fprintf(fp,"%d",p2->mathematic);
fprintf(fp,"%d",p2->english);
fprintf(fp,"%d",p2->computer);
p2=p2->next;
}
fclose(fp);
}

char password[7]="123456"; /*定義初始密碼*/

void main() /*主函數*/
{ int choice;
stu *p2;
char s[8];
int flag=0,i; /*標志項*/
int n=3;
do{ printf("Enter password:\n");
scanf("%s",s);
if(!strcmp(s,password)) /*進行密碼匹配驗證*/
{ printf("PASS\n\n\n");
flag=1;
break;
}
else{
printf("Error Enter again:\n");
n--;
}
}
while(n>0);
if(!flag)
{printf("you have Enter 3 times!"); /*輸入密碼超過了3次!!*/
exit(0); /*自動退出*/
}
/*密碼驗證成功後進入的界面*/

printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n"); /*操作界面*/
printf("\t\tWelcom to the Mis\n");
printf("Author:-----\tClass:------\tNum:------\n"); /*作者,班級和號碼*/
printf("Adress:HG\n"); /*地址*/
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\tEnter OP:\n");
printf("\n\n\n\n");
printf("==============\t\t==============\n");
printf("==============\t\t==============\n");
printf("\t\tEnter the MIS yes or no\n"); /*問進入系統與否*/

scanf("%d",&choice);
if(choice=='n'||choice=='N')
exit(1);

print();
while(1)
{
printf("Enter choice:");
scanf("%d",&i);
if(i<1||i>13)
{
printf("Enter num from 1 to 13:\n"); /*再從1-13中進行選擇*/
exit(1);
}

switch(i)
{ case 1:
p2=cindata(); /*其他數據是否繼續輸入的函數*/
break;
case 2:
p2=lookdata(head); /*查看數據的函數*/
break;
case 3:
insert(); /*通過比較學號來插入數據的函數*/
break;
case 4:
find(head); /*通過姓名查找查看數據的函數*/
break;
case 5:
update(head); /*通過姓名查找來更新數據*/
break;
case 6:
save(head); /*保留數據函數*/
break;
case 7:
print(); /*顯示或列印函數*/
break;
case 8:
caverage(); /*求各學生語文平均分、最高和最低分成績的函數*/
break;
case 9:
maverage(); /*求各學生數學平均分、最高和最低分成績的函數*/
break;
case 10:
eaverage(); /*求各學生英語平均分、最高和最低分成績的函數*/
break;
case 11:
comaverage(); /*求各學生計算機平均分、最高和最低分成績的函數*/
break;
case 12:
; /*空操作*/
case 13:
exit(1); /*退出*/
break;
}
scanf("%d",&i);
}
}

程序中出現的問題及解決方法

問題一、學生初始信息模塊:
其中包括學生的姓名、學號和性別以及學生的語文、數學、英語和計算機等相關信息;可用函數cin(stu *p1)來實現此操作。當正確輸入存在的學生學號,系統進行判斷時,提示不存在此學生。

解決辦法及步驟:
1、一個個輸出所有的學生的學號,檢查文件中是否有此學生,發現有。
2、既然有此學生,那麼檢查循環判斷是否有此學生的語句發現沒有錯
3、輸出用於循環檢查語句中的學生信息,發現亂碼
4、仔細分析亂碼的原因,最後發現是變數的類型錯誤,錯將學生類型的結構體指針變數定義為了其他類型的指針變數。

問題二、查詢模塊:
可用stu *lookdata(stu *p1) 來實現。找到就輸出此學生全部信息包括學生的語文、數學、英語和計算機等的成績。當正確輸入查找信息時,系統卻不能夠得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。

解決辦法及步驟:
1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然後再繼續正確輸入查找信息看能否得到所要查找的學生信息以及學生的語文、數學、英語和計算機的成績。

2、檢查當我們在輸入查找信息時,看是否我們輸入的信息有誤,若是這樣的話,我們應當仔細輸入查找信息。

問題三、插入模塊:
可用insert( )函數來實現。其中通過學號的大小來比較的,並且以此來排序。當我們輸入插入信息時,系統卻提示插入不進數據。

解決辦法及步驟:
1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然後再繼續正確輸入插入信息看能否插入進去得到所要插入的學生信息以及學生的語文、數學、英語和計算機的成績。

2、檢查當我們在輸入插入信息時,看是否我們輸入的插入信息有

C. 計算機c語言實訓報告範文

計算機c語言實訓御盯報告範文

實訓教學是培養計算機專業學生C語言的基本能力、職業能力、技術應用能力、創新能力的重要途徑。本文是我為大家整理的計算機c語言實訓報告範文,僅供參考。

一、 課題名稱:簡單計算器

設計一個簡單的程序來模擬計算器的功能。

二、 設計目的:

1、通過理論知識與實際需求相結合,編輯解決一些日鎮遲和常中的實際問題,培養初步的獨立分析和設計能力。 2、了解應用程序設計解決實際問題的具體過程和實現方法,掌握應用C語言進行程序設計的基本規范; 3、重點掌握C語言的程序編寫、函數設計、演算法設計和程序調試方法; 4、旦畢初步掌握系統開發過程的問題分析、系統設計、程序編碼、測試等基本方法和技能。

三、 設計任務:

1、通過結構體數組和共用體數組來存放輸入的每一數字或運算符號的記錄(包括1、2、3等數字,+、--、_、等運算符號),然後將其信息存入文件中。輸入一個算術計算式,就在屏幕上顯示結果。 2、輸入簡單的加減乘除算術計算式,並在屏幕上顯示計算結果;

四、 設計要求:

1、用C語言實現程序設計並進行調試; 2、畫出查詢模塊的流程圖;

3、系統的各個功能模塊要求用函數的形式實現; 4、界面友好(良好的人機互交)。 5、完成設計說明書(A4)。

五、代碼設計:

#include "stdio.h" main() { float x,y;

char operator;

printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator)

{case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0)

printf("chushushilingwuyiyi"); else

printf("%.2f/%.2f=%.2f",x,y,x/y); break;

default: printf("yunsunfuwuxiao"); } }?

七、設計總結:

學習C程序這門課一個學期了,這是我們學的第一門專業課,所以作為我這個計算機系的學生來說當然十分重要,老師在第一節課說過,C語言是計算機的基礎,大多數軟體都需要用C語言來編寫,通過一個學期的學習,使我初步掌握了一些關於這門課的知識

這次的課程設計是對我們一個學期來所學的知識的綜合考察,裡面涉及到了我們大多數所學知識。記得剛開始學這門課的時候,對這門課充滿了希望,自己有信心學好這門課,但是經過一段時間的學習之後。才發現程序設計並不好學,它既要你有很強的領悟能力,還要你課後的努力,也許是自己之前太有信心學好

這門課了吧,中間遇到了很大的瓶頸,一度陷入無休止的煩惱中編程序時沒有一次是成功的,總會遇到很多的error,改完一個又有一個,這時我會想到一句古話“天將降大人於斯人也,必先苦其心志,勞其筋骨,餓其體膚”,也許以後會有些許光明吧。之後,隨著時間的推移,慢慢掌握了這門課學習的一些竅門,學習起來也比剛開始的時候好了一點,至於編程序嗎還是有錯誤,但比以前少了,總讓我看到希望了。這次的課程設計要求我們編一個簡易計算器,剛開始的時候我一頭霧水,丈二摸不著頭腦,不知從哪裡下手,後來經過老師和同學的幫助,從最簡單的編框開始,慢慢的到最關鍵的演算法,這其中經歷了很多彎路,也犯過了很多錯誤,但是還是一一攻克了,好比紅軍長征兩萬五千里終於到達了終點。看到最後自己編寫出來的計算器感到格外的高興,暫且不說計算器的功能方面吧,但畢竟是自己寫的第一個正式的程序,感到格外的高興。

在編寫程序的過程中受到了其他同學的指點,也許在某些程序方面會和有的同學想類似,另外老師也幫助了很多,一個好的學生離不開一個好老師嗎,雖說我不算一個好學生,但是老師在我編程序過程中也起到了很大的作用,就像老師說的一句話一樣“革命尚未成功,同志仍需努力”,我們在C語言這門課上還會繼續走下去,以後還會經常碰到,我會努力的。

實驗一 工作平台

一、目的和要求

1、熟悉C語言程序的支持運行環境,了解所用計算機系統的軟、硬體配置和使用方法。

2、初步了解運行一個C語言程序的過程。

二、實驗環境

硬體環境:計算機(windows xp系統) 軟體環境:Turbo C3.0或VC++6.0

三、實驗內容

1.1請編寫一個程序,顯示以下兩行文字。

I am a student.

I love China.

源程序代碼:

#include

int main(void)

{printf(“I am a student. ”);printf(“I love China. ”); return 0;}

數據輸入與運行結果:

1.2編寫一個程序,從鍵盤輸入兩個整數,輸出這兩個數之和。

源程序代碼:

#include

int main(void)

{int a,b,c; printf(“input two integers: ”);

scanf(“%d %d”,&a,&b);c=a+b;printf(“The sum is %d: ”,c); 數據輸入與運行結果:

1.3編寫一個程序,求3個整數之和。

源程序代碼:

#include

int main(void)

{int a,b,c,sum;a=12,b=34,c=56;sum=a+b+c;

printf(“sum is %d ”,sum);}

數據輸入與運行結果:

1.4編寫一個程序,從5個整數中找出最小的數。

源程序代碼:

#include

int main(void)

{int a,b,c,d,e,min;

scanf(“%d %d %d %d %d”,&a,&b,&c,&d,&e);

min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;

if(min>e) min=e;printf(“min is %d ”,min);}

數據輸入與運行結果:

1.5寫出下列程序的輸出結果。

(1)#include

int main(void)

{printf(“%d%d%d%d ”,1+2,5/2,-2_4,11%3);

printf(“%.5f%.5f%.5f ”,1.+2.,5./2.,-2._4.);

(2)#include

int main(void)

{int i=8,j=10,m=0,n=0;

printf(“%d,%d,%d,%d”,i,j,m=++i,n=j++);

(3) #include

int main(void)

{int x;

x=-3+4_5-6;printf(“%d ”,x); x=3+4%5-6;printf(“%d ”,x);

x=-3_4%-6/5;printf(“%d ”,x);x=(7+6)%5/2;printf(“%d ”,x); }

數據輸入與運行結果:

1.6分析比較下面兩個程序的輸出結果。

(1) #include

int main(void)

{int x,y,z; x=y=2;z=3; y=x++ -1;printf(“%d %d ”,x,y);

y=++x-1; printf(“%d %d ”,x,y); y=z-- +1; printf(“%d %d ”,z,y); y=--z+1; printf(“%d %d ”,z,y); return 0;}

(2) #include

int main(void)

{int x,y,z; x=y=2;z=3; y=x + +-1;printf(“%d %d ”,x,y);

y=+ + x-1; printf(“%d %d ”,x,y); y=z - - +1; printf(“%d %d ”,z,y); y=- -z+1; printf(“%d %d ”,z,y); return 0;}

數據輸入與運行結果:

實驗二 C語言基礎

一、目的和要求

1、進一步掌調試的方法。

2、掌握數據的輸入和輸出方法。

3、掌握有關運算符與表達式的運用。

二、實驗環境

硬體環境:計算機(windows xp系統) 軟體環境:Turbo C3.0或VC++6.0

三、實驗內容

2.1 上機調試下面的程序,給出運行結果。

(1) #include

int main(void)

{float x=234.89;double y=-123.4567;printf(“%.3f,%.3e ”,x,x); printf(“%08.3f,%010.3e,%015.3e ”,x,x,x);

printf(“%g,%e ”,y,y,y);}

(2) #include

int main(void)

{char c;short i;c=’A’;i=65;

printf(“c:dec=%d oct=%o hex=%x ASCII=%c ”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u ”,i,i,i,i); c=’X’;i=-4;

printf(“c:dec=%d oct=%o hex=%x ASCII=%c ”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u ”,i,i,i,i);}

(3) #include

int main(void)

{char c1,c2; c1=’A’+’5’-’3’; c2=’A’+’5’-’3’; printf(“%d,%c ”,c1,c2); }

數據輸入與運行結果:

2.2指出下面程序段中的錯誤,並加改正。

#include

int main(void)

{int a; float b; char c; scanf("%c%d%c%f";c,a,a,b);}

數據輸入與運行結果:

改正後的程序:

#include

int main(void)

{int a; float b; char c; scanf("%c,%d,%f",&c,&a,&b);

printf("%c,%d,%f",c,a,b);}

運行結果:

2.3寫出下面程序段執行後變數a,b,c的值。

char a=’2’,b=’a’;int c;c=a+b;a=c;

數據輸入與運行結果:

程序:#include

int main(void)

{char a='2';char b='a';int c;c=a+b;a=c;

printf("%d,%d,%d",a,b,c);}

運行結果:

D. c語言實驗報告總結怎麼寫

c語言實驗報告總結這樣寫:

在科技高度發展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學習它,有助於我們更好的了解計算機,與計算機進行交流,因此,c語言的學習對我們尤其重要。

在這個星期里,我們專業的學生在專業老師的帶領下進行了c語言程序實踐學習。在這之前,我們已經對c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對裡面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。

由於時間的關系,我們的這次實踐課程老師並沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。

上機實驗是學習程序設計語言必不可少的實踐環節,特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對於程序設計語言的學習目的,可以概括為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。

學習c程序設計語言除了課堂講授以外,必須保證有不少於課堂講授學時的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以希望學生有效地利用課程上機實驗的機會,盡快掌握用c語言開發程序的能力,為今後的繼續學習打下一個良好的基礎。

為此,我們結合課堂講授的內容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:

1、加深對課堂講授內容的'理解

課堂上要講授許多關於c語言的語法規則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。

通過多次上機練習,對於語法知識有了感性的認識,加深對它的理解,在理解的基礎上就會自然而然地掌握c語言的語法規定。對於一些內容自己認為在課堂上聽懂了,但上機實踐中會發現原來理解的偏差,這是由於大部分學生是初次接觸程序設計,缺乏程序設計的實踐所致。

學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。

通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數同學在完成老師作業時的心態。但是在程序設計領域里這是一定要克服的傳統的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發現程序中存在的問題。

自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。

2、熟悉程序開發環境、學習計算機系統的操作方法

一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。所謂"環境"就是所用的計算機系統硬體、軟體條件,只有學會使用這些環境,才能進行程序開發工作。

通過上機實驗,熟練地掌握c語言開發環境,為以後真正編寫計算機程序解決實際問題打下基礎。同時,在今後遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。

3、學習上機調試程序

完成程序的編寫,決不意味著萬事大吉。你認為萬無一失的程序,實際上機運行時可能不斷出現麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結果顯然是錯誤的。

開發環境所提供的編譯系統無法發現這種程序邏輯錯誤,只能靠自己的上機經驗分析判斷錯誤所在。程序的調試是一個技巧性很強的工作,對於初學者來說,盡快掌握程序調試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調試高手一眼就看出錯誤所在。

通過這次為數不多的幾天計算機實踐學習,我們了解了一些關於c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難!

E. c語言設計程序報告

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
void cut();
void in();
void display();
int keep();
int enter();
struct msg
{
int num;
char name[20];
float score1;
float score2;
float score3;
double ave;
}

main()
{
struct msg student[10];
int i,n=0,k,m;

printf("請輸入學員信息.\n");
n=enter(student);

printf("\n排序前學員信息如下:\n");
printf("\t學號 \t姓名 \t平均成績\n");
for(i=0;i<n;i++)
printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);

printf("\n");

printf("\n排序後學員信息如下:\n");
display(student,n);

printf("\n\n是否要插入新學員?<y or n>");
k=keep();
if(k==0) exit(k); //如果輸入的不是y退出程序
else
{
in(student,n);
}

printf("\n\n是否要刪除某個學員?<y or n>");
k=keep();
if(k==0) exit(k);
else
{
m=n+1; //之前插入了一個學生,所以數組增加1
cut(student,m);
}

}

int keep() //是否繼續條件判斷函數
{
char ans;
fflush(stdin);
ans=getchar();
if (ans=='y')
return 1;
else
return 0;
}

int enter(struct msg student[10]) //錄入結構數據函數
{
int i,k,n=0;
for(i=0;;i++)
{
student[i].num=i+1;
printf("\n學號:%d\n",student[i].num);

printf("姓名: ");
fflush(stdin);
gets(student[i].name);

if(i==0) printf("\n三門成績:\n");
printf("成績1:");
scanf("%f",&student[i].score1);

printf("成績2:");
scanf("%f",&student[i].score2);

printf("成績3:");
scanf("%f",&student[i].score3);

student[i].ave=(student[i].score1+student[i].score2+student[i].score3)/3.0;

n++;

printf("是否要繼續?<y or n>");
k=keep();
if(k==1)
continue;
else
{
break;
}

}
return n;
}

void display(struct msg student[],int n) //排序函數,多次調用
{
int i,j,temp1;
char temp2[20];
double temp;

printf("\t學號 \t姓名 \t平均成績\n");

for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(student[j].ave<student[j+1].ave)
{
temp=student[j].ave;
student[j].ave=student[j+1].ave;
student[j+1].ave=temp;

temp1=student[j].num;
student[j].num=student[j+1].num;
student[j+1].num=temp1;

strcpy(temp2,student[j].name);
strcpy(student[j].name,student[j+1].name);
strcpy(student[j+1].name,temp2);
}
}
}
for(i=0;i<n;i++)
printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);
}

void in(struct msg student[],int n) //插入函數
{

int k;

k=n+1;
printf("\n請輸入要插入學員的信息\n");

student[n].num=k;
printf("\n學號:%d\n",student[n].num);

printf("姓名:");
fflush(stdin);
gets(student[n].name);

printf("\n三門成績:");
printf("\n成績1:");
scanf("%f",&student[n].score1);
printf("成績2:");
scanf("%f",&student[n].score2);
printf("成績3:");
scanf("%f",&student[n].score3);

student[n].ave=(student[n].score1+student[n].score2+student[n].score3)/3.0;

printf("\n插入新學員後學員的信息如下\n");
display(student,k);
}

void cut(struct msg student[],int n)//刪除函數
{
int i,k1,j,m;

printf("輸入要刪除的學員的學號:");
scanf("%d",&k1);

for(i=0;i<n;i++)
{
if(student[i].num==k1)
break;
}

for(j=i;j<n-1;j++)
{
student[j].num=student[j+1].num;
strcpy(student[j].name,student[j+1].name);
student[j].ave=student[j+1].ave;
}

m=n-1;
printf("\n刪除後學員的信息如下:\n");
display(student,m);
}

這個也是和你差不多的學生成績設計,對其進行排序,刪除,添加,研究一下你那個應該就差不多了

F. C語言程序設計報告的格式

課程設計(實踐周)報告書一般有如下內容:
1. 目錄
目錄是將報告書內的章節標題依次排列。
2. 需求分析
主要內容包括本課程設計(實踐周)題目、課程設計(實踐周)任務及要求、課程設計(實踐周)思想、軟硬體運行環境及開發工具。
3. 概要設計
主要敘述本課題設計的流程圖(各功能模塊)、主要的數據結構、完成本課程設計(實踐周)所用方法及其原理的簡要說明。
4. 詳細設計
主要是本課題所需要的硬體設計與軟體設計,包含建立設計所需的數學模型並列出必要的計算公式、計算過程及說明,主要演算法的設計與實現,寫出設計計算結果;繪出計算機程序框圖,寫出自編的程序。
5. 調試與操作說明
系統調試分析與操作使用說明。
6. 課程設計(實踐周)總結與體會
主要對本課題開發過程進行歸納和總結,本課題在設計過程中所遇到的技術難點及解決方法。還應包括本課題尚存在的問題,以及進一步開發的見解與建議。並寫出通過本次課程設計(實踐周)的收獲和體會。
7. 致謝
以簡短的文字對在設計研究和設計報告撰寫過程中曾直接給予幫助的人員表示自己的謝意
8. 參考文獻
為了反映論文的科學依據和作者尊重他人研究成果的嚴肅態度以及向讀者提供有關信息的出處,應列出本課程設計(實踐周)所涉及的主要參考文獻。
9. 附錄
有些材料編入文章主體會有損於編排的條理性和邏輯性,或有礙於文章結構的緊湊和突出主題思想等,可將這些材料作為附錄編排於全文的末尾。

熱點內容
b級車買哪個配置 發布:2025-02-04 05:56:41 瀏覽:560
我的世界如何看lp伺服器 發布:2025-02-04 05:56:33 瀏覽:482
外賣盒子如何設置密碼 發布:2025-02-04 05:49:33 瀏覽:504
國產安卓編程軟體哪個最好 發布:2025-02-04 05:49:25 瀏覽:387
什麼是身份證密碼 發布:2025-02-04 05:43:41 瀏覽:785
雲伺服器江蘇 發布:2025-02-04 05:38:46 瀏覽:237
演算法及vb 發布:2025-02-04 05:33:37 瀏覽:102
安卓手機怎麼自檢電池 發布:2025-02-04 05:31:31 瀏覽:410
兩種存儲 發布:2025-02-04 05:26:43 瀏覽:203
手機php源碼 發布:2025-02-04 05:08:22 瀏覽:548