当前位置:文档之家› C语言指导书

C语言指导书

C语言指导书
C语言指导书

C语言程序设计

实验指导书

(修订3)

张红梅编著

安徽电子信息职业技术学院

软件学院

2008年6月1日

目录

实验1运行简单的C程序 (1)

实验2练习使用算术运算符 (5)

实验3使用输入、输出函数 (7)

实验4模拟ATM取款机界面 (8)

实验5循环语句的使用——猜数字游戏 (9)

实验6一维数组的应用 (11)

实验7函数参数的传递 (12)

实验8嵌套与递归调用的实现 (13)

实验9结构体和共用体 (15)

实验10文件 (17)

课程设计:单链表的操作 (19)

实验1运行简单的C程序

一.实训目的:

1、熟悉TC运行环境

2、练习简单C程序的编写

3、熟练掌握C程序的上机运行步骤

二.实训内容:

1.实验要求:

编程求37+29的值,熟悉TC运行环境

2.分析与设计:

编写一个main()函数,将数据37和29分别用变量保存,然后用另一个

变量存放两个变量的和,最后将和变量的值输出。

3.源代码:

main()

{

int a,b,sum;

a=37;

b=29;

sum=a+b;

printf(“sum=%d”,sum);

}

在TC环境中输入上面的代码后,先编译、连接,再保存,然后再运行。具体操作步骤如下所示:

(1)编译

(2)连接

(3)保存F2

(4)运行CTRL+F9

(5)运行结果ALT+F5

按任意键返回

注意:1、第(1)步和第(2)步可以合起来操作,使用快捷键F9

2、程序比较大时,最好边输入代码,边保存,以防止意外情况的发生。

选做题:

1.输出字符串

main()

{printf(“C program\n”);

printf(“Hello World!\n”);

}

2.已知圆的半径,求圆的面积

#define PI3.14

main()

{int r=5;

float s;

s=PI*r*r;

printf(“area=%f\n”,s);

}

3.求任意两个数中的最大值

main()

