《C语言程序设计》课程自测题_第1页
《C语言程序设计》课程自测题_第2页
《C语言程序设计》课程自测题_第3页
《C语言程序设计》课程自测题_第4页
《C语言程序设计》课程自测题_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

《C语言程序设计》课程自测1章C语言概述一、判断题C语言程序中,任何英语单词均可以作标识符。()X在C语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。()XC语言是一种面向过程的语言。()丁当主程序执行完毕时,亦即程序执行完毕。()丁C程序有且仅有一个main()函数。 ( )丁C语言中不区分大小写英文字母。 ()X用C语言编写的程序是一种需要经过编译和连接才能运行的程序。()丁C语言是一门对标识符大小写敏感的程序设计语言。()丁二、单选题一个C程序的组成部分可以是()。A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序A以下叙述的是()。A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C语言本身没有输入输出语句在对一个C程序进行编译的过程中,可发现注释中的拼写错CC语言规定,C程序执行的开始处为( )。A)源程序中排列在最前面的函数B)一个指定的系统库函数C)用户指定的一个特定函数D)程序的主函数D一个C程序的执行是从()。本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序的main函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序main函数结束A一个C语言程序是由( )组成。(A)一个函数(B)一个或若干个函数(C)一个过程 (D)一个过程或若干个过程BTOC\o"1-5"\h\z下列说法中错误的是( )。(A)程序的执行总是从主函数开始。(B)主函数可以调用任何非主函数的其它函数(C)任何非主函数可以调用其它任何非主函数(D)程序可以从任何非主函数开始执行DC程序的基本单位是( )。A)函数B)过程 C)语句 D)子程序AC语言规定:在一个源程序中,main函数的位置( )。

