文档库 最新最全的文档下载
当前位置:文档库 › C实验

C实验

C实验
C实验

C语言~

1-1求两个数之和(静态输入和动态输入)。

在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。

②数据通过scanf( )函数输入,注意变量前面的取地址符号。

#include

void main()

{

int a,b,sum;

a=3,b=2;

sum=a+b;

printf("a+b=%d\n",sum);

}

#include

void main()

{

int a,b,sum;

scanf("a=%d,b=%d",&a,&b);

sum=a+b;

printf("a+b=%d\n",sum);

}

1-2设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用scanf

输入数据,输出计算结果。

注意计算时公式的采用,特别是常数项和运算符号。输出时的格式控制字符要灵活运用。

#include

void main()

{

int h=3;

float r=1.5,pi=3.14,c,s,S,v;

c=2*pi*r;

s=pi*r*r;

S=2*s+c*h;

v=s*h;

printf("c=%f\ns=%f\nS=%f\nv=%f\n",c,s,S,v);

}

2-1输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。

编程思路:注意三个数之间的比较,逻辑上要清晰。对于if语句,if-else语句,if--else if--else if . . . else等语句的使用,体会各种选择语句的区别

# include

void main()

{

int a,b,c,max;

printf("please input a,b,c=");

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if (max

max=b;

if(max

max=c;

printf("The largest number is %d\n",max);

}

2-2给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,

80-89分为B,70-79分为C,60-69分为D,60分以下为E。要求至少输入3个分数段的成绩并打印出对应的等级制成绩。要求用switch语句完成。

注意break语句的使用,以及各种判断情况下各case语句的执行顺序。

# include

void main()

{

float score;

char grade;

printf("成绩:");

scanf("%f",&score);

while (score>100||score<0)

{

printf("\n 请重输");

scanf("%f",&score);

}

switch((int)(score/10))

{

case 10:

case 9: grade='A';break;

case 8: grade='B';break;

case 7: grade='c';break;

case 6: grade='d';break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: grade='E';

}

printf("成绩是%5.1f,相应的等级是%c. \n",score,grade);

}

3-1计算当n为何值时,不等式sum=1 + 1/2 + 1/3 +… + 1/n >limit成立,输出n对应的sum(limit从键盘输入,要求用while、或do... while 语句,limit=10)。

编程思路:要求用while或do...while 语句完成时注意循环结束条件的判断,此外注意求和变量一定要在循环体外赋初值。

#include

void main()

{

int limit,n=1;

float sum=0;

scanf("%d",&limit);

while(sum<=limit)

{

sum=sum+(1.0/n);

n++;

}

n--;

printf("n=%d,sum=%f\n",n,sum);

}

3-2计算M=11+ 22+ 33+…+ NN,直到N等于15为止,输出N和对应的M。(要求用for 语句做)

编程思路:注意N等于10前的数据项用N+10*N,但是N等于10时为1010,要采用N+100*N。算法发生了变化。那么N等于100时又将如何呢?请思考

#include

void main()

{

int a=0,b=0,sum,N;

for(N=1;N<10;N++)

a=a+N+10*N;

for(N>9;N<16;N++)

b=b+N+100*N;

sum=a+b;

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

}

4-1 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马一匹驮0.5担,计算大、中、小马数目并输出。

编程思路:设需要大、中马分别为x,y匹,则小马的数量s=100-x-y匹;采用二重循环可以完成各种马的数量的求解,分别用x,y为循环控制变量,其变化范围分别为:0—33,0—50 ,注意小马的匹数是偶数。具体语句为:

s=100-x-y;

if((3*x+2*y+s*0.5==100)&&(s%2==0))

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

// if((3*x+2*y+ ( int)(s*0.5) ==100)&&(s%2==0))

#include

void main()

{

int x,y,s;

for(x=0;x<33;x++)

for(y=0;y<50;y++)

{

s=100-x-y;

if((3*x+2*y+s*0.5==100)&&(s%2==0))

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

}

}

4-2求sum=1!+2!+3!+…..+10! ,并输出结果。

编程思路:可以采用for循环完成,因为明显给出了循环次数;求阶乘时要注意每次计算均是上一次的基础上再乘一个大1的整数。

注意累加和sum在循环体外面赋初值0。

#include

void main()

{

float s=0,t=1;

int n;

for(n=1;n<=10;n++)

{

t=t*n;

s=s+t;

}

printf("1!+2!+...+10!=%e\n",s);

}

5-1设数列为1,3,5,7,9,11,13,15,17,19,动态输入在数组array中,然后顺序打印输出该数列,再逆序打印输出该数列。

编程思路:注意各种类型数组的定义以及数组元素的引用方法。逆序打印输出时下标从9开始。两种顺序的输出均采用一重循环来实现。

注意:数组的许多操作均是通过循环来完成的。

#include

#define N 10

void main()

{

int a[N],i,temp;

printf("Enter array a:\n");

for(i=0;i

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

printf("array a:\n");

for(i=0;i

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

for(i=0;i

{

temp=a[i];

a[i]=a[N-i-1];

a[N-i-1]=temp;

}

printf("\nNow,array a:\n");

for(i=0;i

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

printf("\n");

}

5-2将3x3阶二维数组的关于主对角线对称的元素互换。二维数组的第1至3行元素分别为1、2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。

编程思路:将关于主对角线两侧对称位置的元素互换,如a[i][j]和a[j][i] 互换。互换时注意采用中间临时变量进行保存。注意二维数组元素两个下标的范围。

#include

#define N 3

int array[N][N];

void main()

{

int i,j,temp;

printf("enter array:\n");

for(i=0;i

for(j=0;j

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

printf("\noriginal array:\n");

for(i=0;i

{

for(j=0;j

printf("%5d",array[i][j]);

printf("\n");

}

for(i=0;i

for(j=i+1;j

{

temp=array[i][j];

array[i][j]=array[j][i];

array[j][i]=temp;

}

printf("convert array:\n");

for(i=0;i

{

for(j=0;j

printf("%5d",array[i][j]);

printf("\n");

}

}

6-1定义两个字符数组s1、s2,并用赋初值的方法把两个字符串”Computer”和”Language”分别存放到s1、s2中,不用库函数strcat( ),把s2连接到s1的尾部,然后用%s格式输出连接

后的字符串s1。

编程思路:用一重循环逐个判别s1中的元素在何处出现’\0’。再把s2连接到s1出现’\0’开始的位置,这需要用另一个一重循环。注意最后在s1尾部加’\0’。

P75页……

6-2用赋初值的方法把字符串” C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.”存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。

编程思路:用一重while循环,循环控制条件为while(s[i++]!= ’\0’)。在循环体内用5个变量upper、lower、digit、space、comma分别记录大写字母、小写

字母、数字、空格、逗号的个数。进入循环前6个变量的初值都为0。

#include

void main()

{

int i,j,upp,low,dig,spa,com;

char text[1][800];

upp=low=dig=spa=com=0;

{

printf("\n please input text:\n");

gets(text[i]);

for(j=0;j<800&&text[i][j]!='\0';j++)

{

if(text[i][j]>='A'&&text[i][j]<='Z')

upp++;

else if(text[i][j]>='a'&&text[i][j]<='z')

low++;

else if(text[i][j]>='0'&&text[i][j]<='9')

dig++;

else if(text[i][j]==' ')

spa++;

else if(text[i][j]==',')

com++;

}

}

printf("\nupper case:%d\nlower case:%d\ndigit :%d\nspace :%d\ncomma :%d\n",upp,low,dig,spa,com);

}

8-1输入三个整数,按由小到大的顺序输出。(要求使用指针来排序输出)

编程思路:先定义三个整型变量和三个指向整型数据的指针变量pi(i=1,2,3),然后用这三个指针分别指向三个整型变量,输入三个整型变量的值,采用*pi去比较大小和输出。

书P102……

8-2输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。

编程思路:定义int *p,list[10];

令p指向数组的最后一个元素:p=list+9; 或者p=&list[0]+9;

采用循环10次,每次输出*p,然后p--,即前移一个元素。

#include

void main()

{

int *p,list[10];

int i;

printf("input,list:\n");

for(i=0;i<10;i++)

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

p=&list[0]+9;

printf("New:\n");

for(i=0;i<10;i++)

{

printf("%3d",*p);

p--;

}

printf("\n");

}

9-1编写一个函数,它能对一个字符串(“I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度(长度不包含字符串的结束标志)。

编程思路:采用数组和循环来实现,用字符串结束标志‘\0’来控制结束。注意要自己编写一个函数,不能采用strlen( )函数。

#include

int Strlen(char*str);

int main(int argc,char *argv[])

{

char*tmp="I am a student";

printf("Strlen=%d\n",Strlen(tmp));

return 0;

}

int Strlen(char*str)

{

if (!str)

return 0;

int len=0;

char*tmp=str;

while(*tmp!='\0')

{

tmp++;

len++;

}

return len;

}

9-2编一个函数cstrcmp实现两个字符串的比较,具体为

int cstrcmp(char *p1, char *p2)

p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1>s2,则函数返回1;若s1

编程思路:从第一个字符开始,令指针p1,p2指向两个字符串的对应字符,逐个比较其大小:若两个字符串均已经结束,则返回0;

若相同,则两个指针同时后移,指向下一个字符;

若不同,则*p1>*p2返回1, *p1<*p2返回-1。

#include

#include

int main(void)

{

int cstrcmp(char *p1,char *p2);

char s1[20],s2[20];

gets(s1);

gets(s2);

if(cstrcmp(s1,s2)>0)

printf("s1>s2");

else if(cstrcmp(s1,s2)<0)

printf("s1

else

printf("s1=s2");

printf("\n");

return 0;

}

int cstrcmp(char *p1,char *p2)

{

int i;

i=0;

for(;*(p1+i)==*(p2+i);i++)

if(*(p1+i)=='\0')

return 0;

return(*(p1+i)-*(p2+i));

}

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语言程序设计专业班级:13电气工程及其自动化学生学号:13 学生姓名:孙健 所属院部:机电工程学院指导教师:胡盈盈 20 13 ——20 14 学年第二学期 金陵科技学院教务处制 实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明

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

实验项目名称:初级程序设计实验学时: 6 实验地点: A206 实验日期:实验成绩: 批改教师:胡盈盈批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 软件。 三、实验内容与过程 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语言实验答案

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n "); printf(" | |\n"); printf("---+---+---\n "); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么?//The program gets two integers,and

computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,produc t and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=% d\n",a,b,a+b); printf("%d-%d=% d\n",a,b,a-b); printf("%d*%d=% d\n",a,b,a*b); printf("%d+%d=% f\n",a,b,1.0*a/b); //做除法时要注意,除得的

C语言程序设计实验指导(课后习题)参考答案

《实验指导》课后练习题参考答案实验1: 1.主函数 2-4:DDC 5.stdio.h 6-9:CCCC 实验2: 1.double 2-4:ABB 5.2 6-12:CDDDADC 13.! 14.8 15-17:ACC 18.G 19-20:CA 21.5 4 22.x=6c 23-25:DCA 26.0x 27.2.000000 28-29:AB 30.a=3 31.D 32.3.15 33.B 34.double 实验3: 1-3:CCD 4.B 5.2,0 6-8:CAC 9. (1)pass, (2)中 及格 不及格 10-12:ADD 13.2 14.B 15.10 16.6 17.x>=1 && x<=sqrt(10)

实验4: 1.B 2.1 3.A 4.3/5,5/8 5.30 实验5: 1.D 2.(1)9 (2)1 3-5:CDB 6.(1)10 (2)7 7.C 8.(1)x=16 (2)y=8 9.return 实验6: 1-5:CCADA 6.10,20 7.13 11 12 8.7 9.2 10.B 11.(1)3 (2) 1 12-13:CB 14.-31 15.221 16.main函数 17.22 18.(1)return (2)void 实验7: 1.C 2.auto 3.9 4.(1) 4 (2) 0 5.10 6.(1)5 (2) 7 (3) 8 7.C 8.110 9-12:DDBC 13.(1) 1 (2) 3

15.6 720 16.auto 17.48 18.(1)1 (2)2 19.D 20.D 21.5,25 22.6 实验8: 1-2. DD 3. 16 4. (1)0 2 3 (2)2 3 5 (3)7 11 13 5. (1)i<9 (2)j<9-i (3)a[j]=a[j+1] (4)a[j+1]=temp 实验9: 1. D 2. (1)-1 (2)2 3. (1)1 (2)a[i-1][j-1]+a[i-1][j] (3)j<=i 4. (1)1 3 4 5 6 7 (2)3 4 5 6 (3)End of main()! 实验10: 1. 0或NULL 2-5. CACA 6. (1)10 (2)15 (3)19 7. (1)ia[j] (3)”%d”,p+i (4)”%d”, *(p+i) 8. (1)2 6 (2)2 2 (3)4 6 实验11: 1. A 2. C 3. 7 4. (1)strlen(s) (2)s[i]>=’a’ && s[i]<=’z’(3)s[i]+32 (4)’\0’(5)s2[j]!=s2[n2-j-1] (6)j

C语言实验

C语言上机指导指导教师:李辉李晓丽 东北电力大学 电气工程学院 2006年3月

实验2数据类型、运算符和表达式 1.实验目的 掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 进一步熟悉C程序的编辑、编译、连接和运行的过程。 2.实验内容和步骤 (2).在此基础上增加一个语句: printf(“%d%d\n”,c1,c2); 再运行,并分析结果。 (3).再将第2行改为: int c1,c2; 再使之运行,并观察结果。 (4).再将第3、4行改为: c1 = a; /* 不用单撇号*/ c2 = b; 再使之运行,分析其运行结果。

(5).再将第3、4行改为: c1 = ”a”; /* 用双撇号*/ c2 = ”b”; 再使之运行,分析其运行结果。 (6).再将第3、4行改为: c1 = 300; /* 用大于255的整数*/ c2 = 400; 再使之运行,分析其运行结果。 输入并运行教材第3章习题3.6给出的程序 (1).将一个负整数赋给一个无符号的变量,会得到什麽结果。画出它们在内存中的表示形式。 (2).将一个大于32765的长整数赋给整形变量,会得到什麽结果。画出它们在内存中的表示形式。 (3).将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。画出它们在内存中的表示形式。 同学们可以改变程序中各变量的值,以便比较。例如:a = 65580, b = -40000, e = 65535, f = 65580。 输入习题3.10

c语言实验报告 (2)

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语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

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语言实验报告1

《程序设计基础》实验报告

{ float a, b; printf_s("please input cost price of TV:"); scanf_s("%f", &a); b = a*K; printf_s("the current price of TV:"); printf_s("%f", b); return 0; 2、 #include"stdafx、h" int main() { int a, b, c, d, e, f; printf_s("please input three figures:"); scanf_s("%d", &a); b = a / 100; c = a % 100; d = c / 10; e = c % 10; f = e * 100 + d * 10 + b; printf_s("the new three figures:"); printf_s("%d", f); return 0; } 3、 #include"stdafx、h" int main() { float a, b, c, d, e; printf_s("please input scores:\n");

scanf_s("%f%f%f", &a, &b, &c); d = a + b + c; e = (a + b + c) / 3; printf_s("the total scores:"); printf_s("%5、1f\n", d); printf_s("the average scores:"); printf_s("%4、1f\n", e); return 0; } 4、 #include"stdafx、h" int main() { float a, b; printf("please input a number:"); scanf_s("%f", &a); printf_s("the integer part is:"); printf_s("%d\n", (int)a); b = a - (int)a; printf_s("the decimal part is:"); printf_s("%2、1f", b); return 0; } 5、 #include"stdafx、h"

c语言实验答案

c语言实验答案Prepared on 21 November 2021

n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=%d\n",a,b,a+ b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a* b); printf("%d+%d=%f\n",a,b,*a /b); .+1/n!的值。 #include<> void main() { int n,p=1,i; float sum=0; printf("please input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { p=p*i; sum+=p; } printf("sum=%f\n",sum); } .14 p=j; switch(p) umber); for(j=0;j<3;j++) printf("%",stu[i].score[j] ); printf(" ave=%.2f\n",average(stu[i]));umb er); printf("score:"); for(j=0;j<3;j++)scanf("%f",&(stu[i].score[j])); } } void main() { struct student stu[3]; //定义结构体数组 input(stu); //数组名做参数,传递的是地址 output(stu); } //静态链表的建立,有三个学生,包 括学号(sno char(8)),姓名 (sname char(20)),分数(grade float[]), //定义结构体类型数组存学生信息, 使用链表所有学生,实现链表的输入 输出。 //静态的书上有原题目,我写成动态 的了,用子函数的方式实现 #include <> #include<> #include <> struct stu //定义全局结构体 { char sno[8]; char sname[20]; float grade; struct stu *next; } ; //////////////////////////////// //////////////////////// void main( ) { struct stu *creat(struct stu *); void print(struct stu*); struct stu *head; head=NULL; head=creat(head); print(head); }

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

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("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() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18;

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

C语言实验报告3

实验报告 实验名称:最简单的C程序设计——顺序程序设计成绩: 实验日期: 2011 年 10 月 24 日实验报告日期: 2011 年 10 月24 日 实验者:桂婷 一、实验目的 1、掌握C语言中使用最多的一种语句——赋值语句的使用方法。 2、掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 3、进一步掌握编写程序和调试程序的方法。 二、实验内容 1、输入程序并运行结果。 2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编程序,用scanf输入数据,输出计算结果/。 3、计算存款利息。 有1000元,想存5年,可探子以下5种办法存: (1)一次存5年期; (2)先存2年期,到期后将本息再存3年期; (3)先存3年期,到期后将本息再存2年期; (4)存1年期,到期后将本息存再存1年期,连续存5次; (5)存活期存款。活期利息每一季度结算一次。 三、实验步骤: 1、

总结:1、变量在定义时就赋了初值。 2、两次的printf语句输出都指定了要输出数据的长度和小数点。2、 总结:1、程序在定义时只对部分变量赋了初值,这是允许的。 2、在计算时,乘号是用*表示,不能省略。 3、同样,在输出时指定了输出格式,长度,小数点位数。 3、

总结:1、用scanf语句输入数据,要与指定的格式一样。 2、程序用到了数学公式,调用“include ” 4、实验出现的问题、实验结果分析 1、程序在运行时是自上而下同,自左向右的。运到调用函数则会跳 转,但调用完了仍然回到主函数中。 2、printf语句中的常量是按原样输出的。 3、注意赋值语句的使用。 五、实验小结和思考 1、如果在程序2中不指定输出的长度和小数位数,看运行结果。 2、在程序3中不包含“include ”会怎样? 3、程序3若不给变量赋初值会出现什么情况。

c语言实验习题及答案详解

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;, #include<> main() {double b,d; printf("请输入一个小数:"); scanf("%lf",&b); printf("输出原来的数:%f\n",b); b*=1000; b+=; b=(int)b; d=b/1000; printf("输出现在的数:%.3lf\n0",d); } b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30) #include<> main() {int n,sum=0,i,t; printf("请输入一个四位整数:\n"); scanf("%d",&n); for(i=0;i<4;i++) {t=n%10; n/=10; sum+=t*t; } printf("%d\n",sum);

} c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; #include<> main() {char ch; ch='A'; ch=65; ch=0x41; ch=0101; ch='\101'; ch='\x41'; } d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) #include<> main() {int i; for(i=65;i<91;i++) {printf("%c",i); printf("%c",i+32); } printf("\n"); } e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 #include<> main() { double f1,f2; f1=10e-30;

C实验指导书

《C程序设计语言》实验指导书 信息教研室编 西南科技大学计算机科学与技术学院 2006年8月

实验一简单的C语言程序 1.1 实验类型:验证型实验2学时 1.2 实验目的 1、熟悉并学习使用C程序编译平台TurboC; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的C程序; 3、掌握C语言基础数据类型,熟悉变量定义和赋值方法; 4、学会使用C算术运算符和算术表达式; 1.3 知识点介绍 1、C程序的结构。 一个程序有多个程序单位构成,每一个程序单位作为一个文件,编译系统分别对每个程序文件分别编译,然后连接起来形成可执行程序。 在一个程序单位中包含以下几部分: 预处理命令 全局声明部分 函数(有函数首部和函数体组成),一个C必须有一个(而且只能有一个)main()函数。 2、C数据类型和表达式 C有多种数据类型,数据类型隐含着该类数据的表示、存储及处理规则。 C运算符丰富,使用十分灵活。有运算符和括号将运算对象(操作数)连接起来,构成表达式。表达式中混合运算式要注意运算符的优先级和结合性。此外,不同数据类型运算时,存在类型转换(隐式自动转换和强制转换)。 3、C程序的编写实现 用C语言编写程序——对源程序文件进行编译声称目标文件——对目标文件连接形成可执行程序——运行程序得到结果——分析结果。 1.4 实验内容 题目1 最简单的C程序 按提示的操作步骤,输入下面程序代码,编译连接并执行。

[实验提示] 按照操作步骤创建第一个应用: (1)编辑你的第一个C源程序 (2)保存你的源文件 (3)编译、连接得到可执行程序 (4)改正源程序中的错误 (5)运行你的第一个程序 [思考与扩展] 1、如果程序中大小写输入错误如main 写成Main,结果会怎样? 2、编译运行通过后,本程序输出了一行字符,如果还想输出一行字符: "it’s too easy! " 程序代码该如何修改添加? 提示:注意使用换行控制符’\n’ 题目2 简单应用—求圆柱体的体积 输入下面程序代码,编译运行。 [实验提示] 按照第一题的操作步骤新建工程,输入代码,编译连接,执行程序,输入测试数据分析结果是否正确,如有错误改正后再重新编译连接,直到没有错误为止。 [测试数据] 运行时输入: 5 8

C语言实验

实验一C上机环境初识与简单程序设计 一、实验目的 1.了解C编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 4.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。 二、实验内容 1.编写一个C程序,输出以下信息: **************************** very good! **************************** 2. 编写一个程序,从键盘输入圆的半径r,圆柱的高h,分别计算出圆的周 长c1,圆的面积cs,圆柱的体积cv,输出结果是要求保留小数点后3位。 3.编写一个程序,输入一个4位数,分别输出这个数的个位,十位,百位和 千位, 例如:输入1234,则输出为: 1234的个位是:4,十位是:3,百位是:2,千位是:1 三、实验程序清单及结果(程序清单不要截图,拷贝到文档中,结果需要截图,再拷贝到相应的清单后面) #include int main() { printf("*************************\n"); printf("very good! \n"); printf("*************************\n"); return 0; }

2. #include int main() { float r,h; double cl,cs,cv; printf("输入半径r: "); scanf("%f",&r); printf("\n输入高度h: "); scanf("%f",&h); cl=3.14*2*r; cs=3.14*r*r; cv=cs*h; printf("圆的周长cl=%0.3lf",cl); printf("\n圆的面积cs=%0.3lf",cs); printf("\n圆柱的体积cvz=%0.3lf",cv); return 0; }

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

C语言实验指导及报告模板

C语言程序设计

附件1:实验报告模板 C语言程序设计 实验报告 实验一简单的C程序 教学班级:冶金136 学号:01 姓名:张博 课程教师:胡春安实验教师:胡春安 完成时间:2015-2016学年第1学期

实验一简单的C程序 实验时间:2机时 一、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的操作和作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 二、实验意义 通过上机实验,加深对第一章所学基本知识:C语言的基本结构和简单C 程序的理解。通过调试简单的C程序,让学生对C程序的编辑、编译、链接和运行有一个直观的体验和熟悉,激发学习的好奇心和兴趣,为后面的全面学习奠定非常必要的基础。 三、实验内容 1.验证实验 (1)掌握程序的编辑、编译、连接、运行、调试过程,按以下步骤进行实验。 ?输入源程序 #include int main() { float a,b; a=12 b=10; c=a%b; printf("a=%d,b=%d,c=%d",a,b,c); return 0; } ?编译、链接及运行,并记录下列问题: ①您在编辑、编译该程序时,在输出窗口显示了几条错误信息?请记录在实验报告中。 C:\Users\h\Desktop\c\ex1\main.c||In function 'main':| C:\Users\h\Desktop\c\ex1\main.c|6|error: expected ';' before 'b'| C:\Users\h\Desktop\c\ex1\main.c|7|error: 'c' undeclared (first use in this function)| C:\Users\h\Desktop\c\ex1\main.c|7|note: each undeclared identifier is reported only once for each function it appears in| C:\Users\h\Desktop\c\ex1\main.c|7|error: invalid operands to binary % (have 'float' and 'float')| ||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| 错误1:变量b前少了分号“;” 错误2:变量c未定义; 错误3:%运算符运算对象必须是整型数据。

C语言实验三

实验3 顺序程序设计 一、实验目的 1、掌握scanf()、printf()以及其他常用输入/输出函数的使用。 2、掌握格式控制符的使用。 3、掌握顺序结构程序设计的方法。 二、实验内容 1.改错题 (1)下列程序的功能是:输入一个华氏温度,要求输出摄氏温度。公式为:C=5/9(F-32),输出取两位小数。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_1.c保存。 #include stdio.h main() { float c,f; printf(“请输入一个华氏温度:\n”); scanf(“%f”,f); c=(5/9)*(F-32); printf(“摄氏温度为:%5.2f\n”c); } (2)下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_2.c保存。 X=2ab/(a+b)2 #include main() { int a,b; float x; scanf(“%d,%d”,a,b); x=2ab/(a+b)(a+b); printf(“x=%d\n”,x); } (3)下列程序的功能为:从键盘输入一个小写字母,要求改用大写字母输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_3.c保存。 #include main() { char c1,c2; c1=getchar; /*从键盘输入一个小写字母*/ printf(“%c,%d\n”,c1,c1); /*输出该小写字母及其ASCII码值*/

c2=c1+26; /*转换为大写字母*/ printf(“%c,%d\n”,c2,c2); /*输出该大写字母及其ASCII码值*/ } 2. 程序填空题 (1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。补充完善程序以实现其功能。程序以文件名sy3_4.c保存。 输入形式enter x,y:2 3.4 输出形式x+y=5.4 #include main() { int x; float y; printf(“enter x,y: ”); ____________________________________ ____________________________________ } (2)下列程序的功能为:设圆半径r=1.5,圆柱高h=3。求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据r,h,输出计算结果,输出时要求有文字说明,保留小数点后两位。(周长L=2∏r,圆面积s=∏r2,圆球表面积sq=4∏r2,圆球体积vq=4/3∏r3,圆柱体积vz=∏hr2)补充完善程序,以实现其功能。程序以文件名sy3_5.c保存。 #include main() { float pi,h,r,l,s,sq,vq,vz; pi=3.1415926; printf(“请输入圆半径r,圆柱高h:\n”); ______________________; l =____________________; s =____________________; sq=___________________; vq=___________________; vz=___________________; printf(“圆周长为:_______________________________); printf(“圆面积为:_______________________________); printf(“圆球表面积为:___________________________); printf(“圆球体积为:_____________________________); printf(“圆柱体积为:_____________________________);

相关文档