{int a,b,max;

printf(“Input two numbers:”);

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

max=a;

if(max

printf(“max=%d”,max);

}

实验2练习使用算术运算符

一.实训目的:

1.练习使用基本类型的变量进行编程

2.练习使用C的运算符

二.实训内容:

1.实验要求:熟练使用运算符(%,++,--)

2.分析与设计:求余运算符要求两个操作数都必须是整数;++和--要看清是先使用还是先自增(减)

3.源代码:

程序1:取出一个三位整数的各个位,并输出

main()

{int x=123;char c1,c2,c3;

c1=x%10;

c2=x/10%10;

c3=x/100;

printf(“%d,%d,%d\n”,c3,c2,c1);

}

运行结果为:

1,2,3

程序2:练习自增和自减运算符的使用

main()

{int x=2,y,z;

y=(++x)+(x++)+(++x);

z=(x--)+(--x)+(x--);

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

}

运行结果:

x=2,y=12,z=12

选做题:

一.分析下面程序运行结果产生的原因。1.

main()

{int x,y;

char c;

x=y=5;

ch=’a’;

printf(“%d,%d,%c”,x++,++y,ch); }

2

main()

{float m,n,k;

k=(3.1,m=2.0+2.1);

printf(“%f”,k);

n=(m=3.8,k);

printf(“%f”,n);

}

3.

main()

{int a=2,b=1,c=1,d=6,e=9;

b+=a;printf(“%d”,b);

c*=a;printf(“%d”,c);

d/=a;printf(“%d”,d);

e%=a;printf(“%d”,e);

}

4.

main()

{int a1,a2;

float b,c;

b=5.425;

c=52.954;

a1=(int)(b+c);

a2=(int)b+(int)c;

printf(“a1=%d,a2=%d”,a1,a2);

}

二.编程题

1.求1+2+3+4+5+6+7+8+9+10的和。

2.利用中间变量,实现两个变量的值互换。

实验3使用输入、输出函数

一.实训目的:

熟练使用格式输出函数printf()和格式输入函数scanf()

二.实训内容:

1.实验要求:格式输入函数scanf()和格式输出函数printf()的使用

2.分析与设计:输入函数中的普通字符需要原样输入,并注意分隔符的使用;输出函数中的格式控制符和输出项数要一一对应。

3.源代码:

程序1:为使得a=1,b=2,c=‘A’,d=5.5,在键盘上如何输入?

#include

main()

{int a,b;

char c;

float d;

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

scanf(“%c%e\n”,&c,&d);

}

程序在运行时,输入:

a=1b=2A 5.5

程序2:判断下面程序的运行结果。

main()

{

int x=3,y=2,z=1;

printf(“%d,%d\n”,(++x,y++),z+2);

}

运行结果:

2,3

分析得到此结果的原因。

选做题:

1.输入一个小写字母,将其改写为大写字母后输出。

2.设int a,b,c;要使得a=3;b=5;c=6;

问该如何在键盘上输入?并用printf函数输出a,b,c的值。

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

3编程序输出下面的图形

**********

**********

**********

**********

实验4模拟ATM取款机界面

一.实训目的:

1.熟练掌握分支结构if语句及其嵌套

2.掌握分析具体问题的方法

二.实训内容:

1.实验要求:利用if语句和scanf函数模拟简单的ATM取款机界面2.分析与设计:用户先输入密码,密码正确后,可以进行帐户的操作,如查询,取款等。

3.源代码:

#include

main()

{int password,op,number=0,count=1000,n=0;

printf("please input password:");

scanf("%d",&password);

while(password!=1234)/*有三次输入密码的机会*/

{n++;

if(n==3)

{printf("you have input3,can not input again!\n");

getch();

return;

}

printf("password error!please input again:");

scanf("%d",&password);

}

loop:

printf("\nwelcome!Please choice one operate:(1,2,3)\n");

printf("1:count\n2:get money\n3:return\n");

scanf("%d",&op);/*输入一种操作*/

switch(op)

{

case 1:printf("\nyour count is %d.\n",count);goto loop;

/*帐户查询*/

case 2:printf("\n please input count that you want to get:");

scanf("%d",&number);

if(number>count||number<0)printf("\nerror");

else {printf("\nnow ,you can take money!");count-=number;}

goto loop;

/*取款*/

case 3:break;

/*返回*/

default:printf("\n operate error!");goto loop;

}

}

选做题:

1.从键盘输入学生成绩分数,输出对应的等级。(100---90分为A,75---89为B ,60---74为C,小于60为D)

2.从键盘输入一个字符,如果是小写字母,则输出“small ”,如果是大写字母,则输出“big ”,如果是数字,则输出“number ”,其他字符则输出“other ”

3.根据输入的x ,输出对应y 的值。

实验5循环语句的使用——猜数字游戏

一.实训目的:

1.熟练掌握各种循环程序设计的方法

2.利用循环结构解决一些实际问题

二.实训内容:1.实验要求:先利用randomize()产生一个随机数种子,再利用随机函数

x

x<02x+10≤x<1

x 2-5x≥1

y=

random(100)产生的一个0~100之间的整数,进行猜数字游戏,最后根据猜的次数给出评语。

2.分析与设计:利用循环,不断输入数字,与产生的随机数进行比较,直到猜中为止。

3.源代码:

#include

main()

{int r,x,n=0;

randomize();

r=random(100);

printf(“Please input a number(0~100):”);

scanf(“%d”,&x);

n=1;

while(x!=r)

{if(x>r)printf(“\nbig,input continue:”);

if(x

scanf(“%d”,&x);

n++;

}

if(n<=5)printf(“\nvery good”);

if(n>5&&n<=10)printf(“\ngood”);

if(n>10)printf(“\nnormal”);

}

选做题:

1.编程:打印出所有的“水仙花数”。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例如:153=13+53+33。

2.编程:打印出1000以内所有的“完数”。所谓完数是指一个数恰好等于它的因子之和。

例如:6的因子为1,2,3;而6=1+2+3,因此6是完数。

要求:按下面格式输出:6Its factors are1,2,3

3.编写程序输出下面图形

*

***

*****

*******

*****

***

*

实验6一维数组的应用

一.实训目的:

1.掌握一维数组的定义、赋值和输入输出方法

2.熟练使用一维数组解决实际问题

二.实训内容:

1.实验要求:从键盘上输入任意10个数,将其按从小到大顺序排列;再输入一个数,将该数插入到数列中,不改变数列的排序规律。

2.分析与设计:用一维数组保存输入的数据,然后选择一种排序方法(冒泡排序)进行排序,然后在输入新的数,找到该数在数列中的位置,把从该位置到最后的元素,依次后移一位,再将该数插入数列中。

3.源代码:

#define N10

print(int*a,int n)/*输出数列函数*/

{int i;

printf("\n");

for(i=0;i

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

printf("\n");

}

sort(int a[])/*冒泡排序函数*/

{int i,j,t;

printf("\n");

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}/*交换*/

}

insert(int*a,int x)/*插入函数*/

{int i,j;

for(i=0;i

if(a[i]>x)break;/*若a[i]>x则找到要插入的位置为i*/

for(j=N-1;j>=i;j--)

a[j+1]=a[j];

/*从a[i]到a[N-1]的每个元素都后移一位*/

a[i]=x;/*在i位置上插入x*/

printf("\n");

}

main()

{int a[11],i,x;

printf("please input10nums:\n");

for(i=0;i

scanf("%d",&a[i]);/*输入*/

sort(a);/*排序*/

print(a,10);/*输出*/

printf("please input insert num:");

scanf("%d",&x);/*输入要插入的新数*/

insert(a,x);/*插入新数*/

print(a,11);/*输出*/

}

选做题:

1.编程求一个4×4矩阵两条对角线上所有元素之和。

2.有一串字符串,最多80个字符。要求统计其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

3.自己编写下面的函数:strcat()、strcmp()和strlen(),实现相应的功能。

实验7函数参数的传递

一.实训目的:

1.理解函数的形参和实参的概念和应用

2.掌握函数的值调用和引用调用的含义

3.掌握简单变量、数组和指针作为函数参数进行传递的形式

二.实训内容:

1.实验要求:编写自定义函数:进行两个数据之间的交换

2.分析与设计:使用两种参数传递方法,进行数据的交换,比较下面程序的运行结果有何不同。

3.源代码:

程序1:参数的值传递。

void swap(int x,int y)

{int t;

t=x;

x=y;

y=t;

printf(“x=%d\ty=%d\n”,x,y);

}

main()

{int a,b;

printf(“please input a,b:”);

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

swap(a,b);

printf(“a=%d\tb=%d\n”,a,b);

}

程序2:参数的地址传递。

void swap(int*x,int*y)

{int t;

t=*x;

*x=*y;

*y=t;

printf(“x=%d\ty=%d\n”,*x,*y);

}

main()

{int a,b;

printf(“please input a,b:”);

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

swap(a,b);

printf(“a=%d\tb=%d\n”,a,b);

}

选做题:

1.编写求两个数中最大值的函数

2.编写一个判断某个数是否是素数的函数,要求在主函数中输入一个整数,并输出是否是素数的信息。

实验8嵌套与递归调用的实现

一.实训目的:

1.掌握函数嵌套调用与递归调用的函数的含义

2.重点掌握函数嵌套调用与递归调用的实现过程

3.培养和锻炼解决较复杂C程序设计的能力

4.掌握单步运行的调试方法

二.实训内容:

1.实验要求:利用函数嵌套调用与递归调用求两个数的阶乘和

2.分析与设计:先分别求出两个数的阶乘值,然后相加

3.源代码:

#include

#include

long sum(int a,int b)/*求两个数的阶乘和*/

{long c1,c2;

c1=fact(a);

c2=fact(b);

return(c1+c2);

}

long fact(int n)/*利用递归求一个数的阶乘*/

{long r=1;

if(n<0)printf(“n<0,data error!\n”);

else if(n==0||n==1)r=1;

else r=n*fact(n-1);

return r;

}

main()

{int n1,n2;

long result;clrcsr();

printf(“please input two number:\n”);

scanf(“%d,%d”,&n1,&n2);

result=sum(n1,n2);

printf(“Result=%ld”,result);

getch();}

选做题:

1.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少个桃子。(用递归函数实现)

2.年龄问题:一家有4个孩子,已知最小的孩子10岁,若每个孩子的年龄都差2岁,问最大的孩子几岁。(用递归函数实现)

实验9结构体和共用体

一.实训目的:

1.掌握结构体类型变量的定义及使用

2.掌握结构体变量的引用形式,结构体数组的应用

3.理解结构体作为不同数据类型的一个整体在实际编程中的应用

二.实训内容:

1.实验要求:输入6名学生的基本信息,每名学生的基本信息包括:学号、姓名、性别、年龄、语文成绩、数学成绩、物理成绩、总分、平均分等数据项。根据各科成绩计算总分和平均分,并输出这6名学生的信息。

2.分析与设计:利用结构体类型数组元素存放6名学生的信息,并根据要求求出总分和平均分。

3.源代码:

#define N6

#include“stdio.h”

struct student

{

char num[8];

char name[10];

char sex;

int age;

int chi_score,math_score,phy_score;

int sum;

int average;

};

main()

{int i;

struct student stud[N];/*输入N名学生的基本信息*/

for(i=0;i

{

printf(“\nThe student_number of number%d is:“,i+1);

gets(stud[i].num);

printf(“\nThe student_name of number%d is:“,i+1);

gets(stud[i].name);

printf(“\nThe student_sex of number%d is:“,i+1);

stud[i].sex=getchar();

printf(“\nThe student_age of number%d is:“,i+1);

scanf(“%d”,&stud[i].age);

printf(“\nThe Chinese_score of number%d is:“,i+1);

scanf(“%d”,&stud[i].chi_score);

printf(“\nThe math_score of number%d is:“,i+1);

scanf(“%d”,&stud[i].math_score);

printf(“\nThe physics_score of number%d is:“,i+1);

scanf(“%d”,&stud[i].phy_score);

}

/*计算学生的总分和平均分*/

for(i=0;i

{stud[i].sum=stud[i.chi_score+stud[i].math_score+stud[i].phy_score; stud[i].average=stud[i].sum/3;

}

/*输出学生的基本信息情况*/

printf(“\nNumber Name Sex Age Chinese Math Physics Sum Average”); printf(“\n----------------------------------------------------”); for(i=0;i

{

printf(\n%-8s%-10s%3c%3d”,stud[i].num,stud[i].name;stud[i].sex, stud[i].age);

printf(%6d%6d%6d”,stud[i].chi_score,stud[i].math_score,

stud[i].phy_score);

printf(“%6d%6d”,stud[i].sum,stud[i].average);

}

printf(“\n----------------------------------------------------”); }

选做题:

1.有一个long型整数,要求将该数的前两个字节和后两个字节的数据分别输出,用十六进制形式输出。

2.口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中取出3个球,问得到3种不同色的球的可能取法,打印出每种组合的3种颜色。球只能是5种颜色之一,而且要判断各球是否同色,应使用枚举类型变量处理。

实验10文件

一.实训目的:

1.掌握文件以及缓冲文件系统、文件指针的概念

2.掌握文件的打开、关闭、读、写等操作

3.学会用缓冲文件系统对文件进行简单的操作

二.实训内容:

1.实验要求:有5个学生,每个学生有3门课的成绩,从键盘输入以下数据(包括学号、姓名、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分存放在磁盘文件”student”中。

学生原有数据:

A2005001Wang89,98,67

A2005002Li70,80,90

A2005006Sun78,88,80

A2005012Zhang100,87,91

A2005020Zhao81,64,92

2.分析与设计:用结构体数组保存学生的基本信息,利用文件的写操作将学生的基本信息写入文件”student.dat”中。

3.源代码:

#include

#dedine SIZE5

struct student_type

{

char name[10];

int num;

int score[3];

int ave;

}

struct student_type stud[SIZE];

main()

{

void save();

int i,sum[SIZE];

FILE*fpt;

clrscr();

for(i=0;i

sum[i]=0;

for(i=0;i

{

scanf(“%s%d%d%d%d”,stud[i].name,&stud[i].num,

&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);

sum[i]=stud[i].score[0]+stud[i].score[1]+stud[i].score[2];

stud[i].ave=sum[i]/3;

}

save();

fpt=fopen(“student.dat”,”rb”);

printf(“\n姓名学号成绩1成绩2成绩3平均分\n”); printf(“--------------------------------------------------\n”);

for(i=0;i

{

fread(&stud[i],sizeof(struct student_type),1,fpt);

printf(“%-10s%3d%5d%5d%5d%5d\n”,stud[i].name,stud[i].num, stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].ave);

}

fclose(fpt);

}

void save()

{

FILE*fp;

int i;

if((fp=fopen(“student.dat”,”wb”))==NULL)

{

printf(“本文件不能打开,出错\n”);

exit(0);

}

for(i=0;i

if(fwrite(&stud[i],sizeof(struct student_type),-1,fp)!=1)

{printf(“文件写入数据时出错!\n”);

exit(0);

}

fclose(fp);

}

选做题:

编写一个通讯录,要求字段包括:姓名、E-mail、QQ、联系电话。通过键盘输入数据,并把数据存在一个文件中,通过查找显示一个人员的具体信息。

课程设计:单链表的操作

设计要求

本次课程设计的目的是在学习动态分配函数的基础上,利用带指针选项的结构体构造单链表,并实现单链表的插入、删除和查找等操作。

所需知识

处理动态链表所需的函数:

?malloc函数

–函数原型:void*malloc(unsigned int size);

–作用:在动态区分配一个长度为size的连续空间,函数返回值是一个指向分配域起始地址的指针,如内存空间不足,返回空指针NULL。(此处:void 为无确定类型)

?calloc函数

–函数原型:void*calloc(unsigned n,unsigned size);

–作用:在内存动态区分配n个长度为size的连续空间,函数返回指向分配域起始地址的指针,若分配不成功,返回NULL值。

?free函数

–函数原型:void free(void*p);

–作用:释放由p指向的内存区,使这部分内存区能被其它变量使用。P所指向的是最近一次calloc或malloc分配的存储区域。free函数无返回值。

?注:旧版本提供的malloc和calloc函数得到的是指向字符型数据的指针。?ANSI C提供的malloc和calloc函数规定为void*类型,这并不是说该函数调用后无返回值,而是返回一个结点的地址,该地址的类型为void(无类型或类型不确定),即一段存储区的首址,其具体类型无法确定,只有使用时根据各个域值数据再确定。

3.系统分析

共有以下几大功能模块:

主函数:完成对各函数的声明和调用

建立函数:完成单链表的建立

插入函数:在已有单链表上插入结点

删除函数:在已有单链表上删除某个结点

输出函数:输出已建立的单链表

4.设计程序代码

#include"stdio.h"

#include"malloc.h"

#define NULL0

#define LEN sizeof(struct student)

C语言实验指导书

《C语言》实验指导书 2016年10月

实验一C程序得运行环境与运行方法 一、实验目得 1。掌握所用得C语言环境得基本操作方法、 2.掌握编辑、编译、连接与运行C程序。 二、实验内容与要求 1、学习使用Visual C++6.0环境开发C程序。 (1)在磁盘上建立自己得文件夹,用于存放C程序,如“e:\cexam”。 (2)启动Visual C++6。0、执行“开始”-—“所有程序”——“Microsoft Visual Studio 6。0"——“Microsoft Visual Studio 6.0”命令,进入VC++编程环境,如图1 所示。 图1 MicrosoftVisual Studio6、0窗口 (3)新建C 程序文件。 执行“文件”——“新建”命令,单击如图2所示得“文件”选项卡,选中“C++So urceFile”;

图 2 新建文件 在“文件”文本框中输入文件名test1, 则C源程序被命名为test1。cpp,若想指定扩展名为.c,则需在“文件”文本框中输入文件名test1.c;在“目录”下拉列表框选择已经建立得文件夹,如,单击“确定”按钮,就新建了C源程序文件,并显示编辑窗口与信息窗口,如图3所示,然后在编辑窗口中输入程序。 (4)保存程序。 在如图3得界面输入程序代码。由于完全就是Windows 界面,输入及修改可借助鼠标与菜单进行,十分方便。当输入结束后,执行“文件”——“保存”命令,保存源文件。 图3编辑源程序(5)编译程序。信息窗口编辑窗口

执行“组建”--“编译[test1、cpp]”命令,弹出消息框,如图4所示,单击“就是"按钮,开始编译,并在信息窗口中显示编译信息。如果信息窗口中显示“test1.obj-0error(s),0 warning(s)",表示编译正确,没有发现错误与警告,并生成了目标文件test1、obj、 图4产生工作区消息框 如果显示错误信息,说明程序中存在严重得错误,必须改正,双击某行出错信息,程序窗口中会指示对应出错位置,根据信息窗口得提示分别予以纠正;如果显示警告信息,说明这些错误并未影响目标文件得生成,但通常也应该改正。 (6)连接程序。 执行“组建”——“组建[test1.exe]”命令,开始连接,并在信息窗口中显示连接信息、如果信息窗口中出现“test1.exe—0 error(s),0 warning(s)”,表示连接成功, 并生成了可执行文件test1、exe。 (7)运行程序。 执行“组建"——“执行[test1、exe]”命令,自动弹出运行窗口,如图5所示,显示运行结果。其中“Pressany key to continue”提示用户按任意键退出运行窗口,返回到VC++编辑窗口。 图 5 显示运行结果 (8)关闭程序工作区。 当一个程序编译连接后,VC++系统自动产生相应得工作区,以完成程序得运行与调试。若想执行第二个程序时,必须关闭前一个程序得工作区,然后通过新得编译连接,产生第二个程序得工作区。否则得话运行得将一直就是前一个程序。 执行“文件"--“关闭工作区命令",弹出得对话框如图 6所示,单击“就是”按钮,关闭工作区。 图 6 关闭所有文档窗口 (9)打开文件、 如果要再次打开C源文件,可以执行“文件”——“打开”命令,在查找范围中找到

《C语言》实验指导书

内江职业技术学院 上机实验指导书 科目:C语言程序设计 系别:电商学院 班级:15软件1班 教师:王刚 2015—2016学年第一学期

《计算机基础》课程实验指导书 目录 实验一C语言概述 (1) 实验二基本数据类型 (3) 实验三输入输出和算法 (6) 实验四选择和循环结构 (10) 实验五循环结构和函数 (13) 实验六模块化设计 (14) 实验七一维数组和字符串 (18) 实验八多维数组和指针 (20) 实验九指针 (22) 实验十指针和结构体 (23) 实验十一链表和共同体 (26) 实验十二文件 (27) 教材和参考书 1、教材: 《谭浩强、张基温,《C/C++程序设计教程》,高等教育出版社。 2、参考书: (1)《(美)H.M.Deitel,P.J.Deitel著,薛万鹏译,《C程序设计教程》,机械工业出版社。 (2)杨路明,《C语言程序设计教程》,北京邮电大学出版社。

实验一C语言概述 一、实验目的 1、了解所用的计算机系统。 2、了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序了解C程序的特点。 二、实验内容 1、熟悉C语言集成环境。 2、利用C语言集成环境进行编辑、编译、连接和运行一个C程序。 3、运行一个自己编写的程序,程序的功能是输出两行文字。 三、实验设备及环境 微机若干台,并安装有C语言软件。 四、实验步骤 1、熟悉所用的系统。了解Windows资源管理器的使用方法:文件的查看、复制、运行等方法,C所在目录,文本文件的建立方法。 2、进入C,并新建一个C源程序文件。 3、熟悉C的集成环境,了解各菜单项有哪些子菜单。 4、输入下面的程序,注意区分大小写。 #include void main() { printf("This is a C program.\n"); } 编译并运行程序。 5、关闭工作区,新建一个程序,然后输入并运行一个需要在运行时输入数据的

C语言实验指导书

《C语言程序设计》实验指导书 每次实验(10分)一共100分,最后折合成50分计入最终成绩。 第一次实验(一星期完成) ●内容一:熟悉编译环境和工具 在VS中键入以下的这段程序 1)关键字变色,自动缩近,智能提醒 2)代码风格和注释 3)编译出错,连接出错。修改错误 4)调试,断点,监控变量,进入函数,跳出函数。监控内存,监控堆栈 在linux中键入以下这段程序 1)熟悉VIM程序,gcc编译程序(开两个终端窗口) 2)熟悉GDB调试程序的基本技巧。(list,backstrac; break, watch,delete; next, continue, run; print,set,help) 其中,help命令是一个非常的参考,如果忘记了某条具体的命令,可以随时去参考help命令来得到相关的细节。 3)介绍《鸟歌的私房菜》这本书 ●内容二:登陆https://www.doczj.com/doc/3f3051845.html,网站,在线提交。 1)熟悉基本的提交方法和规则 2)现场演示反作弊程序的效果 ●程序: 输入:两个整数,用空格分隔, 输出:两个整数的和,计算两个整数的和的功能,要求用函数实现,同时如果输入有错误,例如(12 abc)程序能够给出“error input”的提示。 参考输入: 12 33 参考输出: 45 参考输入: 12 abc 参考输出:

error input ●思考和扩展(无标准答案) 如果用户输入12 12abc 如何判断并终止程序,输出“error input”的提示 第二次实验(一星期完成) ●内容一:登陆ACM,演示OJ系统 1)介绍这个网站,有兴趣的同学可以去尝试一下() ●内容二:计算工资/小时程序 1)强制类型转换 2)一共有多少位的算法 3)整形数的溢出,以及针对特定问题,如何解决溢出问题 注意:linux编译下应该加上–lm 开关。 ●程序: 输入:工资数,小时数(整数,空格分隔)。 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么? 参考输入: 2345 2 ←input (separate by space) 参考输出: 1172.50 ←average salary 1173 ← round off to integer 7 ← number of digit 0 2 5 ← the last three digit (separate by space) 第三次实验(两星期完成) ●内容一:介绍linux 下的grep,并给出相应的实例。重点介绍下面要用到的四个符号。 ●内容二:正则表达式 ^ 代表字符串开始 . 代表任意字符 $ 代表字符串末尾

C语言实验指导书

C语言程序设计实验指导书 沈岚岚吕元长编写 桂林电子科技大学信息科技学院 2012.03

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

C语言实验指导书

实验1 C语言初步与编程环境介绍(2学时) 1.目的要求 1)熟悉C语言基本结构, 2)熟悉VC控制台应用程序设计的使用方法。 2.实验内容 (1)创建项目,分别将教材P13和P14程序输入并编译。 (2)下列程序能正确运行吗?如果能,写出运行结果;如果不能,指出错误原因并改正。 Main() { printf("hello\n"); } 附:VC 6.0 环境的使用方法介绍 Microsoft Visual C++ (简称VC)是微软公司生产的基于其Windows系统的软件开发工具。它具有使用灵活,并与32位Windows内核(使用于Windows 95/98/NT/2000)高度兼容的特点,从而被Windows程序员们广泛使用。同时,VC同样可以加工处理C语言程序,与标准的ANSI C语言兼容。VC提供了一种控制台操作方式,本实验课程主要在控制台方式下进行设计运行。 一、什么是控制台程序? Win32控制台程序(Win32 Console Application)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互时通过一个标准的文本窗口,通过标准的输入输出流(I/O Streams)进行。 一个最简单的控制台程序如下: #include // 包含使用标准输入输出库的头文件声明 main() { printf(”Hello World!”); //输出一个字符串 } 二、如何使用MSVC编写控制台程序?

