C语言程序设计作业与实验报告.docx

上传人:b****1 文档编号:2701257 上传时间:2023-05-04 格式:DOCX 页数:21 大小:20.12KB
下载 相关 举报
C语言程序设计作业与实验报告.docx_第1页
第1页 / 共21页
C语言程序设计作业与实验报告.docx_第2页
第2页 / 共21页
C语言程序设计作业与实验报告.docx_第3页
第3页 / 共21页
C语言程序设计作业与实验报告.docx_第4页
第4页 / 共21页
C语言程序设计作业与实验报告.docx_第5页
第5页 / 共21页
C语言程序设计作业与实验报告.docx_第6页
第6页 / 共21页
C语言程序设计作业与实验报告.docx_第7页
第7页 / 共21页
C语言程序设计作业与实验报告.docx_第8页
第8页 / 共21页
C语言程序设计作业与实验报告.docx_第9页
第9页 / 共21页
C语言程序设计作业与实验报告.docx_第10页
第10页 / 共21页
C语言程序设计作业与实验报告.docx_第11页
第11页 / 共21页
C语言程序设计作业与实验报告.docx_第12页
第12页 / 共21页
C语言程序设计作业与实验报告.docx_第13页
第13页 / 共21页
C语言程序设计作业与实验报告.docx_第14页
第14页 / 共21页
C语言程序设计作业与实验报告.docx_第15页
第15页 / 共21页
C语言程序设计作业与实验报告.docx_第16页
第16页 / 共21页
C语言程序设计作业与实验报告.docx_第17页
第17页 / 共21页
C语言程序设计作业与实验报告.docx_第18页
第18页 / 共21页
C语言程序设计作业与实验报告.docx_第19页
第19页 / 共21页
C语言程序设计作业与实验报告.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计作业与实验报告.docx

《C语言程序设计作业与实验报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计作业与实验报告.docx(21页珍藏版)》请在冰点文库上搜索。

C语言程序设计作业与实验报告.docx

C语言程序设计作业与实验报告

 

C语言程序设计

作业与实验报告

 

学号:

姓名:

专业班级:

授课教师:

 

计算机基础教研室

 

前言

本册是《C语言程序设计》的配套作业与上机练习,学生应根据课程进度及时认真完成并上交,期末考试后统一存档。

 

 

编者

2010年3月

作业与实验

(一)

一、改错并输出结果

1、#include

voidmain()

{

intx,y=z=5,aver;

x=7;

AVER=(x+y+z)/3;

printf(“AVER=%d\n”,aver)

}

错误语句:

正确语句:

结果:

2、#include

voidmain()

{ 

charc1=’a’,c2=’b’,c3=’c’;

inta=3,b=’A’

printf(“a=%db=\’%c\’\n\”end\”\n”,a,b);

printf(“a%cb%c\bc%c\tabc\n”,c1,c2,c3);

}

错误语句:

 

正确语句:

 

结果:

【实验1】基本输入输出

输入一圆半径r,根据圆面积的公式求圆面积

1.实验目的

(1)熟悉VC上机操作过程;

(2)了解C程序结构;

(3)掌握浮点型变量的定义和使用方法;

(4)学习使用基本算术运算符;

(5)掌握符号常量的定义和使用方法;

(6)熟悉C语言基本输入/输出函数的用法。

2.实验步骤

(1)定义符号常量PI;

(2)定义r为浮点类型变量;

(3)用scanf进行格式化输入;

(4)根据公式计算圆面积;

(5)用printf进行格式化输出;

3.程序

 

评阅人:

评阅日期:

作业与实验

(二)

一、写出程序运行结果

1、#include

voidmain()

{

inta=177;

intb=32767;

printf(“%o\n”,a);

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

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

}

结果是:

 

2、#include

voidmain()

{

intm=32767,n=032767,a=0xabc,b=0xabc;

a-=b;

printf(“%d,%o\n”,m,n);

printf(“%x\n”,a);

}

结果是:

 

3、#include

voidmain()

{

inta;charc=10;

floatf=100.0;doublex=123.45;

printf(“%d%d%3.1f%4.1f\n”,a,c,f,x);

}