A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意D)必须在最后C9.下列四组选项中,均不是C语言关键字的选项是()。A)defineB)getcC)includeD)whileIFcharscanfgotypeprintfcasepowA10.以下叙述不的是()。A)—个C源程序可由一个或多个函数组成B)—个C源程序必须包含一个main函数C)C程序的基本组成单位是函数C)C程序的基本组成单位是函数DD)在C程序中,注释说明只能位于一条语句的后面以下的C语言标识符是( )。A) abc1_ B)_abc1 C)ABC1_ D)Abc1ABCD错误ABCDC语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符C三、多选题有关C语言特点的表述的是()(A)语言程序简洁、紧凑 (B)C语言可移植性强(C) C语言可以实现直接对硬件进行操作(D) C语言是一种面向对象的程序设计语言(E) C语言是一种结构化的程序设计语言ABCE结构化程序设计的基本结构包括()D)顺序结构 E)分支结构A)从上到下的结构 B)D)顺序结构 E)分支结构BCD3章数据类型运算符和表达式一、判断题在C语言中,不同类型的数据不可以在一起进行算术运算。()X由于计算机的计算精度很高,所以在C语言中程序计算1.0/3*3的结果肯定等于1。()X当一个C语言表达式中同时含有字符型、整型、单精度和双精度类型数据参加运算时按照"由低到高"的原则,所有的数据都必须先转换为双精度类型数据后方能参加运算。)X赋值运算符优先于条件运算符。()XC语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。()X如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。()V表达式128>>2的值是32。( )V若x为整型变量、、为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。( )inta=4,b=0;则表达式〜a&&!b的值是1.(TOC\o"1-5"\h\z赋值运算符优先于条件运算符•( )X!''的优先级可以比'T高。( )两个char型数据相加,其结果为char型。( )X若有定义inta;floatb=2.1;则a=int(b+3)是合法的赋值表达式。()X若有inta=4,b=0侧表达式a&&!b的值为0。( )V对于intn=3;执行n+=n-=n*n;后n的值是9。( )X表达式15>>2的值为2。 ()X用语句a=a+b,b=a-b,a=a-b;可以交换a,b两个变量的值。()V在C语言中,定义inta=b=c=5;是错0的,而inta,b,c;a=b=c=5;是的.()V表达式“5=3”是一个关系表达式,且其值为0。( )X若有定义inta,b;则下列语句可用于实现交换a,b的值。( )a=aAb;b=bAa;a=aAb;V若有定义inta=3,b=4,c=5;则a+b>c&&b==c的值为1。()Xintx=3,y=2;则表达式(y++==--x)?y++:x++的值为3。( )V设intx=3,y=2;表达式(y++==--x)?y++:x++的值是3。( )V已知inta=5,b=5;则表达式: ++a>b?a:b-->++a?++b:a的值为6。( )V表达式〜(〜1<<3)的值是15。()V二、单选题1.下面四个选项中,均是合法整型常量的选项是()。A)160B)-0xcdfC)-0lD)-0x48a-0xffff0la986,0122e50110xe06680xA设有定义:intm=l,n=-l测执行语句printf(”%d\n",(m--&++n);后的输出结果是( )。A)-1B)0 C)1D)2B设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=++x||++y&&++z;(A)不定值 (B)2 (C)1 (D)0C执行下列程序段后,变量a,b,c的值分别是()。intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;(A)a=9,b=9,c=9 (B)a=9,b=10,c=9(C)a=1,b=11,c=10 (D)a=8,b=8,c=10D执行下面的程序段后,B的值为()。intx=35;charz=''A'';intB;B=((x&15)&&(z<''a''));(A)0(B)1(C)2(D)3B表达式11&10的结果用二进制表示为( )。A)11B)3C)1D)10D设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是( )。(A)3 (B)0 (C)9 (D)-12D在下列选项中,不的赋值语句是()。A)t/=5; B)n1=(n2=(n3=0)); C)k=i==j; D)a=b+c=1;D设x为int型变量,则执行以下语句后,x的值为()。x=10;x+=x-=x-x;A)10B)20C)0D)-20B若有inta=l,b=2,c=3,d=4;则表达式:a++<b?a++:c<d?a++:d的值是()。A)4 B)3 C)2 D)1C以下选项中( )是的C语言赋值语句。A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);C设有如下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1,42,y=5.2;则以下符合C语言语法的表达式是()。A)a=a-=(b=4)*(a=3) B)x%(--3) C)a=a*3=2 D)y=float(i)A假定有以下变量定义:intk=7,x=12;则值为3的表达式是()A)x%=(K%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)D设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为()。A)1 B)2 C)3 D)0B当c的值不为0时,在下列选项中能将c的值赋给变量a、b的语句是()。A)c=b=a; B)(a=c)II(b=c); C)(a=c)&&(b=c); D)a=c=b;C设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)ll(n=c>d)运算后,n的值位为( )。A)0 B)1 C)2 D)3D假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;则该程序运行后,m的值是()。4B)3C)2D)1D整型变量x和y的值相等,且为非0值,则以下选项中,结果为0的表达式是( )。A)xIIy B)xIy C)x&y D)xAyD下列( )表达式不满足:当x的值为偶数时值为"真”,为奇数时值”假”。A)X%2==0 B)!x%2!=0C)(x/2*2-x)==0 D)!(x%2)B20.设整型变量x的值为5,y的值为220.设整型变量x的值为5,y的值为2,则值为1的表达式是(B)Y!=x%3C)X>0&&y<0A)!(y==x/2)D假设整型变量a为2,使b的值为0的表达式是(A)b=a/2C若有intA)0A)。D)X!=yIIx>=yB)b=6-(--a)C)b=a%2b=2侧表达式(b»2)/(b>>1)的值是( )。B)2C)4 D)8)。D)b=a>3?0:1)。C)xIIy+z&&y-z23.设intx=3,y=4,z=5;则下面表达式中值为0的是(A)x&&y B)x<=y)。C)xIIy+z&&y-zD)!((x<y)&&!zII1)D24.假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为( )。A)2.5B)2.75C)3D)9.5A25.已知 a=12,表达式a+=a-=a*=a的值为()A)A)144B)-12C)0D)24C假设a=3,b=4,c=5,则逻辑表达式:TOC\o"1-5"\h\z!(a+b)+c-1&&b+c/2的值是( )。A)true B)false C)0 D)1D若inta=3,b=4测执行c=a++>2llb-->=4之后,b变量的值为( )。A)3 B)0 C)4 D)2C以下( )表达式取值是正确的。A)1&&a的结果为1 B)3&5的结果为0C)3|5的结果为0 D)3『a''的结果为029.设有语句a=4;则执行语句a-=a+=a*a;后,变量a的值是()

A)4B)0C)20D)16BTOC\o"1-5"\h\z设有inta=4,b=6侧表达式a&b的值为( )A)3 B)4 C)11 D)12B以下哪个表达式的值为4( )A)11/3 B)11.0/3 C)(flaot)11/3 D)(int)(11.0/3+0.5)D表达式k=(12>10)?4:1?2:3的值为( )A)1 B)2 C)3 D)4D假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为()。A)7B)8C)6D)2B下列程序的输出结果是( )。main(){inta=016;a%=6-1;printf("%d",a);a+=a*=a/=3;printf("%d",a++);printf("%d",++a);}A)403 B)402 C)424 D)413C数学式4<|x|<10的C语言表达式为()。A)4<X&&X<10||X>-10&&x<-4 B)4<X&&X<10&&X>-10&&x<-4C)4<X||X<10||X>-10||x<-4AC)4<X||X<10||X>-10||x<-4AD)4<X||X<10&&X>-10||x<-436.以下不正确的表达式是(36.以下不正确的表达式是(A)a>b B)c--,++b,a+=1C)。C)a=c+b>n-m=k D)p++37.有定义inta=3,b=4,c=5;37.有定义inta=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为()。A)345BA)345B) 435C)444D)445BTOC\o"1-5"\h\z在下面C语言的函数说明语句中,正确的是( )。int fun(int x, int y);int fun(int x,y);int fun(x,y);int fun(int x; int y);A2.字符串常量“abc\nt\012\xal*2”在内存中所占的存储空间数是()。A)11 B)13 C)15 D)18A设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。A)(int)x+y B)int(x)+yC)int(x+y) D)(int)(x+y)D在执行语句if((x=y=2)>=x&&(x=5))y*=x;后变量x、y的值应分别为()。A)2、2 B)5、2 C)5、10D)执行时报错C当z的值不为0时,不能地将z的值赋给变量x和y的是( )。A)x=y=z B)x=z,y=z C)(x=z)||(y=z) D)(x=z)&&(y=z)C设有整型变量a,实型变量f,双精度型变量x,则表达式10+"b"+x*f值的类型为()。(A)int(B)float(C)double(D)不能确定CTOC\o"1-5"\h\z设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )。(A)x&&y; (B)x<=y;<FONTface=Verdana>xIIy+z&&y-z; (D)!((xvy)&&!zII1);v/FONTxY)&&!ZII1);D45.表达式a<bII~c&d的运算顺序是( )。(A)~,&,<,II(B)~,II,&,<(C)~,&,II,<(D)~,<,&,IITOC\o"1-5"\h\z在位运算中,操作数每左移一位,其结果相当于( )。(A)操作数乘以2 (B)操作数除以2 (C)操作数除以4 (D)操作数乘以4A若有intk=5;floatx=1.2;则表达式(int)(x+k)的值是( )。(A)5 (B)6.2 (C)7 (D)6D表达式k=(12v10)?4:1?2:3的值为( )。(A) 1 (B)2 (C)3 (D)4B字符串"\101\102\x43\x44"的长度为( )(A)4 (B)1 (C)16 (D)17A如a为int型,则与表达式a等价的C语言关系表达式是()(A)a>0 (B)a!=0 (C)a==0 (D)a<0BC语言在判断一个量时,用( )表示逻辑真值。(A)true(B)T(C)整型值0 (D)非0整型值D下列哪组运算符的优先级相同且运算次序从左到右()。A)() []->.B)++-- +=C)< &I人 D)&&IIA已知:intx= 1,y=2,z=0;则执行:z=x>y? 10:20z的值为()。A)10 B)20 C)1 D)2B若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是( )。A)2B)4C)4.0D)4.5Csizeof(”a”+10)的值为( )类型。A)int B)floatC)double D)charA若有floatx=2.5,y=4.7;inta=7;则表达式x+a%3*(int)(x+y)%2/4的值为( )。A)4.0 B)3.0 C)2.75 D)2.5Dintx=3,y=2;则条件表达式x>y?1:2.3的值为( )。A)1B)1.0C)2.3D)2B58.已知:intx=1,y= 2,z;则执行:z=x>y?++x: ++yz的值为()。(A) 1(B)2(C)3 (D)4CC语言中,运算对象必须是整型数的运算符是()。A)% B)/C)%和/ D)*A若有关系x±y三z,应使用()C语言表达式。A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)A以下能表示a±10或aWO的合法的C语言关系表达式是()。A)a>=10ora<=0 B)a>=10|a<=0 C)a>=10llav=0 D)a>=10llav=0CTOC\o"1-5"\h\z若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。A)1 B)2 C)2.0 D)2.5C若t为double类型,表达式t=1,t+5,t的值是( )。A)1 B)6.0 C)1.0 D)6C在以下一组运算符中,优先级最高的运算符是( )。A)<= B)= C)% D)&&C若有以下定义:l chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为( )。

