资源描述:
《c语言程序设计基础练习1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计基础一、填空题(每题2分,共20分)1、计算机硬件系统主要由、两大部分组成。2、假设有说明charc1=’A’;则c1在内存中的存储形式为(二进制形式表示):。3、设x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后x,y,z的值是。4、假设有程序段inta,b,c,d;a=1;b=2;c=3;d=4;则表达式a>b?a:c>d?c:d的值为。5、假设有说明intx=10,y=10;则语句printf(“%d,%d”,x++,--y);的结果是。6、设inta[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小
2、是。10、假设有语句a=strlen(“12x4a348zb”),则a的值是。二、程序填空(每空2分,共18分)1、下面程序的功能是计算n!,请将程序填写完整。main(){inti,n;floatfac;①scanf(“%d”,&n);for(i=2;i<=n;i++)②;printf(“n!=%f”,fac);}2、百钱买百鸡。公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元买一百只鸡,且公鸡、母鸡、小鸡都要有,有几种买法?请将下列程序填写完整。main(){inti,j,k,n=0;k=100-i-jfor(i=1;i<20;i++)for(j=1;j<
3、34;j++){③;第9页共9页if(k%3==0)if(④==100){n++;printf(“%8d,%8d,%8d”,i,j,k);}}printf(“n=%d”,n);}3、下面程序的功能是将数组a中的n个整数按相反顺序存放,并输出最后的数组。请将下列程序填写完整。是指针题目,不用了解voidinv(⑤,intn){intt,*p,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i<=p;i++,j--){t=*i;⑥;*j=t;}}main(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a
4、,10);printf("Thearrayhasbeenreverted:");for(i=0;i<10;i++)⑦;printf("");}4、下列程序是将字符串s1中的全部字符拷贝到字符串s2中。(不用strcpy函数)#include"string.h"#include"stdio.h"main(){chars1[120],s2[120];intk;gets(s1);for(k=0;⑧;k++)s1:”abc”s2:””⑨;s2[0]=s1[0];s2[1]=s1[1];…..s1[i]=’ ’(k<=strlen(s1)s2[k]=' ';puts(
5、s1);第9页共9页puts(s2);}三、写出下列程序的运行结果(每题4分,共12分)1、程序1:main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d”,a,b);}2、程序2此题不用说#includemain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("array
6、a:");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("");第9页共9页}printf("arrayb:");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("");}}3、程序3:inta,b;floatf(intarray[],intn){inti;floatsum=array[0];a=b=array[0];for(i=1;i7、rray[i]>a)a=array[i];elseif(array[i]