(完整版)C语言单项选择题(带答案)
计算机程序设计基础(C语言)
单项选择练习题
一、基本概念
1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数
2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程
3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数
C) 程序中的main函数 D) 包含文件中的第一个函数
4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后
C) 它所调用的函数的前面 D) 程序文件的任何位置
5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main( )函数中定义
C)C语言程序总是从main( )函数开始执行
D)C语言程序中的main( )函数必须放在程序的开始部分
6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行
B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关
C) C程序的三种基本结构是顺序、选择、循环
D) 一个C程序总是从main函数开始执行的
8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行?
A) 编辑?编译 B )编辑?连接 C) 编译?连接 D) 编辑?改错
9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
二、数据类型、运算符与表达式
1. 不是C语言提供的合法关键字是。
A)switch B)cher C)case D)default
2.C语言提供的合法关键字是。
A)next B)string C)do case D)struct
3.下列不属于C语言中关键字的是。
A)long B)print C)default D)typedef
4.下列不正确的标识符是。
A).-a1 B).a[i] C)a2_i D)int t
5. 下列C语言用户标识符中合法的是。
A)*y B)sum C)int D)%5f
6. 下面四个选项中,合法的标识符是。
A) auto B)define C) 6a D) c
7.下列C语言用户标识符中合法的是。
A)3ax B)x C)case D)-e2
8. 以下选项中合法的用户标识符是。
A) long B) _2Test C) 3Dmax D) A.dat
9.下列四组选项中,正确的C语言标识符是。
A)%x B) a+b C)a123 D) 123
10. 请选出可用作C语言用户标识符的一组标识符
A) void B) a3_b3 C) For D) 2a
define _123 -abc DO
WORD sum Case sizeof
11、下列四组字符串中都可以用作C语言程序中的标识符的是。
A)print _3d oodb aBc B)I\am one_half start$it 3pai
C)str_1 Cpp pow while D)Pxq My->book line# His.age
12.下列C语言标识符中合法的变量名是。
A)2e3 B)you C)*y D)float
13.C语言中的简单数据类型包括。
A)整型、实型、逻辑型 B)整型、实型、逻辑型、字符型
C)整型、字符型、逻辑型 D)整型、实型、字符型
14.下列可以正确表示字符型常量的是。
A)’\t’ B)”a” C)”\n” D)297
15.下列常数是正确的C语言字符常量。
A)”x” B)e3 C)”COMPUTER” D)’#’
16.在下列常量中,属于字符型常量的是。
A) A B) 'a' C) "A" D) b
17. 以下选项中合法的字符常量是
A) “B” B) ‘\n’C) ‘68’ D) E
18.下面字符常量表示错误的是
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;
21.C语言中字符型(char)数据在内存中的存储形式是。
A) 原码 B) 补码 C) 反码 D) ASCII码
22.在C语言中,字符型数据所占的内存空间是。
A)2个字节 B) 4字节 C) 1字节 D)由用户自定义
23.若int类型数据占2个字节,则unsigned int类型数据的取值范围是。
A)0~255 B)0~65535 C)-32768~32767 D)-256~255
24. 若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为。
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)double
26 .C语言中运算对象必须是整型的运算符是。
A) %= B) / C) = D) 〈=
27.在C语言程序中,表达式8/5的结果是。
A)1.6 B)1 C)3 D)0
28.设x为int型变量,则执行语句x=10; x+=x; 后,x的值为
A) 10 B) 20 C) 40 D) 30
29.为求出s=10!的值,则变量s的类型应当为。
A) int B) unsiged C) long D) 以上三种类型均可
30.如果int a=1,b=2,c=3,d=4;则条件表达式"a
A)1 B) 2 C.)3 D )4
31.在C语言程序中,表达式5%2的结果是。
A)2.5 B)2 C)1 D)3
32.如果int a=3,b=4;则条件表达式"a
A) 3 B) 4 C) 0 D) 1
33.若int x=2,y=3,z=4 则表达式x A)4 B)3 C)2 D)0 34.C语言中,关系表达式和逻辑表达式的值是。 A) 0 B) 0或1 C) 1 D) ‘T’或’F’ 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)!((a 36.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后x的值。 A)4 B)16 C)32 D)52 37. 下面表达式的值为4. A) 11/3 B) 11.0/3 C) (float)11/3 D) (int)(11.0/3+0.5) *38. 有: int a=2,b=10,c=3,d=4,m=2,n=1;执行(m=a>b)&&(n=c>d)后n的值为 A) 0 B) 1 C) 2 D) 没有结果 39. 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是 A )0 B) 1 C) 5 D) 6 40. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为 A) 68 B) D C) 错误 D) d 41.下列关于C语言的叙述错误的是。 A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 42. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是。 m=(w m=(m A)1 B) 2 C) 3 D) 以上结果都不对 43. 有:int w=7, x=12, y=3, m; 执行下面语句后m的值是。 m=(w>x)?w:x; m=(m>y)?m:y; A)12 B) 0 C) 3 D) 1 *44.设整型变量m,n,a,b,c,d均为0,则执行“(m=a==b)||(n=c==d)”后,m,n的值是。 A)0,0 B)0,1 C)1,0 D)1,1 45.设整型变量 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.2 47.若已定义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)3 B)2 C)1 D)0 49.若“int n; float f=13.8;”,则执行“n=((int)f)%3”后,n的值是。 A)1 B)4 C)4,333333 D)4.6 50.设 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)a 52. 设x为int型变量,则执行语句x=10; x*=x;后,x的值为。 A) 10 B) 20 C) 100 D) 0 53. 若有语句int a=1,b; double y=2.3; b=(int)y; 则b的值为? A) 3 B) 2 C) 1 D) 2.3 54.已知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.25□2.4 C) x=1.25,y=2.4D) x=1.25□y=2.4 56.在C语言的库函数中,可以输出char型变量x值的语句是。 A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x) 57. 设x、y均为整型变量,且x=10 y=3,则语句printf(”%d,%d\n”,x--,++y);的输出结果是。 A) 10,3 B) 9,3 C) 9,4 D)10,4 58. 以下说法正确的是。 A) 'x'+101是一个错误的表达式 B) C语言不允许类型的混合运算 C) 强制类型转换时,类型说明符必须加括号 D) (int)x+y 和(int)(x+y)是完全等价的表达式 59.表达式sizeof(double)是。 A) 函数调用 B) double型表达式C) int型表达式 D) 非法表达式 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<=z) 3.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是。 A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0 4、判断char型变量c1是否为大写字母的表达式为。 A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’) C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&& (c1<=’’Z’) 5. 有定义char c; c=getchar();表示字符变量c为大写字母的正确表达式为。 A) ‘A’= 6.设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是。 A)1 B)0 C)-1 D)出错 7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是。