控制台程序按照下面几个步骤进行。 1、打开VC集成开发环境。 双击桌面图标“Microsoft Visual C++ 6.0”,或者从系统菜单“开始”/“程序”/“Microsoft Visual Studio 6.0”/“Microsoft Visual C++ 6.0”(如图1),打开VC 开发环境(如图2)。 图 1 从开始菜单中打开VC开发环境 图 2 VC开发环境界面

《C语言》实验指导书

《C语言程序设计》 实 验 指 导 书 华中师范大学信息技术系 二00九年三月

项目一:熟悉C语言的运行环境及简单程序设计 (11) 实验一熟悉C语言的运行环境 实验二c程序初步 (3) 实验三数据类型及输入输出 (5) 实验四运算符与表达式 (8) 项目二:流程控制、指针、数组、模块化程序设计 实验五分支程序设计 (9) 项目六循环程序设计 (11) 项目七函数 (12) 项目八数组 (13) 项目九指针 (15) 项目三:综合程序设计——竞赛编排及优胜排序 (注:每个项目应包含实验学习目标、实验内容、实验原理、实验设备、实验步骤、实验注意事项或实验思考等内容。 基本型实验应有明确的实验学习目标、详细的过程和具体的结果;综合设计型实验应有明确的实验学习目标、可参考的过程和实验结果评价标准)

