春考历年c语言考试题及答案_第1页
春考历年c语言考试题及答案_第2页
春考历年c语言考试题及答案_第3页
春考历年c语言考试题及答案_第4页
春考历年c语言考试题及答案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

春考历年c语言考试题及答案1.以下叙述正确的是(

)。[单选题]*A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误B)在C程序中,main函数必须位于程序的最前面C)C语言本身没有输入输出语句(正确答案)D)C程序的每行中只能写一条语句2.一个C程序的执行是从(

)。[单选题]*A)本程序的main函数开始,到main函数结束(正确答案)B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序main函数结束D)本程序的main函数开始,到本程序文件的最后一个函数结束3.以下叙述不正确的是(

)。[单选题]*A)一个C源程序必须包含一个main函数B)一个C源程序可由一个或多个函数组成C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面(正确答案)4.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是(

)。[单选题]*A)C语言程序仅可以编译执行(正确答案)B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对5.一个C语言程序是由(

)。[单选题]*A)一个主程序和若干个子程序组成B)函数组成(正确答案)C)若干过程组成D)若干子程序组成6.以下叙述中错误的是(

)。[单选题]*A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(正确答案)7.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为(

)。

x=(i=4,j=16,k=32)[单选题]*a)4B)16C)32(正确答案)D528.以下叙述正确的是(

)。[单选题]*A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))(正确答案)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在9.下列四组选项中,均不是C语言关键字的选项是(

)。[单选题]*A)dei2temp(正确答案)B)getccharprintfC)includecasescanfD)whilegopow10.下列四组选项中,均是不合法的用户标识符的选项是(

)。[单选题]*A)WP_0doB)b-agotoint(正确答案)C)floatla0_AD)-123abcTEMP11.下面不正确的字符常量是(

)。[单选题]*A)“c”(正确答案)B)‘\\’’C)‘’D)‘K’12.下列四组选项中,均是合法转义字符的选项是(

)。[单选题]*A)‘\”’‘\\’‘\n’(正确答案)B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’13.以下叙述不正确的是(

)。[单选题]*A)在C程序中,逗号运算符的优先级最低B)在C程序中,MAX和max是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(正确答案)14.已知字母A的ASCII码为十进制数65,且c2为字符型,

则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为(

)。[单选题]*A)D(正确答案)B)68C)不确定的值D)C15.以下叙述正确的是(

)。[单选题]*A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数(正确答案)C)在C程序中,%是只能用于整数运算的运算符(字符型也可以)D)在C程序中,无论是整数还是实数,都能被准确无误地表示16.sizeof(float)是(

)。[单选题]*A)一个双精度型表达式B)一个整型表达式(正确答案)C)一种函数表达式D)一个不合法的表达式17.设有说明:charw;intx;floaty;doublez;

则表达式w*x+z-y值的数据类型为(

)。[单选题]*A)floatB)charC)intD)double(正确答案)18.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为(

)。[单选题]*A)0~255B)0~32767C)0~65535(正确答案)D)0~214748364719.设以下变量均为int类型,则值不等于7的表达式是(

)。[单选题]*A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)(正确答案)D)(y=6,y+1,x=y,x+1)20.下列变量定义中合法的是(

)。[单选题]*A)short_a=015;(正确答案)B)doubleb=e2.5;C)longdo=0xfdaL;D)float2_and=1e-3;21.有以下程序

#include<stdio.h>

main()

{

intx=011;

printf("%d\n",++x);

}

程序运行后的输出结果是(

)。[单选题]*A)12B)11C)10(正确答案)D)922.以下正确的描述是(

).[单选题]*a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句(正确答案)c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句23.putchar函数可以向终端输出一个(

)。[单选题]*A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值(正确答案)24.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为(

)。

main()

{charch1,ch2,ch3;

输入语句

printf(“%c%%c”,ch1,ch2,ch3);

}输出形式:ABC

输入形式:ABC[单选题]*A)scanf(“%c%c%c”,&ch1,&ch2,&ch3);B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);(正确答案)D)scanf(“%c%c”,&ch1,&ch2,&ch3);25.阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车),则正确的输出结果为(

)。

main()

{intx,y,z;

scanf(“%d%d%d”,&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);

}[单选题]*a)x+y+z=48b)x+y+z=35c)x+z=35d)不确定值(正确答案)26.已知ch是字符型变量,下面不正确的赋值语句是(

)。[单选题]*A)ch=‘a’+’b’;(正确答案)B)ch=‘\0’;C)ch=‘7’+‘9’;D)ch=5+9;27.以下关于结构化程序设计的叙述中正确的是(

)。[单选题]*A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的(正确答案)D)由三种基本结构构成的程序只能解决小规模的问题28.有以下程序

