C语言程序设计样题

上传人:daj****de2 文档编号:173997455 上传时间:2022-12-13 格式:DOCX 页数:13 大小:43.56KB
收藏 版权申诉 举报 下载
C语言程序设计样题_第1页
第1页 / 共13页
C语言程序设计样题_第2页
第2页 / 共13页
C语言程序设计样题_第3页
第3页 / 共13页
资源描述:

《C语言程序设计样题》由会员分享,可在线阅读,更多相关《C语言程序设计样题(13页珍藏版)》请在装配图网上搜索。

1、C语言程序设计复习资料填空题1、在C语言中,字符类型的数据在内存中以相应的ASCII码存放,所以字符也可以用整数形式输出。2、在C语言中,符号常量是在一个程序中指定的用名字代表的常量,定义符号常量一般用#define命令,定义一个符号常量PI,其值为3.14159,格式是#definePI3.14159。3、用条件运算符写出求两个数a,b大者的表达式max=(ab)?a:b。4、在一个函数中有定义int(*p)10,则p为指向含10个元素的一维数组的指针变量。5、C语言函数参数传递的两种方式是形式参数和实际参数;6、在C语言中,一般在稈序中用数组、结构、共用体来定义构造类型7、C语言程序是函数

2、构成的,其中有且只有1个主函数,可以有若干个其它函数。8、设整型变量X,Y,Z的值均为15,执行X%=Y+Z后,X=15,继续执行X=YZ?X+2:X-2后,X=13。(X%=Y+Z等价于X=X%(Y+Z)9、执行语句“for(j=1;jv=5;j+);”后,变量j的值为6。10、函数形式参数的作用域是一函数调用过程。11、若有以下定义:chara;intb;floatc;doubled;则表达式a*b+d-c的值的类型是double。12、在一个函数中有定义inta=5,*p=&a;执行*p=a+15;后,a的值为20。13、在一个函数中有定义floata=70,*p=&a;执行*p=*p+

3、20;后,a的值为90.000000。14、定义一个长度为20的整形一维静态数组a,且前4个元素的初值为6,12,18,24,定义的格式为:inta20=6,12,18,24。15、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。16、表达式(int)(20+25*3+6+58)的值是39。17、写出表达式11V14&17V25的1。18、在C语言中,字符串是用双引号引起来的一串字符。在机器中,字符串ABcdEFgn需占用9字节的内存空间。19、intj,k,i=15;j=i+;K=i+j;则K的值是:3120、结构化程序设计的三种基本结构是:选择结构、循环结构和一顺序结构一。21

4、、在C语言中,一个二维数组可以看成若干个_一维数组。22、文件操作步骤通常是:打开、操作和关闭。23、一个C语言程序总是从main函数开始执行24、设宏定义#define6。D(x)x/x,则引用D(2+3)后的值是25、以下十个运算符+!c)?(b+1):(c+2),3后a的值是5。28、语句int(*p)()的含义是p为指向函数的指针,该函数返回一个整型值29、全局变量放在内存的静态存储区30在C语言中,单目运算符的结合方向(运算方向)是自右向左;唯一的一个三目运算符是一条件运算符(?:)。31能正确表示“当ch为小写字母为真,否则为假”的表达式是ch=a&ch二z。32 循环语句for(

5、;)printf(OKn);和doprintf(0Kn);while(0);执行完毕循环,循环次数分别是无穷次和次。明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为900二、选择题1、在C语言中字符型(char)数据在内存中是以(D)形式存储的A原码B补码C反码DASCII码2、在C程序中可以作为变量名的合法标识符是(D)AstaticB23-bC#stuDIf3、若有以下定义和语句:inta,b,c;scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为了使1,3,2分别赋给a,b,c,从键盘上输入数据的正确形式是(D)A132B1,3,2Ca=1b

