A01_C语言程序设计课程说明

2024-07-11

A01_C语言程序设计课程说明(精选11篇)

1.A01_C语言程序设计课程说明 篇一

中 北 大 学

课程设计说明书

学 院、系: 专

业: 学 生 姓 名:

设 计 题 目: 班

软件学院 软件工程 学 号:

C语言关键字中英翻译机

起 迄 日 期: 2013年10月11日~2013年11月16日 指 导 教 师:

日期: 2013年11月16日

何志英

设计目的

在尽可能大的词库下通过简易的程序快速的运行出来结果。任务概述

要求输入中文的名词和关键字,可以将其翻译成英语,如输入“基本整型”+回车,得到int;输入英文的单词int,则可以翻译成中文“基本整型”。若输入的不是关键字则要求继续输入,可以多次查询。输入bye时退出程序。模块划分

a)主函数main()

b)函数Yinghan()c)函数Hanying()主要函数说明及其N-S图

a)主函数main()

图4.1

函数实现功能:该函数功能是判断用户是进入英汉函数查找中文关键字还是进入汉英函数查找英文关键字以及通过strcmp语句实现返回主菜单和退出程序的功能。

参数意义:定义字符数组k[m]用来存放用户输入的内容e(进入英汉函数)或c(进入汉英函数)或u(返回上一级)或bye(退出程序)。而x[n][m]和y[n][m]这两个二维数组是用来做词库用的。

b)函数Yinghan()

图4.2 函数实现功能:输入中文关键字就可以通过在词库中查找相应的英文释意,如果词库中无用户输入的中文关键词的释意的话则输出“查找不到该单词”,如果用户输入“u”的话,则会返回主菜单。参数意义:x[n][m]和y[n][m]这两个二维数组是从主函数main调用的。而k[m]则是存放用户输入的中文关键字。

c)函数Hanying()

图4.3 函数实现功能:输入英文关键字就可以通过在词库中查找相应的中文释意,如果词库中无用户输入的英文关键词的释意的话则输出“查找不到该单词”,如果用户输入“u”的话,则会返回主菜单。参数意义:x[n][m]和y[n][m]这两个二维数组是从主函数main调用的。而k[m]则是存放用户输入的 英文关键字。程序运行数据及其结果

1)进入程序后显示主菜单界面

2)输入“e+回车”进入英汉词典,用来查找中文释意。

3)输入“c+回车”进入汉英词典,用来查找英文释意。

4)翻译

5)按“u+回车”返回主菜单

6)找不到关键字:输入词库中没有的关键字

7)按“bye+回车”退出程序,要在主菜单中退出。

课程设计心得

A.发现问题和解决方法:

a)在程序调试的过程中,一开始没有用二维数组存放词库,而是用一维数组,结果发现一维数组并不能很好的运行“在词库中找不到单词”这个语句,后来改用二维数组,不仅可以存放更多的单词以及解决了“找不到单词”这个语句。b)第二个困扰我的问题就是“按u返回主菜单这个语句”,一开始这个功能是我在网上搜集资料时看到的,但要把这个功能加入我的函数就要进行改进了,因为我使用的是调用函数,所以我利用两个while语句,外围的while语句实现了返回主函数的功能,而回到主函数就回到了主界面。

c)调试过程中还会出现一些零零总总的语法错误,这些语法错误是容易纠正的,就像有时会漏掉“;”“}”这些符号。

B.心得:

课程设计是锻炼我们实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,在当今这个信息时代,拥有计算机开发实践能力十分重要。通过这次的课程设计,我对C语言这门课程又有了更深的了解。自从拿到题目到完成整个编程,从理论到实践,我觉得我学到很多很多的的东西,同时不仅巩固了以前所学过的知识,并且学习到了一些在书本上所没有的知识。我觉得这是一场理论和实践的相结合的实战,光有理论知识而没有实践动手能力是无法完成任务的,我们要从理论中得出结论,在实践中应用。从而提高自身的综合能力。在设计的过程中,我们能及时发现自己的不足,进而查缺补漏,温故知新。

附录:

#include #include #include #define n 10 #define m 100 void yinghan(char x[n][m],char y[n][m])//该函数的作用是:英汉词典 { char k[m],k1[m]={“u”};//字符数组k[m]的作用是:保存输入的单词

int i;printf(“如果要返回主菜单,输入u n”);while(1){

while(1)

{

printf(“请输入英语单词: ”);

gets(k);

if(strcmp(k,k1)==0)break;//如果输入的单词为u则退出该循环

for(i=0;i

if(strcmp(k,x[i])==0)break;//如果数组x[n][m]中的一个单词与输入的单词相同时则退出循环

if(i>=n)printf(“抱歉,查找不到该单词n”);

else printf(“%s的意思为:%s n”,k,y[i]);

}

if(strcmp(k,k1)==0)break;//入输入的单词为u则退出该循环返回主菜单

} }

void hanying(char x[n][m],char y[n][m])//该函数的作用是:汉英词典 { char k[m],k1[m]={“u”};int i;printf(“如果要返回主菜单,输入u n”);while(1){

while(1)

{

printf(“请输入汉语: ”);

gets(k);

if(strcmp(k,k1)==0)break;//如果输入的单词为u则退出该循环

for(i=0;i

if(strcmp(k,y[i])==0)break;//如果数组y[n][m]中的一个汉语词与输入的单词相同时则退出循环

if(i>=n)printf(“抱歉,查找不到该单词n”);

else printf(“%s的意思为:%s n”,k,x[i]);

}

if(strcmp(k,k1)==0)break;//入输入的单词为u则退出该循环返回主菜单

} } void main(){

char k[m];char x[n][m]={“auto”,“break”,“do”,“else”,“float”,“double”,“if”,“switch”,“register”,“int”};char y[n][m]={“自动”,“中断”,“循环体”,“否则”,“单精度”,“双精度”,“如果”,“开关”,“寄存器”,“整形”};while(1){

printf(“t|*********************电子词典模拟软件*********************|n”);printf(“t 1.先选择词典:输入字母e/c选择英汉还是汉英词典n”);printf(“t 2.输入要查询的词,回车结束输入n”);printf(“t 3.输入字母u返回主菜单,重新选择词典n”);printf(“t 4.退出:主菜单下输入字母 bye 退出此此电子词典程序n”);printf(“t|******************** All rights reserved******************|n”);

printf(“输入字母e/c选择英汉还是汉英词典 n”);

gets(k);

if(strcmp(k,“e”)==0)yinghan(x,y);//如果输入的字符数组等于e则执行英汉词典

else if(strcmp(k,“c”)==0)hanying(x,y);//如果输入的字符数组等于c则执行汉英词典

else if(strcmp(k,“u”)==0);//如果输入的字符数组等于u则返回主菜单

else if(strcmp(k,“bye”)==0)break;//如果输入的字符数组等于bye则退出程序

} }

2.A01_C语言程序设计课程说明 篇二