A)floatB)intC)charD)doubleD66.表示关系xWyWz的C语言表达式为( )。A)(x<=y)&&(y<=z) B)(x<=y)AND(y<=z)C)(x<=y<=z) D)(x<=y)&(y<=z)A设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=x||y&&z;A)不定值B)2 C)1 D)0BCBA)4 B16C32 D52C69. 以下合法的赋值语句是(A)x=y=100B)d--; C)x+y;D)c=int(a+b);设x.y.z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()70.以下能表示a和b同时为正或同时为负的逻辑表达式是()。A)(a>=0||b>=0)&&(a<0||b<0)C)(a+b>0)&&(a+b<=0)A)(a>=0||b>=0)&&(a<0||b<0)C)(a+b>0)&&(a+b<=0)D在以下的四个运算符中A)<= B)/ C)!=D在以下的四个运算符中A)?: B)++BD)a*b>0优先级最低的运算符是()D)&&TOC\o"1-5"\h\z优先级最高的运算符为( )。& D)+=73.设a和b为int型变量,且a的值为15,b的值为240,则表达式(a&b)&bllb的值为(A)0 B)1C)trueD)FalseB74.假设有intx=11;则表达式(x++*1/3)的值是( )A)3B)12 C)11 D)0A以下关于运算符优先顺序的描述中关系运算符<以下关于运算符优先顺序的描述中关系运算符<算术运算符<赋值运算符C)算术运算符<关系运算符<赋值运算符Dsizeof(double)是一个( )A)整型表达式 B)实型表达式的是()逻辑运算符<关系运算符<算术运算符D)赋值运算符<关系运算符<算术运算符不合法的表达式 D)函数A设有整型变量a,实型变量f,双精度型变量x,则表达式10+"b"+x*f的值的类型为(A)intB)float C)double D)不能确定D若有intk=5;flaotx=1.2;则表达式(int)(x+k)的值是( )5B)6.2C)7D)6D79.下面对变量赋初值的是()inta=b=c=1;B)inta=1,b=c=2;C)inta=1,b=1,c=1;D)inta=b=1,c=2;C设有以下语句:inta=3,b=6,c;c=aAb<<2;则c的二进制值是()。A)00011011B)00010100C)00011100D)00011000A当a=3,b=2,c=1时,表达式f=a>b>c执行完后f的值是()A)1 B)0 C)3 D)2B若x=2,y=1,则表达式x>y?1:1.5的值为( )A)1B)1.5C)1.0D)2C在位运算中,操作数每左移一位,其结果相当于()A)操作数乘以2 B)操作数除以2 C)操作数乘以4 D)操作数除以4A在位运算中,某操作数右移3位,其结果相当于()A)操作数乘以6 B)操作数除以6 C)操作数乘以8 D)操作数除以8D在C语言中,若以下变量均为int型,则下面程序段的输出结果是( )。s=6,u=6;u=s++;u++;printf("%d",u);A)7 B)6 C)5 D)4B若有定义:intx=3;doubley;则执行语句y=(double)x;后,变量x的数据类型为()。A)intB)charC)flaotD)doubleATOC\o"1-5"\h\z若有定义doublex,y;则表达式x=l,y=x+3/2的值为( )。A)1 B)2 C)2.0 D)2.5C若有定义intx,y,t;则执行语句:x=y=3,t=++xll++y;后,y的值为( )。A)不定值 B)4 C)3 D)1C若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( )。x=(i=4,j=16,k=32)A)4 B)16 C)32D)52C假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。A)7B)8C)6D)2B三、多选题C语言中,若在一个复合语句和复合语句所在的函数中都定义了一个同名的变量,则该两变量()。A)实际是同一变量B)是不同变量但作用域相同C)是不同变量且作用域不同D)是同一变量,但作用域不定CC语言的函数定义中,如果函数的返回值为0~255之间的整数,则函数的返回类型可以定义为()。A)intB)floatC)charD)doubleE)longACE下列选项中,对变量的初始化定义的是()。(A)inta,b,c=3;(B)inta=3,b=3,c=3;(C)inta=b=c=3;inta=3;b=3;c=3;(E)inta,b=c=3;AB下列赋值语句中的有()(A)a=1,b=3,c=5;(B)a=(b=10)/(c=2);(C)a+=a-=a*a;(D)a+=b;(E)a=1;b=2;c=3;BCDEC语言中的语句中除了控制语句外,还应包括()。(A)函数调用语句 (B)表达式语句 (C)空语句(D)复合语句 (E)输入输出语句ABCD在下列说法中,的是()。和其它语言一样,C语言本身也提供了输入输出语句。在C语言中,赋值语句和赋值表达式不是两个等价的概念。语句x%=y+3;与x=x%y+3;的执行效果是一样的。在inta=3,b=3,c=3;中对变量的初始化不是在编译阶段完成的。语句x=a>b?a:b;与语句if(a>b)x=a;elsex=b;的作用等价。BDE在C语言中,每个变量必须在使用前进行类型说明或定义,这样可以()。为变量赋初值 (B)规定该变量的取值范围规定该变量所能进行的运算操作 (D)方便在编译时为其分配存储单元(E)规定变量的个数BCDTOC\o"1-5"\h\z下列运算符中,属于单目运算符的有( )。A)sizeofB)++ C)! D)!= E),ABC变量x,y,z均为double型且已赋值,能够表示数学式子x/yz的C语言表达式是( )。(A)x/y*z(B)x/y/z(C)x/y*1/z (D)x*(1/(y*z))(E)1.0/y*1/z*xBCDE错误BCDE下列哪些运算符的优先级相同且运算次序从左到右( )。(A) ()[]-> (B) ++-- (C) <>=&&II (E) & 丨人ABC假设在程序中a、b、c均被定义为整型,并且已赋大于1的值,则下列能表示代数式1/abc的表达式是( )。A)1.0/a*1.0/b*1.0/c B)1/a/b/(float)c C)1.0/(a*b*c)1.0/a/b/c E)1.0/(float)(a*b*c)ACDE12.设有定义:ints,t=387;则可以改变变量t的值的语句有()(A)s=(char)t; (B)t=t/2*2; (C)t=t+65536;(D)t=-(t|32768); (E)t>>2;BD13.设a,b和c都是int型变量,且a=3,b=4,c=5,则值为0的表达式是( )。A)a+b>c&&b==cD)!(x=a)&&(y=b)&&0B)allb+c&&b-c C)!(a>b)&&!cll1E)!(a+b)+c-1&&b+c/2AD14.以下的叙述是(A)a&=b等价于a=a&b)B)al=b等价于a=alb C)a!=b等价于a=a!bD)aA=b等价于a=aAbE)a&&=b等价于a=a&&bABD15.下列各语句组中,可实现a,b两个整型变量值互换的是( )。a=a+b;b=a-b;a=a-b; B)t=a;a=t;b=t;(intt;) C)a=b;b=a;D)a=aAb;b=aAa;a=aAb; E)b=a;a=b;ABD16.已知a为整型变量,则与表达式a!=0真假值相同的表达式有( )A)a>0lla<0B)aC)!a= =0D)!aE)!a==1ABC 错误ABC17.对于charch;的赋值语句只()。A)ch=''3''+''5'';B)ch=''3+5'';C)ch=''\035'';D)ch=3+57;E)ch="\b";ACD以下说法中不的是()。A)c>a+b等效于c>(a+b) B)若a,b均为真,则a&&b也为真C表达式''0''&&''1''的值为0 D)逻辑运算符!的优先级比位运算符|高E)若a,b不同为真,则a||b的值为假CE以下语句组中,不能使i的值为4的是( )。A)i=j=((i=3)++); B)i=1,j=1;i+=j+=2; C)i=0,j=0;(i=2,i+(j=2));D)i==j=4; E)i=0,j=1;(j==1)?i+=3:i=2;ACDE假设所有变量均已定义并赋值,则以下合法的C语句有()。A)a:=b+1; B)a=b=c+=2;C)int18.5%3; D)a=a+7=c+d; E)(flaot)3+2;BE假设有定义inta=12,n=5;则值为0的表达式有( )A)a/=aB)a%=aC)a/=a+a D)a%=(n%=2) E)a-=a*=aBCDE若a、b、sum为整型,则计算a+lbI的值的方法可以是( )。sum=a>0?a+b:a-b;sum=b>0?a+b:a-b;(C)ifa>0thensum=a+belsesum=a-b;(D)ifb>0thensum=a+belsesum=a-b;(E)ifb>0thensum=a-belsesum=a+b;BD下列说法的是()可以对两个实型表达式进行“相等”的判断不能够对两个实型表达式进行“相等”的判断一个关系表达式可以视为一个整型表达式字符数据能够作为整数参加运算整型数据和实型数据都可以进行“求余”运算BCDTOC\o"1-5"\h\z在x的值处于-2到2,4到8时值为“真”,否则为“假”的表达式是( )A)(2>x>-2)||(4>x>8) B)!((x<=-2)||(x>=2)||(x>=8))C)(x<2)&&(x>-2)&&(x>4)&&(x<8) D)(x>-2)&&(x<2)||(x<8)&&(x>4)E)(x>-2)&&(x<2)||(x>4)&&(x<8)DE25.设a=3,b=4,c=5测值为0的表达式有()。A)a/=a+a B)a+=a-=a*=aC)a+=a-=a*aD)a||b+c&&b-c E)!a&&b||a>b&&cABE4章顺序程序设计一、判断题1.格式字符%皿小中的m不能为负。( )XTOC\o"1-5"\h\z实际上,可以用顺序、分支、循环三种结构构造任何算法。()丁printf("%d",sizeof(1234));其结果是4。( )丁在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。()丁下面程序执行结果是32768。( )main(){inta,b;printf("%d\n",b=(a=32767,a+1));}X二、单选题下述程序的输出结果是()#include<STDIO.H>voidmain(){inta,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}(A)2,0 (B)2,1 (C).6,1 (D)0,-1B若有定义:intx,y;chara,b,c;并有以下输入数据:x=12ABCvCR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是