实验基本要求 1、每次实验前,学生必须预习实验内容,实验程序必须自行编制、自行调试。 2、每次实验,学生都必须提交实验报告,内容包括实验目的、实验内容、实验程序、实验过程(软件的使用、程序的调试)等,见下面的实验报告模版。 3、学生第一次上机时,应在教师机指定文件夹下建立以自己学号+姓名的子文件夹,例如学号为2005683001的学生张三,应在教师机指定文件夹下建立“2005683001张三”的子文件夹,此文件夹就是学生张三存放本课程实验全部文档的文件夹,也是教师评价学生饰演成绩的主要依据。 4、学生每次实验完毕后,都应将实验报告、实验程序等文档上传到教师机自己建立的子文件夹中。 5、学生每次实验,都应该在考勤表上签到。 附 华中师范大学信息技术系c语言程序设计实验报告 实验目的: 实验设备(包括软件): 实验内容: 实验过程: 实验程序及实验结果: 实验体会:

C语言实训指导书

C语言实训指导书 C语言课程组编写 适用专业2010级计算机应用技术专业 2010级计算机网络技术专业 2010级计算机软件技术专业 2010级计算机网络工程专业 2010级计算机信息管理专业 2010级计算机网络安全专业 2010级计算机电子商务专业

软件学院CCUTSOFT 2011年1月 目录 C语言实训安排 (3) 一.实训时间 (3) 二.实训地点 (3) 三.实训对象 (3) 四.开发环境 (3) 五.实训目的 (3) 六.实训内容 (4) 七.实训题目 (4) 八.指导教师 (6) 十.实训方案 (7) 十一.实训要求 (7) 十二.考核方式 (8) 十三.进度计划 (9) 附录 (9)

