计算机二级C上机试题_第1页
计算机二级C上机试题_第2页
计算机二级C上机试题_第3页
计算机二级C上机试题_第4页
计算机二级C上机试题_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

例题1试题程序

4’<stdio.h>

#include<string.h>

#include<conio.h>

【1*】fun(chartt[])

i;

I(i=0;tt[i];i++)

((tt[i]>=,A,)&&(tt[i]<=【'Z'2]))

tt[i]+=32;

)

return(tt);

\

^

£voidmain()

案chartt[81];

printf(n\nPleaseenterastring:");

gets(tt);

printf(0\nTheresultstringis:\n%sn,fun([tt3]));

题干

•一__

下列给定程序中,fun()的功能是:按顺序给s所指

数组中的元素赋予从2开始的偶数,然后再按顺序对每5

个元素求一个平均值,并将这些值依次存放在w所指的数

组中。若s所指数组中元素的个数不是5的倍数,多余部分

忽略不计。例如,s所指数组有14个元素,则只对前10个

元素进行处理,不对最后的4个元素求平均值。

试题程序

例题2试题程序

#<stdio.h>

#SIZE20

fun(double*szdouble*w)

{k,i;doublesum;

(k=2zi=0;i<SIZE;i++)

{s[i]=k;k+=2;}

sum=0.0;

for(k=0,i=0;i<SIZE;i++)

{sum+=s[i];

if((i+1)[%1]5==0)

{w[k]=sum/5;sum=0;k++

}

【return21k;}

voidmain()

{doublea[SIZE],b[SIZE/5];

inti,k;

k=fun(a,b);

printf(nTheoriginaldata:\n”);

答for(i=0;i<SIZE;i++)

n

案{if(i%5==0)printf("\n);

n

printf("%4.0fza[i]);}

printf(H\n\nTheresult:\nn);

for(i=0;i<k;i++)printf("%6.2f",[b[i]3])

printf(n\n\n");}

题干

例题3试题程序

#<stdio.h>

#include<ctype.h>

#include<conio.h>

voidfun(char*s)

(【*s!='\0'1】)

(*s>='A*&&*s<='Z*||*s>=*a*&&*s<='z,)

*s=='Z*)*s=1A1;

elseif(*s=='z1)*s=1a

else*s+=[12];

)

[returns3];

}

)

voidmain()

s[80];

printf(n\nEnterastringwithlength<80:\n\nH);gets(s);

printf(n\nThestring:\n\nH);puts(s);

fun(s);

printf(n\n\nTheCords:\n\nn);puts(s);

)

题干

•一__

下列给定程序中fun()的功能是:将长整型数中每

一位上为奇数的数依次取出,构成一个新数放在t中。高1

位仍在高位,低位仍在低位。例如:当s中的数为]

87653142时,t中的数为7531。

试题程序

例题4试题程序

#<stdio.h>

#include<conio.h>

#include<stdlib.h>

voidfun(longs,long*t)

{d;

longsl=l;

*t=0;

(s>0)

{d=s[1]10;

(d%2!=0)

{*t=d*sl+*t;

s1*=【2];

}

s/=[3];

}

)

voidmain()

{longs,t;

system(nCLSH);

printf(n\nPleaseenters:");scanf(%ldH,&s);

fun(sr&t);

H

printf("Theresultis:%ld\nzt);}

题干

下列给定的程序中,fun()的功能是:将p所指字

符串中每个单词的最后二个字母改成大写(这里的“单词

是指有空格隔开的字符串)。例如,若输入:

Iamastudenttotaketheexamination

则应输出:IaMAstudenTtOtakEthEexaminatioN

试题程序

例题5试题程序

二#<conio.h>

,#include<ctype.h>

#include<stdio.h>

#include<string.h>

voidfun(char*p)

{k=0;

(;*p;p++)

(k)

{if(*p==**)

——

[1];

L2T=toupper(*(p-1));})

else

k=l;}

voidmain()

{chrstr[64];intd;

printf(H\nPleaseenteranEnglishsentencewithin63letters:

题”);

答gets(chrstr);

案d=strlen(chrstr);

chrstr[d]=**;

chrstr[d+1]=0;

printf(n\nBoforechanging:\n%s”,chrstr);

[31;

printf(n\nAfterchanging:\n%s”,chrstr);}

题干

例题6试题程序

V<conio.h>

#include〈string.h〉

##include<stdio.h>

#defineN80

intfun(char*s,char*t)

n;

*p,*r;

n=0;

*s)

Ir=t;

while*r)

if(*r==*p){r++;[1];)

elsebreak;

if(*r==[2])

n++;

[3/;

)-----

』returnn;

)

题voidmain()

答{chara[N],b[N];intm;

案printf(H\nPleaseenterstringa:n);gets(a);

printf(n\nPleaseentersubstringb:");gets(b);

m=fun(a,b);

printf(H\nTheresultis:m=%d.\nH,m);

)

题干

•一__

下列给定程序中,fim()的功能是:通过某种方式

实现两个变量值的交换,规定不允许增加语句和表达式。

例如变量a初值为8,b初值为3,程序运行后a中的值为3,

b中的值为8。

试题程序

例题7试题程序

V#<conio.h>

#include<stdio.h>

fun(int*x,inty)

【1】t;

t=*x;*x=y;

Ireturn(t)[2]

voidmain()

{inta=3,b=8;

printf("%d%d\nn,a,b);

』b=fun([3],b);

题printf("%d%d\nn,a,b);

答)

题干

•一__

下列给定程序中,fun()的功能是逐个比较a,b两

个字符串对应位置中的字符,把ASCII值小或相等的字符

依次存放至人数驾,个新的字符串。

例如:a中的字符串为fshADfg,b中的字符串为

sdAEdi,贝Ue中的字符串应为fdAADf。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得

更改程序的结构。

试题程序

例题8试题程序

二#<stdio.h>

,#include<string.h>

voidfun(char*pzchar*q,char*c)

{k=0;

(*pll*q)

/**********************found***********************

(*p〈=*q)

c[k]=*q;

——elsec[k]=*p

if(*P)P++

if(*q)q++

/**********************found*************★*★**★*★**

k++

}

)

voidmain()

HH

题{chara[10]="fshADfg"zb[10]=sdAEdizc[80]={'\0'};

答fun(azbzc);

案printf("Thestringa:");puts(a);

printf(HThestringb:H);puts(b);

printf("Theresult:H);puts(c);

}

题干;>

।下列给定程序中,ftm()的功能是根据整型形参m,

计算如下公式的值。7

y=1-1/(2X2)+1/(3X3)-1/(4X4)+...+(-1)(m+1)/(mXm)

例如:m中的值为5,则应输出0.838611。

请改正程序中的错误,使它能得到正确结果。-

注意:不要改动main函数,不得增行或删行,也不得

|更改程序的结构。

・试题程序>施口

例题9试题程序

二#<conio.h>

,#include<stdio.h>

#include<stdlib.h>

doublefun(intm)

{doubley=l.0;

I★大★丈★丈夫丈夫*************found********★************★★

j=l;

inti;

——

(i=2;i<=m;i++)

**********************foun(j_***********************

y+=l/(i*i);

return(y);

题)

案voidmain()

intn=5;

system("CLS");

printf("\nTheresultis%lf\nH,fun(n));

}

题干

下列给定程序中,fim的功能是按以下递归公式求

函数值。

例如:当给n输入5时,函数值为240;当给n输入3时,

函数值为60。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得

更改程序的结构。

试题程序

例题10试题程序

二#<stdio.h>

/****夫夫夫**夫夫*夫夫夫夫夫夫火夫火*found**********夫************

fun(n);

intc;

**********************found夫夫****夫***************夫

(n=l)

——

c=15;

else

c=fun(n-1)*2;

return(c);

}

voidmain()

intn;

n

案printf("Entern:);

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

printf("Theresult:%d\n\nn,fun(n));

}

题干

।下列给定程序中fim()的功能是计算的值L《

例如:给n输入5,则输出0.008333。二

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得

更改程序的结构。

试题程序

例题11试题程序

二#<stdio.h>

,#include<conio.h>

/**********************found****************夫夫****火

fun(intn)

{doubleresult=1.0;

(n==0)

return1.0;

(n>l&&n<170)

——

/丈*丈*夫*★*****★*★*******found******************★***夫

result*=n++

result=l/result;

returnresult;

)

voidmain()

答intn;

案printf("InputN:;

scanf(“%d”,&n)

nn

printf(\nl/%d!=%lf\n,nzfun(n));

)

题干

下列给定的程序中,fun()的功能是:将p所指字符

串中每个单词的最后一个字母改成大写(这里的“单词,,是

指有空格隔开的字符串)。例如,若输入:

Iamastudenttotaketheexamination

则应输出:IaMAstudenTtOtakEthEexaminatioN

试题程序

例题12试题程序

#include<stdlib.h>

二#include<string.h>

,#include<conio.h>

#include<ctype.h>

#include<stdio.h>

voidfun(char*p)

intk=0;

for(;*p;p++)

——

if(k)

*************found*************火

if(p=='1)

k=0;

*************found**************

题*p=toupper(*(p-1));

答)

案)

else

k=l;

)

题干

例题12试题程序

voidmain()

{charchrstr[64];

intd;

system("CLS");

printf("\nPleaseenteranEnglish

sentencewithin63letters:n);

gets(chrstr);

d=strlen(chrstr);

chrstr[d]=1,;

chrstr[d+1]=0;

printf("\nBoforechanging:\n%s”,chrstr);

fun(chrstr);

printf(H\nAfterchanging:\n%s”,chrstr);

}

题干

•一__

下列给定程序中,fun()的功能是将字符串s中位于

偶数位置的字符或ASCII码为奇数的字符放入字符串t中

(规定第1个字符放在第0位中)。,工

例如:字符串中的数据为ADFESHDI,则输出应当是

AFESDL

请改正程序中的错误,使它能得到正确结果。"

注意:不要改动main函数,不得增行或删行,也不得

更改程序的结构。

试题程序

例题13试题程序

*<conio.h>

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#N80

/*************★********founci***********************

voidfun(chars,chart[])

i,j=0;

(i=0;i<strlen(s);i++)

*****夫*****文*夫*夫******found***********************

(i%2=0||s[i]%2!=0)

t[j++]=s[i];

t[j]='\O,;1/F

voidmain()

{chars[N]zt[N];

system(”CLS”);

printf(n\nPleaseenterstrings:H);

gets(s);

fun(s,t);

printf("\nTheresultis:%s\nn,t);}

题干>­•嚷

।下列给定程序中,fim()的功能是找出100〜n(n不大

于1000)之间百位数字加十位数字等于个位数字的所有整

数,把这些整数放在s所指的数组中,个数作为函数值返

回。「

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得

更改程序的结构。

试题程序

例题14试题程序

’<stdio.h>

4

ntN100

{fun(int*s,intn

«oi.j,k,a,b,c;

J-=

(i=l00;i<n;i++)

k=n;

a=k%10;

Ik/=l0;

b=k%10;

c=k/10;

if(a==b+c)

*文*********★★★******

/夫夫夫夫夫夫夫夫**************found***

S[j]=i;}

returnj;}

voidmain()

\

^{inta[N],nznum=0,i;

£do

题{printf(H\nEntern(<=1000):H);

n

答scanf("%d,&n);}

,while(n>1000);

案num=fun(a,n);

printf(H\n\nTheresult:\nH)

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

nn

printf(%5dza[i]);

printf(H\n\nH);}

题干(gy

•一__

请编写fun,其功能是将两个两位数的正整数a、b

合并形成一个整数放在c中。合并的方式是:将a数的十位

和个位数依次放在c数个位和十位上,b数的十位和个位

数依次放在c数的百位和千位上。

例如,当a=16,b=35,调用该函数后,0=5361,、

注意:部分多程序给出如〒一

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

试题程序

例题15试题程序

4’<stdio.h>

#include<stdlib.h>

voidfun(a,intb,long*c)

I}

voidmain()

inta,b;

longc;

system(HCLSn);

\

^printf("Inputa,b;");

£scanf("%d%d”,&a,&b);

答fun(a,b,&c);

,n

案printf("Theresultis:%ld\n,c);

题干

•一__

请编一个函数voidfim(inttt[M][N],intpp[N]),tt指

向一个M行N列的二维数组,求出二维数组每列中最大元

素,并依次放入pp所指的一维数组中。二维数组中的数

已在主函数中给出。'

注意:部分源程序给出如下。x

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

试题程序

例题16试题程序

#<conio.h>

#include<stdio.h>

#include<stdlib.h>

#M3

#defineN4

voidfun(tt[M][N],intpp[N])

inti,j,max;

for(j=0;i<N;j++)

max=tt[j][0];

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

if(max<tt[i][j])

max=tt[i][j];

pp[j]=max;

}

)

voidmain()

{intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,

56});

intp[N]zi,j,k;

system("CLS");

।请编写fun(),对长度为7个字符的字符串,除首、

尾字符外,将其余5个字符按ASCII值码升序排列。

例如:原来的字符串为BdsihAd,则排序后输出为

BAdhisdo

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

试题程序

例题17试题程序

<stdio.h>

#mclude<ctype.h>

#include<conio.h>

#include<stdlib.h>

intfun(num)

inti,j,temp;

for(i=l;i<mun-l;i++)

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

if(*s[i]>*3[jD

/,

试i

temp-*sLr

题*si*sLr

*sIi

案-

।编写fun(),它的功能是求n以内(不包括n)同时能被

5与11整除的所有自然数之和的平方根s,并作为函数值返

回。-

例如:n为1000时,函数值应为s=96.979379。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

试题程序

例题18试题程序

二<conio.h>

#include<math.h>

#include<stdio.h>

#include<stdlib.h>

doublefun(n)

doublei;

——

doubles=0.0;

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

if(i%5==0&&i%ll==0)

s+=i;

答s=sqrt(s)

案returns

}

voidmain()

prins=%r\nun

1:i''题干

请编写它的功能是求Fibonacci数列中小

于t的最大的一个数,结果由函数返回。其中Fibonacci数

列F(n)的定义为礼:

例如:t=1000时,函数值为987。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

〈^题程序

例题19试题程序

V

#include<stdlib.h>

#include<conio.h>

#include<math.h>

#include<stdio.h>

intfun(intt)

I

)

voidmain()

intn;

system(nCLSn);

n=1000;

printf(Hn=%d,f=%d\nn,n,fun(n));

)

题干

请编写一个fun(),它的功能是计算并输出给定整

数n的所有因子(不包括1与自身)的平方和(规定n的值不

大于100)o

例如:主函数从键盘给输入n的值为56,则输出为

sum=1113o

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在

函数fun的花括号中填入所编写的若干语句。

/题程序>向•

例题20试题程序

V<stdio.h>

longfun(intn)

}

I

voidmain()

n;

longsum;

printf("Inputn:");

』scanf(,&n);

sum=fun(n);

nn

答printf(sum=%ld\n,sum);

题干

填空1:由return语句可以看出,该函数的返回值类型是指向字符

串的指针,所以应该使用句号“*^^1

填空2:从ASCII码表中可以看出,小写字母的ASCII码值比对忘美

写字母的ASCII码值大32,根据ASCII码值判断该字母是不是大写字

母,判断的标准是ASCII码值是否介于A和Z之间。

填空3:根据题目的意思这里应该调用函'数fim对字符串tt进行转

换,所以应该使用tt作为函数的参数。

>

填空1:根据题目的意思,这里是执行按顺序对每5个

元素求一个平均值的操作,所以应该使用取余符号“%”,

如果是5的倍数,则该式子的值为零。

填空2:根据C语言的规定,除了使用关键字void的任

何一个子函数都应该有返回值,所以应该使用关键字

return把变量k的值返回主函数。

填空3:由题目的意思可知这里是把存在数组b中的

内容依次循环输出,所以后面的变量名应该使用b[i]。

>

填空1:从C语言的学习中我们知道,while语句的结束条件是括号

中的式子结果为0,而一个字符串的结尾标志为'O;即满足循环的结

束条件,所以一般情况下C语言中使用字符串的结尾作为结束循环的

标志;s为指向一个数组的指针,*s为取出s指向的内容。

填空2:根据题目的意思,若该字母才是区或0,则该字母的

ASCII码值力口1。

填空3:根据题目的意思,要对字符串所有字母进行遍历,使用

指针进行这一过程应该使用循环,即每次都对该指针进行加一操作。

填空1:根据题目的意思,此处是由低到高逐位地提取变量d的每

一位,然后再进行判断,所以可以推断出这里应该使用取余符号C

"%”O

填空2:根据题目的意思,这里是把提取出来满足条件的数字依次

从低到高填入一个新的变量t中,所以进行的操作应该是每一个数字

都循环乘以10,再加上原来的部分,例如:依次得到数字321,最后

应该输出123。

填空3:由算法可以看出,这里应该是进行完毕一次提取,所以

应该舍弃最低位——个位,即把变量s除以10。

填空1:根据题目的意思,这里应该是以变量k作为判断标志,如

果标志为1并且当前指针指向空格就应该把标志返回0,以便下一次

程测。心

填空2:根据题目的意思,此处进行的是将P所指单词的最后一个

字母改成大写,但是此时p已经循环到了单词后面的那个空格,所以

应该对p-1进行操作。

填空3:由算法可以看出,这里应该是进行函数调用,根据前面

的子函数定义可以知道,参数是一个指向向字符串的指针,所以应

该把数组的名字(也可以认为是指向数组首地址的指针)作为参数。

>

填空1:根据题目的意思,这里应该是把要比较的字符

串和原字符串的一部分进行逐个字符的比较,所以指向

原字符串的指针P也应该进行每步加一的操作。

填空2:根据题目的意思,此处是判断上一步的比较是

否与r指向的完整的字符串相等,如果完全相同,则r应该

指向字符串的末尾,即'\0'。

填空3:由算法可以看出,这里应该是进行的整个,

while循环,即应该控制s指针不停的向后移动直到字符串

结尾。—

填空1:根据题目的意思,这里应该是声名一个新的变

量3由后面的赋值语句以及返回语句可以明白这个变量

应该是整型的(因为函数的返回值类型是int)。,工

填空2:根据题目的意思,此处是子函数的返回语句,

由C语言的知识,每个语句的结尾都应该使用“广。、

填空3:fbn()函数的调用方式说明fim()函数的参数应

当为指针类型,即应该把变量的地址作为参数传递(符

号是取地址操作)。

>

错误1:依题意,把ASCII值小或相等的字符存放到c数

组中,故if语句的关系运算符应为">="o

错误2:C语言规定,每个语句要用分号结束。

错误1:为了做后面的除法运算,j要定义为实型数,

否则除得的结果将为整数。

错误2:题中公式是加减相间的运算,通过j来实现。

错误1:该行是函数的首部,不是一条语句,因此不能

以分号结束。...

错误2:if后面应该紧跟一个条件判断表达式,若写

成“if(n=l)Z则说明该表达式的值永远为真,也就是说这

个条件永远成立,没有递归执行。

>

错误1:函数的返回值为实型数据,所以函数的返回类

型应为double。

错误2:根据阶乘的概念,从n开始,每递减1的数相

乘,直到1,因此此处n递减,而不是递增。

>

错误1:P是指针变量,所以if语句中的条件应使用*P。

错误2:toupper函数是将小写字母转换成大写字母

*(pT)指向字符串的最后一个字母,转换后的大写字母

同样应该放在*(p-1)指向的内存空间中。

错误1:由于本题中函数的功能是对字符串进行处理,

而不是对单个字符进行处理,因此,函数的参数应为字

符串指针。.'Q

错误2:if语句中要用关系运算符,而不是赋值运算

符。

>

错误1:k就是当前要被判断的数,是随着i值的变化而

变化的。

错误2:在循环中,j是数组的下标要递增。

语句*c=(b%10)*1000+(b/10)*l00+(a%10)*10+a/l0;

是将a数的十位和个位数依次放在c数个位和十位上,b数

的十位和个位数依次放在c数的百位和千位上。注意“尸和

%”的用法。

本题中函数的功能是求出二维数组中每列的最大元

素。首先,假设各列中的第一个元素最大,然后利用行

标值的移动来依次取得各列中其他元素的值,并与假设

的最大值进行比较,如果遇到更大的,则把这个更大的

元素看做当前该列中最大的元素,继续与该列中其他元

素比较。

>

本题考查利用循环来控制数组元素的操作,首尾元

素除外,因此,数组的下标值要从1开始,用循环变量i来

依次取得数组中的元素,用数组中的元素S[i]和s[j]进行比

较,如果后一个元素的ASCII码值小于前一个元素的

ASCII码值,则交换这两个数组元素的值。

>

本题的解题思路是逐个取得从0〜n之间的所有数,

对每次取得的数进行条件判断,条件是既能被5整除同时

又能被11整除,注意:这两个条件要求同时成立,因此

用到了运算符。满足条件,该数就被累加至心中去,

求出所有符合条件的数后,用sqrt()函数(包含于头文件

<math.h>中)对s求平方根。

>

根据所给数列定义不难发现,该数列最终的结果是由

两个数列之和组成,所以可以在循环内部始终把C看成是

前两项之和(即第n项),而a始终代表第n-2项,b始终代表

第n-1项(通过不断地重新赋值来实现)。应注意,退出循

环时得到的数c是大于指定比较的数的最小的数,而它的

前一个数就是小于指定比较的数的最大的数。

>

本题的解题思路是用n逐个去除以2到n-l之间的所有

数,如果n能被除尽,则把所得到的一个因子的平方累加

到s中去。

>

+b

dr

(1)错误:intfun(intn)

正确:doublefun(intn)

(2)错误:result*=n++;

正确:result*=n-;

(1)错误:if(p==~)

正确:if(*p==,,)4

(2)错误:*p=toupper(*(p-l));

正确:*(p-l)=toupper(*(p-l));

(1)错误:voidfun(chars,chart[])

正确:voidfun(char*s,chart[])

(2)错误:if(i%2=0||s[i]%2!=0)

正确:if(i%2==0|js[i]%2!=0)

*>唾

正确:s[j++]=1;

voidfun(inttt[M][N],intpp[N])

{inti,j,max;

for(j=0;j〈N;j++)

{max=tt[0][j];/*假设各列中的第一个元素最大*/

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

if(tt[i]|j]>max)/*如果各列中的其他元素比最大值还大,

则将这个更大的元素看做当前该列中最大的元素*/

max=tt[i]|j];

PP[j]=max;/*将各列的最大值依次放入pp数组中*/

))

intfun(char*s,intnum)

{chart;inti,j;

for(i=l;i<num-2;i-H^/*伐电值从1开始,用循环依次取得字

中的字符*/

fbr(j=i+1;j<num-1;j++)/*将字符与^^的每个字符比较*/

if(s[i]>s[j])/*如果后面字符的ASCH码值小于该字符的

ASCII码值*/

{t=s[i];/*则交换这两个字符*/

s[i>s[j];

s[j]=t;}

T-------------------------------------------------:).

doublefun(mtn)

{doubles=0.0;

inti;

fbr(i=O;i<n;i++)/*从0〜n中找到既能被5整除同时又能被11

整除的教,并将这笔数求和*/,

if(i%5=0&&i%l1=0)

s=s+i;

s=sqrt(s);/*对S求平方根*/

returns;

intfun(intt)

{inta=l,b=l,c=O;/*a代表第n-2项,b代表第n-1项,<.

c代表第p项*/

/*如果求得的数c比指定比较的数小,

则计算下一个Fibonacci数,对a,b重新置数*/

do{c=a+b;a=b;b=c;}while(c<t);/*如果求得的数c比

指定比较的数大时,退出循环*/"

c=a;/*此时数c的前一个Fibonacci数为小于指定

比较的数的最大的数*/9

returnc;

>

longfun(intn)

{inti;

longs=0;

for(i=2;i<=n-l;i++)/*从2〜n-1中找n的所有因子*/

if(n%i=0)

s+=i*i;/*将所有因子求平方加*/

returns;/*将平方和返回*/

}_

T----------------------------------------------------------------------------------------------------------------------------------------------.

函数的定义

函数定义的一般形式、函数的参数和函数的返回

值。s、

函数的调用

函数的调用方式、函数间的参数传递、函数的

嵌套调用、函数的递归调用等。

函数间的数据传递

数据传递的方式和特点,掌握值传递内在运行

过程。

•字符型说明符:char

•字符型常量的表示:用单引号括起来的单个字符。,.

字符常量:T#

•字符型数据的存储格式:ASCII码。'

651034835

•字符串常量的表示:用双引号括起来的单个字符。

"ThisisCstring”串长16

"a“串长1

““(空格)串长1

二”(不含空格)串长0」

T-------------------------------------------------*>.

整型变量的说明格式:'

类型说明符变量列表;*♦

例如:inti,j=1;

整型常量的类地:.

1.在整型数表示范围之内,根据值大小默认类型

2.在常量后面加1或L,则认为它是longint型。

>

fo舟句格式for(表达式1;表达式2;表达式3)语

句;

for语句的变化形式for语句中的三个表达式中的

任意一个都是可以省略的,但是分号不能省略。

1.省略表达式2,则for(表达式1;;表达式3)就

形成了一个死循环。

2.省略表达式1和表达式3,则for(;表达式2;)就

等同于while(表达式)。

3.表达式1、2、3全省略,则for(;;)就等同于while

>

while语句格式为while(表达式)语句;

说明:语句部分可以是简单语句,也可

温馨提示

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

评论

0/150

提交评论