C程序设计复习资料(含答案)_第1页
C程序设计复习资料(含答案)_第2页
C程序设计复习资料(含答案)_第3页
C程序设计复习资料(含答案)_第4页
C程序设计复习资料(含答案)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计复习要点

第一章概述

i.C程序的构成与结构特点

2.C程序上机调试过程与流程

其次章数据类型、运算量与表达式

1.数据类型的种类(基本数据类型和构造数据类型)

2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)一一整、实、字符、字符串和转义字

3.变量的命名、定义方法与赋初值

4.各种表达式及其运算规则一一优先级、结合性、类型自动转换与强制转换

•算术运算符、表达式及其构造(留意和“%”特别性)

•自增、自减运算符及其简洁表达式运算

•赋值运算符及其表达式(留意复合赋值运算符的运算方法)

•逗号运算符及其表达式

第三章流程限制

1.赋值语句的•般形式、赋值过程及赋值规则(留意左右数据类型的•样或兼容)

2.输入和输出函数的格式、功能及用法(只要求常用的格式限制符d,f,c,s),提示留意:

•格式输出中域宽和小数位数的限制

•格式输入与输出中一般字符的原样输入和输出问题

•熟悉并区分以下函数:putchar()>printf。、puts();getchar()>scanf()、gets()

3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合

性)

4.关系表达式与逻辑表达式的沟造(依据己知条件写表达式)

5.if语句的三种形式:if…语句、if…else-语句、if语句的嵌套

•if语句的格式与用法:简洁if、嵌套if、并列if

•逻辑关系与执行过程

•嵌套规则(重点驾驭if…else…if…else…if…else)

6.switch语句的格式与用法

7.*娴熟运用if和switch语句阅读和编写较为简洁的选择结构程序

8.三种循环语句:while。…、do…while。、for。的格式、执行过程及其用法

•循环变量初始化、循环条件构造、循环体所要实现的任务和限制变量修改

•留意循环期间与结束时循环限制变量的取值问题

9.结合例题理解和区分break与continue语句的作用及其用法

10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等

1L*娴熟运用三种循环语句并结合以上算法阅读和编写较为简洁的循环结构及其嵌套程序

第四章困难数据类型

1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)

2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)

3.常用字符串处理函数:gets()Nputs。、slrlen。、sircmp。、scrcpyO

4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等

5.水娴熟运用数组并结合以上算法阅读和编写较为简洁的程序

6.指针的概念:指针、指针变量、指针运算(*、&、++、“、+、-)

7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)

8.了解指针数组与二级指针的概念和定义

9.才能够阅读并理解运用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求

长度等)

10.结构体与共用体的概念、定义与引用(仅限概念)

第五章结构化程序设计与应用

1.熟悉程序的三种基本结构:农次、选择和循环

2.水通过其中部分例题驾驭选择、循环语句的运用以及循环和数组涉及的主要算法

第六章函数与编译预处理

I.驾驭函数的定义、声明和调用方法及参数传递方式

2.*结合相关例题驾驭一般函数和递归函数的定义与运用

3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期

4.了解内部函数与外部函数的定义及调用规则

5.驾驭宏定义与宏绽开(重点驾驭带参数宏的定义与绽开)

6.了解文件包含的作用及其运用场合

第七章文件

1.了解文件的概念

2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提示:以上带*部分主要涉

及程序阅读、程序填空和编写程序,其余部分主要以选择加概念填空题出现

C语言程序设计参考题型

说明:★本题仅反映考试的题型,作为考前复习参考。

★要通过这些典型题目,驾驭复习要点中所列内容。所给题目不行死记硬背,而是通

过题目驾驭其涉及要点和重要算法。

一、单项选择题

1.C程序的基本构成单位是[C]

A)文件B)叮嘱C)函数D)语句

2.下列叙述中错误的是[C)

A)C程序中main()函数的位置可以随意

B)C程序可以由多个程序文件组成,而一个程序文件又可以由一个或多个函数组成

C)每个程序文件都有一个main()函数

D)C程序总是从main。起先执行,也是由它结束

3.将C源程序转换为目标程序的过程称为[B]

A)编辑B)编译C)连接D)运行