C语言实训安排 一.实训时间 起始时间:2010.1.4——2008.1.12 上午:8:00——12:30 下午:13:00——17:30 二.实训地点 软件楼204、206、401、402、404、408、412、416、504、606、608、612、614 三.实训对象 10级计算机应用技术专业 10级计算机网络技术专业 10级计算机软件技术专业 10级计算机网络工程专业 10级计算机信息管理专业 10级计算机网络安全专业 10级计算机电子商务专业 四.开发环境 Turbo C 2.0 五.实训目的 本次实训旨在进一步巩固学生本学期在C语言课程上的所学,加强学生对面向过程的理解,加快学生编程思想的形成,培养学生的编程兴趣,从而更快的提高学生的程序设计能力,并为下学期各课程的打下一个坚实的基础。

六.实训内容 本次实训要求学生依据指导教师对实训各题目的讲解和实训指导书中对各实训题目的分析,结合自身学习情况,从四道实训题目中人选一题,独立完成该题目的设计和实现,并完成实训报告的撰写。 七.实训题目 题目一:迷宫游戏 内容:1、使用二维数组形成游戏地图,数组元素0表示墙1表示路2表示出口。 2、用*表示人,E表示出口,并在游戏地图输出完毕后,单独输出。 3、当人物标示与出口标示重合时,输出成功提示,并结束程序。 4、使用共用体变量接收键盘按键信息。 5、使用bios.h函数库中的bisokey函数读取键盘按键信息。 6、使用stdio.h函数库中的gotoxy函数设置输出位置。 7、使用键盘方向键LEFT、RIGHT、UP、DOWN移动人物,键值分 别为75、77、72、80。 8、使用ESC键退出程序运行界面并显示失败提示,键值27。 9、在移动过程中要注意处理重合问题。 题目二:学生成绩管理 内容:1、使用结构体数组定义学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、英语成绩和数据库成绩)。如下: struct student { int id,age,cscore,enscore,dbscore; char name[21]; }students[5]; 2、实现学生基本信息(学号、姓名、年龄)及成绩(C语言成绩、 英语成绩和数据库成绩)的录入。 3、基本信息的查询(根据学号)、删除(根据学号)与修改(根据学 号)。 4、根据每科成绩,求出每个人的总分 5、对学生考试成绩进行排序(根据学号或各科成绩排序)

