《C语言专升本1单项选择题(3月10日终版)(共21页).doc》由会员分享,可在线阅读,更多相关《C语言专升本1单项选择题(3月10日终版)(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由 构成的。A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。A)函数 B)过程 C)子程序 D)子例程3C语言可执行程序从 开始执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4C语言程序从main()函数开始执行,所以这个函数要写在_。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是 。 A)C语言程序
2、总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main( )函数中定义 C)C语言程序总是从main( )函数开始执行 D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是 。A)主函数可以分为两个部分:主函数说明部分和主函数体。B)主函数可以调用任何非主函数的其它函数。C)任何非主函数可以调用其它任何非主函数。D)程序可以从任何非主函数开始执行。7.下列关于C语言的说法错误的是 。A) C程序的工作过程是编辑、编译、连接、运行 B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环
3、D) 一个C程序总是从main函数开始执行的 8. 系统默认的C语言源程序扩展名为.C,需经过 之后,生成.exe文件,才能运行 A) 编辑编译 B )编辑连接 C) 编译连接 D) 编辑改错9.下列说法中正确的是 。A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。C)由于C程序是高级语言程序,因此输入后即可执行。D)由于C程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是 。A)switchB)cherC)caseD)default2. C语言提
4、供的合法关键字是 。A)next B)string C)do case D)struct3.下列不属于C语言中关键字的是 。 A)long B)print C)default D)typedef4.下列不正确的标识符是 。A).-a1 B).ai C)a2_i D)int t5. 下列C语言用户标识符中合法的是 。 A)*y B)sum C)int D)%5f 6. 下面四个选项中,合法的标识符是 。 A) auto B)define C) 6a D) c7下列C语言用户标识符中合法的是 。 A)3ax B)x C)case D)-e2 8. 以下选项中合法的用户标识符是 。A) longB)
5、 _2Test C) 3DmaxD) A.dat9下列四组选项中,正确的C语言标识符是 。A)%x B) a+b C)a123 D) 12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD sum Case sizeof11、下列四组字符串中都可以用作C语言程序中的标识符的是 。 A)print _3d oodb aBc B)Iam one_half start$it 3pai C)str_1 Cpp pow while D)Pxq My-book line# His.age12.下列C语言
6、标识符中合法的变量名是 。 A)2e3 B)you C)*y D)float13.C语言中的简单数据类型包括 。 A)整型、实型、逻辑型 B)整型、实型、逻辑型、字符型 C)整型、字符型、逻辑型 D)整型、实型、字符型 解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是 。 A)t B)”a” C)”n” D)297 解析:字符型常量是由单引号括起来的单个字符,另外C语言还规定了一些转义字符的表示形式例如t表示制表符,n表示回车等,参照教材上的转义字符表。15.下列常数 是正确的C语言字符常量。 A)”x” B)e3 C)”COMPUTER” D)#16.在下列常量中,属于字符型
7、常量的是 。A) A B) a C) A D) b17. 以下选项中合法的字符常量是 A) “B” B) n C) 68 D) E18下面字符常量表示错误的是 A)a B)? C)n D)”n” 19. 已定义c为字符型变量,则下列语句中正确的是 。A)c=97 B)c=97 C)c=a D)c=a 20. 已知ch是字符型变量,不正确的赋值语句是 。A)ch=a+b ; B)ch= 0 ; C) ch= 7+ 9 ; D) ch=5+9;解析:字符型变量可以用0-127范围内的整数赋值。21语言中字符型(char)数据在内存中的存储形式是 。 A) 原码 B) 补码 C) 反码 D) ASC
8、II码22在C语言中,字符型数据所占的内存空间是 。 A)2个字节 B) 4字节 C) 1字节 D)由用户自定义* 23若int类型数据占2个字节,则unsigned int类型数据的取值范围是 。A)0255 B)065535 C)-3276832767 D)-25625524. 若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为 。 A)float B) char C) int D)double25若有以下类型说明语句: char w;int x;float y;double z; 则表达式w-x*y/z的结果为 D
9、类型,表达式(int)(x+y-z*w)的结果为 C 类型。 A)float B)char C)int D)double解析:参照数据类型转换知识点。26 .C语言中运算对象必须是整型的运算符是 。A) %= B) / C) = D) =27.在C语言程序中,表达式8/5的结果是 。A)1.6 B)1 C)3 D)028.设x为int型变量,则执行语句x=10; x+=x; 后,x的值为 A) 10 B) 20 C) 40 D) 3029为求出s=10!的值,则变量s的类型应当为 。A) int B) unsiged C) long D) 以上三种类型均可解析:整数类型有四种 byte、sho
10、rt、int、long,参照教材上每种类型所表示的数值范围,本题选择long。30如果int a=1,b=2,c=3,d=4;则条件表达式ab?a:(cd?c:d)的值是 。A)1 B) 2 C.)3 D )431.在C语言程序中,表达式5%2的结果是 。 A)2.5 B)2 C)1 D)332如果int a=3,b=4;则条件表达式ab? a:b的值是_。A) 3 B) 4 C) 0 D) 133若int x=2,y=3,z=4 则表达式xz?y:z的结果是 。 A)4 B)3 C)2 D)0 34C语言中,关系表达式和逻辑表达式的值是 。A) 0 B) 0或1 C) 1 D) T或F解析:
11、C语言中没有逻辑型,逻辑假用0表示,逻辑真用1表示。35设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是 。A)a&b B)a=b C)a|b+c&b-c D)!(ab)&(n=cd)后n的值为 A) 0 B) 1 C) 2 D) 没有结果解析:&运算有一种称为短路的情况,即当&左边的表达式值为0时,已经能够确定整个表达式的值为0,此时将不再计算&右边表达式的值。因此本题n=cd没有运算,所以n的值不变。39. 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是 A )0 B) 1 C) 5 D) 640. 已知字母A的ASCII码为
12、十进制数65,且c2为字符型,则执行语句c2=A+6-3;后,c2中的值为 A) 68 B) D C) 错误 D) d41下列关于C语言的叙述错误的是 。A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义42. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是 。 m=(wx)?w:x; m=(mx)?w:x; m=(my)?m:y; A)12 B) 0 C) 3 D) 1 *44.设整型变量m,n,a,b,c,d均为0,则执行“(m=a
13、=b)|(n=c=d)”后,m,n的值是 。A)0,0 B)0,1 C)1,0 D)1,145.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是 。A)b=1.0/a B)b=(float)(1/a) C)b=1/(float)a D)b=1/(a*1.0)46.执行语句“x=(a=3,b=a-)”后,x,a,b的值依次为 。A)3,3,2 B)3,2,2 C)3,2,3 D)2.3.247.若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是 。A)1 B)2 C)2.0 D)2.5*48.表达式“1?(0?3:2)(10?1:0)”的值是()。A)
14、3 B)2 C)1 D)049.若“int n; float f=13.8;”,则执行“n=(int)f)%3”后,n的值是 。A)1 B)4 C)4, D)4.650.设 int x=0, y=1; 表达式(x|y)的值是 。 A) 0 B) 1 C) 2 D) -1*51.设a是char型变量,a=1,则把其值变成整数1的表达式是 。A)(int)a B)int(a) C)a=a-48 D)a/(int)a52. 设x为int型变量,则执行语句x=10; x*=x;后,x的值为 。A) 10 B) 20 C) 100 D) 053. 若有语句int a=1,b; double y=2.3;
15、 b=(int)y; 则b的值为 A) 3 B) 2 C) 1 D) 2.354.已知int x;char y;则下面错误的scanf函数调用语句为 。 A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y) C) scanf(“%d%d”,&x,&y) D) scanf(“%d,%c”,&x,&y)*55. 使用语句scanf(x=%f,y=%f,&x,&y);输入变量x、y的值(代表空格),正确输入是 。A) 1.25,2.4 B) 1.252.4 C) x=1.25,y=2.4 D) x=1.25y=2.456在C语言的库函数中,可以输出char型变量
16、x值的语句是 。 A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)57. 设x、y均为整型变量,且x=10 y=3,则语句printf(”%d,%dn”,x-,+y);的输出结果是 。A) 10,3 B) 9,3 C) 9,4 D)10,458. 以下说法正确的是 。A) x+101是一个错误的表达式B) C语言不允许类型的混合运算 C) 强制类型转换时,类型说明符必须加括号D) (int)x+y 和(int)(x+y)是完全等价的表达式59表达式sizeof(double)是 。A) 函数调用 B) double型表达式 C) int型表达式 D
17、) 非法表达式62.以下运算符中优先级最高的运算符是:A)& B)+ C)? D)!=三、选择结构1. 在C语言中,能代表逻辑值真的是 。 A) true B)大于0的数 C)非0整数 D)非0的数2. 表示关系x=y=z的c语言表达式为 。A) (x=y)&(y=z) B) (x=y)AND(y=z)C) (x=y=z) D) (x=y)&(y=10 or a=0|a=10 &a=10a=04、判断char型变量c1是否为大写字母的表达式为 。 A)A=c1=A) & (c1=Z)C)(A=c1) D)(c1=A)& (c1=Z)5. 有定义char c; c=getchar();表示字符变
18、量c为大写字母的正确表达式为 。 A) A=c=A& c=Z C)A=c=A & c0&b&c0”的值是 。A)1 B)0 C)-1 D)出错7. 设a为整型变量,则不能正确表达数学关系10a15的C语言表达式是 。A)10a10&a15 D)!(a=15)8. 为表示逻辑表达式79X79 )&( X79 )!=( X90 )C) 79X79 )|( X0) y+; else y+=y;A)20 B)11 C)9 D)0解析:此类题目可以自行编写下述测试程序进行调试验证。#include void main()int a=0,y=10; if(a=0) y-; else if(a0) y+;
19、else y+=y;printf(y=%dn,y); 11.假定所有变量均已正确定义,则下列程序段运行后x的值是 。a=b=c=0; x=35; if(!a) x-; else if(b); if(c) x=3; else x=4;A)34 B)4 C)35 D)312. C语言对嵌套if语句的规定是:else语句总是与 配对。A) 其之前最近的if B) 第一个ifC) 缩进位置相同的if D) 其之前最近的且尚未配对的if13.在C语言语句中,用来决定分支流程的表达式是 。A)可用任意表达式 B)只能用逻辑表达式或关系表达式C)只能用逻辑表达式 D)只能用关系表达式14.C语言中用 表示逻
20、辑“真”。A) true B) 整数值1 C)非零整数值 D) false15.若k是int型变量,且有下面的程序段, 输出结果是 。int k;k= -3;if (k=0) printf(“#”) ;else printf(“&”);A)# B)& C)#& D)有语法错误,无输出结果16. main() int x=0,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(“a=%d,b=%dn”,a,b);该程序的输出结果是 。A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=217. 以
21、下程序的输出结果是:( )main() int x=-10,y= 1,z=1; if(xy) if(yb)a=b ;b=c ;c=a ;printf(a=%2d b=%2d c=%2dn,a,b,c) ;A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=5019. 若int i=10; 执行下列程序后,变量i的正确结果是 。 switch ( i ) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; A)13 B)12 C)11 D)10
22、四、循环结构1. 在C语言中,下列说法中正确的是()。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) do-while语句构成的循环在while后的表达式非零时结束循环。 D) do-while语句构成的循环,在while后的表达式为零时结束循环。2. break语句不能出现在 语句中()A) switch B)for C) while D) ifelse3对于break语句和continue语句的说法错误的是( )A) break语句不能用于循环语句和switch语句之外的任何其他语句中。B) br
23、eak和continue也可以用于if语句中C) continue语句只结束本次循环,而不是终止整个循环的执行。D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。4.语句while(!y);中的表达式 !y等价于 A)y=0 B)y=1 C)y=!0 D) y=15.若有“int a=1,x=1;”,则循环语句“while(a10) x+; a+;”的循环执行()。A)无限次 B)不确定次C)10次D)9次6. 有以下程序段int k=0while(k)k+;则while循环体执行的次数是 A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次7. 下列循环
24、语句中有语法错误的是( ) A while(x=y) 5; B while(0) ;C do 2;while(x= =b); D do x+ while(x= =10);8.当运行时输入:abcd$abcde, 下面程序的运行结果是 。#includemain()char c;while(putchar(getchar()!=$);printf(end);A) abcd$abcde B)abcd$end C)abcdend D) abcd$abcdeend9. 以下程序段 ( )x=-1;do x=x*x; while(x0);A) 是死循环 B) 循环执行一次 C) 循环执行二次 D) 有语
25、法错误10. 下面程序段执行后的结果为: ( ) int sum=0, n=10; do sum=sum+n; n+; while(n0;i+);”的循环执行()。A)无限次B)不确定次C)10次D)9次13.执行语句for(j=0;j=3;j+) a=1;后变量j的值是 . A)0 B) 3 C)4 D) 114.有如下程序main() int i,sum=2;for(i=1;i=3;i+=2) sum+=i;printf(“%dn”,sum); 该程序的执行结果是 A) 6 B) 3 C) 死循环 D) 415、执行语句”for ( i=0; i+3 ; ) ;”后,变量i的值为( )。 A、2 B、3 C、4 D、516.设x和y均为int型变量,则执行以下的循环后,y的值为()。for(y=1,x=1;y=0) break; if(x%2=1) x+=5;continue; x-=3; /此题没有正确答案,y值应该为1 A)2 B)4 C)6 D)8五 数组1. 以下对一维数组a的正确说明是: A) char a(10); B) int a; C)int k5,ak; D)char a=a,b,c;2.以下能对