C实验Word格式文档下载.docx

上传人:b****3 文档编号:16569291 上传时间:2022-11-24 格式:DOCX 页数:30 大小:25.79KB
下载 相关 举报
C实验Word格式文档下载.docx_第1页
第1页 / 共30页
C实验Word格式文档下载.docx_第2页
第2页 / 共30页
C实验Word格式文档下载.docx_第3页
第3页 / 共30页
C实验Word格式文档下载.docx_第4页
第4页 / 共30页
C实验Word格式文档下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C实验Word格式文档下载.docx

《C实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C实验Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。

C实验Word格式文档下载.docx

,c1,c2,c3,c4);

/*数据以原进制输出,注意是否有前导0或0x?

*/

c1=%c,c2=%c,c3=%c,c4=%c\n"

/*结果都是什么字符?

,也就是说字符可以自由的表示成几种形式?

c1=%d,c2=%d,c3=%d,c4=%d\n"

/*看看这些字符的10进制ASCII码哦,ASCII码一样,同一种字符*/

/*字符型数据参与算术运算*/

c=c1+32;

/*字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/*参与数学运算;

结果还是一个整数-另外一个字符的ASCII码*/

c=%c,c=%d\n"

c,c);

/*看看这个字符是什么?

哇,'

+32='

m'

了,看看ASCII码表,原来如此!

结果:

x=10,y=10,z=10

x=8,y=10,z=16

c1=M,c2=4d,c3=115,c4=77

c1=M,c2=M,c3=M,c4=M

c1=77,c2=77,c3=77,c4=77

c=m,c=109

实验二顺序结构程序设计

一、实验目的:

1.掌握顺序结构程序设计

2.掌握赋值语句的用法

3.熟练地进行数据输入和输出

1、已知:

a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。

试编程上机验证。

提示编程要点:

(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;

(2)程序先给几个变量赋初值,然后将表达式赋值给变量r;

(3)最后打印变量r的值就是表达式的值。

程序:

inta=2,b=3;

floatx=3.9,y=2.3;

floatr;

r=(float)(a+b)/2+(int)x%(int)y;

%f\n"

r);

3.500000

2、分析下面程序结果,并上机验证。

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

i=%d,j=%d,m=%d,n=%d\n"

i,j,m,n);

i=9,j=11,m=9,n=10

3、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

从键盘如何输入?

inta,b;

floatx,y;

charc1,c2;

scanf("

a=%db=%d"

&

a,&

b);

%f%e"

x,&

y);

%c%c"

c1,&

c2);

a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n"

a,b,x,y,c1,c2);

}

4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

\n%c,%c"

c1,c2);

实验三选择结构程序设计

1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);

2.学会正确使用逻辑运算符和逻辑表达式;

3.掌握if语句和switch语句的应用。

(1)掌握各种格式转换符的正确使用方法,输出结果。

inta=5,b=7;

floatx=67.8564,y=-789.124;

charc='

A'

;

longn=1234567;

unsignedu=65535;

%d%d\n"

a,b);

%3d%3d\n"

%f,%f\n"

x,y);

%-10f,%-10f\n"

%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n"

x,y,x,y,x,y);

%e,%10.2e\n"

%c,%d,%o,%x\n"

c,c,c,c);

%ld,%lo,%x\n"

n,n,n);

%u,%o,%x,%d\n"

u,u,u,u);

%s,%5.3s\n"

"

COMPUTER"

);

(2)1.从键盘任意输入一个年号,判断它是否是闰年。

若是闰年,输出“Yes”,否则输出“No”。

已知符合下列条件之一者是闰年:

(1)能被4整除,但不能被100整除;

(2)能被400整除。

intmain()

intyear,flag;

Enteryear:

"

scanf("

%d"

&

year);

if(year%4==0&

&

year%100!

=0||year%400==0)

{

flag=1;

}

else

flag=0;

if(flag)

printf("

Yes\n"

No\n"

(3)编程序:

输入4个整数,要求按由小到大的顺序输出。

(要求文件名:

3_4.c)

intt,a,b,c,d;

%d,%d,%d,%d"

b,&

c,&

d);

a=%d,b=%d,c=%d,d=%d\n"

a,b,c,d);

if(a>

b){t=a;

a=b;

b=t;

c){t=a;

a=c;

c=t;

d){t=a;

a=d;

d=t;

if(b>

c){t=b;

b=c;

d){t=b;

b=d;

if(c>

d){t=c;

c=d;

%d,%d,%d,%d\n"

实验四选择/循环结构程序设计

1.熟练掌握switch语句中break语句的作用;

2.初步掌握循环结构的使用;

3.掌握while语句的应用。

(1)编程序,并给出程序的运行结果,注意思考case中break的用法以及为什么是这样的结果?

intx=2,y=1,a=1,b=2;

switch(x)

case2:

switch(y)

{

case1:

a++;

case2:

b++;

break;

}

case3:

%d%d\n"

(2)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

string.h>

charc;

intletter=0,digit=0,space=0,other=0;

pleaseinputstring:

while((c=getchar())!

='

\n'

if(c>

a'

c<

z'

||c>

Z'

letter++;

elseif(c>

0'

9'

digit++;

elseif(c=='

'

space++;

elseother++;

letter,digit,space,other);

实验五循环结构程序设计

1.掌握for语句的应用;

2.理解while、for语句的相同及不同之处;

3.掌握嵌套循环程序设计;

4.掌握break和continue的用法。

(1)输入两个正整数m和n,求它们的最大公约数和最小公倍数。

intmain()

intx,y,i,m,max;

%d,%d"

if(x>

y)

m=x;

else

m=y;

for(i=1;

i<

=m;

i++)

if((x%i==0)&

(y%i==0))

max=i;

%d\n"

max);

x*y/max);

(2)从键盘输入一个int类型的正整数,输出它的所有因子。

如输入6,输出1,2,3;

输入20,输出1,2,4,5,10。

intx,i;

x);

for(i=1;

x;

if(x%i==0)

i);

(3)编程计算

的值。

intsign=1;

doublesum=1;

doubledeno=2;

doubleterm=1;

while

(1)

sign=(-1)*sign;

term=sign*(1/deno);

sum=sum+term;

deno++;

if(deno<

=100)

break;

%lf\n"

sum);

实验六数组的使用

1.掌握一维、二维数组的定义、引用、应用

2.掌握字符数组的定义、引用、应用

3.掌握字符串处理函数

(1)给出下面程序的结果,思考为什么?

intmain()

chara[]="

Chinaren"

b[]="

Tiananmen"

char*p1,*p2;

intk=0;

p1=a;

p2=b;

for(k=0;

k<

10;

k++)

if(*(p1+k)==*(p2+k))

printf("

%c"

*(p1+k));

\n"

(2)有一个3×

4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

#defineM3

#defineN4

intmain()

intmax,i,j,r,c;

inta[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;

M;

i++)

for(j=0;

j<

N;

j++)

if(a[i][j]>

max)

{

max=a[i][j];

r=i;

c=j;

}

max=%d,row=%d,colum=%d\n"

max,r,c);

return0;

(3)编程序用于读入10个字符串,然后找出最大的字符串并打印。

main()

charstr[10][80],maxstring[80];

inti;

Entertenstrings:

for(i=0;

i<

i++)

scanf("

%s"

str[i]);

strcpy(maxstring,str[0]);

for(i=1;

if(strcmp(str[i],maxstring)>

0)

{

strcpy(maxstring,str[i]);

}

Themaxstringis:

%s\n"

maxstring);

(4)给出下面程序的运行结果,思考为什么?

inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

inti,j,s=0;

4;

{

j++)

if(a[i][j]<

0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

(5)测试二维数组的各个地址值,结果是什么。

#defineM3

#defineN4

inta[M][N];

%x\n"

a);

a[0]);

for(inti=0;

for(intj=0;

%x,"

a[i][j]);

实验七函数的应用

1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。

2.了解主调函数和被调函数之间的参数传递方式。

voidswap(intx,inty)

intt;

t=x;

x=y;

y=t;

%d%d"

inta=5,b=7;

swap(a,b);

%d%d\n"

(2)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。

intprime(intnumber);

intnumber;

pleaseinputanum:

number);

if(prime(number))

%disprime!

number);

%disnot!

!

intprime(intnumber)/*此函数用于判别素数*/