C语言程序设计实验指导书

C程序设计实验指导书 桂林电子科技大学职业技术学院 二零一二年十月

实验一C程序的运行环境和程序结构 一、实验目的 1.了解所用计算机系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.学习从开机开始的操作,包括如何建立子目录、使用操作命令 列目录、打印文件内容、删除文件、复制文件等。熟悉VC++6.0集成环境的使用 ①启动VC++6.0集成开发环境 选择“开始”→程序→Microsoft Visual Studio6.0打开后显示如下 ②在VC++6.0主窗口中,选择“文件”→“新建”命令,弹出下图所示“新建”对话框

点击“文件”显示如下图对话框 ③之后在文件编辑窗口开始编写程序

文件编 辑窗口 ④程序编辑完成后开始编译→链接→运行 2.自己编写一个简单的程序,输出以下信息: **************************** C Program **************************** 3.自己编写一个简单的程序,打印出学号、姓名、性别等学生 记录。 4.调用编辑程序,输入教材第一章的程序,并进行编译和运行。 5.完成一个学生信息管理系统登录界面

三、实验要求 在实验之前,要求同学熟悉main函数、变量的定义、注释、分号的 作用、函数的说明、函数体等内容

实验二数据类型、运算符和表达式 一、实验目的 1. 掌握C语言的数据类型,熟悉如何定义一个整型、字符型、实型变量,了解赋值的方法和数据输出的格式。 2. 学会使用C语言的有关算术运算符和表达式,熟练掌握C程序的编辑、编译、连接、运行的过程。 二、实验内容 (1) 输入下列程序: void main() { char c1,c2; c1=97;c2=98; printf(“%c,%c”,c1,c2); } a)将上面的“%c”改为“%d”运行程序,输出运行结果; b)将“char”改为“int”运行程序, 输出运行结果; c) 将“c1=97”改为“c1=’a’”运行程序,输出运行结果 d) 将“c1=97”改为“c1=500”运行程序, 输出运行结果; 根据运行结果说明原因? (2)调试程序: void main() {

C语言程序设计实验指导书(新编)

C语言程序设计实验指导书 桂林电子科技大学信息科技学院

前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果; 4 对结果的分析和本次获得的经验和体会。

实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言程序设计实验实验指导书及标准答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

C语言实验指导书16学时

C语言程序设计实验指导书 沈曦吕元长 桂林电子科技大学信息科技学院 2010-3-18

C语言程序设计实验指导书 前言上机实验的目的和要求 一上机实验的目的 上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编程序正确与否。学习程序语言,上机实验的目的如下: 1 加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,通过多次上机,就能自然、熟练地掌握语法规定。 2 了解和熟悉C语言程序开发环境。熟悉一两种环境(计算机系统的软件和硬件条件),再遇到其他的系统时便会触类旁通,很快学会。 3 学会上机调试程序,也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能够正确地运行。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,而且要求自己动手实践能力强。 4 在做实验时千万不要在程序通过后就认为万事大吉,完成任务了,应当在通过的程序上做一些调试和修改,看看会得到什么结果。多动脑筋思考,将会对你有很大帮助。 二上机实验前的准备工作 1 了解所用的计算机系统的性能和使用方法; 2 复习和掌握与本实验有关的教学内容; 3 准备好上机所用的程序,切忌自己不思考、不编制程序或抄袭别人的程序; 4 准备好调试和运行时所需的数据。 三上机实验的步骤 1 调出C语言编译系统,进入C语言工作环境; 2 输入自己编制好的程序; 3 检查输入是否有错,及时更正; 4 进行编译和连接; 5 运行程序,分析结果。 四、实验结束,整理实验报告 实验报告应包括以下内容: 1 上机题目; 2 程序清单; 3 运行结果;

4 对结果的分析和本次获得的经验和体会。 实验一 C语言程序初步 数据类型、运算符和表达式 一实验目的 1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。 2 掌握C语言程序的书写格式和C语言程序的结构,初步了解C源程序的特点。 3 掌握C语言上机步骤,了解如何编辑、编译、调试和运行一个C程序的方法。 4 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对他们赋值的方法。 5 掌握不同的类型数据之间赋值的规律。 二实验内容 1 C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); ( printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编

c语言实验指导书作业版3

实验2 数据类型 三、实验内容 1.阅读下面程序,熟悉C语言中各种基本数据类型,写出程序运行结果,并上机验证。 #include "stdio.h" void main() { int x; long y; char c; float d; double e; x=100; y=65486l; c='a'; d=31478.5692; e=314786666666.56785643; printf("x=%d,x=%x,x=%o\n",x,x,x); printf("c=%c,c=%d\n",c,c); printf("y=%ld,y=%d\n",y,y); printf("d=%f\n",d); printf("e=%lf\n",e); } △程序输出结果为:◇上机验证结果: 总结: 根据上机验证结果,float型的有效位数为7 位,double型的有效位数为15 位。3.使用调试方法,发现下面程序的逻辑错误,并修改。 /*本程序功能是计算任意两个实数的和!*/ #include "stdio.h" /*预处理命令*/ int add(int x,int y) {int z;z=x+y; return z;} void main( ) { int a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/

} 修改后: #include “stdio.h" /*预处理命令*/ int add(float x,float y) {float z; z=x+y; return z; } void main( ) { float a, b,sum; /*定义加数a,b和sum*/ a=1.5; /*给a赋值1*/ b=2.7; /*给b赋值2*/ sum=add(a,b); /*求a,b之和*/ printf("sum=%d\n",sum); /*输出sum*/ } 4.指针初步使用: (1)阅读程序,回答问题。 #include void main( ) { int i=2,*ip; /* i= 2 ip= *ip= */ ip=&i; /*i= 2 &i= 2 ip= 2 *ip= 2 */ i++; /* i= 3 */ printf("i=%d,*ip=%d\n",i,*ip); /*i= 3 *ip= 2 */ } a.写出程序运行结果并上机验证。 将相应结果填入程序的注释语句中的横线上。 (2) 按照注释语句的要求在横线上填入正确语句。 #include void main() { int i=2,*ip; ip=&i; i=ip+1 /*利用指针变量ip使得实现变量i加1运算*/ printf("i=%d,*ip=%d\n",i,*ip); }

