您好,欢迎访问三七文档
面试例题:1.一个C程序的执行是A.从本程序的main函数开始,到main函数结束B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.从本程序的main函数开始,到本程序文件的最后一个函数结束D.从本程序文件的第一个函数开始,到本程序的main函数结束2.以下叙述正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是A.一个C源程序可由一个或多个函数组成B.一个可编译为可执行程序的C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面4.设以下变量均为int类型,则最后一个表达式值不等于7的是A.(x=y=6,x+y,x+1)B.(x=6,++x,x)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)5.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y的值的数据类型为A.floatB.charC.intD.double6.设某单字节整数的二进制形式为11010011,其分别作为有符号和无符号整数转换成十进制的形式为A.-211,211B.-83,83C.-44,211D.-45,2117.设x、y、z均为int型变量,则执行语句x=(y=(z=10)+5)-5后x、y、z的值分别为A.10、15、10B.10、10、10C.10、10、15D.10、5、108.如下代码:intmain(void){inta=10;printf(%d,a+++++a);return0;}的输出为A.20B.21C.22D.239.如下代码:intmain(void){intx;floaty;printf(Enterxandy:);输入语句输出语句return0;}若期望得到如下运行结果:Enterxandy:23.4x+y=5.40则正确的输入输出语句为A.scanf(%d%f,x,y);printf(x+y=%4.2f,x+y);B.scanf(%d%f,x,y);printf(x+y=%3.2f,x+y);C.scanf(%d%3.1f,&x,&y);printf(x+y=%4.2f,x+y);D.scanf(%d%f,&x,&y);printf(x+y=%4.2f,x+y);10.定义intx;floaty;执行scanf(%3d%f,&x,&y);语句,输入12345678并按回车,则x和y的值分别为A.12345,678.000000B.123,678.000000C.345,678.000000D.123,45.00000011.逻辑运算符两侧运算对象的数据类型A.只能是0或者1B.只能是0或者非零的正整数C.只能是整型或者字符型D.可以是任意类型12.以下关于运算符优先顺序的正确描述是A.逻辑与运算赋值运算算数运算关系运算B.赋值运算算数运算关系运算逻辑与运算C.算数运算关系运算逻辑与运算赋值运算D.逻辑与运算赋值运算关系运算算数运算13.如下代码:intmain(void){inta,b,c;a=b=c=1;++a||--b&&++c;printf(%d,%d,%d,a,b,c);return0;}的输出为A.2,0,2B.2,0,1C.2,1,2D.2,1,114.分段函数y=f(x)的值表如下所示:xy0x–1=0x0x+1下面程序段中能够正确表达上述关系的是A.y=x+1;if(x=0)if(x==0)y=x;elsey=x-1;B.y=x-1;if(x!=0)if(x0)y=x+1;elsey=xC.if(x=0)if(x0)y=x-1;elsey=x;elsey=x+1;D.y=x;if(x=0)if(x0)y=x-1;elsey=x+1;15.如下代码:intmain(void){inta=10,b=9,c;c=(--a==b++)?--a:b++;printf(%d,%d,%d,a,b,c);return0;}的输出为A.9,11,11B.9,11,10C.8,11,8D.8,10,816.如下代码:intmain(void){inti,x;for(i=1;i=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(%d,x);}return0;}的输出为A.3981B.4284C.2668D.287017.与下面代码片段等价的是。for(i=100;i=200;i++){if(!(i%3))continue;printf(%d\n,i);}A.for(i=100;(i%3)&&i=200;i++)printf(%d\n,i);B.for(i=100;(i%3)||i=200;i++)printf(%d\n,i);C.for(i=100;i=200;i++)if(i%3)printf(%d\n,i);D.for(i=100;i=200;i++)if(i%3)printf(%d\n,i);elsebreak;18.下面的代码用于将从键盘输入的任意偶数分解为两个素数的和。请将其中缺失的部分补全。intmain(void){inta,b,c,d;scanf(%d,&a);for(b=3;b=a/2;b+=2){for(c=2;c=sqrt(b);c++)if(b%c==0)break;if(c=sqrt(b))continue;d=;for(c=2;c=sqrt(d);c++)if(d%c==0)break;if(c=sqrt(d))continue;printf(%d=%d+%d\n,a,b,d);}return0;}A.a+bB.a-bC.a*bD.a/b19.如下代码:intmain(void){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k%=2;continue;case'E':k*=10;break;default:k/=3;}k++;}while(c'G');printf(k=%d\n,k);return0;}的输出为A.k=3B.k=4C.k=2D.k=0
本文标题:标准C编程面试例题
链接地址:https://www.777doc.com/doc-2292659 .html