4.C语言中最基本的数据类型包括[B]

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、逻辑型、字符型D)整型、实型、字符串型

5.以下不合法的用户标识符是[C]

A)j2_KEYB)DoubleC)4dD)_8_

6.C源程序中不能表示的数制是[A]

A)二进制B)八进制C)十进制D)十六进制

7.以下合法的字符常量的是[A]

A)、xl3'B)'087C)'65'D)"\n"

8.以下选项中,能用作数据常量的是[D]

A)0115B)0118C)1.5el,5D)115L

9.C语言中,要求运算对象必需是整型数据的运算符是[A]

A)%B)/C)\D)&&

10.表示数学关系“x2y2z”的C语言表达式是[C]

A)x>=y>=zB)x>=y||y>=zC)x>=y&&y>=zD)x2y2z

IL若变量均已正确定义并赋值,以下合法的C语言赋值语句是【A1

A)x=y==5;B)x=n%2.5;C)x+n=j;D)x=5=4+l;

12.设有定义:intk=O;以下选项的四个表达式中与其他三个表达式的值不相同的是[A]

A)k++B)k+=lC)++kD)k+l

13.若有代数式:

3cle

be

以下错误的C语言表达式是[C]

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3

14.设变量a是整型,f是实型,i是双精度型,则表达式10+才+i*f值的数据类型为[C]

A)in(B)floatC)doubleD)不确定

15.若p和x已经正确定义,x已赋值,并且p=&x,则下列关系表达式之值为1的是[B]

A)p==xB)*p==xC)&p==xD)*x==p

C)if(x!=y)scanf("%d\&x)elsescanf(M%d",&y);D)if(x<y){x++;y++;}

26.以下程序的输出结果是【C

voidmain()

{intx=2,y=-1,z=2;

if(x<y)

if(y<0)z=0;

elsez+=l;

printf("%d\n",z);

1

A)0B)1C)2D)3

27.以下能正确计算1X2X3X…X10的程序段是【A

A)i=l,s=I;B)s=l;i=l;

dowhile(i<=10)

(s=s*i;i++;)s=s*(++i);

while(i<l1);

C)for(i=1,s=0;i<=10;i++)D)for(i=l,s=l;;i++)

s=s*i;s=s*i;

28.若j为整型变量,则以下循环执行次数是【C

for(j=0;j==0;)prinlf("%d"J-);

A)无限次B)0次C)I次D)2次

29.若有说明:inta[10];则对a数组元素的正确引用是【C

A)a[3.5]B)a(8)C)a[6-5]D)a[10]

30.若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是【B

A)*pB)x[5]C)*(p+l)D)*x

3LC中,一个char类型的数据在内存中占用的字节数是【A

A)1B)2C)4D)8

32.设有程序段:

intk=5;

while(k<=0)

k-;

则下列描述中正确的是【C

A)while循环执行5次B)循环是无限循环

C)循环语句一次也不执行D)循环体语句执行一次

33,下面程序段的运行结果是【B

charc[5]={'a','b\'\0\'\0'};

printf("%s”,c);

A)'a"b'B)abC)AbeD)"abc"

34.以下不正确的字符串赋值语句是【C

A)char*s;s="abcde";B)chars[]="abcde";

C)chars[10];s=,,abcde";D)char*s="abcde";

35.设pl、p2是指向int型一维数组的指针变量,k为ini型变量,以下错误的语句是【B

A)k=*pl+*p2;B)p2=k;C)pl=p2;D)k=p2-pl;

36.下面程序的输出结果是【A

voidmain()

{charsi]="ARCDn;

char*p;

for(p=s;p<s+4;p++)

printf(u%s\n,\p);

A)ABCDB)AC)DD)ABCD

BCDBCABC

CDCBAB

DDAA

37.以下关于C函数的定义和调用描述正确的是[B]

A)函数的定义可以嵌套,但函数的调用不行嵌套

B)函数的调用可以嵌套,但函数的定义不行嵌套

C)函数的定义和调用均可以嵌套

D)函数的定义和调用均不行嵌套

38.以下关于变量的存储类型和作用域说法错误的是[C]

A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值

B)静态局部变量的生存期虽然被延长,但作用范围照旧只限于所在函数内有效

