1、1 / 26计算机程序设计基础(C 语言)单项选择练习题一、基本概念1. C 语言程序是由 C 构成的。A)一些可执行语言 B)main 函数 C)函数 D)包含文件中的第一个函数2 ( A )是构成 C 语言程序的基本单位。A、函数 B、过程 C、子程序 D、子例程3C 语言程序从 C 开始执行。A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的 main 函数 D) 包含文件中的第一个函数4C 语言程序从 main()函数开始执行,所以这个函数要写在_D_。A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的是(
2、 C ) 。A、C 语言程序总是从第一个定义的函数开始执行B、在 C 语言程序中,要调用的函数必须在 main( )函数中定义C、C 语言程序总是从 main( )函数开始执行D、C 语言程序中的 main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D ) 。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数开始执行。7. 下列说法错误的是:( B )A.C 程序运行步骤是编辑、编译、连接、执行。2 / 26B.C 语言的变量名必须用小写,常量用大写。C.C 语言的三
3、种基本结构是顺序、选择、循环。D. C 程序一定由函数构成的。8.下列关于 C 语言的说法错误的是( B ) 。A) C 程序的工作过程是编辑、编译、连接、运行 B) C 语言不区分大小写。C) C 程序的三种基本结构是顺序、选择、循环 D) C 程序从 main 函数开始执行9. 系统默认的 C 语言源程序扩展名为.C,需经过 C 之后,生成.exe 文件,才能运行A) 编辑 编译 B )编辑连接 C) 编译 连接 D) 编辑改错10.下列说法中正确的是(B ) 。A.由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入。B.由于 C 源程序是由字符流组成的,因此可以作为文本文件在
4、任何文本编辑的软件中输入。C.由于 C 程序是高级语言程序,因此输入后即可执行。D.由于 C 程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1. 不是 C 语言提供的合法关键字是(B ) 。A.switch B.cher C.case D.default2.C 语言提供的合法关键字是(D ) 。A.next B.string C.do case D.default3.下列不属于 C 语言中关键字的是 B 3 / 26A)long B)print C)default D)typedef4.下列正确的标识符是(C ) 。A.-a1 B.ai C.a2_i D.int t5.
5、 下列 C 语言用户标识符中合法的是( B )。A、*y B、sum C、int D、%5f 6. 下面四个选项中,合法的标识符是:( D )A. auto B. define C. 6a D. c7下列 C 语言用户标识符中合法的是( B ) 。A)3ax B)x C)case D)-e2 E)union8. 以下选项中合法的用户标识符是 B A) long B) _2Test C) 3Dmax D) A.dat9下列四组选项中,正确的 C 语言标识符是( C ) 。A) %x B) a+b C) a123 D) 12310. 请选出可用作 C 语言用户标识符的一组标识符( B )A) vo
6、id B) a3_b3 C) For D) 2adefine _123 -abc DOWORD sum Case sizeof11、下列四组字符串中都可以用作 C 语言程序中的标识符的是( A ) 。A、print _3d db8 aBc B、Iam one_half start$it 3paiC、str_1 Cpp pow while D、Pxq My-book line# His.age 12.下列 C 语言标识符中合法的变量名是 B 。4 / 26A)2e3 B)you C)*y D)float13.C 语言中的简单数据类型包括(D ) 。A、整型、实型、逻辑型 B、整型、实型、逻辑型、
7、字符型C、整型、字符型、逻辑型 D、整型、实型、字符型14、下列可以正确表示字符型常量的是( A ) 。A、 t B、 ”a” C、 ”n” D、29715.下列表达式中, D 是正确的 C 语言字符常量。A)”x” B)e3 C)”COMPUTER” D)#16.在下列表达式中,属于字符型常量的是 B 。A) A B) a C) “A“ D) b17. 以下选项中合法的字符常量是( B ) A) “B” B) n C) 68 D) E18下面字符常量表示错误的是( D )A)a B)? C)n D)”n” 19. 已定义 c 为字符型变量,则下列语句中正确的是 ( C ) A)c=97 B)
8、c=“97“ C)c=a D)c=“a“ 20. 已知 ch 是字符型变量,不正确的赋值语句是( A ) A) ch=a+b ; B) ch= 0 ; C) ch= 7 ; D) ch=;;21语言中字符型(char)数据在内存中的存储的是( D )A) 原码 B) 补码 C) 反码 D) ASCII 码22在 C 语言中,字符型数据所占的内存空间是( C ) A)2 个字节 B) 4 字节 C) 1 字节 D)由用户自定义*23若 int 类型数据占 2 个字节,则 unsigned int 类型数据的取值范围是 ( B ) A)0255 B)065535 C)-32768 32767 D)
9、-2562555 / 26*24. 若有以下类型说明语句: char a;int b; float c; double d; 则表达式 a*b+d-c 的结果类型为( D ) A)float B) char C) int D)double*25. 若有以下类型说明语句:char w;int x;float y;double z;则表达式 w-x*y/z 的结果为( D )类型,表达式(int)(x+y-z*w)的结果为( C )类型。A)float B)char C)int D)double26 .C 语言中运算对象必须是整型的运算符是( A )A) %= B) / C) = D) =27.在
10、 C 语言程序中,表达式 8/5 的结果是( B ) A)1.6 B)1 C)3 D)028.设 x 为 int 型变量,则执行以下语句后,x 的值为 B x=10; x+=x;A) 10 B) 20 C) 40 D) 3029.在 C 语言程序中,表达式 5%2 的结果是 C 。A)2.5 B)2 C)1 D)330如果 int a=3,b=4;则条件表达式“ax)?w:x;m=(my)?m:y;A. 12 B. 0 C. 3 D. 1 40.设整型变量 a=2,则执行下列语句后,浮点型变量 b 的值不为 0.5的是( B )A.b=1.0/a B.b=(float)(1/a) C.b=1/
11、(float)a D.b=1/(a*1.0)41. 以下运算符中优先级最高的运算符是( B )7 / 26A) float f=13.8;”,则执行“n=(int)f%3”后,n 的值是(A)A.1 B.4 C.4.333333 D.4.643. 设 x 为 int 型变量,则执行以下语句后,x 的值为( C )x=10; x*=x;A) 10 B) 20 C) 100 D) 044. 若有语句 int a=1,b; double y=2.3; b=(int)y; 则 b 的值为 (B )A) 3 B) 2 C) 1 D) 2.345.已知 int x;char y;则下面错误的 scanf
12、函数调用语句为(B )A)scanf(“%d,%d”, B) scanf(“%d,%c”,x,y)C) scanf(“%d%d”, B)fputc(x) C)putchar(x) D)puts(x)47. 以下说法正确的是( C )A) x+5 是一个错误的表达式B) C 语言不允许类型的混合运算 C) 强制类型转换时,类型说明符必须加括号D) (int)x+y 和(int) (x+y)是完全等价的表达式48.设 int x=0, y=1; 表达式(x|y)的值是 ( B ) A) 0 B) 1 C) 2 D) -18 / 26三、选择结构1. 在 C 语言中,认为( D )为逻辑“真“ A)
13、 true B)大于0的数 C)非0整数 D)非0的数2. 表示关系 x=10 or a=0|a=10 t=x”后,t 的9 / 26值为(D )A.不定值 B.10 C.1 D.09. 若 int i=10; 执行下列程序后,变量 i 的正确结果是( A ) 。switch ( i ) case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1; A、13 B、12 C、11 D、1010. 在下面的条件语句中(其中 s1 和 s2 表示是 C 语言的语句) ,只有一个在功能上与其它三个语句不等价,它是( D ) 。A、if (a) s1
14、; else s2; B、if (a= =0) s2; else s1;C、 if (a!=0) s1; else s2; D、if (a= =0) s1; else s2; 11.假定所有变量均已正确定义,则下列程序段运行后 y 的值是(A )int a=0,y=10;if(a=0) y-; else if(a0) y+; else y+=y;A.20 B.11 C.9 D.012.假定所有变量均已正确定义,则下列程序段运行后 x 的值是(B ) 。a=b=c=0; x=35;if(!a) x-; else if(b); 10 / 26if(c) x=3; else x=4;A.34 B.4
15、 C.35 D.313. C 语言对嵌套 if 语句的规定是:else 语句总是与( D )配对。A) 其之前最近的 if B) 第一个 ifC) 缩进位置相同的 if D) 其之前最近的且尚未配对的if14.在 C 语言语句中,用来决定分支流程的表达式是( A ) 。A可用任意表达式 B.只能用逻辑表达式或关系表达式C只能用逻辑表达式 D.只能用关系表达式15.C 语言中用( B )表示逻辑“真” 。A. true B. 整数值 1C.非零整数值 D. false16、若 k 是 int 型变量,且有下面的程序段:int k;k= -3;if (k=0) printf(“#”);else printf(“switch(x)