()A)scanf("x%dy=%d",&x,&y);a=getch();b=getch();c=getch();scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c);scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c);D已有定义doubled,f;数据的输入方式为:3.45vCR>1.2vCR>根据定义和数据的输入方式,输入函数调用语句的形式为()A)scanf("%lf%lf",&d,&f)scanf("%f%f",&d,&f)scanf("3.2f%3.1f",&d,&f)scanf("%3.2lf%3.1lf",&d,&f)A如下程序:#include<STDIO.H>voidmain(){intm,n,k;}运行后m的值为(}运行后m的值为()。(A)4(B)3(C)7Cm=(n=4)+(k=10-7);printf(“m=%d\n”,m);5.下面程序的输出是()。(D)14#include<STDIO.H>voidmain(){intx=10,y=3;printf(“%d\n#include<STDIO.H>voidmain(){intx=10,y=3;printf(“%d\n”,y=x/y);}(A)0 (B)1 (C)3C下面程序运行情况是()。#include<STDIO.H>voidmain(){intx=3,y=0,z=0;if(x=y+z)printf(“****”);elseprintf(“####”);}(A)有语法错0不能通过编译(D)不确定的值(B)输出****(C)可以通过编译,但不能通过连接,因而不能运行 (D)输出####D结构化程序的三种基本结构是(D结构化程序的三种基本结构是((A)顺序结构、选择结构、循环结构(C)嵌套结构、递归结构、顺序结构)。(B)递归结构、循环结构、转移结构循环结构、转移结构、顺序结构A以下程序的输出结果是()。#include<STDIO.H>main(){inti=010,j=10;printf("%d,%d",++i,j--);}(D)10,9)。(A)11,10 (B)9,10 (D)10,9)。B运行完下列程序后,在屏幕上的内容是(main(){inta=0;a+=(a=12);printf("%d\n",a);}A)0 B)6 C)12 D)24D若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式()。A)x==y; B)x-y==0;C)fabs(x-y)<1e-8; D)labs(x-y)<1e-8;语句printf("s=%-5.3s","computer");的输出结果是( )。A)s=comB)s=com C)s=terD)s=terB下面程序的输出是( )main(){intx=10,y=3;printf(“%d\n”,y=x/y);}A)0 B)1 C)3 D)不确定的值C执行下面程序中输出语句后,a的值是( )main(){inta;printf(“%d\n”,(a=3*5,a*4,a5));}A)65 B)20 C)15 D)10C下列程序的输出结果是()。main()

