C语言复习.docx

上传人:b****2 文档编号:2461472 上传时间:2022-10-29 格式:DOCX 页数:15 大小:17.99KB
下载 相关 举报
C语言复习.docx_第1页
第1页 / 共15页
C语言复习.docx_第2页
第2页 / 共15页
C语言复习.docx_第3页
第3页 / 共15页
C语言复习.docx_第4页
第4页 / 共15页
C语言复习.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言复习.docx

《C语言复习.docx》由会员分享,可在线阅读,更多相关《C语言复习.docx(15页珍藏版)》请在冰豆网上搜索。

C语言复习.docx

C语言复习

一、填空题

二、单项选择题

三、看程序写结果

1、下面程序的输出结果是____。

main()

{inta=1,i=a+1;

do

{a++;

}while(!

~i++>3);

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

}

2

main()

{chars[12]="abook";

printf("%5.3s",s);

}

3

main()

{inta,b;

scanf("%2d%3d",&a,&b);

printf("a=%db=%d\n",a,b);

}

4main()

{inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!

b)

if(!

c)d=15;

elsed=25;

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

}

5

main()

{inta=1,b=0;

switch(a)

{case1:

switch(b)

{case0:

printf("**0**");break;

case1:

printf("**1**");break;

}

case2:

printf("**2**");break;

}

}

6main()

{char*s="12134211";

intv1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{case'1':

v1++;

case'3':

v3++;

case'2':

v2++;

default:

v4++;

}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);

}

7

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;contiue;

case'E':

k=k+10;break;

default:

k=k/3;

}

k++;

}while(c<'C');

printf("k=%d\n",k);

}

8main()

{intx,i;

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

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);

}

}

9

#include

main()

{intn[3][3],i,j;

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

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

n[i][j]=i+j;

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

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

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

printf("%d\n",n[i][j]);

}

10

#include

main()

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

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

}

11

intm[3][3]={{1},{2},{3}};

intn[3][3]={1,2,3};

main()

{printf("%d\n",m[1][0]+n[0][0]);/*①*/

printf("%d\n",m[0][1]+n[1][0]);/*②*/

}

12

#include

try()

{staticintx=3;

x++;

return(x);

}

main()

{inti,x;

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

x=try();

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

}

13

#include

main()

{intx=1;

   voidf1(),f2();

  f1();

f2(x);

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

}

voidf1(void)

{intx=3;

printf("%d",x);

}

voidf2(x)

intx;

{printf("%d",++x);

}

14下面程序的输出结果是____。

main()

{inta[]={1,2,3,4,5,6};

int*p;

p=a;

printf("%d",*p);

printf("%d",*(++p));

printf("%d",*++p);

printf("%d",*(p--));

p+=3;

printf("%d%d",*p,*(a+3));

}

15下面程序的输出结果是____。

main()

{inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int*p=a;

p+=6;

printf("%d",*p);/*①*/

printf("%d",*(*(a+6)));/*②*/

printf("%d",*(a[1]+=2));/*③*/

printf("%d",*(&a[0][0]+6));/*④*/

}

16下面程序的输出结果是____。

#include

f(intx,inty)

{return(y-x);

}

main()

{inta=5,b=6,c;

intf(),(*g)()=f;

printf("%d\n",(*g)(a,b));

}

17下面程序的输出结果是____。

main()

{char*alpha[7]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX","YZ"};

char**p;

inti;

p=alpha;

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

printf("%c",*(p[i]));

printf("\n");

}

四、程序填空题(每空1分,共15分)

1根据近似公式:

π2/6≈1/12+1/22+1/32+……+1/n2,求π值。

#include

doublepi(longn)

{doubles=0.0;

longi;

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

s=s+①;

return(②);

}

2计算1-3+5-7+……-99+101的值。

main()

{inti,t=1,s=0;

for(i=1;i<=101;i+=2)

{①;

s=s+t;

②;

}

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

}

3从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(①)

{if(x>amax)amax=x;

if(②)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

4辗转相除法求两个正整数m和n的最大公约数。

hcf(intm,intn)

{intr;

if(m

{r=m;

①;

n=r;

}

r=m%n;

while(②)

{m=n;

n=r;

r=m%n;

}

③;

}

5下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。

排好序的10个数分两行输出。

程序如下:

#include

main()

{①;

inti,j;

printf("Input10numbersplease\n");

for(i=0;②;i++)

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

printf("\n");

for(i=2;③;i++)

for(j=0;④;j++)

if(⑤)

{x=a[j];

⑥;

a[j+1]=x;

}

printf("Thesorted10numbers;\n");

for(i=0;⑦;i++)

{if(⑧)

printf("\n");

printf("%f\t",a[i]);

}

printf("\n");

}

6下面程序的功能是删除字符串s中的空格。

#include

main()

{char*s="Beijingligongdaxue";

inti,j;

for(i=j=0;s[i]!

='\0';i++)

if(s[i]!

='')①;

else②;

s[j]='\0';

printf("%s",s);

}

7下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如:

输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。

#include

main()

{charstr1[100],str2[100],c;

inti,s;

printf("Enterstring1:

");gets(str1);

printf("Enterstring2:

");gets(str2);

i=0;

while((str1[i]==str2[i]&&str1[i]!

=①))

i++;

s=②;

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

}

8下面程序的功能是计算S=k!

k=0

longfun(intn)

{inti;

longs;

for(i=1;i①;i++)

s*=i;

return(②);

}

main()

{intk,n;

longs;

scanf("%d",&n);

s=③;

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

s+=④;

printf("%ld\n",s);

}

9下面的函数是一个求阶乘的递归调用函数。

facto(intn)

{if(n==1)①;

elsereturn(②);

}

10下列函数是求一个字符串str的长度。

intstrlen(char*str)

{if(①)return(0);

elsereturn(②);

}

11用递归实现将输入小于32768的整数按逆序输出。

如输入12345,则输出54321。

#include"stdio.h"

main()

{intn;

printf("Inputn:

");

scanf("%d",①);

r(n);

printf("\n");

}

r(intm)

{printf("%d",②);

m=③;

if(④)

⑤;

}

                     

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

当前位置:首页 > 医药卫生 > 基础医学

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

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