C语言期末考试文档格式.docx

上传人:b****5 文档编号:20490091 上传时间:2023-01-23 格式:DOCX 页数:21 大小:134.49KB
下载 相关 举报
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

《C语言期末考试文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末考试文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

C语言期末考试文档格式.docx

thesignglerootis%f\n"

-c/b);

doubledisc,twoa,term1,term2;

disc=b*b-4*a*c;

twoa=2*a;

term1=-b/twoa;

term2=sqrt(fabs(disc))/twoa;

if(disc<

0.0)

printf("

complexroot:

\nrealpart=%f,imagpart=%f\n"

term1,term2);

else

realroot:

\nroot1=%f,root2=%f\n"

term1+term2,term1-term2);

voidmain()

Input3realsnumbers:

solv_quadr_equa(a,b,c);

4/*求十年之后的人口*/

{

doublem=13;

inti=1;

while(i<

=10)

{

m=m*(1+0.002);

i++;

}

Populationtenyearslateris:

%f\n"

m);

5/*计算Fibonacci数*/

intfib1=1,fib2=1,fib,i=3;

=12)

fib=fib1+fib2;

fib1=fib2;

fib2=fib;

TheFibonaccinumberafter1yearis:

%d\n"

fib);

6/*百钱买百鸡*/

intcocks=0;

%8s%8s%8s\n"

"

cocks"

hens"

chicks"

while(cocks<

=19)

inthens=0;

while(hens<

=33)

{

intchicks;

chicks=100-cocks-hens;

if(5*cocks+3*hens+chicks/3.0==100)

printf("

%8d%8d%8d\n"

cocks,hens,chicks);

hens++;

}

cocks++;

7用c语言描述下列命题

(1)a小于b或a小于c.

(1)a<

b||a<

c

(2)a或b都大于c.

(2)a>

c&

&

b>

(3)a和b其中之一小于c.

(3)a<

c||b<

(4)a是非正整数

(4)!

(a>

0&

(int)a==a)

(5)a是奇数。

(5)a>

a%2==1

(6)a不能被b整除

(6)a%b!

=0

(7)角A在第一象限或者第三象限。

(7)#definePI3.1415(A>

=0&

A<

=PI/2)||(A>

=PI&

=3*PI/2)

(8)a是一个带小数的正数,而b是一个带小数的负数。

(8)(a>

(int)a!

=a)&

(b<

(int)b!

=b)

8写出下列表达式的值

(1)1<

4&

4<

7

值为1

(2)1<

7<

4

值为0

(3)!

(2<

=5)

(4)!

(1<

3)||(2<

(5)!

(4<

=6)&

(3<

=7)

9若x=3,y=z=4,求下列表达式的值。

1)(z>

=y>

=x)?

1:

1)

z>

=y为1,而1>

=x为0,

表达式的值为0

2)z>

=y&

y>

=x

1)z>

=y为1,而y>

=x为1;

1&

1为1.

10若x=3,y=2,z=1求下列表达式的值

1)x<

y?

y:

x

y为0,故x<

y为假。

结果为x.

2)x<

x++:

y++

1)x<

y为假,故y=++即值为2+1=3

3)z+=(x<

y++)

2)x<

y为假,故值为3,则z+=3,最终的值为4

12写出以下程序段的输出结果。

(1)intx=40,y=4,z=4;

x=y==z;

x);

x=x==(y==z);

(3)intx=1,y=1,z=1;

y=y+z;

x=x+y;

x<

x);

y++);

y);

x=3;

y=z=4;

(x>

0);

z>

=x);

(4)#include"

inta;

%d"

a);

if(a>

=0)

plus\n"

minus\n"

(6)#include"

intn=0;

while(n++<

=1)

%d\t"

n);

(如果没有大括号,就代表他接下来这一句是属于上面那句的)

(先引用后增值,所以,n不会到while语句中,直接增值。

故为3)

return0;

13设计c语言程序,判断所输入年份是否为闰年

/*判断所输入年份是否为闰年*/

charch;

intyear;

do

entertheyear\n"

scanf("

%d%"

year);

if(year%4==0)

if(year%100!

%disLEAP!

year);

elseif(year%4000==0)

%disNOTLEAP!

ifContinued,pressY,otherwisepressanykeyabort\n"

%ls"

ch);

while(ch=='

Y'

||ch=='

y'

14/*计算三角形的面积*/

#include"

doublea,b,c,s;

input3realnumbers:

%lf%lf%lf"

if((a+b)>

(b+c)>

a&

(a+c)>

b)

s=(a+b+c)*0.5;

\nAreaofthetriangleis%lf\n"

sqrt(s*(s-a)*(s-b)*(s-c)));

