C语言实验报告八

C语言实验报告八
C语言实验报告八

南京信息工程大学实验(实习)报告

实验(实习)名称指针及其应用日期2019.5.30 得分指导老师瞿治国

系专业年级2018 级班次班姓名学号

一、实验目的

1.实验目的

(1) 掌握变量的指针及其基本用法。

(2) 掌握一维数组的指针及其基本用法。

(3) 掌握指针变量作为函数的参数时,参数的传递过程及其用法。

二、实验内容

(1) 运行以下程序,并从中了解变量的指针和指针变量的概念。

# include

int main()

{

int a=5,b=5,*p;

p=&a;

printf("%d ,%ud\n",a,p);

*p=8;

printf("%d ,%ud\n",a,p);

p=&b;

printf("%d ,%ud\n",a,p);

b=10;

printf("%d ,%ud\n",a,p);

return 0;

}

(2) 运行以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题:

①程序的功能是什么?

②在开始进入循环体之前,p指向谁?

③循环每增加一次,p的值(地址)增加多少?它指向谁?

④退出循环后,p指向谁?

⑤你是否初步掌握了通过指针变量引用数组元素的方法?

# include

int main()

{

int i,*p,s=0,a[5]={5,6,7,8,9};

p=a;

for(i=0;i<5;i++,p++)

s+=*p;

printf("\n s=%d",s);

return 0;

}

(3) 编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成:

①输入10个数。

②调用此函数进行重排。

③输出重排后的结果。

三、实验步骤和实验结果

第一个程序输入后

第二个程序输入后

可以知道①程序的功能是计算数组里所有元素的和

②在开始进入循环之前p指向a数组的首地址

③循环每增加一次,p的值增加数组内一个元素字节长度,且指向下一个数组元素

④退出循环后,p指向最后一个元素

⑤已初步了解掌握通过指针变量引用数组元素的方法

第三个程序写出来:

#include

#define N 10

void inv(int *,int);

int main()