C)寄存器变量主要用于运用频度较高的变量,其资源照旧运用计算机内存

D)外部变量可以跨文件运用,但静态外部变量不允许跨文件运用

39.以下关于变量的作用域叙述不正确的是[D]

A)在函数内部定义的变量是局部变量

B)函数中的形式参数是局部变量

C)局部变量的作用范围仅限于其所在函数或复合语句

D)全局变量的作用范围仅限于其所在的文件

40.以下关于C函数参数说法不正确的是[B]

A)实参可以是常量、变量和表达式B)形参可以是常量、变量和表达式

C)实参和形参可以为随意数据类型D)实参与对应的形参类型一样

41.以下关于C函数返回值的叙述正确的是[D]

A)被调函数中只有运用return语句才能返回主调函数

B)运用一个return语句可以返回多个函数值

C)函数返1可值类型取决于return语句中的表达式类型

D)函数返回值类型取决于定义该函数时所指定的类型

42.以下数组定义中错误的是[B]

A)intx[][3]={0};B)intx[2][3]={{1,2}.{3,4},{5,6}};

C)intx[J[3J={{l,2,3),(4,5,6}};D)intx⑵[3]={1,2,3,456};

43•若有定义语句:chars[10]="1234567\0\0”;则strlcn⑸的值是[A]

A)7B)8C)9D)10

44.给定以下程序段:

intn=10;

while(n>6)

{n-;

printf("%3d”,n);

)

以上程序段输出结果是【Dl

A)1098B)987C)10987D)9876

45.若i.j已定义为血型,则以下程序段中内循环总的执行次数是rc】

for(i=5;i>0;i-)

for(j=l;j<6;j++)

{……}

A)30B)24C)25D)20

46.若已定义:m=3.14159;则使p指向m正确的赋值语句是[B]

A)p=m;B)p=&m;C)*p=m;D)*p=&m;

47.若已定义:chars[10];则下面表达式中不能作为s[l]地址的是[A]

A)s++B)s+1C)&s[0]+lD)&s[l]

48.已知:inta=3,b=5,t;要将a和b中的数值进行交换,埼送的程序段是[CJ

A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;

C)t=a;b=a;a=t;D)t=b;b=a;a=t;

49.关于C程序中的#由己11(怕vmalh.h>,错误的描述是[D]

A)它是C语言的预编译叮嘱B)在程序中该行尾部不须要分号

C)用于将math.h包含进来D)math.h是一个函数

50.下列C程序段的输出结果是[C]

inta=0;

switch(a)

(case0:prinlf("a=0”);

case1:printf("a=l”);

default:printf(44defaulf,);

)

A)a=0B)a=OdefaultC)a=0a=ldefaultD)default

51.己知:inia,x,y;有语法箱送的C语句是[B]

A)while(x)y++;B)while(x+y=0)a++;

C)\vhilc(x<y);D)whilc(y=5)++x;

52.对于do...while。语句,第他的说法是[C]

A)用条件限制循环体的重复执行B)循环体至少要执行一次

C)循环体有可能一次也不执行D)循环体中可以包含若干条语句

53.已知:inta,x,y;有语法母i吴的C语句是[B]

A)while(x)y++;B)while(x+y=0)a++;

C)while(x<y);D)while(y=5)++x;

54.已知:inia[5],*p=a;利用p为数组元素a[4]赋值的正确C语句是[B]

A)scanf("%d”,p+3);B)scanf("%d”,p+4);

C)scanf("%d”,*(p+3));D)scanf("%d”,*(p+4));

55.对于C语句:char*a[2]={“abcd”,“ABCD”};叙述正确的是[B]

A)a是指针变量B)a是指针数如C)a是数组指针D)a是字符串

56.设有如下说明语句:

structex

{intx;floaty;charz;}example;

则下面叙述中不正确的是[B]

A)smict是结构体类型的关键字B)example是结构体类型名

C)x,y,z都是结构体成员名D)structex是结构体类型名

57.有以下程序

#include<stdio.h>

structord

{intx,y;)dt[2J={l,2,3,4);

voidmain()

{structord*p=dt;

prinlf(“%d,”,++p->x);prinif("%d\n”,++p->y);

}

程序的运行结果是[B]

A)i,2B)2,3C)3,4D)4,1