It`snotatriangle\n"

15/*第n年母牛数*/

intmain(void)

inti,year,oxNum,oxNum1,oxNum2,oxNum3;

inputyear:

"

for(i=1;

i<

=year;

i++)

if(i<

4)

oxNum=oxNum1=oxNum2=oxNum3=1;

oxNum=oxNum1+oxNum3;

oxNum3=oxNum2;

oxNum2=oxNum1;

oxNum1=oxNum;

i=%2doxnumber=%3d\n"

i,oxNum);

16/*递归计算n!

的函数*/

longrfact(intn)

if(n<

0)

Itisnomeaning.\n"

return(-1);

elseif(n<

return

(1);

return(n*rfact(n-1));

pleaseinputanumber:

rfact(a);

rfact(a));

17/*正序反序显示*/

#defineN10

inti;

intstudent_age[N];

for(i=0;

=N;

inputaage:

student_age[i]);

%6d"

student_age[i]);

for(i=N;

i>

=0;

i--)

18/*顺序查找学生年龄*/

stdlib.h"

inti,age;

intstudent_age[]={10,15,12,14,13,11,16,19,17,18};

请输入要查找的年龄:

age);

10;

if(student_age[i]==age)

第%d位学生的年龄是%d.\n"

i+1,student_age[i]);

找不到这个年龄的学生。

19/*折半查找学生年龄*/

#defineN19

inta[N]={2,5,6,7,8,13,15,17,19,21,23,25,26,27,28,35,41,52,63};

intmid,top,bot,x;

top=0;

bot=N-1;

请输入要查找的元素:

while(top<

=bot)

mid=(top+bot)/2;

if(x==a[mid])

\n找到的元素%d是:

a[%2d]\n"

x,mid);

return0;

elseif(x>

a[mid])

top=mid+1;

elsebot=mid-1;

没有找到该元素.\n"

20/******冒泡排序******/

#include<

stdio.h>

#defineN8

intmain()

inta[N]={9,8,3,7,5,2,6,1};

inti,j,temp;

for(j=0;

j<

=N-2;

j++)

=N-j-1;

if(a[i]>

a[i+1]){temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

\n排序结果:

=N-1;

%3d"

a[i]);

21#include"

inta[2]={0},i,j,k=2;

k;

j++)

a[j]=a[i]+1;

a[k]);

inta[6],i;

6;

a[i]=6*(i-1+4*(i/3))%5;

%2d"

a[i]);

inti=0,j=7,k,a[8]={6,2,11,4,5,9,7,8};

j)

{k=a[i];

a[i]=a[j];

a[j]=k;

i++;

j--;

8;

22有17个人围成一圈,开始报数。

凡报3的人就退出,下一个人又从一开始报数,直到最后只剩下一个人为止。

请问此人原来的位置是多少?

intp[18]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};

inti=1,j=1,k=1,m=17;

if(p[i])

if(j++>

=3)

{

p[i]=0;

j=1;

m--;

}

else

k=i;

if(m<

=1)break;

if(i>

=17)

i=1;

while

(1);

\n%d"

k);

23#include"

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

for(j=1;

a[i][j]=(i/j)*(j/i);

for(j=1;

a[i][j]);

inti,j,row,col,m;

intarr[3][3]={{100,200,300},{228,172,-130},{-748,42,634}};

m=arr[0][0];

3;

if(arr[i][j]<

m)

m=arr[i][j];

row=i;

col=j;

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

m,row,col);

24

(1)对于说明doublex,*p;

正确的表达式是:

()

A.p=&

正确

B.p=x

错误:

x为double型,p是指向double型的指针类型

C.*p=&

x是指针p的引用,而&

x是地址

D.*p=x

P为空指针,不能赋值

(2)对于说明doublex=3.141593,*pointer&

x;

均表示地址的表达式是:

A.&

x,&

*pointer,&

pointer

B.*&

x,*(&

pointer),&

给出变量x的地址

C.&

(&

(*pointer)),&

(*pointer),*pointer

给出指针变量x的地址

D.&

(*&

*&

pointer,*&

*pointer

给出变量x的指针pointer的地址

(3)对于说明int*p1,*p2,a=5,b;

均为正确的赋值语句为()

A.p1=&

a;

p2=&

p1;

B.p1=&

b;

*p1=p2;

C.p1=&

p2=p1;

D.*p2=b;

*p2=*p1;

E.p2=p1;

p1=&

F.*p2=a;

(4)对于说明int*p1,*p2,a=5,b;

char*q,ch;

正确的程序段是()

A.main()

*p=99;

指针没有被初始化之前不能被使用

B.main()

p=&

ch;

s=p;

}错误:

地址类型与指针类型不一致,不可互相赋值

C.main()

i;

q=ch;

p=q;

p与q的类型不一致,不可互相赋值

D.main()

*p=55;

*q=*p;

}正确

25阅读程序,指出程序的运行结果

(1)#include"

main()

intn=10,*p=&

n;

*p=5;

(2)#include"

inta=2,b=4,c=6;

int*pa=&

a,*pb=&

b,*p;

*(p=&

c)=*pa*(*pb);

c);

26从键盘输入三个整数,要求设3个指针变量p1,p2,p3,使p1指向3个数中的最大者,p2指向次大者,p3指向最小者。

按照由大到小的顺序输出这三个数。

int*p1,*p2,*p3;

inta,b,c,t;

inputthreenumbers\n"

%d%d%d"

p1=&

p3=&

c;

if(*p1<

*p2)

t=*p1;

*p1=*p2;

*p2=t;

*p3)

*p1=*p3;

*p3=t;

if(*p2<

t=*p2;

*p2=*p3;

%d%d%d"

*p1,*p2,*p3);

27/*Note:

YourchoiceisCIDE*/

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

%d,%d\n"

*p+2,*(p+2));

(2)

/*Note:

inta[10],*p=a;

i++)*p++=2*i;

i++)printf("

%d,"

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

当前位置:首页 > 法律文书 > 判决书

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

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