C语言复习.docx
- 文档编号:2461472
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:15
- 大小:17.99KB
C语言复习.docx
《C语言复习.docx》由会员分享,可在线阅读,更多相关《C语言复习.docx(15页珍藏版)》请在冰豆网上搜索。
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(④) ⑤; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习