认知心理学认为, 当人们在接触一个完全不熟悉的知识领域时, 从已知的、较一般的整体中分化细节, 要比从已知的细节中概括整体容易一些。C语言程序设计课程旨在使学生掌握C语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法, 使学生认识到算法、良好的程序设计风格以及实践在本课程学习中的重要性, 培养学生熟练使用C语言编程分析和解决实际问题的能力。该课程为学生进一步学习其它专业课程和今后从事软件开发工作打下坚实的基础。但C语言涉及的概念多, 语法规则广, 使用灵活, 初学者很难理清头绪, 为此在教学中笔者采用思维导图法帮助学生在头脑中首先建立本课程的知识构架, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。

1 C语言程序设计的教学方法

1.1 帮助学生建立认知结构

从C语言程序基本结构形式入手, 根据课程教学内容的组织安排, 勾勒出整个课程的知识体系结构, 如图1所示。

以后在每一章讲解时, 先给出这张总体构架图, 再给出本章的知识导图, 如“函数”一章的知识导图如图2 所示。这样, 学生“既见了森林, 也见了树木”, 能清晰了解所学知识的地位与作用。

1.2 目标引导学生学习

有意义的学习条件之一是学习者必须具有有意义学习的心向, 即学习者积极主动地把符号所代表的新知识与他的认知结构中原有的适当观念加以联系。建构主义学习理论认为学习心向是学生当前所处的情境引起的, 而不是学生自发完成的。教师是教学过程的组织者, 是学生建构知识的帮助者和引导者, 因此教师要通过创设符合教学内容要求的情景和提示新旧知识之间联系的线索, 帮助学生建构当前所学知识的意义。

如对数组概念的讲解与使用时, 先给出应用实例:求班上30个同学 C语言课程的平均分, 最高分和最低分。再提出问题:30个数据如何输入与存放?心理学认为, “疑”最易引起定向探究反射, 有了这种反射, 思维也就应运而生了。引导学生考察数据的特性, 说明这30个数据所具有的共性, 引入数组概念, 说明数组是描述一组具有相同数据属性的组合, 组合中的每个数据 (或者数组元素) 用数组名及带下标的标识符来区分, 如A[I]。用建立的数组概念来实现数据的成批输入、成批累加、判断处理。

学生有的放矢, 能集中注意力, 开动脑筋积极思考, 提高了学生的学习兴趣和积极性。

1.3 以算法分析为重点

认知心理学认为具有高度概括性、包容性和强有力解释效应的基本原理、概念和方法有利于新的学习, 有利于创造性地解决新问题。算法是程序的核心与灵魂, 语法是外壳和工具。培养学生程序设计能力必须注重算法分析、算法设计。算法的分析能帮助学生开拓思路, 总结逻辑规律。

2 C语言程序设计的教学模式

为了提高学生的编程能力, 在教学中采用工程设计与课堂教学并行的教学模式。

工程设计内容:简单的学生成绩管理系统。

该题目涉及: (1) 文件的操作, 为方便系统管理, 必须掌握文件的建立、打开、读、写等操作; (2) 系统的组织包含数据的输入、数据修改、数据查询、数据统计、数据输出等功能, 必须掌握函数的调用; (3) 数据内容的组织涉及数组、结构体、链表, 必须掌握数组、结构体、链表的数据对象操作; (4) 功能的实现必须设计算法控制流程, 掌握不同的流程图表示方法; (5) 功能算法思想的实现必须根据算法描述进行符号化语句表示; (6) 调试源代码。

学生编程能力的形成分为4个阶段:数组前的知识归纳为编程能力的第一阶段, 学生应掌握基本的结构语句;函数、指针知识归纳为编程能力的第二阶段, 其内容是编程能力培养的重点、难点, 目的是使学生掌握编程的模块化思想及通过指针实现多种结构类型的引用、内存的动态分配等;结构体、文件归纳为编程能力的第三阶段, 目的是使学生掌握复杂结构类型数据的组织与处理, 数据与文件的关系及文件数据的处理;第四阶段是综合编程能力的提高、算法的实现、系统调试能力的培养。

根据教学的进展将工程项目涉及到的知识分成若干个子任务, 在不同的阶段安排不同的子任务, 这样工程项目任务就贯穿于整个教学过程中。随着教学进程的不断推进, 学生逐步完成了整个项目的设计, 循序渐进地提高了编程能力。通过这个过程, 学生不仅系统地掌握了知识, 并且能系统地、综合地运用知识, 大大提高了学生工程设计的能力。

3 结语

“教无定法”是教学的特色之一, 对C语言程序设计课程的教学方法和教学模式进行有益探索, 可以大大提高教师教学水平, 提高教学质量, 改善教学效果。

摘要:将认知结构论用于C语言程序设计课程教学中, 帮助学生建立层次分明的全课程认知结构, 以目标激发学生学习心向, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。

关键词:C语言程序设计,教学方法,教学模式,探讨

参考文献

[1]谭浩强.C语言程序设计[M].2版.北京:清华大学出版社, 2006.

[2]祁小梅.奥苏贝尔认知结构与迁移理论及教学[J].黑龙江高教研究, 2004 (4) :99-100.

[3]邱建林, 刘维富.C语言程序设计教学的研究与实践[J].电气电子教学学报, 2003, 25 (4) :96-98.

3.A01_C语言程序设计课程说明 篇三

1.当一个工程含有多个窗体时,其中的启动窗体是()。

窗体

最后一个添加的窗体 第一个添加的窗体

启动Visual Basic时建立的窗体

本题分值: 5.0 用户得分: 5.0 用户解答: 在“工程属性”对话框中指定的窗体 知识点:

2.在窗体上面画一个名称为Text1的文本框,然后编写如下的事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer)

......End Sub

若焦点位于文本框中,则能够触发KeyPress事件的操作是()。

按下键盘上的某个键 双击文本框 鼠标滑过文本框 单击鼠标

本题分值: 5.0 用户得分: 5.0

在“工程属性”对话框中指定的用户解答: 按下键盘上的某个键 知识点:

3.为了装入一个VB应用程序,应当()。

只装入窗体文件(.frm)只装入工程文件(.vbp)分别装入工程文件、窗体文件和标准模块文件 分别装入工程文件和标准模块文件(.bas)

本题分值: 5.0 用户得分: 5.0 用户解答: 只装入工程文件(.vbp)知识点:

4.为了在按下Esc键时执行某个命令按钮的事件过程,需要把该按钮的哪个属性设为True()。

Default Value Cancel Enabled

本题分值: 5.0 用户得分: 5.0 用户解答: Cancel 知识点:

5.用菜单编辑器创建菜单时,如果要在菜单中添加一条分隔线,正确的操作是()。

在标题输入框中输入“-”(减号)在名称输入框中输入“-”(减号)在名称输入框中输入“_”(下划线)在标题输入框中输入“_”(下划线)

本题分值: 5.0 用户得分: 5.0 用户解答: 在标题输入框中输入“-”(减号)知识点:

6.在显示菜单时,菜单的哪个属性为True时将用灰色显示该菜单项标题()。