#include<stdio.h>

main()

{inta1,a2;charc1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

printf(“%d,%c,%d,%c”,a1,c1,a2,c2);

}

若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(

).

(以下_代表空格,<CR>代表回车)[单选题]*A)12a34b(正确答案)B)12_a_34_bC)12,a,34,bD)12_a34_b29.逻辑运算符两侧运算对象的数据类型(

)。[单选题]*A)只能是0和1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据(正确答案)30.判断char型变量ch是否为大写字母的正确表达式是(

)。[单选题]*A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)C)(ch>=‘A’)&&(ch<=‘Z’)(正确答案)D)(‘A’<=ch)AND(‘Z’>=ch)31.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(

)。[单选题]*A)A%2==1B)!(A%2==0)C)!(A%2)(正确答案)D)A%232.设有:inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值为(

)。[单选题]*A)1B)2(正确答案)C)3D)433.以下程序的运行结果是(

)。

main()

{inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf(“%d,%d”,a,b);

}[单选题]*A)6,1B)2,1(正确答案)C)6,0D)2,034.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(

)。

if(x>y)z=x;x=y;y=z;[单选题]*A)x=10,y=20,z=30B)x=20,y=30,z=30(正确答案)C)x=20,y=30,z=10D)x=20,y=30,z=2035.以下程序的运行结果是(

)。

main()

{intm=5;

if(m++>5)

printf(“%d\n”,m);

else;

printf(“%d\n”,m--);

}[单选题]*A)4B)5C)6(正确答案)D)736.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(

)。[单选题]*A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(正确答案)37.若运行时给变量x输入12,则以下程序的运行结果是(

)。

main()

{

intx,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

printf(“%d\n”,y);

}[单选题]*A)4B)3C)2D)0(正确答案)38.有以下程序

#include<stdio.h>

main()

{

intc=0,k;

for(k=1;k<3;k++)

switch(k)

{

default:c+=k;

case2:c++;break;

case4:c+=2;break;

}

printf(“%d\n”,c);

}程序运行后的输出结果是(

)。[单选题]*A)3(正确答案)B)5C)7D)939.设有程序段intk=10;while(k=0)k=k-1;这下面描述中正确的是(

).[单选题]*A)while循环执行10次b)循环是无限循环c)循环体语句一次也不执行(正确答案)d)循环体语句执行一次40.有以下程序

#include<stdio.h>

main()

{

inta=1,b=0;

if(!a)b++;

elseif(a==0)if(a)b+=2;

elseb+=3;

printf(“%d\n”,b);

}

程序运行后的输出结果是(

)。[单选题]*A)0(正确答案)B)1C)2D)341.语句while(!E);中的表达式!E等价于(

).[单选题]*a)E==0b)E!=1c)E!=0(正确答案)d)E==142.下面程序的运行结果是(

).

#include<stdio.h>

main()

{

intnum=0;

while(num<=2)

{

num++;

printf("%d\n",num);

}

}[单选题]*a)1b)1

2C)(正确答案)1

2

3D)1

2

3

443.有以下程序

main()

{

charb,c;inti;

b='a';c='A';

for(i=0;i<6;i++)

{

if(i%2)

putchar(i+b);

else

putchar(i+c);

}

printf("\n");

}

程序运行后的输出结果是(

).[单选题]*A)ABCDEFB)AbCdEf(正确答案)C)aBcDeFD)abcdef44.若有如下语句

intx=3;

do

{

printf("%d\n",x-=2);

}while(!(--x));

则上面程序段(

).[单选题]*A)输出的是1B)输出的是1和-2(正确答案)C)输出的是3和0D)是死循环45.以下程序段(

).

x=-1;

do

{

x=x*x;

}while(!x);[单选题]*A)是死循环B)循环执行二次C)循环执行一次(正确答案)D)有语法错误46.下面程序的运行结果是(

).

#include<stdio.h>

main()

{

inty=10;

do{y--;}while(--y);

printf("%d\n",y--);

}[单选题]*a)-1b)1c)8d)0(正确答案)47.执行语句for(i=1;i++<4;);后变量i的值是(

).[单选题]*a)3b)4c)5(正确答案)d)不定48.若i为整型变量,则以下循环执行次数是(

).

for(i=2;i==0;)printf("%d",i--);[单选题]*a)无限次b)0次(正确答案)c)1次d)2次49.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(

);如果字符串长度小于5,则输出按方式(

)。*A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出(正确答案)C)右对齐输出该字符串,左补空格(正确答案)D)输出错误信息50.下面程序段的运行结果是(

)循环次数为(

).