c语言实验指导书

实验一基本类型的程序设计方法(4学时) 一.实验类型 验证性 二.实验目的 1.掌握所用的C语言环境的基本操作方法。 2.掌握编辑、编译、连接和运行C程序。 3.掌握C程序的数据类型、运算符,表达式。 三.实验容和要求 1. C语言上机步骤 ⑴开机,启动Microsoft Visual C++ 6。 ⑵建立工程文件:在“文件”菜单中选择“新建”命令项,在弹出的“新建”对话框的“工程”选项卡中选择“Win32 Console Application”选项,在“工程”框中输入工程文件名sy1,在“c:位置”下拉框中输入或选择文件夹,单击“确定”;在以下弹出的两个对话框中分别单击命令按钮“完成”和“确定”。 ⑶建立C++源文件:在“工程”菜单中选择“添加到工程”—“新建”命令项,在弹出的“新建”对话框的“文件”选项卡中选择“C++ Source File”,在右边的“文件”框中输入文件名sy11后单击“确定”。 ⑷输入源程序:在弹出的文件编辑窗口中输入下面的源程序: #include void main() { printf("Hello,World!\n"); ( printf("Welcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } ⑸编译:用“编译”菜单的“编译”命令项对源文件sy11.cpp进行编译,如果程序有语法或语义错误,在屏幕下面的窗口会出现错误信息;这时候要修改源程序、保存后重新编译。直到修改了全部错误,屏幕下面的窗口会出现下面的信息:

