C语言基本选择题包括答案docx.docx
《C语言基本选择题包括答案docx.docx》由会员分享,可在线阅读,更多相关《C语言基本选择题包括答案docx.docx(82页珍藏版)》请在冰豆网上搜索。
![C语言基本选择题包括答案docx.docx](https://file1.bdocx.com/fileroot1/2022-11/29/77912199-3caa-4f78-9fb8-9ef152fe9c98/77912199-3caa-4f78-9fb8-9ef152fe9c981.gif)
C语言基本选择题包括答案docx
计算机程序设计基础(C语言)
单项选择练习题
说明:
带*号的对非信息学院的同学不作要求。
一、基本概念
1.C语言程序是由C构成的。
A)一些可执行语言B)main函数C)函数D)包含文件中的第一个函数
2.(A)是构成C语言程序的基本单位。
A、函数
B、过程
C、子程序
D、子例程
3.C语言程序从
C
开始执行。
A)程序中第一条可执行语句
B)程序中第一个函数
C)程序中的
main函数
D)包含文件中的第一个
函数
4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。
A)程序文件的开始B)程序文件的最后
C)它所调用的函数的前面D)程序文件的任何位置
5、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
6.下列方法中错误的是(D)。
A.主函数可以分为两个部分:
主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
7.下列说法错误的是:
(B)
A.C程序运行步骤是编辑、编译、连接、执行。
B.C语言的变量名必须用小写,常量用大写。
C.C语言的三种基本结构是顺序、选择、循环。
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源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑
的软件中输入。
C.由于C程序是高级语言程序,因此输入后即可执行。
D.由于C程序是高级语言程序,因此它是由命令组成的。
二、数据类型、运算符与表达式
1.不是C语言提供的合法关键字是(B)。
*语言提供的合法关键字是(D)。
case
*3.下列不属于C语言中关键字的是B
A)longB)printC)defaultD)typedef
4.下列正确的标识符是(C)。
[i]t
5.下列C语言用户标识符中合法的是(B)。
A、*yB、sumC、intD、%5f
6.下面四个选项中,合法的标识符是:
(D)
A.auto
B.define
C.6a
D.c
7.下列
C语言用户标识符中合法的是(
B)。
A)3axB)xC)caseD)-e2
E)union
8.以下选项中合法的用户标识符是B
A)longB)_2TestC)3DmaxD)
9.下列四组选项中,正确的C语言标识符是(C)。
A)%xB)a+bC)a123D)123
10.请选出可用作C语言用户标识符的一组标识符(B)
A)void
B)a3_b3
C)For
D)2a
define
_123
-abc
DO
WORD
sum
Case
sizeof
11、下列四组字符串中都可以用作
C语言程序中的标识符的是(
A)。
A、print_3d
db8aBc
B
、I\amone_halfstart$it3pai
C、str_1Cpppowwhile
D
、PxqMy->bookline#
12.下列C语言标识符中合法的变量名是B。
A)2e3B)youC)*yD)float
语言中的简单数据类型包括(D)。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型
C、整型、字符型、逻辑型D、整型、实型、字符型
14、下列可以正确表示字符型常量的是(A)。
A、’\t’B、”a”C、”\n”D、297
15.下列表达式中,D是正确的C语言字符常量。
A)”x”B)e3C)”COMPUTER”D)’#’
16.在下列表达式中,属于字符型常量的是B。
A)AB)'a'C)"A"D)b
17.以下选项中合法的字符常量是(B)
A)“B”B)‘\n’C)‘68’D)E
18.下面字符常量表示错误的是(D)
A)’a’
B)’?
’
C)’\n’
D)”\n”
19.已定义
c为字符型变量,则下列语句中正确的是
(C)
A)c='97'
B
)c="97"
C
)c=‘a’
D)c="a"
20.已知
ch
是字符型变量,不正确的赋值语句是
(
A)
A)ch='a+b';
B)ch='\0';
C)ch='7';
D)ch=
’;’;
21.C语言中字符型
(char)
数据在内存中的存储的是
(
D)
A)原码
B)
补码
C)
反码
D)ASCII
码
22.在
C语言中,字符型数据所占的内存空间是
(
C)
A)2
个字节
B)4
字节
C)1
字节
D)由用户自定义
*23.若
int
类型数据占
2个字节,则unsignedint
类型数据的取值范围是
(
B)
A)0~255
B)0
~65535
C)-32768
~32767
D)-256
~255
*24.
若有以下类型说明语句:
chara;intb;floatc;doubled;
则表达式
a*b+d-c
的结果类型为
(
D)
A)float
B)char
C)int
D)double
*25.若有以下类型说明语句:
charw;intx;floaty;doublez;则表达式w-x*y/z
的结果为(D)类型,表达式(int)(x+y-z*w)
的结果为(C)类型。
A)floatB)charC)intD)double
26.C
语言中运算对象必须是整型的运算符是
(
A)
A)%=
B)/
C)=
D)
〈=
27.在C语言程序中,表达式8/5的结果是(B)
A)B)1C)3D)0
28.设x为int型变量,则执行以下语句后
x
的值为
B
x=10;x+=x;
A)10B)20C)40D)30
31.在C语言程序中,表达式5%2的结果是C。
A)
B)2
C)1
D)3
32.如果inta=3,b=4
;则条件表达式"a
a:
b"
的值是__A__。
A)3
B)4
C)0
D)1
33.若intx=2,y=3,z=4
则表达式xy:
z的结果是(B).
A)4
B)3
C)2
D)0
E)1
34.C语言中,关系表达式和逻辑表达式的值是(B)。
A)0B)0
或1C)1D)
‘T’或’F’
35.设a,b和c都是int
型变量,且a=3,b=4,c=5,则下面表达式中,值为
0的
表达式是(D
)
A、’a’&&’b’
B
、a<=b
C、a||b+c&&b-c
D
、!
((a
c||1)
37.下面(D)表达式的值为4.
A)11/3
C)(float)11/3
B)3
D)(int)3+
*39.
已知intx=5,y=5,z=5
;执行语句
x%=y+z;后,x的值是(C)
A.0B.1
C.5
D.6
40.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句
c2='A'+'6'-'3';
后,c2中的值为
(
B)
A)68
B)
‘D’
C)
错误
D)
‘d’
41.下列关于
C语言的叙述错误的是(
A)
A)大写字母和小写字母的意义相同
B)不同类型的变量可以在一个表达式中
C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
42.有:
intw=11,x=12,y=3,m;执行下面语句后m的结果是(C)m=(ww:
x;
m=(mm:
y;
A.1
B.2C.3
D.
以上结果都不对
43.有:
intw=7,x=12,y=3,m;
执行下面语句后
m的值是
(
A)
m=(w>x)?
w:
x;
m=(m>y)?
m:
y;
A.12B.0C.3D.1
45.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为的是(B)
=a=(float)(1/a)
=1/(float)a=1/(a*
48.以下运算符中优先级最高的运算符是(B)
A)&&
B)++
C)+=
D)!
=
49.若“intn;floatf=;
”,则执行“
n=(int)f%3
”后,n的值是(A)
.4
C
设x为int
型变量,则执行以
下语句后,x的值为(C)
x=10;x*=x;
A)10B)20C)100
D)0
53.若有语句inta=1,b;doubley=;b=(int)y;
则b的值为
(B)
?
A)3B)2C)1D)
54.已知intx;chary;则下面错误的scanf函数调用语句为(B)
A)scanf(“%d,%d”,&x,&y);B)scanf(“%d,%c”,x,y)
C)scanf(“%d%d”,&x,&y)D)scanf(“%d,%c”,&x,&y)
57.在C语言的库函数中,可以输出char型变量x值的语句是C。
A)getchar(x);B)fputc(x)C)putchar(x)D)puts(x)
60.以下说法正确的是(C)
A)'x'+5是一个错误的表达式
B)C语言不允许类型的混合运算
C)强制类型转换时,类型说明符必须加括号
D)(int)x+y和(int)(x+y)是完全等价的表达式
61.设intx=0,y=1;
表达式(x||y)
的值是
(B)
A)0
B)1
C)2
D)-1
三、选择结构
1.
在C语言中,认为(D)
为逻辑"真"
A)trueB
)大于0的数
C)非0整数
D)非0的数
2.
表示关系x<=y<=z的c语言表达式为A
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语言表达式是(D)
A)a>=10ora<=0B)a>=0|a<=10
C)a>=10&&a<=0D)a>=10
‖a<=0
4、判断
char
型变量
c1
是否为大写字母的表达式为(
D)。
A、’A’<=c1<=’Z’
B
、(c1>=’A’)&(c1<=
’Z’)
C、(’A’<=c1)AND(‘Z’>=c1)D
、
c1>=’A’
&&c1<=’Z’
5.为表示逻辑表达式79
A)(X>79)&&(X<90)B)(X>79)!
=(X<90)
C)7979)||(X<90)
6.设有语句“inta=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是(A)
B.0
D.
出错
7.设
a为整型变量,则不能正确表达数学关系
10<a<15
的
C语言表达式是
(A)。
==11||a==12||a==13||a==14
C.a>10&&a<15
D.!
(a<=10)&&!
(a>=15)
8.设
x,t
均为
int
型变量,则执行语句“x=10;t=x&&x>10;
”后,t
的值为(D
)
A.不定值.10C
9.
若inti=10;执行下列程序后,变量
switch(i)
{case9:
i+=1;
case10:
i+=1;
case11:
i+=1;
default:
i+=1;}
i的正确结果是(
A)。
A、13
B、12
C、11
D、10
10.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是(D)。
A、if(a)s1;elses2;B
、if(a==0)s2;elses1;
C、if(a!
=0)s1;elses2;
D
、if(a==0)s1;elses2;
11.假定所有变量均已正确定义,则下列程序段运行后
y的值是(
A
)
inta=0,y=10;
if(a=0)y--;
elseif(a>0)y++;
elsey+=y;
.11
C
12.假定所有变量均已正确定义,则下列程序段运行后x的值是(B)。
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
.4C
13.C语言对嵌套if语句的规定是:
else语句总是与(D)配对。
A)其之前最近的
if
B)
第一个
if
C)缩进位置相同的
if
D)
其之前最近的且尚未配对的
if
14.在
C语言语句中,用来决定分支流程的表达式是(
A)。
A.可用任意表达式
B.只能用逻辑表达式或关系表达式
C.只能用逻辑表达式
D.只能用关系表达式
语言中用(B)表示逻辑“真”。
A.trueB.整数值1
C.非零整数值D.false
16、若k是int
intk;
k=-3;
型变量,且有下面的程序段:
if(k<=0)printf(
“####”);
elseprintf(
“&&&&”);
上面程序段的输出结果是(A)
A、####
C、####&&&&
B
、&&&&
D、有语法错误,无输出结果
17.main()
{intx=0,a=0,b=0;switch(x){
case0:
b++;
case1:
a++;
case2:
a++;b++;}
printf(“a=%d,b=%dn”,a,b);}
该程序的输出结果是D
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
18.以下程序的输出结果是:
(C)
main()
{intx=-10,y=1,z=1;
if(x
if(y<0)z=0;
elsez=z+1;
printf(“%d\n”,z);
}
A.0B.1C.2D.3
19.以下程序段的输出结果是(B)
inta=10,b=50,c=30
;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%2db=%2dc=%2d\n",a,b,c);
A)a=10b=50c=10B)a=10b=30c=10
C)a=50b=30c=10D)a=50b=30c=50
四、循环结构
*1.在C语言中,下列说法中正确的是(D)。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while句构成的循只能用break句退出。
C)do-while句构成的循在while后的表达式非零束循。
D)do-while句构成的循,在while后的表达式零束循。
2.break句不能出在(D)句中
A.switchC.whileD.if⋯else
*3.于break句和continue句的法的是(B)
A)break句不能用于循句和switch句之外的任何其他句中。
B)break和continue也可以用于if句中
C)continue句只束本次循,而不是止整个循的行。
D)break句是束整个循程,不再判断行循的条件是否成立。
4.
句while(!
y);中的表达式!
y等价于A
A)y==0B)y
!
=1C)y=!
0
D)y==1
5.
若有“inta=1,x=1;
”,循句“while(a<10)
x++;a++;”的循行(A)
A.无限次
B.不确定次
次
次
6.有以下程序段intk=0
while(k)k++;
while循体行的次数是C
A)无限次B)有法,不能行
C)一次也不行D)行1次
7.下列循句中有法的是(D)
Awhile(x=y)5;Bwhile(0);
Cdo2;while(x==b);Ddox++while(x==10);
*8.当运行入:
abcd$abcde,下面程序的运行果是B
#include<>
main()
{while(putchar(getchar())!
='$');printf("end");
}
A)abcd$abcdeB)abcd$endC)abcdendD)abcd$abcdeend
9.以下程序段(A)
x=-1;
do{x=x*x;}
while(x>0);
A.是死循环B.循环执行一次C.循环执行二次D.有语法错误
10.下面程序段执行后的结果为:
(B)intsum=0,n=10;
do{sum=sum+n;
n++;}
while(n<10)
printf(“%d,%d”,sum,n)
A.0,10B.10,11C.0,11D.以上结果都不对
11.对以下程序段的叙述正确的是___A____.
intx=1;
do
{x=-1*x;}while(!
x)
A)是死循环B)循环执行一次C)循环执行二次D)有语法错误
12.
循环“f