Visible Checked Caption Enabled

本题分值: 5.0 用户得分: 5.0 用户解答: Enabled 知识点:

7.为了使标签框控件覆盖背景,应把BackStyle属性设置为()。

False True 1 0

本题分值: 5.0 用户得分: 5.0 用户解答: 1 知识点:

8.使文本框获得焦点的方法是()。

SetFocus GotFocus LostFocus Change

本题分值: 5.0 用户得分: 5.0 用户解答: SetFocus 知识点:

9.在窗体上画两个文本框(Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:

Private Sub Command1_Click()

a = Text1.Text+Text2.Text Print a

End Sub

Private Sub Form_Load()Text1.Text = “" Text2.Text = ”“

End Sub

程序运行后,在Text1和Text2中分别输入123和321,然后单击命令按钮,则输出结果为()。

444 321123 123321 132231

本题分值: 5.0 用户得分: 5.0 用户解答: 123321 知识点:

10.当拖动滚动条中的滚动块时,将触发滚动条的事件是()。

Scroll SetFocus Change Move

本题分值: 5.0 用户得分: 5.0 用户解答: Scroll 知识点:

11.下面不是VB的数据类型的是()。

Currency Object Bool Single

本题分值: 5.0 用户得分: 5.0 用户解答: Bool 知识点:

12.下面的数2.65358979335278E-06写成普通的十进制数是()。

0.***335278 0.***5278 0.***35278 0.***278

本题分值: 5.0 用户得分: 5.0 用户解答: 0.***35278 知识点:

13.下面的数1.2***69E+19写成普通的十进制数是()。

12***6900000 12***690000 12***6900 12***69000

本题分值: 5.0 用户得分: 5.0 用户解答: 12***6900000 知识点:

14.下列可作为VB的变量名的是()。

Abs AB∏

3*Delta PrintChar

本题分值: 5.0 用户得分: 5.0 用户解答: PrintChar 知识点:

15.设a = 2,b = 3,c = 4,d = 5,下列表达式Not a <= c Or 4 * c = b ^ 2 And b <> a + c的值是()。

True 1 False-1

本题分值: 5.0 用户得分: 5.0 用户解答: False 知识点:

16.语句Print 5 * 5 5 / 5的输出结果是()。25 5 0

本题分值: 5.0 用户得分: 5.0 用户解答: 25 知识点:

17.表达式4 + 5 6 * 7 / 8 Mod 9的值是()。7 6 4

本题分值: 5.0 用户得分: 5.0 用户解答: 5 知识点:

18.以下语句Print 3 + 4 5 * 6 / 7 Mod 8的输出结果是()。4 3 5

本题分值: 5.0 用户得分: 5.0 用户解答: 4 知识点:

19.语句Print Sgn(-6 ^ 2)+ Int(-6 ^ 2)+ Int(6 ^ 2)的输出结果是()。

-1 1-72-36

本题分值: 5.0 用户得分: 5.0 用户解答:-1 知识点:

20.以下语句的输出结果是()。

a = Sqr(3)

Print Format(a, ”$$####.###")

$1732 $$0001.732 $1.732 $$1.732

4.C语言课程设计代码 篇四

void main(){ int n=0;struct course *head=NULL;void insert(struct course **head,struct course *cou);void Print(struct course **head,int *n);void Modify(struct course **head,int *n);void Require(struct course **head);void Creat(struct course **head,int *n);void Delete(struct course **head,int *n);void Fun(struct course **head,int *n);

Fun(&head,&n);}

void insert(struct course **head,struct course *cou){ struct course *p0,*p1,*p2;p2=p1=*head;p0=cou;if(*head){

while((p0->semester>p1->semester)&&(p1->next))

{

p2=p1;

p1=p1->next;

}

if(p0->semester

semester)

{

if(*head==p1)*head=p0;

else p2->next=p0;

p0->next=p1;}

else

{

if(p0->semester==p1->semester){ while((p0->cID>p1->cID)&&(p1->next)&&(p0->semester==p1->semester))

{

} if(p0->semester!=p1->semester){

} else {

if(p0->cID<=p1->cID){

if(*head==p1)*head=p0;else p2->next=p0;p2=p1;p1=p1->next;p2->next=p0;p0->next=p1;

p0->next=p1;

}

else

{p1->next=p0;p0->next=NULL;}

}

}

else

{p1->next=p0;p0->next=NULL;}

} } else

{

*head=p0;

p0->next=NULL;} }

void Print(struct course **head,int *n){ struct course *p;p=*head;if(*head){

if(*n==1)printf(“nThis %d record is:n”,*n);

else printf(“nThese %d records are:n”,*n);

printf(“semester cID

name

creditn”);

do

{ printf(“%-10d%-10d%-18s%-12.1f n”,p->semester,p->cID,p->name,p->credit);

p=p->next;

}while(p!=NULL);} else printf(“nList null!n”);}

void Modify(struct course **head,int *n){ struct course *p,*p2;int cID;if(*head){

Print(head,n);while(1){ printf(“nPlease input the cID which you want to modify:”);

scanf(“%d”,&cID);p2=p=*head;while(p->next&&(cID!=p->cID)){

p2=p;

p=p->next;} if(cID==p->cID){

printf(“Please input the new cID(1~60):”);

scanf(“%d”,&p->cID);

while(p->cID<0||p->cID>60)

{

printf(“nError!”);

printf(“nPlease input the new cID(1~60):”);

scanf(“%d”,&p->cID);

}

printf(“Please input the new semester(1~8):”);

scanf(“%d”,&p->semester);while(p->semester<0||p->semester>8)

{

printf(“nError!”);

printf(“nPlease input the new semester(1~8):”);

scanf(“%d”,&p->semester);

}

printf(“Please input the new credit:”);

scanf(“%f”,&p->credit);

printf(“Please input the new name:”);

scanf(“%s”,p->name);

if(p==*head)*head=p->next;

else p2->next=p->next;

insert(head,p);

break;

}

else printf(“%d not been found!n”,cID);

} } else {printf(“nList null!n”);} }

void Require(struct course **head){ struct course *p;float sum=0;int sem,i=0;printf(“nPlease input the semester which is required:”);

scanf(“%d”,&sem);p=*head;while(p){

if(sem==p->semester)

{

i++;if(i==1)printf(“nsemester cID

name

creditn”);printf(“%-10d%-10d%-18s%-12.1f n”,p->semester,p->cID,p->name,p->credit);

sum=sum+p->credit;

}

p=p->next;} printf(“The sum of credit in this term is:%.1fn”,sum);}

void Creat(struct course **head,int *n){ struct course *p1;while(1){

p1=(struct course *)malloc(LEN);

printf(“Please input the cID(1~60):”);

scanf(“%d”,&p1->cID);

while(p1->cID<0||p1->cID>60)

{

printf(“nError!”);

printf(“nPlease input the cID(1~60):”);

scanf(“%d”,&p1->cID);

}

if(p1->cID==0)break;

printf(“Please input the semester(1~8):”);

scanf(“%d”,&p1->semester);

while(p1->semester<0||p1->semester>8)

{

printf(“nError!”);

printf(“nPlease input the semester(1~8):”);scanf(“%d”,&p1->semester);

}

} } printf(“Please input the credit:”);scanf(“%f”,&p1->credit);printf(“Please input the name:”);scanf(“%s”,p1->name);insert(head,p1);*n=*n+1;printf(“nYou can continue until the cID is ”0“!n”);Print(head,n);void Delete(struct course **head,int *n){

struct course *p1,*p2;int cID;Print(head,n);if(*head){ printf(“Please input the cID of the course which you want to delete:”);scanf(“%d”,&cID);p1=*head;

while(cID!=p1->cID&&p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(cID==p1->cID)

{

if(p1==*head)*head=p1->next;

else p2->next=p1->next;

printf(“Have delete cID:%dn”,cID);

*n=*n-1;

}

else printf(“%d not been found!n”,cID);} }

void Fun(struct course **head,int *n){ char num;

while(1)

{

system(“cls”);

puts(“**************** Main Menu ******************”);

puts(“* 1.Add Records

2.Print Records

*”);

puts(“* 3.Delete Records

4.Modify Records *”);

puts(“* 5.Require Records 6.Exit

*”);

printf(“Please input your choice: ”);

scanf(“%d”,&num);

switch(num)

{

case 1:Creat(head,n);break;

case 2:Print(head,n);break;

case 3:Delete(head,n);break;

case 4:Modify(head,n);break;

case 5:Require(head);break;case 6:exit(0);break;

default: break;

}

printf(“nPress ”Enter“ to continue!”);getchar();getchar();

5.c语言课程设计总结 篇五

同时,本次课程设计也锻炼了学生利用图书馆和互联网查阅资料的潜力;培养了学生不怕困难、勇于克服困难的精神和耐心细致、严谨的工作作风;提高了他们撰写文档资料的潜力。

一、本次课程设计,我们主要按照以下步骤完成:

1、课程设计动员,布置设计任务,提出要求,给出参考思路,并给出大部分程序代码;

2、学生查阅资料,分析、讨论设计方案;

3、画出系统总体功能框图及各模块的流程图;

4、编写各模块程序;

5、进行模块调试;

6、完成模块联调,进行测试;

7、成果验收,完成设计报告。

二、课程设计过程综述:

1、大部分同学,态度十分认真,对课程设计的各个环节,都很感兴趣,用心性很高,创新性地进行编程和调试,任务完成相当出色,值得学习和表扬。例如:张燕龙、唐晓彤、徐怀刚、王泽连、武蒙蒙等同学。

2、有少部分同学对课程设计的目的和好处认识不足,设计不够认真。主要表此刻设计不能独立思考,编程、调试不能主动用心思考、解决问题等,个别学生甚至在课程设计没有进行任何实质性的工作。

3、也有一部分同学,对所学理论知识掌握不够扎实,不能灵活运用,自己基本上不进行设计,仅仅依靠于同组者。

4、大部分同学的程序调试潜力需要进一步锻炼和提高,这也给我们以后讲授本课程、进行课程设计提出了更高的要求。

三、体会和设想

1、对《C语言》课程的学习,课程设计是十分重要的环节,它对巩固所学理论知识,灵活运用所学知识解决实际问题、锻炼和提高学生的操作和调试技能、学生将来能否尽快适应工作都具有十分重要的实际好处。所以,从校园到老师到每一位学生都应认真对待和珍惜这个机会,严肃认真做好每一步工作,使课程设计圆满完成。

2、透过课程设计,也反映出对C语言中的一些难点资料,如指针、结构体等,大部分学生掌握得不够好,在平时授课中需进一步深入讲解、多加练习,以使学生在本课程学完后对其能有一个全面、熟练的掌握。

3、要使课程设计到达锻炼提高学生技能的目的,还应注意以下几点:

(1)提前布置课程设计任务,可在学期开始就布置下去,使学生在整个学期的C语言学习中都有一个明确的目标和足够的压力,并将课程设计中的资料和出现的有关问题渗透于教学过程中。

(2)务必从思想上使学生对课程设计有足够的重视,并在设计过程中严肃认真检查、督促;

(3)注意课程设计的指导方法,加强预设计过程的检查和指导,不能只给他们“鱼”,而应授之以“渔”;

6.A01_C语言程序设计课程说明 篇六

注意:这两个文件解压到同一个目录下,即:将Components目录合并到一起

二、双击“setup.exe”,弹出以下安装向导。去掉“I wish to receive security updates via My Oracle Support”复选框,点击“Next”

三、在如下对话框中,点解“Yes”

四、选择“Create and configure a database”,点击“Next”

五、选择“Desktop Class”,点击“Next”

六、在配置页面上,输入管理员密码,比如“password”,点击“Next”

七、验证先决条件

八、出现概要界面,点击“Finish”

九、安装Oracle,等待完成。

十、安装完成,创建数据库实例,等待完成。

十一、安装完成,点击“Password Management”

十二、找到HR和SCOTT用户,去掉“Lock Account”的勾,并赋予新的密码,点击“OK”

十三、点击“Yes”

十四、点击“OK”

十五、点击“Close”,完成安装

7.A01_C语言程序设计课程说明 篇七

1.变更申请号

填写变更申请单对应的编号。变更申请号的填写规范为:五位WBS码-两位或者四位的专业码-三位流水号,WBS码是指该变更对应的工点的WBS码,两位或者四位的专业码是指该变更对应的专业的专业码。例如,珠江新城站建筑结构变更申请单对应的变更申请号为:03204-JG-001。

2.变更类型

填写对应的设计变更Ⅰ、Ⅱ、Ⅲ、Ⅳ类。

3.提议单位

提议该变更的单位。提议单位可能是设计单位、施工单位、施工监理、业主等。

4.提议人

提议该变更的人员,该人员来自于提议单位。

5.填报单位

填写设计变更申请的设计单位,例如铁道第四勘察设计院填写了一份设计变更申请,那么该栏就填入“铁道第四勘察设计院”。

6.经办人

填入该变更申请的经办人员,该人员来自于填报单位。

7.项目名称

填写 概算代码 + 项目的中文描述,例如天河客运站地下连续墙对应的变更申请单中填写的项目名称应为:31011400天河站地下连续墙。

8.签发人

经办人所在单位签发人员。

9.业主经办部门

各相关业主经办部门。

10.变更图号或内容

填写变更申请单提出以后,需要修改的图纸的图号,如果变更发生以后,需要修改的图纸有多张,那么在图号之间用半角分号分隔。例如,某一个变更申请单提出以后,需要更改图纸的图号有:03215-S-GDXT-07-033、03215-S-JG-02-035、03215-S-GDXT-07-038,那么,变更图号栏内应填写:03215-S-GDXT-07-033;03215-S-JG-02-035;03215-S-GDXT-07-038,如果需要变更的图纸图号是连续的多个图号,可以用“~”分隔流水号,例如。03215-S-GDXT-07-033~056,代表需要变更的图纸图号从03215-S-GDXT-07-033到03215-S-GDXT-07-056。

11.变更理由

填写发生变更的实际原因。

112.变更后工程数量变化栏中的主要工程项目、单位、原设计数量、变更后数量

分别填写变更引起变化的主要工程项目名称、对应的数量单位、原来的数量、变更以后的数量,如果引起变化的工程项目有许多项,则可以将工程项目的前三项填入变更申请单中,同时在变更申请单后附加一个附件文件,以存储要发生变化的所有工程项目的名称、单位、原设计数量、变更后数量。

13.变更后施工图预算增、减(由设计单位填写)

填写发生变更后,引起的工程项目施工图预算变化的数值,如果预算额增加则将增加的数量填入增加投资栏中,如果预算额减少则将减少的数量填入减少投资栏中。

注意:此处填入的数目为实际的数值,不能包含单位,例如某一个变更的预算增加额为154000元,则在增加投资栏中应填入“154000”,不能填入“154000元”或者“15.4万元”。

14.变更原因

可选值,从设计新增、设计错误或遗漏、设计边界条件和基础资料的改变、业主要求四个选项中选择一个。

15.是否改变设计方案

根据变更是否改变设计方案而选择“是”或“否”。

16.是否紧急处理

根据变更的紧急程度选择“正常”或“紧急”。

17.变更项目属性

根据变更的项目属性选择土建、装修、设备安装、设备采购中的一项。

18.专业名称

填入变更对应的专业名称,从可选值中选择输入。

19.需要日期

填入所需要的变更处理完成日期。

20.附件名称

变更申请单的附件是指和变更申请单一起提交至设计院的其它说明变更申请单的辅助材料,例如变更方案说明、变更优化报告、变更可行性说明、变更工程项目列表等。

附件名称栏中填入变更申请单的附件电子文件的名称(包括电子文件的完整路径),如果某一个变更申请单有多个附件文件,则在附件名称之间用半角分号分开。

21.备注

填入需要对变更申请单进行说明的其他信息。

注:

8.C语言课程设计上机实习内容. 篇八

一、程序设计题目: 简单的学生成绩管理程序设计

二、程序设计功能及要求:

1、原始数据输入和结果输出要求使用文件存放;

2、计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。

3、统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。

4、按格式在屏幕上打印每名学生成绩条;

5、在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩;

6、(选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:

1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;

2)名次在前三名

3)每门功课及格以上;

(若完成选做题,课程设计成绩将给予加分)

三、文件格式

1、原始数据文件格式(具体数据自行编写)

学号 姓名

英语

C语言 高等数学

张三

李四 ….….….2、输出数据文件(由程序自动生成)1)学生综合成绩文件。(由程序自动生成)

学号 姓名 英语 C语言 高等数学平均成绩 名次

张三 76 89 78 80.5 5 李四 ….….….3 ….2)统计结果文件。

分数段

英语

C语言

高等数学

<60

60~69

70~79

80~89

>=90 …

平均成绩

75.5 …

四、实习报告要求

1、程序分析和设计

2、流程图

3、源程序清单

4、调试过程: 测试数据及结果,出现了哪些问题,如何修改的5、程序有待改进的地方。

9.A01_C语言程序设计课程说明 篇九

《C语言程序设计》课程项目教学提出了“熟练使用基本知识点,练习设计编写小程序”两个层次的技能目标。

“熟练使用基本知识点”是第一层次的技能目标,该目标要求能够用C语言基本知识点语句准确描述简单问题,做到知识单点的准确把握和使用。课程中有大量的基本知识点需要理解和熟练掌握,学习者要达到“语句和代码”目标级别。该目标训练方法可以有以下几种:

(1)阅读具有针对性的语句和短小程序,一般作为作业题呈现给学习者。

(2)改错题。针对具体知识点进行训练,提高学习者的认识和鉴别能力。可以是作业或上机实践。

(3)填空题。针对具体知识点进行训练,为初级设计能力奠定基础。可以是作业或上机实践。

(4)小问题编程设计。用3~5个语句完成单知识点程序设计练习,主要是上机实践。“练习设计编写小程序”,是第二层次的技能目标,该目标要求能够熟练使用C语言基本知识点语句,运用算法设计思想,解决常见的或小规模的问题,这种程序一般包括10~20个语句。这是多个知识点的综合应用和培养学习者计算机思维的基本训练。

程序设计题型很多,从大量的传统题目和现实中可以找到许多原型。但是为了配合项目教学,需要构造更加合理的、更多来源于现实的题目,甚至有些题目来源于项目基本构造模块。这一级教学目标达到“代码和程序”目标级别,要求所有学习者均应达标。构题方法可以有以下几种:

(1)直接来源于传统经典保留教学题。如,有一些经典数学问题,经典现实问题等。(2)改编传统题目。有些题目编写出的程序基本符合教学要求,但是题目难以反映飞速发展的现实社会,或缺少科学和实际背景等,这种情况可改编原有题目。有些题目来源较好,如来源于前端科研,或来源于专业问题,符合学生专业背景,但程序实现较长或较难,则需要改编题目为多个小题,缩小程序或变为几个相关的题目。

(3)创造新题。可结合所教学生专业,或某些现实情况创造新题,实践教学知识点。更重要的是,结合项目教学,教师和学习者在熟悉项目设计意图的前提下,围绕项目产生新的教学题目和实训题目。

两个层次在课程学习过程中,并不是不同时期的学习内容,应该并行进行。

初级篇

第一章

C语言学习基础之技能目标

第一层次

1、练习C源程序文件的创建(编辑输入、存储编译、简单运行调试)过程,掌握使用VC集成开发环境处理一个C语言程序的步骤:编辑、编译、连接和运行。

要求:

(1)阅读程序,在VC集成开发环境中输入、编译、连接并运行简单C语言程序。(2)阅读并运行简单C语言程序,输入并记住C语言的头文件包含CODE: #include “stdio.h” 或 #include (3)理解并输入简单C语言程序,编译、调试其中的错误部分。(4)在指定位置存储C语言源程序。

2、阅读并运行简单C语言程序,记住C语言主函数的构成。

3、阅读并运行简单C语言程序,记住使用printf语句输出信息的方法。

4、阅读并运行简单C语言程序,理解转义字符(n、t)在printf语句中的作用。

5、区分C语言中的命令和语句。

6、观察错误提示信息,并根据提示信息寻找程序错误。

要求:对一些简单的语法错误,如在头文件后加“;”或在语句后漏输入“;”或关键字拼写错误等的错误提示信息。

第二层次

7、准确描述求解问题的六步法。例:写出求长方体体积的六步法。

8、模拟例题编写程序,使用printf语句输出信息。

要求:可以输出一些图形、软件设计界面、某些特殊信息、提示信息、换行等。

第二章

C程序设计初步之技能目标

第一层次

1、练习简单变量的定义及其初始化。

2、练习简单字符指针变量的定义及其初始化。

3、练习字符一维数组和数值一维数组的定义。

要求:练习各种类型变量的定义及其初始化,记住变量定义语句在程序中的位置。

4、练习符号常量的定义。

5、确定问题领域的数据及其类型。

要求:根据给定的问题确定所需定义的数据及其类型。如:计算一个三角形面积时,需要定义哪些数据,类型如何确定?

6、分析复合赋值运算表达式的值。

7、求余运算的应用。例1:判断奇偶数据。

例2:拆分整数的各位数字。(需要使用除运算)

8、分析自加、自减运算符作为前缀运算符时表达式和变量的值。

9、分析自加、自减运算符作为后缀运算符时表达式和变量的值。10、11、12、13、14、15、16、量。

要求:

(1)熟悉无(带)符号十进制、无符号八进制和无符号十六进制输出结果形式。(2)各种附加格式说明符的使用。

17、量。

要求:

(1)熟悉e(E)、g和f格式输出的结果形式。(2)各种附加格式说明符的使用。18、19、20、21、要求:

(1)输入格式控制字符串的书写与表示。(2)程序运行时各种数据输入方式的练习。

22、使用多条printf语句输出不同类型的常(变)量。练习各种转义字符的输出,熟悉其输出或控制效果。使用printf语句输出C语言中的字符型常(变)量。使用printf语句输出C语言中的字符串。使用scanf语句实现各种类型数据的输入。使用格式化输出语句(printf语句)以不同格式输出C语言中的实型常(变)写出给定数学式子的算术表达式。分析逗号表达式的值。

分析简单指针变量和普通变量的关联。分析赋值运算中的类型转换。分析算术运算中的类型转换。

使用强制类型转换运算符实现数据类型的转换。

使用格式化输出语句(printf语句)以不同格式输出C语言中的整型常(变)例:使用printf语句,在屏幕上显示某个学生的学号、姓名、性别、年龄和某门课程的成绩。

23、使用一条printf语句输出不同类型的常(变)量。

例:使用printf语句,在屏幕上显示某个学生的学号、姓名、性别、年龄和某门课程的成绩。

24、使用printf语句和scanf语句实现人机交互。

例:使用printf语句和scanf语句,从键盘输入某个学生的学号、姓名、性别、年龄和某门课程的成绩,并在屏幕上输出。25、26、27、28、29、使用getchar函数实现单个字符的输入,并与printf函数比较。使用putchar函数实现单个字符的输出,并与printf函数比较。使用gets函数实现字符串的输入,并与printf函数比较。使用puts函数实现字符串的输出,并与printf函数比较。使用数学函数表示给定的数学式子。

要求分别练习以下函数:

(1)使用sqrt函数求一个实数的平方根。(2)使用fabs函数和abs函数求一个数的绝对值。(3)使用pow函数求一个数的n次幂。(4)使用三角函数sin求某个弧度的正弦值。(5)使用三角函数cos求某个弧度的余弦值。(6)使用三角函数tan求某个弧度的正切值。(7)使用三角函数atan求某个弧度的余切值。30、过程。阅读并运行有一个main函数和一个自定义无参函数的程序,分析程序的执行第二层次

31、简单算法练习。

例:编写应用两两交换算法处理问题的程序。要求:

(1)利用简单变量实现。

(2)利用指针变量实现。

32、编程实现对多个数据的处理。

要求:练习加、减、乘、除、求余的运算。

33、编程实现数据的分离和整合。

例1:从键盘输入一个三位数,分离出它的百位、十位和个位数字。例2:从键盘输入三个一位数,组成一个三位数。

34、编程实现字符转换。例1:从键盘输入一个小(大)写字母,转换成大(小)写字母后输出。例2:从键盘输入一个字母,变换为其后续的第n个字符并输出。

35、编程实现简单顺序结构程序设计。

例1:已知某几何体数据,求面积、体积等。

例2:已知若干某类型数据,求和、积,并按要求格式输出。例3:任意输入一个字符,输出此字符对应的ASCII码。

例4:设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。

例5:求5!(5的阶乘)。

36、编写有一个main函数和一个自定义无参函数的程序。

第三章

控制结构和数据文件之技能目标

第一层次

1、用C语言合法的表达式构造给定问题的条件。要求:

(1)用关系表达式表示条件。(2)用逻辑表达式表示条件。

2、分析给定表达式的值。要求:

(1)分析给定关系表达式的值。(2)分析给定逻辑表达式的值。

(3)分析逻辑运算中的“短路”现象及影响。(4)分析给定条件表达式的值。(5)分析给定复杂表达式的值。

3、构造switch语句的条件,并分析其取值结果。

4、阅读并运行由条件表达式构成的选择结构程序,分析选择结构程序的执行过程。

5、阅读并运行由if语句构成的单分支选择结构程序,分析选择结构程序的执行过程。

6、阅读由if语句构成的单分支选择结构程序,理解复合语句的作用。

7、阅读由if语句构成的单分支选择结构程序,理解空语句的作用。

8、阅读并运行由if—else语句构成的双分支选择结构程序,分析选择结构程序的执行过程。

9、阅读选择结构程序,理解数值型数据作为条件时,程序的执行过程。

10、执行过程。

11、阅读并运行switch语句构成的多分支选择结构程序,分析选择结构程序的执阅读并运行由if—else语句构成的多分支选择结构程序,分析选择结构程序的行过程。12、13、14、15、16、17、18、19、20、行过程。21、22、23、24、25、26、27、28、29、30、31、32、33、分析switch语句中break语句的作用。

阅读并运行嵌套的选择结构程序,分析选择结构程序的执行过程。阅读并运行由while语句构成的循环,分析循环结构程序的执行过程。阅读由while语句构成的循环,分析空语句的作用。

阅读并运行由do-while语句构成的循环,分析循环结构程序的执行过程。阅读并运行由for语句构成的循环,分析循环结构程序的执行过程。分析计数式循环的循环控制。分析标记式循环的循环控制。

阅读并运行由三种循环语句构成的嵌套结构循环程序,分析循环结构程序的执分析break语句在循环体中的作用。分析continue语句在循环体中的作用。循环次数的确定。练习文件指针的定义。使用fopen函数打开文件。

使用fscanf函数实现文件的读操作。使用fprintf函数实现文件的写操作。使用fclose函数关闭文件。使用feof函数判断文件是否结束。使用结束符判断文件是否结束。

阅读简单的文件操作程序,分析程序的功能。阅读并运行自定义无参函数,分析程序的执行过程。观察错误提示信息,并根据提示信息寻找程序错误。要求:是一些逻辑错误,如判断水仙花数时,将“= =”号输成“=”号等。

第二层次

34、应用if语句编写单分支选择结构程序。

例:现有3个学生,要求按年龄从小到大(升序)排列。

35、应用if—else语句编写双分支选择结构程序。

例1:判断一个数是否是水仙花数。例2:判断某年是否是闰年。

36、应用if—else语句编写多分支选择结构程序。

例:判断从键盘输入的字符属于哪一类字符。

37、应用switch语句编写多分支选择结构程序。

例:设计星期查询程序。编写程序,从键盘输入1~7的整数,代表数字星期,将其转换为英文星期。

38、编写嵌套的选择结构程序。

例:编写程序,求一元二次方程的根。39、40、编写程序计算某个分段函数。编写求极值程序。

例:求两个(或多个)数中的最大(小)数。

41、应用while语句编写循环结构程序。

例:求某班所有学生某门课程的平均值。

42、应用do—while语句编写循环结构程序。

例:某系统用户界面的设计。

43、应用for语句编写循环结构程序。

例:求所有的水仙花数。

44、应用三种循环语句编写嵌套的循环结构程序。

例:打印九九乘法表。45、46、47、48、49、在编写循环结构程序中应用break语句。在编写循环结构程序中应用continue语句。编写求多个数累加和算法程序。编写求累乘积算法程序。编写求累加和和累乘积算法程序。50、51、编写求均值算法程序。编写分类统计程序。

例:在成批信息处理中,我们经常会对某些信息进行分类统计。编写程序,统计从键盘输入的一串字符中,字母字符、数字字符、空格字符以及其它字符的个数。

52、利用递推算法编写程序解决问题。

例:求fibonacci数列的前30项。

53、利用枚举算法编写程序解决问题。

例1:找出所有的水仙花数。例2:找出所有的完全数。

54、利用辗转相除算法编写程序解决问题。

例:用辗转相除算法求两个数的最大公约数。

55、使用标记变量法编写程序解决问题。

例:判断某个数是否是素数。56、57、58、编写简单的自定义无参函数,实现简单的函数调用。编写文件操作程序,实现批量数据的读写。经典数学公式求解问题。

例:利用公式求∏的值。

中级篇

第四章

函数模块化编程之技能目标

第一层次

1、使用随机函数rand和种子函数srand产生随机数。

2、分析函数首部的合法性。要求:

(1)分析函数参数的个数和类型。(2)分析函数的返回值类型。

3、阅读并运行有返回值函数的程序,分析程序的执行过程。

4、分析常量或简单变量作实参时,函数间数据通过值传递的调用方式。

5、分析变量地址或指针作实参时,函数间的数据通过地址传递的调用方式。

6、阅读并运行包含一般函数调用的多函数程序,分析程序的执行过程。

7、阅读并运行包含函数嵌套调用的多函数程序,分析程序的执行过程。

8、阅读并运行包含函数递归调用的多函数程序,分析程序的执行过程。

9、比较用auto变量和static变量编写的程序。10、11、12、13、14、15、阅读并运行用extern关键字定义的全局变量程序,分析程序的执行过程。阅读并运行包含局部变量、全局变量的程序。阅读并运行包含同名的局部变量和全局变量的程序。阅读并运行简单宏定义及其调用程序。阅读并运行带参宏定义及其调用程序。阅读并运行多源程序文件程序,分析执行过程。

第二层次16、17、18、19、20、21、22、23、24、25、26、27、编写求极值算法的通用函数,利用通用函数实现求极值。编写求累加和算法的通用函数,利用通用函数实现求累加和。编写求累乘积算法的通用函数,利用通用函数实现求累乘积。编写求平均值算法的通用函数,利用通用函数实现求平均值。编写递推算法函数解决问题,利用通用函数实现此类问题的求解。编写枚举算法函数解决问题,利用通用函数实现此类问题的求解。编写辗转相除算法函数解决问题,利用通用函数实现此类问题的求解。编写有局部变量和全局变量的程序。编写有静态变量的程序。编写有多源程序文件的简单程序。编写带参宏定义程序。经典名题。

例1:编写程序,连续输出相邻的15对孪生素数,孪生素数是指相邻的两个数都是素数。

例2:汉诺塔。有三个针a,b,c,其中a针上有64个盘子,盘子大小不等。大的在下,小的在上,要求把这64个盘子从a针移到c针,在移动过程中可以借助b针,每次只允许移动一个盘,且在移动过程中在三根针上都保持大盘在下,小盘在上,要求编写程序打印出移动的步骤。

高级篇

第五、六章

数组与指针之技能目标

第一层次

1、练习一维数组的定义及初始化。

例:利用一维数组存储多个相关数据,如多个实验数据的输入及存储。

2、练习一维数组元素的引用。

3、分析一维数组在内存中所占的字节数。

4、练习一级指针定义和一维数组的关联。

5、练习一维数组元素地址的各种表示方法,分析元素的地址和数组的地址。

6、练习一维数组元素的各种表示方法。

7、练习自加和自减运算符实现指针在数组空间的移动操作。

8、结合指针,应用for循环实现一维数组元素的输入输出。

9、结合指针,应用fscanf函数和fprintf函数实现一维数组元素值的批量输入输出。10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、结合指针,应用一维数组实现求极值的操作。结合指针,应用一维数组实现求和的操作。结合指针,应用一维数组实现求平均值的操作。练习二维数组的定义及初始化。练习二维数组元素的引用。分析二维数组的元素个数。

二维数组定义时省略第一维的说明,确定第一维的大小。练习二级指针定义和二维数组的关联。练习行指针的定义及其与二维数组的关联。练习指针数组的定义及其与二维数组的关联。

分析指向不同维数组的指针,该指针自加和自减运算的值及其指向。练习二维数组元素地址的各种表示方法,分析元素的地址和数组的地址。练习二维数组元素的各种表示方法、引用方法。练习字符数组的定义及其初始化。

利用指针,应用双重for循环实现二维数组的输入输出。利用指针,应用二维数组求某(所有)行元素的最大(小)值。26、27、28、29、30、31、32、利用指针,应用二维数组求某(所有)列元素的最大(小)值。利用指针,应用二维数组求某(所有)行元素的和(平均)值。利用指针,应用二维数组求某(所有)列元素的和(平均)值。应用行指针引用二维数组元素做多种处理。应用指针数组引用二维数组元素做多种处理。对指定位置元素的操作(简单元素定位问题)。使用一维字符数组存储、输入、输出字符串。

例:一个人的姓名存储、输入及输出。33、34、35、36、程。37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、阅读并运行行指针变量作为形参指向二维数组的程序,分析程序的执行过程。练习指针函数的定义。

阅读并运行指针数组作指针型函数参数的程序,分析程序的执行过程。练习指向函数的指针的定义和赋值。

阅读并运行指向函数的指针作函数参数的程序,分析程序的执行过程。阅读并运行指针数组名作函数参数的程序,分析程序的执行过程。阅读并运行指向字符串的指针作函数参数的程序,分析程序的执行过程。使用fgetc函数实现文件的读字符操作。使用fputc函数实现文件的写字符操作。使用fgets函数实现文件的读字符串操作。使用fputs函数实现文件的写字符操作。使用rewind函数实现文件指针的定位操作。使用ftell函数获取文件指针的当前位置。使用fseek函数实现文件指针的定位操作。使用fread函数实现文件的读操作。使用fwrite函数实现文件的写操作。

练习动态存储分配函数,包括malloc和calloc函数。区分用一维字符数组存储字符串时,数组的大小和字符串的长度。应用标准输入输出函数实现字符串的输入和输出。

应用字符串处理函数操作字符数组,包括strcpy、strcmp、strlen、strcat等。阅读并运行指向一维数组的指针变量作函数参数的程序,分析程序的执行过54、55、阅读文件操作程序,分析程序的功能。

观察指针和数组操作中的错误提示信息,并根据提示信息寻找程序错误。

第二层次56、57、58、59、60、61、62、63、64、65、66、67、68、结合指针,应用一维数组和顺序查找算法实现数据的查找。结合指针,应用一维数组和折半查找算法实现数据的查找。结合指针,应用一维数组实现数据的有序插入。结合指针,应用一维数组实现数据在指定位置的插入。结合指针,应用一维数组实现指定位置或指定数据的删除。结合指针,应用一维数组实现数据的逆置。结合指针,应用一维数组实现分类数据的统计。

结合指针,应用一维数组和冒泡排序算法实现数据的排序。结合指针,应用一维数组和选择排序算法实现数据的排序。结合指针,应用二维数组实现矩阵的加操作。结合指针,应用二维数组实现矩阵的减操作。结合指针,应用二维数组实现矩阵的转置操作。

结合指针,应用二维数组对矩阵的某些元素进行某种操作。

例:将3*3矩阵右下半三角元素全部置0。69、70、利用指针移动和比较运算,编程实现字符串的逆置。利用一维数组名作为实参,编写自定义函数解决问题。

例1:通过函数求数组的最大值,主函数调用并输出结果。例2:通过函数将数组按升序排序,主函数调用并输出结果。71、72、73、利用一维数组元素作为实参,编写自定义函数解决问题。编写自定义头文件,并在程序中包含该头文件。

利用二维数组名作为实参,编写自定义函数解决实际问题。

例:通过函数求3行4列二维数组所有元素的累加和,在主函数调用并输出结果。74、利用字符数组名作为实参,编写自定义函数解决实际问题。

例:通过函数将字符串中的所有小写字母转换成对应的大写字母,在主函数调用并输出结果。75、76、利用指针数组作指针型函数参数,编写程序。编写指向函数的指针作函数参数的程序。77、78、79、80、81、82、83、编写指针数组名作函数参数的程序。编写指针指向字符串的程序。

应用字符数组和指针编写字符串比较函数。应用字符数组和指针编写字符串复制函数。应用字符数组和指针编写求字符串长度函数。应用字符数组和指针编写字符串连接函数。利用指针和数组,编写文件操作程序处理批量数据。

第七、八章

结构体、联合体及用户自定义类型之技能目标

第一层次1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、练习结构体类型的定义。练习结构体类型变量的定义。练习结构体数组的定义。

练习指向结构体变量的指针的定义。练习结构体类型的嵌套定义。练习结构体变量单个成员的引用。练习结构体变量的整体引用。练习结构体类型变量的初始化。练习结构体数组的初始化。练习结构体数组元素的引用。练习使用指针引用结构体成员。练习指向结构体数组的指针的定义。练习使用指针引用结构体数组元素成员。练习可以实现链表的结构体定义语句。写出链表中两个节点互换的实现语句。

要求:互换后链表保存连续。16、17、18、19、写出链表中两个节点间插入一个节点的实现语句。写出在链表末尾插入一个节点的实现语句。写出链表中删除一个节点的实现语句。

阅读并运行有关结构体和文件的程序,分析程序的执行过程。20、21、22、23、24、25、26、27、28、29、30、练习共用体类型的定义。练习共用体类型变量的定义。练习共用体变量的引用。练习枚举类型的定义。

练习使用typedef定义数据类型。分析结构体变量所占字节数。分析共用体变量所占字节数。

分析结构体变量作为实参时,对应的形参和实参间数据的传递。分析返回值为结构体类型的函数。分析共用体类型变量的值。

观察错误提示信息,并根据提示信息寻找程序错误。

第二层次31、32、33、34、35、36、37、38、39、编程用尾插法实现链表的建立。编程用头插法实现链表的建立。编程输出链表中的结点。编程统计链表的结点个数。编程查找链表中某个结点。编程实现链表的插入。编程实现链表的删除。

应用指向结构体变量的指针作为参数,编写自定义函数。编写有关结构体和文件的程序。

10.A01_C语言程序设计课程说明 篇十

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

第二篇:c语言课程设计心得体会

本学期我们开设了《模拟电路》与《数字电路》课,这两门学科都属于电子电路范畴,与我们的专业也都有联系,且都是理论方面的指示。正所谓纸上谈兵终觉浅,觉知此事要躬行。学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以在本学期暨模电、数电刚学完之际,紧接着来一次电子电路课程设计是很及时、很必要的。这样不仅能加深我们对电子电路的任职,而且还及时、真正的做到了学以致用。

这两周的课程设计,先不说其他,就天气而言,确实很艰苦。受副热带高气压影响,江南大部这两周都被高温笼罩着。人在高温下的反应是很迟钝的,简言之,就是很难静坐下来动脑子做事。天气本身炎热,加之机房里又没有电扇、空调,故在上机仿真时,真是艰熬,坐下来才一会会,就全身湿透,但是炎炎烈日挡不住我们求知、探索的欲望。通过我们不懈的努力与切实追求,终于做完了课程设计。

在这次课程兼职设计过程中,我也遇到了很多问题。比如在三角波、方波转换成正弦波时,我就弄了很长时间,先是远离不清晰,这直接导致了我无法很顺利地连接电路,然后翻阅了大量书籍,查资料,终于在书中查到了有关章节,并参考,并设计出了三角波、方波转换成正弦波的电路图。但在设计数字频率计时就不是那么一帆风顺了。我同样是查阅资料,虽找到了原理框图,但电路图却始终设计不出来,最后实在没办法,只能用数字是中来代替。在此,我深表遗憾!

11.c语言课程设计作业(推荐) 篇十一

设计一个学生成绩管理系统,该系统记录了全班同学语文数学英语3门课程的成绩,并对成绩进行管理。主要功能如下:

1)具备对成绩的管理功能(添加、删除、排序)

2)具备对课程成绩的统计功能(最高分,最低分,平均分,及格率等)

3)具备按学号、姓名、或课程名查询成绩的功能。

4)具备将学生成绩写入文件,并从文件读入学生成绩的功能

备注:成绩记录以下信息:班级,学号,姓名,课程成绩(百分制)。可以用能表示学生成绩的结构体数组存储数据。

设计要求

1.分析课程设计题目的要求

2.写出详细设计说明

3.编写程序代码,调试程序使其能正确运行

4.设计完成的软件要便于操作和使用

上一篇:怎样参加国际学术会议下一篇:新课标卷作文题目:船主与油漆工