intflag=1,n;

for(n=2;

n<

number/2&

flag==1;

n++)

if(number%n==0)

flag=0;

return(flag);

(3)求两个整数的最大公约数和最小公倍数。

写一个函数求最大公约数。

intmax_ys(intx,inty);

intx,y,i,max;

max=max_ys(x,y);

intmax_ys(intx,inty)

inti,m,max;

if(x>

m=x;

else

m=y;

if((x%i==0)&

max=i;

return(max);

(4)写一函数,输入一个十六进制数,输出相应的十进制数。

math.h>

longchange(charshu[])

longi,k,sum=0;

k=strlen(shu)-1;

for(i=k;

i>

=0;

i--)

if(shu[i]>

=48&

shu[i]<

=57)

sum=sum+(shu[i]-48)*pow(16,k-i);

elseif(shu[i]>

=65&

=70)

sum=sum+(shu[i]-55)*pow(16,k-i);

=97&

=102)

sum=sum+(shu[i]-87)*pow(16,k-i);

else

error!

break;

returnsum;

charstr[100];

longs;

gets(str);

s=change(str);

if(!

s)

Thenumberisnotox\n"

change:

%ld\n"

实验八指针的应用

1.掌握指针变量的定义与引用。

2.熟练使用函数指针、数组指针、字符串指针编写应用程序。

(1)输入三个整数,按由小到大的顺序输出,然后将程序改为:

输入三个字符串,按由小到大顺序输出。

(输入三个整数,按由小到大的顺序输出)

voidswap(int*p1,int*p2);

intn1,n2,n3,*p1,*p2,*p3;

%d,%d,%d"

n1,&

n2,&

n3);

p1=&

n1;

p2=&

n2;

p3=&

n3;

if(n1>

n2)swap(p1,p2);

n3)swap(p1,p3);

if(n2>

n3)swap(p2,p3);

theorderis:

%d,%d,%d\n"

n1,n2,n3);

voidswap(int*p1,int*p2)

inttemp;

temp=*p1;

*p1=*p2;

*p2=temp;

(输入三个字符串,按由小到大顺序输出)

voidswap(char*p1,char*p2);

chars1[20],s2[20],s3[20];

char*ps1=s1,*ps2=s2,*ps3=s3;

ps1);

ps2);

ps3);

if(strcmp(ps1,ps2)>

0)swap(ps1,ps2);

if(strcmp(ps1,ps3)>

0)swap(ps1,ps3);

if(strcmp(p

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

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1