C语言考试试题.pdf_第1页
C语言考试试题.pdf_第2页
C语言考试试题.pdf_第3页
C语言考试试题.pdf_第4页
C语言考试试题.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.若x为int型变量,则执行以下语句后,x的值为 -60-60。 x=6; x+=x-=x*x;x=x-x*x=-30x=x-x*x=-30x=x+x=-60x=x+x=-60 2.若有定义int a23; 则对a数组的第i行第j列元素地址的正确引用为ai+jai+j。 3.若有说明:int i, j=2,*p=,则能完成i=j赋值功能的语句是*p=* a/=SQR(k+m)/SQR(k+m);a/=k+k*m+m/k+k*m+ma/=k+k*m+m/k+k*m+m printf(“%dn“,a); 6. 以下程序的输出结果是 4 4。 main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i=0) printf(“nThe name is: %s“,namennamen); else printf(“nInput error“); 8. 局部变量是静态存储变量。错误错误 9. “文件包含“处理是指一个源文件可以将另一个源文件的内容全部包含进来。正确正确 10. 若有定义:int *p1,*p2;则p1+p2无实际意义。正确正确 11. 若在函数内定义形参数组形参数组a:int a34;则数组a中各元素可在程序的编译阶段得到 初值0。错误错误 12. 以下不能正确定义二维数组的选项是intinta2=1,2,3,4;a2=1,2,3,4;。 13. 以下程序的输出结果是 6 6 1515 1515。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d “,d); return(d); main( ) int a=3; printf(“%d n“, fun(a+fun(d); intint d=1-intd=1-int c=1c=1fun(d)=fun(c)=fun(1)fun(d)=fun(c)=fun(1)d=5d=5 d+=c=1d+=c=1d=6d=6 printf(6printf(6 ) ) -a=3-a=3 d+=a+fun(d)=a+fun(c)=a+d=9d+=a+fun(d)=a+fun(c)=a+d=9d=15d=15 printf(15printf(15 ) ) printf(15printf(15 ) ) 14. 执行输出语句printf(“%d“, a)将输出%97%97。%为转义字符为转义字符 15. 设C语言中,一个int型数据在内存中占2个字节,则unsignedunsigned intint型数据的取值范围为 0 06553565535。 16. 为了判断两个字符串s1和s2长度长度是否相等,可以使用ifif (strlen(s1)=(strlen(s1)= = = strlen(s2)strlen(s2)。 17. 有以下程序,执行后输出结果是 1,3,21,3,2。 void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%dn“,x,y,z); 单向值传递,形参变化不改变实参单向值传递,形参变化不改变实参 18. 分析下面程序的运行结果是sum= 1010。 #defineADD(x)x+x main() intm=1,n=2,k=3; intsum=ADD(m+n)*k;sum=m+n+m+n*ksum=m+n+m+n*k printf(“sum=%d“,sum); 19. 20/7,-20/7的结果均为整型,而20.0/7和-20.0/7结果为实型。正确正确 20. 执行下面程序,屏幕输出的值是4 4。 int i; printf(“%dn“,(i=2,i+,i+2,+i); 21. 以下运算符中优先级最低的是以下运算符中优先级最低的是 + += = 。 22. 运行下列带有指针数组的程序,输出结果为r,twor,two,完成程序。 main() char *s=“one“,“two“,“three“,*p; p=s2;p=s2; printf(“%c,%sn“,*(p+2),s1); 23. 用指针数组的元素指向整型数据,输出a数组的各元素。 main() static int a5=1,3,5,7,9; int *num5= int *p,i; p=num; for(i=0;i main() int y=10;intint y=10;y=10; while(y-);if(if(y y!=0)!=0)-y;-y; printf(“y=%dn“,y);printf(“y=%dn“,y);printf(“y=%dn“,y); 25. 宏定义只是在编译预处理时作简单的字符串替换。正确正确 26. 有以下程序 main() int a=5,b=4,c=3,d=2; if(abc)从左至右:从左至右:abab1,(ab)c1,(ab)c1c1c0,0,故执行故执行elseelse ifif printf(“%dn“,d); else if(c-1=d)=1) printf(“%dn“,d+1); else printf(“%dn“,d+2); 执行后输出结果是 3 3 。 27. 以下程序段中不能根据x值正确计算出y值的是: y=0;y=0; if(x0)if(x0) y=1;y=1; elseelse if(x #include main() char s81,*p1,*p2; int n; printf(“nInput a string:“); gets(s); n=strlen(s); p1=s s; p2 = s+n-1; while (p1 main() int i=0,a=0; while(i f(int a) int b=0; static c=3; a=c+,b+;整体值为整体值为b+,b+,将将c+c+赋值给赋值给a.a. return(a); main() int a=2,i,k; for(i=0;i main() intint a=3,a=3, b=2,b=2, c=1c=1; int b=5, c=12; c-=b*2; printf(“a=%d,b=%d,c=%d#“, a, b, c); a+=c; printf(“a=%d,b=%d,c=%dn“,printf(“a=%d,b=%d,c=%dn“, a,a, b,b, c);c); 54. C语言的预处理功能是指完成宏替换和包含文件的调用。错误错误 55. 下面程序的执行完后全局变量n的值是2121 。 int n=1; main() static int x=5;int y; y=n; func(); func(); func() static int x=4;int y=10; x=x+2; n=n+10;函数调用两次:函数调用两次:n=n+10+10=21n=n+10+10=21 y=y+n; 56. 执行下面程序,输出结果是6,6,46,6,4。 main( ) int a=2,b=6,c=4; if(a0) fun(k-1); printf(“%d“, k); 等于等于0 0时不循环,直接输出时不循环,直接输出k k 90. 在不同函数中可以使用相同名字的变量。正确正确 91. 用8位无符号二进制数能表示的最大八进制数值为377。正确正确 92. 如果有char a10;则可用语句scanf(“%s“,a);来实现为全部数组元素赋 值。正确正确 93. 下面程序的运行结果是 aabcdaabcd。 #include main() int i=5; char c6=“abcd“; do ci=ci-1; while(-i0);c4=c4=00 puts(c); 94. 实参可以是常量、变量或表达式,不一定要求它们有确定的值。错误错误 95. 一个函数返回值的类型是由调用函数决定的。错误错误 96. 若x为int型变量,则逗号表达式x=2*3,x+5,x+,x+25的结果为32,x的值为 7。x x+5+5与与x x的值无关的值无关 97C语言规定,形参应与其对应的实参类型一致。正确正确 98下列程序段的输出结果是2 2 1 1 4 4 3 3。 void fun(int *x, int *y) printf(“%d %d“, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun( printf(“%d %d “,x, y); 99. 输入年、月、日,计算该日子是当年的第几天,即天数,请填空。 #include main() int year,mon,day; int day_tab212=31,28,31,30,31,30,31,31,30,31,30,31, /*行i=0 */ 31,29,31,30,31,30,31,31,30,31,30,31;/*行i=1 */ printf(“Please Input year,month,day:“); scanf(“%d%d%d“, printf(“days=%dn“,day_of_year(day_tabday_tab,year,mon,day); day_of_year(int (*p)12, int year,int mon,int day) int i,j; if (year%4=0) elsei=0; forfor (j=0;j10 elseprintf(“%5d Not been found!n“,x); 109. 若有以下定义和语句:int x=10,*p=*p=x;则两处的*p都用来给指针变 量p赋值。错误错误 110. 编译预处理只对宏作简单的替换工作,并不作正确性检查。正确正确 111. 语言提供了#define命令来实现“文件包含“的操作 错误错误 112.宏的定义可用制定的标示符代表多个表达式(错误) 113.条件编译就是根据编译的条件来选择编译源程序中的不同部分(正确) 114. 宏替换不占用运行时间,只占编译时间。 (正确) 116.有一个占两个字节的整数,二进制为00101011 10010100,要想取出其中 的高字节 00101

温馨提示

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

评论

0/150

提交评论