{inta=-1,b=1,c;c=(a++<=0)&&!(b--<=0));printf("%d,%d,%d",a,b,c);}C)0,1,0D)0,0,0)C)0,1,0D)0,0,0)。A15.以下程序运行后,m的值为(#include<STDIO.H>voidmain(){intm,n,k;m=(n=4)+(k=10-7);printf("m=%d\n",m);}D)14)D)14)。D)-11)。下面程序的输出结果是(main(){intx=10;printf("%d\n",~x);}A)9B)-9C)11D以下程序的输出结果是(main(){intx=10,y=10;printf("%d,%d\n",x--,--y);}A)10,10B)9,9C)9,10D)10,9Dprintf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式( )。A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错0信息Bputchar函数可以向终端输出一个A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值D根据定义和数据的插入方式,输入语句的形式为()。已有定义:floatf1,f2;数据的输入方式:4.523.5scanf("%f,%f",&f1,&f2);scanf("%f%f",&f1,&f2);scanf("%3.2f%2.1f",&f1,&f2);scanf("%3.2f%2.1f",&f1,&f2);

B已知ch是字符型变量,下面不的赋值语句是(A)ch=”a+b” B)ch=”\O”; C)ch=”7”+”9”;A假设inta=4;以下不的语句是()。A)a+1=4;B已知ch是字符型变量,下面不的赋值语句是(A)ch=”a+b” B)ch=”\O”; C)ch=”7”+”9”;A假设inta=4;以下不的语句是()。A)a+1=4;D)printf("a+1=4");A如下程序的执行结果是(main(){intx=023;printf("%d\n",--x);}A)17B)。D)ch=5+9;B)18B){a++++4;a/=4}C);)。C)23D)24以下程序的输出结果是(main(){charx=040;printf("%d\n",x=x<<1);A)100 B)80D假如一个整型变量的最大允许值为32767,那么运行如下程序后屏幕上会输出的结果是())。}