结果是_______________

【实验2】从键盘输入一个小写字符,要求输出与其对应的大写字符

1.实验目的

(1)熟悉C程序的编写、编译、运行的过程;

(2)掌握字符型变量的定义和使用方法;

(3)了解字符型数据的存储形式;

(4)学习C语言中字符输入/输出函数的用法。

2.实验步骤

(1)定义变量c1、c2为字符型变量;

(2)用getchar()输入变量c1的值;

(3)将c1转化为大写字符并赋值给c2;

(4)用putchar()输出变量c2的值;

3.程序:

 

评阅人:

评阅日期:

作业与实验(三)

一、写出程序的执行结果

#include

voidmain()

{

inti=2;

floatx=457.898;

printf(“i=%5d,%-8o,%u,%c\n”,i,i,i,i+’E’);

printf(“x=%10f,%10.2f,%-10.4f,%.2f,%f\n”,x,x,x,x,x);

}

结果是:

 

二、改错

#include

voidmain()

{

inta,b;

longc,d;

floate,f;

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

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

}

错误语句:

 

正确语句:

 

结果:

【实验3】基本控制结构

从键盘输入一个字符,判断它是控制字符,还是数字、大写字母、小写字母或是其它字符。

 

1.实验目的

(1)进一步熟悉C语言的基本输入/输出语句;

(2)掌握关系运算符与关系表达式的使用;

(3)熟悉分支语句if的使用方法;

2.实验步骤

(1)定义一个字符型变量c;

(2)用getchar()为变量c赋值;

(3)对该字符进行判断,根据ASCII码表,可以看出;

•c是控制字符:

c<31

•c是数字:

c>=’0’&&c<=’9’

•c是大写字母:

c>=’A’&&c<=’Z’

•c是小写字母:

c>=’a’&&c<=’z’

(3)输出判断结果。

3.程序

 

评阅人:

评阅日期:

作业与实验(四)

一、填空

已知程序

#include

voidmain()

{

inta,b;

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

if(a>b)

if(a>0)printf(“A”);

elseif(b>-5)printf(“B”);

elseprintf(“C”);

printf(“*\n”);

}

写出当输入分别为以下四种情况时的输出结果:

(1)10,5结果是____________

(2)-5,-10结果是____________

(3)0,-3结果是____________

(4)6,7结果是____________

二、求下列程序执行的结果

1、#include

voidmain()

{

intx=1,y=2,z=3;

if(x--)y++,z++;

elsey--;z--;

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

}

结果是___________________

2、#include

voidmain()

{

inta;

scanf(“%d”,&a);

if(a>20)printf(“%d,”,a);

if(a>10)printf(“%d\n”,a);

}

从键盘上输入30后,程序运行结果是______________

【实验4】从键盘输入一个分数,如小于60分,则输出“不及格”;如大于60小于85分,输出“良好”;85分以上则为“优秀”。

1.实验目的熟悉多分支选择语句的用法

2.实验要求用switch语句编写程序

3.程序

 

评阅人:

评阅日期:

作业与实验(五)

一、写出运行结果

1、#include

voidmain()