6、=3c=2Da=1,b=3,c=24、若要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是(A)Aa!=0Ba=0Ca=0Da05、以下说法不正确的是(C)Afor,while,do-while循环体中的语句均可由空语句构成;B使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成;Cdo-while和for循环均是先执行循环体语句,后判断表达式;Dwhile循环是先判断表达式,后执行循环体语句。6、循环语句for(a=0,b=0;anoCp-noD*p.no11、有一个二维数组s33,其第2行第3列元素的正确表示是:(B)A*(S+3)+3B

7、s23Cs2,3Ds2312、C语言规定数组名做实参时,它和对应形参之间的数据传递方式是:AA单向值传递B无传递C地址传递D用户指定传递方式13、若变量a是int类型,并执行了语句:a=A+2:则正确的叙述是:BAa的值是字符2Ba的值是67C不能用字符和数字相加Da的值是A14、以下程序的输出结果是:_Cmain()inta=5,b=4,c=6,d;Printf(“%dn”,d=ab?(ac?a:c):b);A5B4C6D不确定15、在说明语句中有:float(*fp)();则fp代表的是:DA一个用于指向一维数组的行指针;B一个返回值为实型的函数名;C一个用于指向函数的指针变量;D一个指向

8、实型数据的指针;p=malloc(int);p=malloc(sizeof(int);16、有int*P:刚下面语句正确的是:AAp=(int*)malloc(sizeof(int);Cp=int*malloc(sizeof(int);17、设有宏定义#dedinepi3.14和#dedineS(r)pi*r*r若在函数中有语句floatb=3.6,area;area=S(b);则area的值是DA3.6B3.14C11.304D40.694418、若给出以下定义:charm10,*p=m;则以下表达式不正确的是(B)Ap=m+5;Bm=m+p;Cm3=a;Dp=p+1;19、若变量a是int

9、类型,并执行了语句:a=A+2:则正确的叙述是:B20 Aa的值是字符2Ba的值是67C不能用字符和数字相加Da的值是A设有如下定义:int(*ptr)*();则以下叙述中正确的是CAptr是指向一维组数的指针变量Bptr是指向int型数据的指针变量Cptr是指向函数的指针,该函数返回一个int型数据21 Dptr是一个函数名,该函数的返回值是指向int型数据的指针下列不正确的转义字符是(C)B)C)074D)0若有以下定义:chara;intb;floatc;doubled;则表达式a*bd-c值的类型为(D)A)floatB)intC)charD)double表示关系x=y=z的c语言表达

10、式为AA)(X=Y)&(Y=Z)B)(X=Y)AND(Y=Z)C)(X=Y=Z)D)(X=Y)&(Y=Z)24设a=l,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为DA)4B)3C)2D)125设x为int型变量,则执行以下语句后,x的值为(Bx=10;x=x-=x-x;A)10B)20C)40D)30下列可作为C语言赋值语句的是CA)x=3,y=5B)a=b=6C)i-;D)y=int(x);设x,y,z,t均为int型变量,则执行以下语句后,t的值为Cx=y=z=1;t=x|y&z;A)不定值B)2C)1D)028设i是int型变量,f是float型变量,用下面的语句给

11、这两个变量输入值:scanf(i=%d,f=%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为BA)100765.12B)i=100,f=765.12C)100765.12D)x=100y=765.1229设x和y均为int型变量,则执行下的循环后,y值为(C)for(y=1,x=1;y=10)break;if(x%2=1)x+=5;continue;x-=3;A)2B)4C)6D)830给出以下定义:Ccharx=abcdefg;chary=a,b,c,d,e,f,g;则正确的叙述为A)数组X和数组Y等价B)数组x和数组Y的长度相冋C)数组X的长度大于数组Y的长度D

12、)数组X的长度小于数组Y的长度31以下叙述中不正确的是DA)在不冋的函数中可以使用相冋名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效32假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;dob-=a;a+;while(b-3;j-)if(j%3)j-;-j;-j;printf(%d,j);A)63B)74C)62D)7334设有以下宏定义:#defineN3#defineY(n)(N+1)*n)则执行语句:z=2*(N+Y(5+1);后,z的值为CA)出错B)42C)48D)543

13、5设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是BA)k=*P1+*P2;B)p2=k;C)P1=P2;D)K=*P1*(*P2);设有如下定义:intarr=6,7,8,9,10;int*ptr;则下列程序段的输出结果为Dptr=arr;*(ptr2)=2;printf(%d,%d、n,*ptr,*(ptr2);A)8,10B)6,8C)7,9D)6,10以下程序的输出结果是Bmain()inti,k,a10,p3:36 K=5;for(i=0;i10;i)ai=i;for(i=0;i3;i)pi=ai*(i1);for(i=0;i3;i)k=p