C)120D)64main(){inta,b;a=32767;b=a+1;printf(“%d,%d”,a,b);}A)32767,32768B)32767,-32768C)32767,0D)运行时报错B已知字母A的ASCII码为十进制的65,下面程序的输出是main(){charch1,ch2;ch1=''A''+''5''-''3'';ch2=''A''+''6''-''3'';printf("%d,%c\n",ch1,ch2);}A)67,D B)B,C C)C,D D)不确定的值A请读程序片段:inti=65536;printf(”%d\n",i);上面程序片段的输出结果是( )。A)65536 B)0 C)有语法错0,无输出结果D)-1B28.在下列程序段中:intx,y;scanf("%3d*2d%d",&x,&y);若输入的数据为:12345678vCR>,则x、y的值分别为( )。A)123,456 B)123,678 C)12345678 D)无法得到的值B有如下程序,输入数据12345<CR>后,y的值是()。#include<stdio.h>main(){intx;floaty;scanf("%3d%f",&x,&y); }(A)12.000000 (B)345.000000 (C)12345.000000 (D)0.000000B有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,的数据输入是()main(){inta1,a2;charc1,c2;scanf("%d%d",&a1,&a2);scanf("%c%c",&c1,&c2);}(A)1020AB<CR> (B)1020<CR>AB<CR> (C)10 20AB<CR>(D)1020AB<CR>D下列语句的输出为()。intx=-1;printf("%d,%u,%o",x,x,x);A)-1,65535,177777B)-1,-1,-1C)-1,32767,-177777D)-1,32768,177777A若有定义inta=3;则执行完printf("%d",-a--);语句后,a的值为()。A)-3 B)2 C)-2 D)3B以下程序的输出结果是()。intx=3,y=4;voidmain(){intx,y=5;x=y++;printf("%d",x);}A)3 B)4 C)5 D)6C设有如下定义:intx=10,y=3,z;则语句:z=(x%y,x/y));printf(“%d\n”,Z);的输出结果是()A)1B)0D35.以下程序的输出结果是(main(){inta=3;printf("%d\n",(a+a-=a*a)A)-6B)12DC)4D)3).);}C)0 D)-1236.设有定义:intx=l,y=-l测语句:printf("%d\n",(x--&++y);的输出结果是( ).A)lB)0 C)-l D)2B设有如下定义:intx=l0,y=3,z;出结果是( )设有如下定义:intx=l0,y=3,z;出结果是( )。A)l B)0 C)4D(l7)下列程序的输出结果是(main(){doubled=3.2;intx,y;x=l.2;y=(x+3.8)/5.0;printf("%d\n", d*y);}A)3B)3.2 C)0则语句:printf("%d\n",z=x%y,x/y));D)3)D)3.07的输TOC\o"1-5"\h\z39.已知E的ASCII码是69,则执行以下语句的结果是( )。printf("%c",''D''-''8''+''5'');A)66B)A C)B D)EA执行下面程序后,n的值为( )。main(){intn,a=2,b=3,c=4;n=(a<?xml:namespaceprefix=b)?a/><b)?a:b;n=(n>b)?b:c;n=(n<c)?a:b;}A)5 B)4 C)3 D)2</b)?a:b;C以下程序执行完后,a的值为()#inlcudevoidmain(){inta;printf("%d\n",(a=3*5,a*4,a+5));

}D)10A)65B)20C)15D)10C42.下面程序的运行结果是()main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}A)30B)24C)60D)48B43.下面程序的运行结果是()main(){intx=0,y=0;while(!!x)y+=++x;printf("%d\n",y);}A)1 B)0 C)控制表达式非法B44.下面程序的运行结果是( )main(){intn,a=2,b=3,c=4;n=(a<b)?a:b;n=(n>b)?b:c;}TOC\o"1-5"\h\zA)5 B)4 C)3 D)2B45.以下程序的运行结果为( )。main(){unsigneda=3,b=10;printf("%d\n",a<<2|b>>1);}A)3 B)10C)13 D)14C46.以下程序的运行结果为()。main(){intx=17,y=26;printf("%d",y/=(x%=6));}A)5 B)8 C)2 D)26A47.以下程序的输出结果是( )。main(){inta=-1,b=4,k;k=(++a,0)&&!(b--<=0);printf("%d,%d,%d\n",k,a,b);}A)1,0,4 B)1,0,3 C)0,0,3D)程序执行无限次D)0,0,4D)程序执行无限次D)0,0,448.以下程序的输出是().main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A)6,1B)2,1C)6,0D)2,0B49.下列程序段的输出结果是()。intx=1,y=1,z;z=1||++x&&y--;D)D)2,0,0A)1,1,1 B)2,0,1 C)2,1,1A50.下列程序的运行结果是( ).#include<STDIO.H>main(){unsigneda,b,c;a=0x255;b=a<<4;x=(~b)&0xff;printf("%f",x);}A)0x55B)0xafC)0x50D)0xdaB51.若有定义inta=25,b=14,c=19;则以下三目运算符构成的语句的执行结果是()a++<=25&&b--<=2&&c++pritnf("%d,%d,%d\n",a,b,c):printf("%d,%d,%d\n",a,b,c);A)25,14,19 B)26,13,19D)26,14,19B52.以下程序的输出结果是().main(){inta=-1,b=4,k;k=(++a,1)&&!b-->=0;printf("%d,%d,%d\n",k,a,b);}A)1,0,4 B)1,0,3 C)0,03C三、多选题1.结构化程序设计思想应该包括()。C)25,13,19D)0,0,4使用顺序、分支、循环三种基本结构;限制使用goto语句;应该使用自顶向下、逐步求精的方法;应该使用模块化的方法;编码过程中,变量名的命名只要程序员自己明白就可以了;ABCD2.对于scanf()函数,下列说法的是( )。如果相邻格式符之间没有数据分隔,则对应的输入数据之间可用空格、回车分隔。输入数据时不能指定精度。在用格式说明符"%c"输入单个字符时,空格字符和转义字符是无效字符,即不能被输入。遇到空格、或者回车时,系统认为一个数据输入结束。ABD已知ch是字符型变量,下面的赋值语句是( )。A)ch=”123”; B)ch=”\xff'; C)ch=”t”; D)ch="\";BC若有定义inta,b;floatx;,则以下不的赋值语句是( )。A)a=1,b=2, B)b++; C)a=b=5D)b=int(x);答案:A,C,DACD5章条件语句一、判断题在if...else语句中,else总是和它上面最近且未曾配对的if配对。( )V在if(v表达式〉) <语句序列1> else<语句序列2>中的语句序列1和语句序列2可以为复合语句。()VC语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。()V与下列程序段等价的赋值语句是y=x>0?1:x<0?-1:0 ( )Xif(x>0)y=1;elseif(xv0)y=-1;elsey=0;二、单选题有如下程序main(){floatx=4.0,y;if(xv0.0)y=0.0;elseif(xv10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}该程序的输出结果是( )A)0.0B)0.25C)0.5D)1.0B为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。(A)缩排位置相同的if (B)在其之前未配对的if(C)在其之前未配对的最近的if (D)同一行上的ifC为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。(A)缩进位置相同的if (B)在其之前未配对的if(C)在其之前最近的未配对的if (D)同一行上的ifC设inta=0,b=5,c=2选择可执行x++的语句是()。(A)if(a)x++ (B)if(a=b)x++;(C)if(a=<b)x++;(D)if(!(b-c))x++;B5.下列程序段运行后,x的值是()。inta,b,c,x;a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)3B)4C)34D)35B若要求在if后一对圆括号中表示a不等于0的关系,则能表示这一关系的表达式为A)a<>0DB)!aC)a=0D)a假定所有变量均已定义,if(!ok1)x--;elseif(ok2)if(ok3)elsex=4;上面程序段运行后x的值是:(A)14 B)4 C)15D在C语言的if语句中,ok1=1;ok2=2;ok3=3;x=15;x=3;)D)3用作判断的表达式为(A)关系表达式 B)逻辑表达式式D以下程序的运行情况是(#inlcudevoidmain({intifelse).).C)算术表达式D)任意表达)x=3,y=0,z=0;(x=y+z) printf("****");printf("####");}A)有语法错0不能通过编译C)可以通过编译,不能通过连接,不能运行D若要求在if后一对圆括号中表示count等于0的关系, 则能表示这一关系的表达式为()A)countB以下程序的输出结果是(#include<MATH.H>main(){inta=1,b=4,c=2;floaty=4.0,z;B)!countC)count=0)。B)输出****D)输出####D)count!=0z=(a+b)/c+sqrt((double)y)*1.2/c;printf(%f\n",z);}A)3.500000B)3.700000C)3.200000D)4.400000C若有定义intx,y;下面选项中合法的if语句()if(a==b)x++;if(a=<B)X++;if(a<>b)x++;(Cif(a=>b)x++;A下面程序的输出是( )。#include<STDIO.H>main(){intx=100,a=10,b=20;intv1=5,v2=0;if(a<B)if(b!=15)if(b!=15)if(!v1)x=1;elseif(v2) x=10;x=-1;printf("%d",x);}(A)100(B)-1(C)1(D)10B有一C语言源程序如下:main(){inta,b=-1;scanf("%d",&a);if(a)if(a>0) b=1;elseb=0;}该程序所表示的数学函数关系是()<IMGsrc="/UploadFile/2008326113138781.jpg"border=0>C运行下列程序并用键盘输入53,48,32后,在屏幕上的内容是()main(){inti,j,k;scanf("%d,%d,%d",&i,&j, &k);if(i>50)printf("%d",i);elseif(i>40)printf("%d",j);elseif(i>30)printf("%d",k);elseprintf("Error");}A)53B)48C)32 D)Error16.若有inti=10,j=0;并执行下列程序段switchr(i){case9:i+=1;break;case10:case11:i-=2;break;default:j+= 3;break;}则变量i的结果是( )。13 B)10 C)11 D)8D17.若inti=10,执行下列程序switch(i){case9:i+=1;case10:case11:i-=1;default:i+= 1;}则变量i的结果是( )。10(B)11(C)12(D)9A若给定条件表达式(m)?(a++):(a--),则其中表达式m()。A)和(m==0)等价 B)和(m=1)等价 C)和(m!=0)等价 D)和(m!=l)等价C以下程序段的运行结果是()。inta=7,b=8,c=9;if(a>b)a=b,b=c;c=a;printf("%d,%d,%d\n",a,b,c);A)7,8,7 B)7,9,7 C)8,9,7 D)7,8,9A要判断字符变量ch中的值是否为数字字符,则的表达式是( )。A)ch三0&&ch三9 B)ch>=0&&chv=9 C)ch>=”0''&&chv=”9” D)ch三”0”ch2”9”C两次运行以下程序,若从键盘上分别输入6和4,则输出结果是()main(){intx;scanf("%d",&x);if(x++>5) printf("%d\n",x--);}A)7和5B)7C)7和4D)6和4B下面程序的输出是()。main(){inty=9;for(;y>0;y--)if(y%3==0){printf(“%d”,--y);continue;}}A)741B)852C)963D)875421B假定所有变量均已说明,下列程序段运行后x的值是()。a=b=c=0;x=35;if(!a)x--;elseif(b)if(c)x=3;elsex=4;A)34 B)4 C)35 D)3B下面程序的运行结果是()。main(){intk=3;if(k++>3)printf("%d\n",k++);else printf("%d\n",--k);}A)5B)4 C)3 D)2C下面程序的输出结果为( )。main(){intx=0,a=10,b=20,c=15;if(a>b)if(b<c)x=1;elsex=2;printf("%d\n",x);}A)0 B)1 C)2 D)不确定A下列程序的输出结果是()#include<stdio.h>main(){inta,b,c;a=1;b=2c=3;a=(c=a>b)&&(b=c<b)?b:c;printf("%d,%d,%d\n",a,b,c);}A)1,2,3 B)0,2,0 C)1,2,0 D)1,0,0三、多选题如果tv>0,则把变量a的值赋给变量c,否则把变量b的值赋给变量c,能实现此功能的语句有()。c=t?a:b; (B)c=!t?a:b;(C)if(t)c=a;elsec=b;if(!t)c=a;elsec=b;(E)c=t!=0?a:b;ACE以下叙述的有()A)if((x=12;)!=0)…… B)if((x=12)!=0)……C)赋值语句与赋值表达式是不同的D)在if语句中的表达式不能有赋值语句E)在if语句中不能有赋值表达式BCD若inta,b,sum;则计算a+lbI的值的方法( )。A)sum=a>0?a+b:a-b;B)sum=b>0?a+b:a-b;C)if(a>0)sum=a+b;elsesum=a-b;D)if(b>0)sum=a+b;elsesum=a-b;E)if(b>0)sum=a-b;elsesum=a+b;BD已定义inta,b,x,下列语句中合法的条件语句是( )。A)if(a=<b)++x;B)if(a=>b)++x;C)if(a!=b)++x;D)if(a<>b)++x;E)if(a>=b)++x;CE5.若变量c定义为char型,则能判断c为大写字母的有()A)''A''<=c<=''Z''B)''Z''>=c>=''A''C)c>=''A''&&''Z''>=cD)c>=''A''&&c<=''ZE)c>=''A''llc<=''Z''CD6章循环结构一、判断题continue语句可以用于switch结构中。()Xbreak语句只能用于循环语句中。()Xdo......while循环语句至少要执行一次循环体。丁TOC\o"1-5"\h\z语句while(!E);中的条件!E等价于E==0。( )V语句for(;;){循环体}和while(1){循环体}是等价的。( )V在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。()V二、单选题若N为整型变量,则for(N=10;N=0;N--);循环里的循环体被( )。A)无限循环 B)执行10次C)执行一次 D)一次也不执行D下列程序段运行后i的值是()。inti=10switch(i+1){case10:i++;break;case11:++i;case12:++i;break;default:i=i+1;}A)11 B)13 C)12 D)14C3.下面的程序,描述的是()main(){intx=3;do{printf("%d\n",x-=2);}while(!(--x));}(A)输出的是1循环B4.执行下面程序后,a的值是(#include<stdio.h>void{(B)输出的是1和-2)。main()inta;printf(“%d\n”,(a=3*5,a*4,a+5));(B)20输出的是3和0是死(A)65B5.以下程序的输出结果为(#include<stdio.h>main(){inti;for(i=0;i<10;i++);printf("%d",i);(C)15(D)10)。}(A)DC语句for(;;){……}是指(A)无意义 (B)无限循环B以下程序的输出结果是:main(){intn=4while(n--)printf("%d",--n);}A)20A(B)123456789(C)B)310123456789(D)10)。(C)循环执行1次(D)循环执行0次C)32D)2 1设inta=1,则执行完循环While(a++v5);a的值是:A)6 B)5 C)1A在下列for循环中,其循环次数是()for(x=1,y=0;(y!=123)&&(x<4);x++);A)4 B)3 C)1 D)无数多次D)-264B10.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是()A)a=2,b=1a=1,b=1a=1,b=0a=2,b=2A若有定义floatx,y;inta,b;则合法的switch语句是()switch(a){case3+x:printf("abc");case4:printf("123abc");}switch(a)case3printf("abc");case4printf("123abc");}switch(b){default:a++;case1:printf("abc");case1+2:printf("1234");}switch(a+b);{case1+2:printf("1234");case1:printf("abc");default:a++;C循环语句for(x=0,y=0;(y!=123)ll(xv4);x++);的循环次数是()。34无限次不确定次C下述程序的输出结果是()#include<stdio.h>voidmain(){intx=9;for(;x>0;x--){if(x%3==0){printf("%d",--x);continue;}}}(A)741(B)852963875421B假定a和b为int型变量,则执行以下语句后b的值为()a=1;b=10;do{b-=a;a++;}while(b--<0);(A)9(B)-2(C)-1(D)8D15.循环语句for(x=0,y=0;(y!=123)ll(xv4);x++);的循环执行((A)无限次 (B)不确定次 (C)4次(D)3次A16.设x和y均为int型变量,则执行下面的循环后,y的值为(for(y=1,x=1;y<=50;y++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}(A)2 (B)4 (C)6 (D)8C17.语句while(!e==0);什么时候将会陷入死循环()A)e==0B)e!=0C)e!=1D)e!=-1B18.执行下面程序段的结果是()。intx=23;do{printf("%2d",x--);(D)陷入死循环(D)陷入死循环)(C)不打出任何内容(A)打印出321 (B)打印出(C)不打出任何内容19.循环语句for(a=0,b=0;(b!=45)||(av5);a++);的循环次数是((A)4 (B)3 (C)5(D)无数多次D20.以下不是死循环的语句()。(A)for( ; ;x++=i);

