您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > C语言试卷(2000-1-5)
《C语言模拟考题》一、选择题1、C语言中,char、int、float和double类型的数据分别占用【1】个字节。【1】A)2、2、3、4B)1、2、4、6C)1、2、4、82、若执行printf(%d\n,strlen(a\n\\\x41))语句其输出结果是【2】。【2】A)8B)7C)6D)43、若inta,b,c;则表达式(a=2,b=5,b++,a+b)的值是【3】。【3】A)7B)8C)6D)24、以下正确的叙述是【4】。【4】A)在C语言中,main函数必须位于文件的开头B)C语言每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误5、若执行以下程序段:inta=1,b=2,m=2,n=2;(m=ab)&&++n;则n的值是【5】。【5】A)1B)2C)3D)4注:类似的如以下题:inta=1,b=1,c=0;if(++a||++b)c=a+b;printf(a=%db=%dc=%d\n,a,b,c);6、已知各变量的类型如下:inti=8,a,b;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是【6】。【6】A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)7、以下程序的运行结果是【7】。#includestdio.hmain(){intm=5;if(m++5)printf(%d\n,m);elseprintf(%d\n,m++);}【7】A)7B)6C)5D)48、以下程序的运行结果是【8】。#includestdio.hmain(){charc='y';if(c='a'&&c='u')c+=5;elseif(c='v'&&c='z')c-=21;putchar(c);}【8】A)'y'B)'d'C)yD)d9、若定义inti;则以下循环语句的循环执行次数是【9】。for(i=2;i==0;)printf(%d,i--);【9】A)无限次B)0次C)1次D)2次10、以下程序的运行结果是【10】。#includestdio.hmain(){inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p,j;p=a[0];printf(%2d,%2d,%2d,%2d\n,*p,*(*(a+3)+2),p[2],*(p+7));}【10】A)4,4,9,8B)程序出错C)1,10,12,8D)1,9,2,7/************************/11、以下程序的输出结果是【11】。#includestdio.hmain(){inti=0;while(1){printf(*);i++;if(i3)break;}printf(\n);}【11】A)*B)***C)**D)****12、若定义a[][2]={1,2,3,4,5,6,7};则a数组中行的大小是【12】。【12】A)2B)3C)4D)无确定值13、要使以下程序中t的输出结果是4,则输入a和b应满足的条件是【13】。#includestdio.hmain(){ints,t,a,b;scanf(%d%d,&a,&b);s=t=1;if(a0)s+=1;if(ab)t=s+t;elseif(a==b)t=5;elset=2*s;printf(%d\n,t);}【13】A)a0并且abB)a0并且abC)a0并且abD)a0并且ab'14、以下程序的运行结果是【14】。#includestdio.hvoidf(intb[]){inti=0;while(b[i]=10){b[i]+=2;i++;}}main(){inti,a[]={1,5,10,9,13,7};f(a+1);for(i=0;i6;i++)printf(%d,a[i]);}(从第一个元素起到大于10为止,各加2)【14】A)271211139B)171211137C)171211139D)1712913715、以下各语句或语句组中,正确的操作是【15】。【15】A)chars[5]=abcdeB)char*s;gets(s);C)char*s;s=abcde;D)chars[5];scanf(%s,&s);16、以下C语言中,对函数不正确的描述是【16】。【16】A)当用数组名作形参时,形参数组改变可使实参数组随之改变B)允许函数递归调用C)函数形参的作用范围只是局限于所定义的函数内D)被调函数必须在主调函数之前17、在循环语句的循环体中,continue语句的作用是【17】。【17】A)立即终止整个循环B)继续执行continue语句之后的循环体各句C)结束本次循环D)结束本次循环并跳出循环18、以下程序的运行结果是【18】。#includestdio.hmain(){char*s=xcbc3abcd;inta,b,c,d;a=b=c=d=0;for(;*s;s++)switch(*s){case'c':c++;case'b':b++;default:d++;break;case'a':a++;}printf(a=%d,b=%d,c=%d,d=%d\n,a,b,c,d);}(a='a'的个数、b='b','c'的个数、c='c'的个数、d=非'a'的个数)【18】A)a=1,b=5,c=3,d=8B)a=1,b=2,c=3,d=3C)a=9,b=5,c=3,d=8D)a=0,b=2,c=3,d=319、若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是【19】。fseek(fp,0,SEEK_END)i=ftell(fp);printf(i=%ld\n,i);【19】A)-1B)fp所指文件的长度,以字节为单位C)0D)220、以下程序的输出结果是【20】。#includestdio.hinti;main(){inti=1,j=2;fun(fun(i,&j),&j);}fun(inta,int*b){staticintm=2;i+=m+a;m=++(*b);printf(%d,%d\n,i,m);return(m);}【20】A)3,3B)3,3C)3,3D)3,39,46,39,36,421、定义compare(char*s1,char*s2)函数,以实现比较两个字符串大小的功能。以下程序运行结果为-32,选择正确答案填空。#includestdio.hmain(){printf(%d\n,compare(abCd,abc);}compare(char*s1,char*s2){while(*s1&&*s2&&【21】){s1++;s2++;}return*s1-*s2;}【21】A)*s1!=*s2B)*s1==*s2C)*s1=*s2D)s1!=s222、若有以下程序:#includestdio.hmain(intargc,char*argv[]){while(--argc)printf(%s,argv[argc]);printf(\n);}(逆序参数回送)该程序经编译和连接后生成可执行文件S.EXE。现在DOS提示符下键入SAABBCC回车,则输出结果是【22】。【22】A)AABBCCB)AABBCCSC)CCBBAAD)CCBBAAS23、若有定义typedefcharSTRING[255];STRINGs;则s是【23】。【23】A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量24、以下程序的运行结果是【24】。#includestdio.hvoidfun(char*s);main(){staticcharstr[]=123;fun(str);}voidfun(char*s){if(*s){fun(++s);printf(%s\n,--s);}}【24】A)3B)123C)1D)332121223321112312325、判断以下程序段的结果是【25】。#defineA3#defineB(a)((A+1)*a)...intx;x=3*(A+B(7));【25】A)程序错误,不允许嵌套宏定义B)x=93C)语法错误,宏体中不允许带括号D)x=2126、以下程序的运行结果是【26】。#includestdio.hstructstu{intx;int*y;}*p;intdt[]={1,2,3,4};structstua[4]={5,&dt[0],6,&dt[1],7,&dt[2],8,&dt[3]};main(){p=a;printf(%d,,(++p)-x);printf(%d,,++p-x);printf(%d\n,++(*p-y));}【26】A)6,7,3B)6,6,3C)6,6,2D)5,7,227、以下程序的运行结果是【27】。#includestdio.hvoidsub(int*x,inty,intz){*x=y-z;}main(){inta,b,c;sub(&a,10,5);sub(&b,a,7);sub(&c,a,b);printf(%d,%d,%d\n,a,b,c);}【27】A)10,-2,5B)10,5,7C)10,-2,7D)5,-2,728、以下程序的运行结果是【28】。#includestdio.hvoidabc(char*p){inti,j;for(i=j=0;*(p+i)!='\0';i++)if(*(p+i)'n'){*(p+j)=(p+i);j++;}*(p+j)='\0';}main(){charstr[]=morning;abc(str);puts(str);}(保留小于字母'n'的字母)【28】A)morigB)morningC)migD)or29、若有定义char*language[]={FORTRAN,BASIC,PASCAL,JAVA,C};则language[2]的值是【29】。【29】A)一个字符B)一个地址C)一个字符串D)不定值30、以下程序的运行结果是【30】。#includestdio.hmain(){inta=3,b=2,c=1;{intb=5,c=12;c-=b*2;printf(a=%d,b=%d,c=%d\n,a,b,c);a+=c;}printf(a=%d,b=%d,c=%d\n,a,b,c);}【30】A)a=3,b=2,c=-3B)a=3,b=5,c=2a=0,b=2,c=-3a=5,b=5,c=2C)a=3,b=2,c=1D)a=3,b=5,c=2a=5,b=5,c=2a=5,b=2,c=131、以下程序的运行结果是【31】。#includestdio.h#defineDEBUG0main(){inta=10,b=20,c;c=a/b;#ifdefDEBUGprintf(a=%d,b=%d\n,a,b);#endifprintf(c=%d\n,c);}【31】A)a=10,b=20B)编译出错C)a=10,b=20D)c=0c=032、以下程序的输出结果是【32】。#includestdio.hmain(){union{longa;intb;charc;}m;printf(%d\n,sizeof(m));}【32】A)2B)4C)1D)733、若执行以下程序段intx=3,y=6,z;z=x^y2;则z的二进制值是【33】。【33】A)00011011B)00010100C)00011000D)0000011034、若有以下定义和语句,则对a数组元素地址的正确引用是【34】。inta[2][3],(*p)[3];p=a;【34】A)*(p+2)B)p[2]C)p[1]+1D)(p+1)+235、若执行以下程序段,其运行结果是【35】。charc[]={'a','b','\0','c','\0'};printf(%s\n,c);【35】A)abcB)'a''b'C)abcD)ab36
本文标题:C语言试卷(2000-1-5)
链接地址:https://www.777doc.com/doc-2908497 .html