{

inti=2,j=2;

if(i)

if(j==2){i++;j++;printf(“\ni+j=%d”,i+j);}

else{i--;j--;printf(“\ni-j=%d”,i-j);}

if(i)

for(j=1;j

if(j==i)printf(“\nj=%d\n”,j);

elseprintf(“\nOK!

GOOD!

\n”);

}

结果是:

 

2、#include

voidmain()

{

intdata;

scanf(“%d”,&data);

while(data)

{

printf(“%d”,data%10);

 data=data/10;

}

}

程序运行时,输入12345,则输出结果是______________

二、写出下面四个for语句中的printf(“%d”,a);分别被执行了多少次

1、for(a=1;a<11;a++)

{if(a%3==0)break;

printf(“%d”,a);

}               执行___次

2、for(a=1;a<11;a++)

{if(a%3==0)continue;

printf(“%d”,a);

}               执行___次

3、for(a=1;a<11;a++)

{printf(“%d”,a);

if(a%3==0)break;

}               执行___次

【实验5】编写大奖赛评分程序。

在唱歌等比赛评分时,记分规则为:

去掉一个最高分和一个最低分,再算平均分。

(假定有7个评委)

 

1.实验目的

(1)掌握do-while循环语句或for循环语句;

(2)学会循环与分支语句的嵌套;

(3)进一步熟悉关系运算符和关系表达式。

2.实验步骤

(1)定义4个整型变量score,max,min和sum,用于存储分数、最高、最低和分数和,初值均为0;

(2)用循环语句输入各评委打分;

(3)在循环的内嵌语句中完成分数的累加并用if语句找出最高和最低分数;

(4)循环结束,从分数和中减去最高和最低分数后求平均;

(5)输出平均分数。

3.程序

 

评阅人:

评阅日期:

作业与实验(六)

将一个数列头尾颠倒,如原数组为1,2,3,4,5,则新数组为5,4,3,2,1。

 

1.实验目的

(1)掌握数组的定义方法;

(2)掌握数组初始化的方法;

(3)掌握数组元素的输入输出方法;

(4)学习通过循环实现数组的遍历。

2.实验步骤

(1)定义一个数组并初始化;

(2)通过使用for循环实现数组的第一个元素和最后一个元素对调,第二个元素和倒数第二个元素对调,依次类推;

(3)通过for循环输出数组颠倒后的结果。

3.程序

 

评阅人:

评阅日期:

作业与实验(七)

一、填空

问题:

本程序输出以下结果:

123456

112345

121234

133123

146412

15101051

程序:

#include

voidmain()

{ inta[6][6],i,j;

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

{ for(j=0;j<6;j++)

{ if(________)a[i][j]=1;

elseif(i

elsea[i][j]=_________________;

printf(“%4d”,a[i][j]);

}

printf(“\n”);

}

}

二、写出程序的运行结果

1、#include

voidmain()

{ inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

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

printf(“%d”,x[i][2-i]);

printf(“\n”);

}

运行结果是_______________________

2、#include

#include

voidmain()

{ charstr[]=”ab\n\012\\”;

printf(“%d”,strlen(str));}

运行结果:

_______________________

【实验7】计算一个整型4*4的数组边框位置元素的和(即第0行、第3行和第0列、第3列元素的和)。

 

1.实验目的

(1)掌握二维数组的定义方法;

(2)进一步熟悉二重循环的使用;

(3)进一步熟悉if语句在循环体中的使用;

(4)掌握二维数组元素的输入和输出。

2.实验步骤

(1)定义一个二维数组;

(2)利用二重循环为数组元素赋值;

(3)利用if语句对符合条件的元素累加;

(4)输出累加结果。

3.程序

 

评阅人:

评阅日期:

作业与实验(八)

一、写出程序运行结果

1、#include

intt(intx,inty,intc)

{ c=x*x+y*y;

returnc;

}

voidmain()

{inta=3,b=4,c=5;

printf(“%d,%d\n”,c,t(a,b,c));}

运行结果是:

________________

2、#include

intfunc(inta,intb)

{return(a+b);}

voidmain()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf(“%\d\n”,r);}

运行结果是:

_____________

3、#include

voidfunc1(inti);

voidfunc2(inti);

charst[]=”hello,friend!

”;

voidfunc1(inti)

{ printf(“%c”,st[i]);

if(i<3){i+=2;func2(i);}

}

voidfunc2(inti)

{ printf(“%c”,st[i]);

if(i<3){i+=2;func1(i);}

}

voidmain()

{ inti=0;func1(i);

printf(“\n”);

}

结果是______________

【实验8】函数

定义一个函数,判断一个数是否为素数

 

1.实验目的

(1)掌握函数的定义方法;

(2)掌握函数的声明方式;

(3)掌握函数的调用方式;

(4)理解形参和实参的值传递关系。

2.实验步骤

(1)声明函数judge,以一个整型变量作为形参表示被判断的数;

(2)在main函数定义一个变量,并赋值;

(3)以此变量作为实参,调用judge函数;

(4)根据judge函数的返回值输出是否为素数的信息。

3.程序

 

评阅人:

评阅日期:

作业与实验(九)

一、写出程序运行结果

1、#include

Intfunc(inta,intb)

{ staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

voidmain()

{ intk=4,m=1,p;

p=func(k,m);printf(“%d,”,p);

p=func(k,m);printf(“%d\n,”,p);

运行结果是________________________

2、#include

intd=1;

intfun(intq)

{ intd=5;

d+=q++;

printf(“%d”,d);

}

voidmain()

{ inta=3;

fun(a);

d+=a++;

printf(“%d\n”,d);

}

运行结果是__________________

3、#include

longfib(intn)

{ if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);

}

voidmain()

{printf(“%d\n”,fib(3));}

运行结果是_____________________

【实验9】编写一个函数,实现对一个数组元素从大到小排序。

 

1.实验目的

(1)理解数组名作为实参时的地址传递关系;

(2)理解形参和实参的匹配关系;

(3)理解函数返回值的概念;

(4)掌握选择法排序的方法。

2.实验步骤

(1)在voidmain()定义一个数组并初始化;

(2)以该数组名作为实参调用排序函数sort();

(3)输出排序后数组元素的值;

(4)定义一个排序函数sort,用一个数组做形参,用选择法排序。

3.程序

 

评阅人:

评阅日期:

作业与实验(十)

写出程序运行结果

1、#include

voidmain()

{inta[]={5,6,7,8},i;

func(a);

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

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

}

func(intb[])

{intj;

for(j=0;j<4;j++)b[j]=j;

}

结果是______________________________

2.#include

voidmain()

{inti;

for(i=1;i<=4;i++)

f(i);

}

f(intj)

{staticinta=10;

intb=1;

b++;

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

a+=10;

}

结果是________________

【实验10】编写一个函数,判断某一个数是否为水仙花数。

所谓“水仙花数”是指一个三位数,其各位数字立方之和等于该数本身,例如:

13+53+33=153。

打印出所有的水仙花数。

 

1.实验目的

(1)进一步熟悉循环语句的使用;

(2)进一步掌握数值传递的函数调用;

2.实验步骤

(1)定义一个以整型变量为形参的函数judge();

(2)分解形参的各位数字;

(3)如各位数字的立方和等于该数本身,则函数返回1,否则返回0;

(4)main()函数用for循环从100到999依次调用judge函数,如返回值为1,则输出该数。

3.程序

 

评阅人:

评阅日期:

作业与实验(十一)

一、判断下列语句哪些是合法的?

哪些是非法的?

(合法的在前面打勾)

已知inti,a[5],*p;

1、p=*a;2、p=&i;

3、p=&(i+1);4、p=&i++;

5、p=&a;6、p=a+3;

7、p=a[3]; 8、p=&a[5];

二、选择题:

1、设有语句:

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则以下___不是对a数组元素的正确引用,其中0≤i<10。

A)a[p-a]B)*(&a[i])

C)p[i]D)*(*(a+i))

2、设有语句:

charstr1[]=”string”,str2[8],*str3,*str4=”string”,则___不是对库函数strcpy的正确调用,此库函数用于复制字符串。

A)strcpy(str1,”HELLO1”);B)strcpy(str2,”HELLO2”);

C)strcpy(str3,”HELLO3”);D)strcpy(str4,”HELLO4”);

【实验11】指针

求一个数组中元素的最大值

 

1.实验目的

(1)了解指针的概念;

(2)掌握指针运算符的用法;

(3)掌握指向数组的指针的定义与引用;

(4)明确变量的值和变量地址的不同;

2.实验步骤

(1)定义一个函数finder(),形参是一个整型指针和数组元素的个数;

(2)定义一个整型变量max,存放最大值;

(3)用for循环依次把指针指向的当前元素的值与max比较,如比max大,则把该元素的值保存到max中;

(4)返回max的值;

(5)main()函数定义一个数组,用指针方法给数组元素赋值,用数组名作为实参调用finder()函数,输出函数的返回值。

3.程序

 

评阅人:

评阅日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2