(B)while(1){x++;}(C)for(i=10;;i--)sum-=i;(D)for( ;(c=getchar())!=‘\n';)sum-=i;D.若则输出结果为(2intx=3;且有下面的程序片段,do{printf("%d",x-=2);}while(!(--x));(A)1(B)30 (C) 1-2 (D)死循环C)。22.以下程序的输出结果是( )》main(){intn=4;while(n--)printf("%d",--n);}A)20B)31C)321D)210语句while(!E);中的表达式!E等价于( )。A)E==0 B)E!=1 C)E!=0 D)E==1A以下程序段()。intx=-1;do{x=x*x;}while(!x);是死循环 B)循环执行2次 C)循环执行1次 D)有语法错0C25.对以下程序段,描述的是()。intk=5;while(k=0) k=k-1;printf("%d\n",k);while(k=0) k=k-1;printf("%d\n",k);循环体被执行了5次循环体一次也不执行C26.以下语句执行完后i循环体是无限循环循环体被执行一次的值为( )。for(x=0,y=3,i=0;(y>3)&&(x<4);x++,y++)i++;A)0 B)1 C)2Afor(x=0,y=3,i=0;(y>3)&&(x<4);x++,y++)i++;A)0 B)1 C)2A27.下面程序的运行结果是( )main(){intx=0,y=0;while(1) y=++x;printf("%d\n",y);}D)3A) 1B)A) 1B)控制表达式非法C)无限循环D)0C28.下面程序段的输出结果是() 。intx=3;do{printf("%d",x-=2);}while(!(--x));A)1B)130 C)12 D)死循环D执行下列程序段之后,b的值为( )。inta=1,b=10;do{b-=a;a++;}while(b--<0);A)9 B)-2 C)-4 D)8D在下述程序中,判断i>j共执行了()次。#include<stdio.h>voidmain(){inti=0,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf("%d\n",s);break;}s+=i;}}(A)4(B)7(C)5(D)6D三、多选题在下列语句所构成的程序结构中,break语句和continue语句均可使用的是()(A)用goto语句和if语句构成的循环 (B)while循环(C)do-while循环(D)for循环(E)switch语句构成的分支结构BCD与for(表达式1;;表达式3);语句等价的选项有()。(A)for(表达式1;1;表达式3); (B)for(表达式1;0;表达式3);(C)表达式1;while(1)表达式3;(D)表达式1;while(0)表达式3;(E)表达式1;while(3)表达式3;ACE在while(<表达式〉)中,用于表达式等于0时循环,否则退出循环的表达式可以写成()。A)while(x!=0)B)while(x==0)C)while(x)D)while(!x)E)while(x=0)BD在C语言中,下列说法的有()。"do语句体while(条件)"中的语句体可能一次也不会执行"do语句体while(条件)"中当条件为0时将结束循环

for(表达式1;表达式2;表达式3);中的表达式1无论如何都会执行一次for循环只能用于循环次数已确定的情况}D)intx=10;}D)intx=10;E)for(;;);(E)do-while语句和while语句在任何情况下完成的功能等价BC5.在下列选项中,构成死循环的程序段是(A)inti=100; B)intk=100;)。C)ints=36;while(1)dowhile(s);{i=i%100+1;{k++;--s;if(i>100)break;}while(k>=1000);for(;1;x--)if(x==0)break;ACE6章数组一、判断题1.如果strcmp(s1,s2)的返回值为一个负数,则表明字符串si一定小于字符串s2。(”2.strlen(s1)+ strlen(s2)等于strlen(strcat(s1,s2))。( ”二、单选题1.在下面关于一维数组的定义中,其中()有语法错0。A)intx[]={1,2,3,4,5};B)intx[5]={0};C)intx[]; D)C2.设有字符数组a,则的输入语句intx[5];是()。(A) gets(''a''); (B)scanf("%c",a);(C)scanf("%s",a);

温馨提示

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

评论

0/150

提交评论