intn=0;while(n++<=2);printf("%d",n);*a)2(正确答案)b)3(正确答案)c)3d)有语法错班级:[单选题]*○经贸20.7○经贸20.81.若有定义inta[][4]={0,1,2,3,4,5,6,7,8,9,10,11};,则数组的第一维的大小为()[单选题]*A)3(正确答案)B)2C)4D)不确定2.下列描述中不正确的是:()[单选题]*A)字符型数组可以存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整形数组进行整体输入、输出(正确答案)D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。3.若要定义一个具有5个元素的整型数组,以下语句中错误的是:()[单选题]*A)inta[5]={0};B)intb[]={0,0,0,0,0};C)intc[2+3];D)intn=5;d[n];(正确答案)[填空题]_________________________________4.以下叙述中不正确的是()

[单选题]*A)建立函数的目的之是为了提高程序的效率(正确答案)(正确答案)B)建立函数的目的之一是为了提高程序的可读性C)建立函数的目的之是为了提高程序员的生产效率D)函数的递归调用不能提高程序的执行效率5.阅读以下程序:()[单选题]*f(intb[],intn)(正确答案){inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}上面程序输出结果是A)720[单选题]*B)120(正确答案)C)24D)66.C语言程序中,若对函数类型未加显式声明,则函数的隐含类型为()

[单选题]*A)doubleB)int(正确答案)C)charD)void7.以下对C语言函数的有关描述中,正确的是()

[单选题]*A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传给实参(正确答案)(正确答案)B)C函数既可以嵌套定义,又可以递归调用C)函数必须有返回值,否则不能使用函数D)C程序中有调用关系的所有函数必须放在同一个源程序文件中8.有下列程序,执行后的输出结果是()[单选题]*fun(intx,inty){return(x+y);}(正确答案)main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}A)6[单选题]*B)7C)8(正确答案)D)99.以下程序的输出结果是()[单选题]*fun(intx,inty,intz)(正确答案){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A)0[单选题]*B)29C)31(正确答案)D)无定值10.执行下列程序时,给变量x输入10,程序的输出结果是()[单选题]*intfun(intn)(正确答案){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);}A)55(正确答案)[单选题]*B)54(正确答案)C)65D)4511.以下程序运行后的输出结果是()[单选题]*voidfun(intp)(正确答案){intd=2;p=d++;printf(“%d”,p)}}main(){inta=1;fun(a);printf("%d\n",a);}A)32[单选题]*B)12C)21(正确答案)D)2212.下叙述中不正确的是:()[填空题]_________________________________A)在函数中,通过return语句传回函数值[单选题]*B)在函数中,可以有多条return语句C)在C程序中,主函数main()后的一对园括号中也可以带有形参D)在C程序中,调用函数必须在一条独立的语句中完成。(正确答案)130.以下程序的输出结果是:()[单选题]*a,int(正确答案)b,intc)d”;c);A)0[单选题]*B)3C)9D)无定值(正确答案)14.以下关于结构化程序设计的叙述中正确的是()。[填空题]_________________________________A)一个结构化程序必须同时由顺序、分支、循环三种结构组成[单选题]*B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的(正确答案)D)由三种基本结构构成的程序只能解决小规模的问题A)只能是0和1[单选题]*B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据(正确答案)15.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。[填空题]_________________________________A)A%2==1[单选题]*B)!(B)!(A%2==0)C)!(A%2)(正确答案)D)A%216.以下程序的运行结果是()。[单选题]*main()(正确答案){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A)6,1[单选题]*B)2,1(正确答案)C)6,0D)2,017.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()[单选题]*if(x>y)z=x;x=y;y=z;(正确答案)A)x=10,y=20,z=30[单选题]*B)x=20,y=30,z=30(正确答案)C)x=20,y=30,z=10D)x=20,y=30,z=2018.若运行时给变量x输入12,则以下程序的运行结果是()。

main()

{intx,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

printf(“%d\n”,y);

}[单选题]*A)4B)3C)2D)0(正确答案)19.有以下程序[单选题]*#include<stdio.h>(正确答案)main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是()A)3(正确答案)[单选题]*B)5(正确答案)C)7D)920.设有程序段intk=10;while(k=0)k=k-1;这下面描述中正确的是().[填空题]_________________________________A)while循环执行10次[单选题]*B)循环是无限循环C)循环体语句一次也不执行(正确答案)D)循环体语句执行一次21.下面程序的运行结果是().[单选题]*#include<stdio.h>(正确答案)main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}A)

温馨提示

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

评论

0/150

提交评论