{

int i,a[N];

for(i=0;i

scanf("%d",&a[i]);

printf("逆置前:\n");

for(i=0;i

printf(" %d",a[i]);

printf("\n");

inv(a,N);

printf("逆置后:\n");

for(i=0;i

printf(" %d",a[i]);

return 0;

}

void inv(int *x,int n)

{

int *p,*q,t;

p=x;

q=x+n-1;

while(p

{

t=*p;

*p=*q;

*q=t;

p++;

q--;

}

}

运行后

四、分析与讨论

数据的存储地址是指针,它的值是内存单元的地址编号,描述了数据在计算机内存中存储的形式,反映了计算机处理信息的基本过程;利用数组可以实现的功能,指针也可以做到,甚至更方便。

五、实验小结

我们可以认为数组与指针有着一定的区别和联系。数组名是一个静态的指针,而指针变量中的指针是一个动态的量,二者之间关系紧密,有时可以相互替代。

c语言实验报告 ()

丽水学院计算机实验报告

丽水学院计算机实验报告 一、实验目的 1.熟悉Visual C++和C-Free等集成环境,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。 2.掌握算术表达式和赋值表达式的使用。 3.掌握基本输入、输出函数的使用。 4.能够编程实现简单的数据处理。 二、实验环境 硬件:Pentium以上的计算机。 软件:Windows XP操作系统、Visual C++和C-Free等集成环境。 三、实验内容和结果 1.编程题1 在屏幕上显示一个短句“What is a computer?” 思考: (1)如何在屏幕上显示你自己的学号,姓名和班级? (2)如何在屏幕上显示数字、英文字母和汉字等信息?例如:“你在机房吗?” 编程题1源程序: #include<> void main() { printf("What is a computer?\n");

} 程序运行结果: What is a computer? 思考题(1): #include<> void main() { printf(",小王,班级\n"); } 思考题(2): #include<> void main() { printf("英文字母abcdefgABCDEFG\n"); printf("汉字:哇哈哈啊哈和\n"); } 2.编程题2 在屏幕上显示下列图形。 * * * * * * * * * *

思考:如何在屏幕上显示下列图形? A A A A 编程题2源程序: #include<> void main() { int i,j; for(j=1;j<5;j++) { for(i=5;i>j;i--) printf("*"); printf("\n"); } } 程序运行结果: * * * * * * * * * * 思考题:

C语言实验报告参考答案(原)

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { p rintf("The dress is long\n"); p rintf("The shoes are big\n"); p rintf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() { i nt a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; p rintf("a/b的商=%d\n",x); p rintf("a/c的商=%d\n",y); x=a%b; y=a%c; p rintf("a/b的余数=%d\n",x); p rintf("a/c的余数=%d\n",y); }

(2) #include<> main() { i nt a,b,c,d; f loat x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d); p rintf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { i nt a,b,c; a=0; b=-10; c= (a>b) b:a; p rintf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

C语言实验报告(八)

2016-2017学年第二学期 2016级专业:学号:姓名:……………………………………………………………………………………………… 一、实验题目:结构体和共用体 二、实验目的:(略) 三、实验内容 1.程序验证: 启动vc语言环境,输入并执行以下程序。 源代码:运行结果: #include struct stu { int num; char name[10]; char sex; int age; int score[4]; } students[ ]={{001, "David",'M',25,{80,78,92,94}}, {002, "Lily",'W',23,{90,84,89,95}}, {003, "Alice",'W',22,{79,78,96,97}}}; {003, "Alice",'W',22,{79,78,96,97}}}; {003, "Alice",'W',22,{79,78,96,97}}}; void main( ) { int i,j,number; printf("Input student’s number\n"); scanf("%d",&number); for(i=0;i<3;i++) if(number= =students[i].num) b reak; printf("name=%s\nsex=%c\nage=%d\n",students[i].name,students[i].sex,students[i].age); for(j=0;j<4;j++) printf("%d ",students[i].score[j]); printf("\n"); }

C语言实验报告(八)

华北水院高级语言程序设计(C语言)实验报告(八) 2014--2015学年第二学期 2014级164班专业:通信工程学号:201416405 姓名:王超……………………………………………………………………………………………… 一、实验题目:文件 二、实验目的:(略) 三、实验内容 1. 程序验证 用记事本编辑文本文件file1.txt。分析一下程序的功能及结果,并验证。 #include #include void main( ) { FILE *in,*out; if((in=fopen("file1.txt","r"))= =NULL) { printf("Can’t open this file.\n"); exit(0); } if((out=fopen("file2.txt","w"))= =NULL) { printf("Can’t open this file.\n "); exit(0); } while(!feof(in)) fputc(fgetc(in),out); fclose(in); fclose(out); } 程序功能:将一个磁盘文件中的数据复制到另外一个文件中去。 程序输出结果:

华北水院高级语言程序设计(C语言)实验报告(八) 2014--2015学年第二学期 2014级164班专业:通信工程学号:201416405 姓名:王超 ………………………………………………………………………………………………2.程序设计 编程有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号, 姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文 件stu.txt中。 源代码: #include #include #define N 5 struct student { int num; char name[20]; int math; int english; int physics; int total; };struct student st[N],t; void main()

C语言实验报告册

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 15自动化 2班 学生学号: 1517011063 学生姓名:王启涛所属院部:智能科学与控制工程学院指导教师:王预2015——20 16学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点:工科楼 实验日期: 2016.3.29 实验成绩: 批改教师:王预批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1)#include main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

C语言实验报告八

南京信息工程大学实验(实习)报告 实验(实习)名称指针及其应用日期2019.5.30 得分指导老师瞿治国 系专业年级2018 级班次班姓名学号 一、实验目的 1.实验目的 (1) 掌握变量的指针及其基本用法。 (2) 掌握一维数组的指针及其基本用法。 (3) 掌握指针变量作为函数的参数时,参数的传递过程及其用法。 二、实验内容 (1) 运行以下程序,并从中了解变量的指针和指针变量的概念。 # include int main() { int a=5,b=5,*p; p=&a; printf("%d ,%ud\n",a,p); *p=8; printf("%d ,%ud\n",a,p); p=&b; printf("%d ,%ud\n",a,p); b=10; printf("%d ,%ud\n",a,p); return 0; } (2) 运行以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题: ①程序的功能是什么? ②在开始进入循环体之前,p指向谁? ③循环每增加一次,p的值(地址)增加多少?它指向谁? ④退出循环后,p指向谁? ⑤你是否初步掌握了通过指针变量引用数组元素的方法? # include int main() { int i,*p,s=0,a[5]={5,6,7,8,9}; p=a; for(i=0;i<5;i++,p++) s+=*p;

printf("\n s=%d",s); return 0; } (3) 编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入10个数。 ②调用此函数进行重排。 ③输出重排后的结果。 三、实验步骤和实验结果 第一个程序输入后 第二个程序输入后 可以知道①程序的功能是计算数组里所有元素的和 ②在开始进入循环之前p指向a数组的首地址 ③循环每增加一次,p的值增加数组内一个元素字节长度,且指向下一个数组元素 ④退出循环后,p指向最后一个元素 ⑤已初步了解掌握通过指针变量引用数组元素的方法

C语言程序设计基础实验报告8

实验8 指针 一、实验目的 1、通过实验进一步掌握指针的概念,会定义和使用指针变量; 2、能正确使用数组的指针和指向数组的指针变量; 3、能正确使用字符串的指针和指向字符串的指针变量; 二、实验内容和步骤 1、改错 (1)指出下面程序错误的原因. main( ) { int x=10,y=5,*px,*py; px=py; px=&x; py=&y; printf("*px=%d,*py=%d,*px,*py); } #include void main() { int x=10,y=5,*px,*py; px=&x; py=&y; printf("px=%d,py=%d",*px,*py); } (2)下面的程序试图有如下运行结果: which style you want to : Capital ( c ) or uncapital ( a ):c ↙ COMPUTER Which sytle you want to : Capital ( c ) or uncapital ( a ) : u↙ computer 请调试下面的程序,使其有如上执行结果. #include main () { char s*;char c; printf("which style you want to :ln"); printf("capital ( c ) or uncapital(a):"); c=getchar(); …… if(c='c')strcpy(s,"COMPUTER"); else strcpy(s,"computer"); put(s); } #include #include #include void main() { char *s;char c; printf("which style you want to :\n"); printf("capital(c) or uncapital(a):"); c=getchar();

C语言实验报告(八)

高级语言程序设计(C语言)实验报告(八) 2017--2018学年第二学期 2017级专业:学号:姓名:……………………………………………………………………………………………… 一、实验题目:文件 二、实验目的:(略) 三、实验内容 1. 程序验证 用记事本编辑文本文件file1.txt。分析一下程序的功能及结果,并验证。 #include #include void main( ) { FILE *in,*out; if((in=fopen("file1.txt","r"))= =NULL) { printf("Can’t open this file.\n"); exit(0); } if((out=fopen("file2.txt","w"))= =NULL) { printf("Can’t open this file.\n "); exit(0); } while(!feof(in)) fputc(fgetc(in),out); fclose(in); fclose(out); } 程序功能:______________________________________________________。 程序输出结果:___________ ______________________________________。

华北水院高级语言程序设计(C语言)实验报告(八) 2012--2013学年第二学期 2012级专业:学号:姓名: ………………………………………………………………………………………………2.程序设计 编程有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号, 姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文 件stu.txt中。 源代码:运行结果: #include /*exit()函数所在的头文件*/ #include struct stu /*定义学生信息的结构类型stu */ { int num; char name[10]; int score0; int score1; int score2; int sum; }stu[5]; void main( ) { FILE *fp; char ch; int i; if((fp=fopen("d:\\stu.txt","w"))==NULL) { printf("Cannot open file strike any key exit!"); getchar( ); exit(0); } printf("input data:\n"); for(i=0;i<5;i++) {scanf("%d%s%d%d%d", &stu[i].num, stu[i].name, &stu[i].score0, &stu[i].score1, &stu[i].score2);

C语言实验报告八

实验八:函数程序设计(一)(2学时) 一、实验方式:一人一机 二、实验目的: 1、掌握函数的定义方法。 2、掌握函数的调用方法及参数之间传递数据的规则。 3、掌握函数的声明方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、调用函数,求3个整数中的最大值。(教材P129【例8-2】) 2、从键盘输入三角形的3条边,利用海伦公式编写三角形面积函数,main函数中调用三 角形面积函数并输出结果。(参考教材P58【例4-12】) 3、编写一个函数,当输入整数n后,输出高度为n的等边三角形。当n=4时的等边三角 形如下: * *** ***** ******* (教材P150) 4、编写函数,其功能是判定整数m是否为质数,并main函数调用此函数。(参考教材P91【例6-12】) 四、实验答案:(代码+运行结果截屏或者代码) 1、实验代码 (1) #include "stdio.h" void main() { int max(int a,int b); int x,y,z,m; printf("Please enter three numbers: "); scanf("%d%d%d",&x,&y,&z); m=max((x,y),z); printf("The max is %d.\n",m); } int max(int a,int b) { int c; if(a>b) c=a; else c=b; return (c); } (2) #include "stdio.h" #include "math.h" float triangle(float a, float b,float c) {

C语言程序设计基础实验报告8.doc

实验8指针 一、实验目的 1、通过实验进一步掌握指针的概念,会定义和使用指针变量; 2、能正确使用数组的指针和指向数组的指针变量; 3、能正确使用字符串的指针和指向字符串的指针变量; 二、实验内容和步骤 1、改错 ( 1)指出下面程序错误的原因. main( ) } { int x=10,y=5,*px,*py; #include<> px=py; void main() px=&x; { int x=10,y=5,*px,*py; py=&y; px=&x; printf("*px=%d,*py=%d,*px,*py); py=&y; printf("px=%d,py=%d",*px,*py); } ( 2)下面的程序试图有如下运行结果: which style you want to : Capital ( c ) or uncapital ( a ):c ↙ COMPUTER Which sytle you want to : Capital ( c ) or uncapital ( a ) : u ↙ computer 请调试下面的程序, 使其有如上执行结果. #include main () { char s* ;char c; printf("which style you want to :ln "); printf("capital ( c ) or uncapital(a):"); c=getchar(); if( c='c' )strcpy(s,"COMPUTER"); else strcpy(s,"computer"); put(s); }

#include<> #include<> #include<> void main() { char *s;char c; printf("which style you want to :\n"); printf("capital(c) or uncapital(a):"); c=getchar(); s=calloc(20, sizeof(char)); (1) y=*px++ (2)y=*++py (3)y=(*py)++ (4)y=--*ppx++ ( 5)想使指针变量pt1 指向 a 和b 中的大者,pt2 指向小者, 以下程序能否实现此目的swap(int *p1,int *p2) printf("%d,%d\n",*pt1,*pt2); {int *p; } p=p1;p1=p2;p2=p; } main() {int a,b; scanf("%d,%d",&a,&b); pt1=&a;pt2=&b; if(a

C语言程序设计 实验报告8--文件

福建农林大学金山学院实验报告 系(教研室):专业:年级: 实验课程:姓名:学号:实验室号: 计算机号:实验时间:指导教师签字:成绩: 实验8:文件 一、实验目的和要求 1.掌握文件以及缓冲文件系统、文件指针的概念 2.学会使用文件打开、关闭、读、写等文件操作函数 二、实验内容和原理 1.从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个“#”为止。 2.从键盘输入一个字符串,将其中的小写字母全部转换为大写字母,然后输出到一个磁盘文件test中保存。输入的字符串以“!”结束。 3.有5个学生,每个学生有3门课程的成绩,从键盘上输入学生信息(包括学号,姓名,3门课程成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。 三、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、DEV-CPP/Visual C++ 6.0 。 四、算法描述及实验步骤 1、定义字符数组,用scanf函数输入一个字符串存放在字符数组filename中,在用if ((fp=fopen(filename,"w"))==NULL)打开输出文件,且设定printf("cannot open file\n");exit(0);若打不开输出打不开和终止程序。用ch=getchar();接收字符和用while(ch!='#')当输入#时结束循环。用fputc函数向磁盘文件输出一个字符和putchar函数讲字符现实在屏幕上,ch=getchar();再接收。最后关闭文件。 2、定义字符数组和整型i,用if ((fp=fopen(filename,"w"))==NULL)打开输出文件,且设定printf("cannot open file\n");exit(0);若打不开输出打不开和终止程序。用gets函数得到数组,用while函数当str[i]!='!'时,用if语句if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32;将小写字母变换成大写字母。最后将其保存到磁盘中。 3、定义字符型num、name和整型score和浮点型ave。且stu[5]。定义整型i,j,sum,用for(i=0;i<5;i++) 输入学生的姓名、学号,再用for(j=0;j<3;j++)输入第j门的成绩,stu[i].ave=sum/3.0;计算第i个学生的平均成绩,fp=fopen("stup","w");打开stup文件,将数据写入文件、关闭文件、输出所有学生的成绩与平均成绩。 五、调试过程 无

C语言实验报告实验4-8章答案

C语言实验报告(4-8章)答案目录 实验 4 (2) T4_1.C (2) T4_2.C (2) T4_3_1.C (2) T4_3_2.C (3) T4_4.C (3) 实验 5 (4) T5_1.C (4) T5_2.C (4) T5_3.C (5) T5_4.C (5) T5_5_1.C (5) T5_5_2.C (6) SK5_1.C (6) SK5_2.C (6) SK5_3.C (7) SK5_4.C (7) SK5_5.C (7) SK5_6.C (8) SK5_7.C (8) 实验6 (8) T6_1.C (8) T6_2.C (10) T6_3.C (10) T6_4.C (11) T6_5.C (11) SK6_1.C (11) SK6_2.C (12) SK6_3.C (12) SK6_4.C (13) SK6_5.C (13) SK6_6.C (14) 实验7 (14) T7_1.C (14) T7_2.C (15) T7_3.C (15) T7_4.C (15) SK7_1.C (16) SK7_2.C (16) SK7_3.C (17) SK7_4.C (17) 实验8 (18) T8_2_1.C (18) T8_2_2.C (18) T8_2_3.C (19) T8_3.C (19) SK8_1.C (19) SK8_2.C (20)

实验 4 T4_1.C #include "stdio.h" void main() { int x,y; scanf("%d",&x); if(x<1) y=x; else if (x<10) /* else 表示已经>=1 */ y=2*x-1; else y=3*x-1; printf("%d",y); } T4_2.C #include "stdio.h" void main() { long int n; int count=0,t; /* count 表示是几位数*/ scanf("%ld",&n); while(n!=0) { t=n%10; printf("%d",t); count++; n=n/10; } printf("\n"); printf("%d\n",count); } T4_3_1.C #include "stdio.h" void main() { int y,m,d,month2,day; scanf("%d/%d/%d",&y,&m,&d); if(y<=0||m<=0||m>12||d>31||d<=0)

C语言实验报告

《C语言》实验报告 专业_____________ 年级_____________ 学号_____________ 学生_____________ 指导老师_____________ 华中师大学信息管理系编

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的三道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率,严禁一边上机一边编写。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小结部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力之目的。 II 实验容 实验一简单程序设计 【实验目的】 1.熟悉TC++、Borland C++和VC++6.0的运行环境。 2.了解在TC++、Borland C++和VC++6.0上如何编辑、编译、连接和运行一个C程序。 3.熟练使用各种C语言的数据类型、运算符与表达式。 4.熟练掌握格式输入与格式输出函数的使用。 5.通过运行简单的C程序,初步了解C源程序的特点,初步掌握查错和排错的技能. 【上机实习指导】 1.通过以下程序来掌握上机操作的全过程 在VC、BC或TC中练习输入、编译、运行一个C语言程序的全过程 以下程序是计算函数y=3x2+2x-4(假设x=2)。 # include “stdio.h” void main( ) { int x=2,y; y=3*x*x+2*x-4; printf(“\ny=%d”,y); } 2.基本数据类型表示围练习 假设有如下程序: #include void main ( ) { char ch1, ch2, ch; unsigned char c; int a; ch1 = 80;

C语言实验报告

实验一进制转换 一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。 五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换的进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1);fun(a,c);

C语言实验报告最新版

《程序设计基础》实验报告 姓名郭晟班级17级计算机科学与技术 1班 学号1706011105 实验名称实验1、熟悉实验环境 实验时间2017年10月26日成绩91 实验目的: 1.熟悉C语言运行环境,了解和使用Visual C++ 6.0集成开发环境; 2.熟悉Visual C++ 6.0环境的功能键和常用的功能菜单命令; 3.熟悉C语言程序的书写格式和C语言程序的结构; 4.熟悉C语言的上机步骤,以及编辑、编译和运行一个C程序的方法; 5.熟悉Visual C++ 6.0环境下的程序调试方法。 实验环境: 1.所用操作系统Windows10 2.所用软件Visual c++6.0 实验内容: 1、有以下程序: 完成程序,要求: 依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序 的结构。 2、 1. 编写一个程序,从键盘输入某电视机的价格,再输出该价格打7折后的价格。分析:必须设计一个实型变量接受从键盘输入的值,输入、输出应该有提示。2.输入一个三位数,然后进行个位和百位的置换,如 234 ,转换成432 3.编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。 4.编写一个程序,其功能为:从键盘上输入一个浮点数,然后分别输出该数的整数部分和小数部分。 分析:若输入的浮点数存入fd变量,则可用强制类型转换运算符,将输入的该数 的整数部分取出:zhs=(int)fd; 5. 编程序计算298秒是几分几秒。 提示:设 int x=298; 再定义两个变量存放分(m)、秒(s)值; 则:m=x/60;s=x%60; 请编一个程序,上机调试并运行。 实验过程及结果记录: 1. #include"stdafx.h" #define K 0.7 int main()

游戏C语言实验报告

游戏C语言实验报告

————————————————————————————————作者:————————————————————————————————日期:

成绩评定 教师签名 评定日期 嘉应学院计算机学院 实验报告 课程名称:C程序设计 开课学期:2015—2016学年第1学期班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 第3组:钟瞻宇梁佳151110233房嘉泽1学生姓名(学号): 51110240陈祺151110249

目录 一、实验目的和要求?错误!未定义书签。 二、实验环境、内容和方法 ...................................................................................................... 错误!未定义书签。 三、程序设计 .............................................................................................................................. 错误!未定义书签。 四、源代码 .................................................................................................................................. 错误!未定义书签。 五、调试与运行结果.................................................................................................................. 错误!未定义书签。 六、总结...................................................................................................................................... 错误!未定义书签。?一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。 (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置 于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算 法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果 相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows 10,安装vc++或v2008等编译软件

相关主题
相关文档
最新文档