58.设有以下定义[D]

uniondata

{shortintdl;chard2;}demo;

则下面叙述中错误的是一。

A)变星demo与成员dl所占的内存字节数相同

B)变量demo中各成员的地址相同

C)变量demo和各成员的地址相同

D)若给demo.dl赋256后,demo.d2中的值是256

59.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为【B:

A)EOFB)非0值C)0D)NULL

60.读取二进制文件的函数调用形式为:fread(buffer,size,couni,fp);其中buffer代表的是[C]

A)一个文件指针,指向待读取的文件

B)一个整型变量,代表待读取的数据的字节数

C)一个内存块的首地址,即读入数据存放的地址

D)一个内存块的字节数

二、填空题

I.赋值,表达式x*=y+5的另一种书写形式为x=x*(y+5)。

2.已知a=10,b=20,c=3,则去达式!a>bIIc的值为1。

3.表达式(int)((double)(5⑵+2.5)的值是4。

4.若j=3,则表达式(++j)+(i++)的值为8。

5.若a的原值为4,则表达式%*=a-=3”运算后,a的值是1

6.若a=5、b=3、c=l,则表达式“a>b>c”的值为0。

7.若有定义:

inta=7;

floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的侑为2.5。

8.整数m既能被3整除又能被4整除的逻辑表达式为(m%3==0)&&(m%4==0),

9.写出代数式0<x<l的C逻辑表达式为一(0<x)&&(x<l)

10.写出推断字符变量c所存字符是否为字母的逻想•表达式为c>=.a'&&c<='z'||c>='A'&&c<Z

11实现变量a和h交换的语句或语句序列是a=a+h:h=a-h:a=a-h:..

12.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:

a=7

b=9

请完成输出语句:DrinifTa=%d\nb=%d".a.b):

13.若有定义:doubleallOJ[5J;则数组a中行下标最大值为9,列下标最大值为4。

14.若有定义:inia[]={146,5,8,9};则*(a+5)的值为9。

15.设有如下定义inta[5][6],*p;使p指向数组元素a[4]⑵的语句为p=&a⑷⑵;。

16.若有定义:inta[10].*p=a:则元素al51的佰用p表示的形式星*(D+5)。

17.若有定义:inl*p[4];则标识符D表示长度为4的一维指针数组。

18.凡是函数中未指定存储类型的局部变量,其默认的存储类型为autoo

19.函数有内部函数和外部函数,函数定义时用来说明该函数仅限本文件调用的关键字是static。

20.未加特别说明(说明为静态)的全局变量是外部变量,能被其它文件运用,而在引用它的文件中,须

要用关键字extern说明。

三、程序填空

I.下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母

则干脆输出,请在处填上合适内容,使程序完整。

include<stdio.h>

voidmain()

{charch;

ch=ge(char();

if(ch>=,A,&&ch<='Z)

ch+=32;

prinlf("%c”,ch);

}

2.下面程序的功能是:求1〜10()间的偶数和,请在处填上合适内容,使程序完整。

#include<stdio.h>

voidmain()

{intnum,sum=0;

for(num=2;num<=100;num=num+2)

sum=sum+num;

printf("l-IOO间的偶数和是:%d\n",sum);

I

3.下面程序段是求n!的递归函数,请将函数补充完整。

doublefac(intn)

{doubleresult;

if(n==1)

resull=l;

else

result=n*fac(n-l);

relum(resull):

4.以下程序的功能是:输入一整数n,推断是否为素数。

#include<stdio.h>

voidmain()

{inti,n;

scanfC%d'\&n);

for(i=2;i<n;i++)

if(n%i==0)

break;

if(i>=n)

printf("%disaprimenumber.\n,\n);

else

prin(f(44%disnotaprimenumberin'',n);

I

5.如下程序实现字符串逆序,请在处填上合适内容,使程序完整。

#include<stdio.h>

//includeysiring.h>

voidmain()

{char*p1,*p2,c,s[50];

scanf("%s”,s);

pl=s;

p2=s+strlen(s)-l;

for(;pl<p2;pl++,p2-)

(

c二一D1:♦-1二*p2:*p2=c;

)

print^Thenewstringis%s\n'\s);

)

6.如下程序推断字符串是否回文,请在处填上合适内容,使程序完整。

#includc<stdio.h>

#include<string.h>

voidmain()

{char*p1,*p2,c,s[50];

gcts(s);

pl=s;

p2=s+slrlen(s)-l;

for(;pl<p2;pl++,p2-)

if(*pl!=*p2)break;

if(D1<D2)primf(“该字串不回文\n");

elseprint,该字串回文\n");

)

7.下列程序用来求随意两整数的最大公约数,请在处填上合适内容,使程序完整。

#includc<stdio.h>

voidmain()

{inttemp,m,n,x;

printf("Entertwonumbers:\n");

scanf("%d,%d",&m,&n);

if(m<n)temp=m,m=n,n=temp;

for(x=n;;x-)

if(m%x==0&&n%x==0)break:

printf("\n最大公约数为:%d\n';x);

)

8.下列程序用“起泡法”对输入的字符串降序排序,请在处填上合适内容,使程序完整。

#include<stdio.h>

#include<slring.h>

voidmain()

{voidsort(char*s);

charstr|2OJ;

printf("请输入字符串入");

scanf("%s",str);

sort(str);

printf("排序结果排)

puts(str);

)

voidsort(char*s)

{inti,j,n;

charc;

n=s(rlen(s);

fbr(i=O;i<n-l;i++)

fbr(j=i;j<n-i-1;j++)

if(s[j]<s[j+1])c=s|j],s[j]=s|j+11,s[j+l]=c;

}

四、阅读程序

I.include<stdio.h>

voidmain()

{charch;

intcntl=0,cnt2=0;

while((ch=getchar())!-\n')

if(ch>='a'&&ch<='z')cntl++;

elsecnt2++;

printf("COUNT=%d\n,,,cnt1);

若输入"ThisisaCprogram,运行结果:COUNT=13

2.#include<stdio.h>

voidmain()

(inti,j,temp;

inta[]:{0,123,456,7,8,9};

for(i=0,j=9;i<j;i++,j-)

{temp=a[ij;a[i]=a[j];a|j]=temp;|

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

printf("%2d",a[j]);

)

运行结果:9876543210

3.#include<string.h>

#includc<stdio.h>

voidmain()

{charstrl[80]="good",str2[]="morning";

inti,j;

for(i=strlen(strl),j=0;str2|j]!='\0,;i++,j++)

strl[il=str2[j];

str1「]=、()';

printf("string1=%s",strI);

)

运行结果:stringl=goodmorning

4.#includc<stdio.h>

voidmain()

{inti,j,pos;

floatval,a[10J;

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

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

val=a[0J;

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

if(a[j]>val)

{val=a[jj;pos=j;)

printf("Max=%f,positioned",val,pos);

)

本程序的功能是:从键盘输入10个数存到数组a中,求10个数的最大值及其位置

当程序运行时,从键盘输入“1029384756”,运行结果:Max=9.0000(X),position:3

5.#include<s(dio.h>

floataverage(intx[],intn)

(inti;

floatsum=0;

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

suni+=xli];

return(sum/n);

)

voidmain()

{inta[5]={2,4,6,8,10);

floatrst;

rst=average(a,5);

prinlf("resulc=%f\n",rst);

)

运行结果:result=6.()0000()

6.给定如下程序:

#include<stdio.h>

voidmain()

{chargrade;

scanf("%c”,&grade);

switch(grade)

{case'A':printf("85—100\n");break;

case'B':printf("70—84\n");break;

case'C:printf("60―69\n");break;

case'D':printf("<60^n");break;

default:printf("errorkn");

}

)

当程序运行时,从键盘输入“b”,输出的结果是:error

7.给定如下程序:

#include<stdio.h>

voidmain()

{inta[5]={2,5,35,6},i,j,t;

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

for(j=i+l;j<5;j++)

if(a[i]>a[j])

{t=a[i];a[ij=a[j];a[j]=t;}

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

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

该程序的功能是:将a数组中的元素从小到大排序;输出的结果为:23567。

8.给定如下程序:

#include<stdio.h>

voidfun()

{

autointb=0;

staticintc=4;

b++;c++;

printf("b=%dc=%d\n",b.c);

)

voidmain()

{

inti;

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

fun();

I

运行结果是:

b=lc=5

b=lc=6

b=lc=7

9.给定如下程序:

#include<stdio.h>

#include<string.h>

voidniain()

{

char*pl,*p2,c,s[50];

gets(s);

pI=s;p2=s+strlcn(s)-l;

for(;pl<p2;pl++,p2-)

{

c=*pl;*pl=*p2;*p2=c;

)

printf^**Thenewstringis%s\n'\s);

I

此程序的功能是:从键盘输入一字符串存放到数组s中,将此字符串逆序输出。

当程序运行时,从键盘输入“abcwe#yn,输出的结果是:Thenewstringisy#ewcba

10.给定如下程序:

#inclnde<stdic.h>

voidmain()

intfun(char*p);

charstr[80];

gets(slr);

printfCkLEN=%d\n'\fun(str));

)

intfun(char*p)

{intn=0;

\vhile(*p++)

n++;

return(n);

)

此程序的功能是:用函数fun计算字符串的长度,主函数输入字符串,输出字符串长度。

六、按要求编程

1.编程计算1!+2!+3!+…+20L

#include<stdio.h>

voidmain()

{

floats=O,t=1;

intn;

fbr(n=l;n<=20;n++)

(

t=t*n;

s=s+l;

)

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

)

2.统计由键盘输入的任一字符串中字母、数字和空格的个数。

#include<stdio.h>

voidmain()

{

charch:

intletters=O,digit=O,space=O;

while((ch=getchar())!='\n')

it

if(ch>='a'&&ch<'z'||ch>='A'&&ch<-Z,)lctters++;

elseif(ch>='0,&&ch<='9')digit++;

elseif(ch=-')space++;

printf("letters=%d,digit=%d,space=%d",letters,digit,space);

)

3.编写程序找出1—100之间的素数,并统计素数的个数。

#irclude<stdio.h>

#ificlude<math.h>

voidmain()

(

irtm,k,i,n=0;

for(m=I;m<=100;m=m+2)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)

break;

if(i>=k+l)

(

printf("%3d”,m);

n=n+1;

)

if(n%10==0)printf("\n");

)

printf("\nto(alnumberis=%d",n):

)

4.从键盘输入10个数,找出最大值.与最小值,并计算它们的平均值。

#include<stdio.h>

voidmain()

|

floata[10],aver,sum,max,min;

inti;

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

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

rr.ax=min=sum=a[01;

foi(i=l;i<10;i++)

if(a|i]>max)max=a[i];

if(a[i]<min)min=a[i];

sum=sum+a|ij;

)

aver=sum/10;

printf("aver=%f,max=%f,min=%f',aver,max,niin);

)

5.将键盘输入的随意字符串进行逆序并输出。

方法1:

#include<stdio.h>

#include<string.h>

voidmain()

(

chars[8O],t;

inti.j;

gets(s);

j=strlcn(s)-1;

for(i=0;i<j;i++,j-)

{t=s[i];s[i]=s[j];s[j]=t;}

printf(**Thenewsiringis%s\n'\s);

}

方法2:

#include<sldio.h>

#include<string.h>

voidmain()

{

chars[80],t;

inti,j;

gets(s);

j=strlcn(s);

for(i=0;i<j/2;i++)

{t=s[il;s[i]=s[j-l-il;s[j-l-i]=t;}

printff'Thenewstringis%s\n'\s);

)

方法3:

#include<stdio.h>

#irclude<string.h>

voidmain()

char*pl,*p2,c,s[50];

gets(s);

p1=s;p2=s+strlen(s)-l;

for(;pl<p2;pl++,p2-)

c=*pl;*pl=*p2;*p2=c;

)

printff'Thenewstringis%s\n'\s);

)

6.推断由键盘输入的字符串是否为回文。

方法1:

#include<stdio.h>

#include<string.h>

voidmain()

(

chars[8OJ;

inti.j;

gets(s);

j=strlcn(s)-1;

for(i=0;i<j;i++,j-)

if(s[i]!=s[j])break;

if(i<j)printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论