14、i*2;printf(%d、n,k);A)20B)21C)22D)23执行以下程序段后,m的值为Ainta23=1,2,3,4,5,6;intm,*p;p=&a00;m=(*p)*(*(p2)*(*(p4);A)15B)14C)13D)12(39)有以下程序段chararr=ABCDE;char*ptr;for(ptr=arr;ptrarr5;ptr)printf(%s、n,ptr);输出结果是DA)ABCDB)AC)E(40)有以下程序main()intx,i;or(i=1;i=50;i)x=i;if(x%2=0)if(x%3=0)if(x%7=0)printf(%d,i);”输出结果是A)

15、28B)27C)42(41)有下列程序#includestdio.hmain()unionintk;chari2;*s,a;D)ABCDEDD)41s=&a;s-i0=0x39;s-i1=0x38;printf(%x、n,s-k);输出结果是AA)3839B)3938C)380039(42)有以下程序#includestdio.hD)390038main()inta,b,c=246;a=c/100%9;b=(-1)&(-1);printf(%d,%d、n,a,b)输出结果是A)2,1B)3,2C)4,3D)2,-1(43) 有以下程序#includestdio.hstructstuintnum

16、;charname10;intage;;voidfun(structstu*p)printf(%s、n,(*p)。name);main()structstustudents3=9801,Zhang,20,9802,Wang,19,9803,Zhao,18;fun(students2);输出结果是BA)ZhangB)ZhaoC)WangD)18设有以下说明和定义:typedefunionlongi;intk5;charc;DATE;structdateintcat;DATEcow;doubledog;too;DATEmax;则下列语句的执行结果是Bprintf(%d,sizeof(structd

17、ate)sizeof(max);A)26B)30C)18D)8有以下程序main()chara=programming,b=language;char*p1,*p2;inti;p1=a;p2=b;for(i=0;i7;i+)if(*(p1+i)=*(p2+i)printf(c,*(p1i);输出结果是DA)gmB)rgC)orD)ga有以下程序viodfun(inta,intb,intc)a=456;b=567;c=678;main()intx=10,y=20,z=30;fun(x,y,z);printf(%d,/%d、n,c,d)输出结果是AD)678,567,456A)30,20,10B)

18、10,20,30C)456,567,678有以下程序intfun(intx,inty,int*cp,int*dp)*cp=xy;*dp=x-y;main()inta,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf(%d,%d、n,c,d);输出结果是D)80,20A)50,30B)30,J50C)80,-20有以下程序main()inti,j;for(j=10;j11;j)for(i=9;ij;i)if(!(j%i)break;if(i=j-1)printf(%d,j);输出结果是BA)11B)10C)9D)1011(50)有以下程序includeatdio.hin

19、tabc(intu,intv);main()inta=24,b=16,c;c=abc(a,b);printf(%d、n,c);”intabc(intu,intv)intw;while(v)w=u%v;u=v;v=wreturnu;A)6B)7C)8D)9三、阅读程序写出运行结果1、main()intx,y=10;x=3+5*56;printf(x=%dy=%dn,x,y);x=10+2*37;printf(x=%dn,x);x=(7+6)%5+2;y=x+y;printf(x=%dy=%dn,x,y);输出结果:x=16y=10x=9x=5y=152、include“stdio.h”main(

20、)intsum=0,k=1;dosum=sum+k;k=k+2;while(k=10);printf(“sum=%d,sum);输出结果:sum=253、include“stdio.h”main()inti;intcount(inti);for(i=1;i=3;i+)count(i);intcount(intn)staticintx=1;printf(“%d:x=%d,“,n,x);x=x+2;printf(“x+2=%dn,“,x);输出结果:1:x=1x+2=32:x=3x+2=53:x=5x+2=74、swap(int*p1,int*p2)inttemp;temp=*p1;*p1=*p2

21、;*p2=temp;main()inta,b;int*pt1,*pt2;scanf(%d%d,&a,&b);pt1=&a;pt2=&b;if(ab)swap(pt1,pt2);printf(%d%d,*pt1,*pt2);输入5566输出结果:66555、#includemain()inta,b,c,d,x;a=c=0;b=21;d=60;if(a)d=d30;elseif(!b)elseif(!c)x=55;elsex=65;printf(“d=%d,x=%dn”,d,x);输出结果:d=60,x=556、#includemain()inta,b;for(a=1;a=6;a+)for(b=1