C语言实验指导书

1.假设公民的个人所得税为工资总额的5%,编程输入一个公民的工资总额,计算其应缴纳的个人所得税和其扣除所得税后的实际工资,并输出。 #include void main() { float a,b,c; scanf("%f",&a); b=a*0.05; c=a-b; printf("b=%5.2f\nc=%5.2f",b,c); } 2.利用格式控制符输出以下图形。 * *** *****

******* ********* #include void main() { printf(" *\n ***\n *****\n *******\n*********\n"); } 3.从键盘上输入圆的半径,圆柱的高,求圆的周长,圆球的表面积、圆球的体积、圆柱体积。用scanf输入,用printf输出。输出时有文字说明,取小数点后2位数字。请编程序。 #include void main() { float r,h,c,s,v1,v2; scanf("%f%f",&r,&h); c=2*3.14*r; s=4*3.14*r*r;

v1=4/3*3.14*r*r*r; v2=s*h; printf("圆的周长:%5.2f\n圆球的表面积:%5.2f\n圆球的体积:%5.2f\n圆柱体积:%5.2f\n",c,s,v1,v2); } 4.编制程序,根据输入的x的值,计算y的值并输出。 #include void main() { float x,y; scanf("%f",&x); if(x<=2.5) y=x*x+1; else if(x>2.5) y=x*x-1; printf("y=%5.2f\n",y); } 5.从键盘上输入三个数a,b,c,按照从小到大的顺序排序后输出。(要求,最后数从小到大依次存放在a,b,c中)。如:从键盘上输入:23 12 45,程序处理后应该是a=12 b=23 c=45。然后输出a,b,c即可。 #include void main()

c语言实训指导书

C语言程序设计基础 实 训 指 导 书 二0一三年一月

实训一熟悉VC++实验环境 【实训目的】 1. 熟悉VC++实验环境 2. 掌握C语言程序的基本结构 3. 掌握C语言程序的编辑、调试和运行过程 【实训内容】 1. 编程,在屏幕上显示一个短句“this is my first c program.”。 2. 调试示例,在屏幕上显示一个短句“welcome to you!”。 源程序(有错误的程序) #include void mian() { printf(Welcome to You!\n”) } 运行结果(改正后的运行结果) Welcome to You!

实验二简单程序设计 【实训目的】 1. 掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。 2. 通过编程进一步理解和掌握运算符的确切含义和功能。 3. 理解和掌握运算符与运算对象的关系,优先级和结合方向。 4. 通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。 5. 掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。 6. 掌握简单的C程序的查错方法。 【实训内容】 一、.输入程序,观察输出结果,并对输出结果作出合理的解释。 1./* e1.c */ #include void main() { float x; double y; x=213.82631;y=213.82631; printf("%-4.2f,-6.2e\n",x,y); } 输出结果: 解释: 2./*e2.c */ #include void main() { char ch; int k; ch=’a’; k=10; printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k); printf(“k=%%d\n”,k); } 输出结果: 解释: 3./*e3.c */

C语言程序设计实验指导书

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

华农C语言实验指导书 参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 实验1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入TC(或VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以Turbo C上的操作为例 (1)Windows进入后,按照第一章中介绍的方法,进入Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。

2. 在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 2 printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入JudgeOnline实验系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。void main() { int a, b; /*定义整型变量a和b*/ int i, j; /*定义实型变量i和j*/ a=5; b=6; i=3.14; j=i*a*b;

C语言程序设计实验指导书参考答案

C语言程序设计实验指导书参考答案

上级实验参考答案#include "stdio.h" #include"math.h" int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf("%d\n",i);} } 实验2 基本数据类型、运算和表达式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运

算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); }

[具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行通过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330;

相关主题
文本预览
相关文档 最新文档