22、;b=14-2*a;b+)printf(“);/*输出一个空格*/for(b=1;b=a;b+)printf(“%4d“,a);printf(“n“);输出结果:12233344455556666667、#include#definesub(x)(x)-(x)main()inta=24,b=46,c=78,m;m=sub(a+b)*c;printf(“m=%d”,m);输出结果:m=-53908、#includemain()inta33=21,22,23,24,25,26,27,28,29,j;Longm=1;for(j=0;j3;j+)m=m*ajj;printf(“m=%d“,m);输出结

23、果:m=152259、#includemain()inta33=7,8,9,*p,k;p=&a00;for(k=0;k2;k+)if(k=0)akk+1=*p+1;else+p;printf(“%d”,*p);输出结果:7810include“stdio.h”main()intx,y,z;x=(z=10,z+15);y=(x=3,x+z);printf(“%d,%d,%dn”,x,y,z);输出结果:3,13,1011、include“stdio.h”main()charstr10,temp10intk;gets(temp);for(k=0;k0)strcpy(temp,str);printf

24、(“%s“,temp);输入:usa,canada,china,japan,korea输出结果为:12、include“stdio.h”main()ints1,s2,s3,c,I;intx;s1=s2=s3=0;for(I=0;I=60&xy)if(zx)m=z;elseif(yx)m=y;return(m);main()floata,b,c,ma;scanf(“%f%f%f“,&a,&b,&c);ma=max(a,b,c);printf(“themaxis:%fn“,ma);2、已知计算n的公式为n=4*(1-1/3+1/5-1/7+),下面的程序是要根据此公式来求n的值,精度要求为0.00

25、001,请填写空缺部分书P124#include#includemain()intsign=1;floatpi=0,item=1,n=1;while(fabs(item)1e-5)pi=pi+item;sign=-sign;item二sign/n;n二n+2;pi二pi*4;printf(“pi=%f”,pi);3、有一封信共有3行,每行20个字符。统计其中有多少英文大写字母,多少英文小写字母,多少数字字符。#defineN3#defineM#includestdio.hvoidstr_count(charstr)inti,upper=0,lower=0,digit=0;for(i=0;ivN

26、*;i+)if(stri=A&stri=Z)upper+;elseif(stri=a&stri=z)lower+;elseif(stri=0&stri=9)digit+;printf(%d,%d,%dn,upper,lower,digit);main()charletterNM+1;inti;for(i=0;iN;i+)gets();str_count();4、采用选择法对一维数组中的n个数按升序进行排序。voidsort(inta,intn)intj,k,p,t;for(j=0;j;j+)p=j;for(k=;kn;k+)if(akap)_;if(P!=j)t=ap;ap=aj;aj=t;5

27、、求100200之间的全部素数书P127#includemain()intm,k,i,n=0;for(m=101;m=200;m=m+2)k=sqrt(m);for(i=2;i=k+1)printf(“%d”,);五、程序设计1、编定一个程序,打印九九乘法表。#includevoidmain()intx=1,y=1;while(x=9)y=1;while(y=x)printf(%d*%d=%dt,y,x,x*y);y+;printf(n);x+;2、在歌手比赛中有10名评委打分,分数采用百分制,歌手的最后得分是:从10名评委的评分中,去掉一个最高分,去掉一个最低分,统计其总分,再除以8。试编程

28、求一个歌手的最后得分#includestdio.h#includeconio.hvoidmain()floata10,min,max,avescore=0;inti;printf(pleaseinputscores:n);for(i=0;i100|ai0)i-;min=max=a0;for(i=0;imax)max=ai;if(aimin)min=ai;for(i=0;i10;i+)avescore+=ai;printf(Theaveragescoreis%f!n,(avescore-min-max)/8);getch();3、编定一个程序,打印出所有的“水仙花”数,所谓“水仙花”数是指一个3

29、位数,其各位数字的立方和等于该数本身。书P129#includestdio.hvoidmain()inta,b,c,i;for(i=100;i=999;i+)a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c=i)printf(%5dn,i);4、某班有100名学生,每个学生的数据包括学号(num),姓名(name10),性别(sex),年龄(age),三门课成绩(score3),总分(sum,三门课成绩之和)要求编一程序,输入学生的数据,并计算出每个学生的三门课的总分,然后按总分名次由高到低输出所有学生的各项数据。5、编写一个程序,判断2000至2100年间哪几个年份是闰年。#includestdio.hmain()intyear;for(year=2000;year=2100;year+)if(year%4=0&year%100!=0)|year%400=0)printf(%d,year);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!