C考试系统题库判断和选择.docx
- 文档编号:15144683
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:77
- 大小:48.73KB
C考试系统题库判断和选择.docx
《C考试系统题库判断和选择.docx》由会员分享,可在线阅读,更多相关《C考试系统题库判断和选择.docx(77页珍藏版)》请在冰点文库上搜索。
C考试系统题库判断和选择
一、判断题(正确的填A,错误的填B)
第一章C语言基础知识
(C语言概述、算法、数据类型运算符表达式、位运算)
1.在C语言中,逗号运算符的优先级最低。
(A)
2.在C语言可执行程序的开始执行点是程序中第一个函数。
(B)
3.“5ch”是合法的变量名。
(B)
4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
(A)
5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)(A)
6.表达式i++与++i在任何场合功能完全相同。
(B)
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
(A)
8.C语言程序中,语句以逗号结尾。
(B)
9.在C程序中,APH和aph代表不同的变量。
(A)
10.a-=7等价于a=a-7。
(A)
11.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按原字符长从左向右全部输出。
(A)
12.如果x>y为真或ay)&&(a
(B)
13.C语言程序的变量必须先定义再使用。
(A)
14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。
(B)
15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。
(B)
16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。
(A)
17.运算符优先顺序:
赋值运算符<逻辑运算符<关系运算符<算术运算符(B)
18.对应float类型的变量,也可以用等号“==”进行数值的判断。
(B)
19.表达式:
1&&3.14和1&3的值一样大。
(B)
20.为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。
(A)
21、任何C程序都是从main函数开始和结束;(A)
22.在C程序中,使用分号“;”表示语句的结束。
(A)
23.C程序中的必须要有至少一个main的函数,可以有多个。
(B)
24.在C程序中,无论是整数还是实数,都能准确无误的表示。
(B)
25.在C程序中,赋值运算符的优先级最低。
(B)
26.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
(B)
27.在C程序中,变量可以一边定义一边使用。
(B)
28.C程序中的注释部分可有可无,可以省略。
(A)
29.字符型变量可以存放多个字符。
(B)
30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(B)
5.在C程序中,无论是整数还是实数,都能被准确无误地表示。
(B)
1.一个C程序的执行是从本程序的main函数开始,到main函数结束。
(A)
3.()
4.运算符优先顺序:
赋值运算符<逻辑运算符<关系运算符<算术运算符(B)
第二章判断题(正确的填A,错误的填B)
1.do-while语句中的条件为非0时,就结束该循环。
(B)
2.在switch-case语句中,不是每个case后都要使用break语句。
(A)
3.Break语句只能用于循环结构中。
(B )
48.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。
(B)
5、switch语句中,可以不使用break语句;(A)
6、for语句中,三个表达式都可以省略;(A)
7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环(A)
8.continue语句只能用于循环语句中。
(A)
9.while语句中的条件为0时,就结束该循环。
(A)
10.在循环体内使用break语句或continue语句的作用相同。
(B)
在C语言中,逻辑值“真”用表示。
11)112)大于0的数 13)非0的整数 14)非0的数
在循环语句的循环体中,continue语句的作用是( )。
15)立即终止整个循环 16)继续执行continue语句之后的循环体
17)结束本次循环 18)结束本次循环并跳出循环
语句while(!
e);中,条件!
e等价于()
19.e==020.e!
=021.e!
=122.e==1
设intc=5和inta;a=2+(c+=c++,c+8,++c),则a=__________
23)1524)1425)1326)16
若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为if()
27)a<>028)!
a29)a=030)a
第三章判断题
1.字符串“girl”大于字符串“good”。
(B)
2.C语言中有字符串变量,与字符数组等价。
(B)
R3.同一数组可以存储不同类型的值。
( B)
N4.若有:
inta[2][3];则a+1和a[1]的值以及类型都一样。
(B)
R5.字符'\0'的值就是0。
(A)
6.C语言中是用字符串变量来存放字符串。
(B)
7.表达式sizeof("abc")的值是4。
(B)A
N8.同数组的名字一样,函数的名字也是一种指针。
(A)
9、C语言中在定义数组时,一个数组的数组元素的数据类型可以不相同;(B)
10、chara[10];a[10]=9;上述语句编译不会出错;(A)B
R11.数组元素的下标是从1开始标号的。
(B)
N12.若a为一维数组名,则*(a+i)与a[i]等价。
(A)
13.循环语句中的continue语句的作用是结束整个循环。
(B)
14.字符串"That"小于字符串"the"。
(A)
15.字符个数多的字符串比字符个数少的字符串大。
(B)
有以下语句:
intb;charc[10];,则正确的输入语句是
16)scanf("%d%s",&b,&c);17)scanf("%d%s",&b,c);
18)scanf("%d%s",b,c);19)scanf("%d%s",b,&c);
已有定义:
chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是
20数组a和b的长度相同21a数组长度小于b数组长度
22a数组长度大于b数组长度
设有数组定义:
chararray[]="China";则数组array所占的存贮空间为个字节.
234245256267
若定义intx[10];则TurboC编译系统为该数组分配个字节存储单元。
27.1028.1129.2030.21
第四章判断题(正确的填A,错误的填B)
R1.C程序中,函数的定义和函数的调用均可以嵌套。
(B)
R2.C程序中,若对函数类型未加显示说明,则函数的隐含类型为“int”。
(A)
3.在调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参。
(A)
R4.函数的返回值是通过函数中的return语句获得的。
(A)
5.用数组名作函数参数时传递的是数组的值。
(B)
6.全局变量可以被任何一个函数中的任何一个表达式使用。
(B)
7.一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
(A)
8.C函数既可以嵌套定义又可以递归调用.(B)
9.C语言规定,函数的实参应与其对应的形参类型一致。
(A)
10.若全局变量和局部变量同名,则全局变量被遮蔽。
(A)
11.若要在函数f中修改变量a的值,应该把a的地址传递给f。
(A)
12.当数组做为参数传递给函数时,是把数组中的所有元素都传递给了该函数。
(B)
N13.给局部变量加上static属性后,其生存期和作用域都扩展了。
(B)
14、在某个变量前用extern声明,可以扩展变量的作用域;(B)
15、外部变量采用静态存储,内部变量采用动态存储;(B)
16、静态外部变量只能在本文件使用,其他文件不能使用该变量;(A)
17
(1)不同函数内的变量,可以用相同的名字(A)
N18
(2)设函数调用表达式为:
fun(fun(a,b),c),则函数fun带3个参数。
(B)
19(4)C语言中,函数返回值的类型是由定义函数时所指定的函数类型决定的(A)
20(5)在main函数内定义的变量在整个程序范围内有效(B)
21(10)静态外部变量,不允许其它文件中的函数访问(A)
22
(1)不同函数内的变量,可以用相同的名字(A)
N23
(2)设函数调用表达式为:
add(sub(a,b),c),则函数add带3个参数。
(B)
24.在C程序中return语句最多可以返回一个值。
(A)
25.若函数类型和return语句中表达式类型不一致时,返回类型以函数类型为准。
(A)
26.在C语言中实参和与其对应的形参各占用独立的存储单元。
(A)
27由一个函数调用另一个函数,被调用的函数又调用其他函数的关系,称为函数的嵌套调用。
(T)
28一个函数直接或者间接地自己调用自己的过程成为递归调用。
(T)
29使用递归方法解决问题,必须要有一个明确的结束递归的条件。
(T)
30递归调用也称为循环定义,即用其自身来定义自己的过程。
(T)
第五章判断题(正确的填A,错误的填B)
R1.变量的指针,其含义是指该变量的地址。
(A)
N2.有以下语句
staticinta[]={0,1,2,3,4},*p;
p=&a[2];
则表达式(*p)++执行后,指针p指向的元素值是2。
(B)3
R3.变量的指针,其含义是指该变量的数值。
(B)
4.有以下语句
staticinta[]={0,1,2,3,4},*p;
p=&a[1];
则表达式(*p)++执行后,指针p指向的元素值是2。
(A)B
5.若p是指向结构体s的指针,则(*p).n和(&s)->n等效。
(B)
6、char*p[10];p是指向数组的指针。
(B)
(9)设:
char*px;则赋值表达式px="a"正确(A)
N(10)设:
inta[3]={1,2,3},*pa;则赋值表达式px=&a正确(B)
7.int*p[5]定义的是一个指针数组。
(A)
8.int(*p)[5]定义的是一个指针数组。
(B)
9.当main函数带有形参时,传给形参的值只能从命令行中得到。
(A)
下列说法中不正确的是()
R10.指针是一个变量11.指针中存放的是地址值
12.指针可以进行加、减等算术运算13.指针变量不占用存储空间
设变量定义为“intx,*p=&x;”,则&*p相当于___________。
N18)p19)*p20)x21)*&x
设变量定义为“inta[4];”,则表达式不符合C语言语法。
22)*a23)a[0]24)a25)a++
已知:
int*p,a;则语句“p=&a;”中的运算符“&”的含义是()
26、位与运算27、逻辑与运算28、取指针内容29、取变量地址
int n=0,*p=&n,**q=&p;则正确的赋值语句是
30p=1; 31) *q=2; 32) q=p; 33) *p=5;
第六章判断题(正确的填A,错误的填B)
R1.共用体类型数据可以出现在结构体类型定义中,但结构体类型数据不能出现在共用体类型定义中。
(B)
N2.为了获得结构体变量s中成员n的地址,可以用表达式:
s.(&n)。
(B)
R3、结构体和共用体都是构造数据类型,没有区别;(B)
N4(3)设有宏定义:
#defineMY(x,y)x*y,
则宏调用MY(2+3,5)的结果为25。
(B)
5(4)结构体中的所有元素,共用存储单元(B)
6.结构体变量所占的内存长度等于最长的成员的长度。
(B)
7.当定义一个共用体变量时系统分配给它的内存是各成员所需内存量的总和。
(B)
R8.宏名必须用大写字母表示。
(B)
9.在C语言中预处理命令都以“#”开头。
(A)
N10(3)设有宏定义:
#defineMUL(x,y)x*y,
则宏调用MUL(2+3,5)的结果为25。
(B)
11.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用<>
(尖括号)括起时,寻找被包含文件的方式是直接按系统设定的标准方式搜索目录。
(A)
以下叙述正确的是_________.——预编译之宏替换
(12)可以把define和if定义为用户标识符
13)可以把define定义为用户标识符,但不能把if定义为用户标识符
(14)可以把if定义为用户标识符,但不能把define定义为用户标识符
(15)define和if都不能定义为用户标识符
正确答案:
B
.设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是__________.——数据类型重新命名
(16)PER是结构体变量名(17)PER是结构体类型名
(18)typedefstruct是结构体类型(19)struct是结构体类型名
正确答案:
B
如果有structwage{charname[30];floatsalary;};
则structwageworker1,worker2;定义了两个()。
20.结构数据类型21.结构类型变量
22.结构常量23.一般变量
以下说法正确的是。
(24)结构体成员变量可以用作函数的形式参数。
(25)结构体数组名可以用作函数参数,发生函数调用时传递的是地址数据。
(26)结构体数组的元素不能用作函数的实际参数。
(27)结构体成员变量的指针不能用作函数的实际参数。
以下关于typedef的叙述中,错误的是。
(28)使用typedef为固定长度的数组定义一个新的类型名
(29)用typedef可以在C语言中创建新的数据类型
(30)用typedef只是将已存在的类型用一个新的标识符来代表
(31)使用typedef有利于程序的移植
32.文件包含是指一个源文件可以将另一个源文件的全部内容包含进来。
(A)
33.文件包含处理命令的格式为
#include“包含文件名”或#include<包含文件名>(A)
34.一条包含命令可以指定多个被包含文件(B)
35.文件包含可以嵌套,即被包含文件中又包含另一个文件。
(A)
36.可以把define和if定义为用户标识符
37.可以把define定义为用户标识符,但不能把if定义为用户标识符
38.可以把if定义为用户标识符,但不能把define定义不用户标识符
39.define和if都不能定义为用户标识符
第七章判断题(正确的填A,错误的填B)
R1.利用ftell函数关闭已打开的文件(B)
R2.文件操作中fopen是必须的,而fclose则可省略。
(B)
3.任何文件都可以看做是“流”式文件。
(B)
4(8)设:
FILE*fout;charch;则ch=fgetc(fout)表示将字符ch写入由fout指针所指向的文件中去。
(B)
5(5)在文件末尾定义的外部变量在本源程序文件范围内有效(B)
6(6)若文件位置指针指向文件末尾,则feof(fp)返回值为非0值(A)
7.数据文件一般分为两种,分别是二进制文件和字符文件。
(A)
R8在C语言中,以“r”方式不能打开并不存在的文件。
(A)
9在C语言中,以“w”方式不能打开并不存在的文件。
(B)
10在C语言中,以“r”方式能打开并不存在的文件。
(B)
11在C语言中,以“w”方式能打开并不存在的文件。
(A)
下列语句中,将C定义为文件型指针的是
12.FILEc;13.FILE*c;
14.filec;15.file*c;
若有定义FILE*fp,则打开与关闭文件的命令是
16.fopen(fp),fclose(fp)17.fopen(fp,“w”),fclose(fp)
18.open(fp),close(fp)19.open(fp,“W”),close(fp)
C语言中,组成数据文件的成分是
20.记录21.数据行22.数据块23.字符(字节)序列
24.文件由ASCII码字符序列组成,C语言只能读写文本文件
25.文件由二进制数据序列组成,C语言只能读写二进制文件
26.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
27.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是
N28.fopen("A:
\\user\\abc.txt","r+")
N29.fopen("A:
\user\abc.txt","r")
N30.fopen("A:
\user\abc.txt","rb")
31.fopen("A:
\user\abc.txt","w")
二、单项选择题
第一章单项选择题
R1、以下标识符中,不能作为合法的C用户定义标识符的是:
()
A.a3_b3B.voidC._123D.abc
R2、C语言规定:
在一个源程序中,main函数的位置()。
A.必须在最后B.必须在系统调用的库函数的后面。
C.必须在最开始。
D.可以任意
R3、下列说法中正确的是()。
A.C程序书写时,不区分大小写字母
B.C程序书写时,一行只能写一个语句
C.C程序书写时,一个语句可分成几行书写
D.C程序书写时每行必须有行号
4、 已知ch是字符型变量,下面不正确的赋值语句是()。
A.ch=5+9;B.ch='a+b';C.ch='\0';D.ch='7'+'6';
5、 若有定义:
inta=7;floatx=2.5,y=4.7;则表达式
x+a%3*(int)(x+y)%2/4的值是()。
A.2.750000B.0.00000C.3.500000D.2.500000
6.已知ch是字符型变量,下面正确的赋值语句是()。
A.ch='123';B.ch='\08';C.ch='\xff';D.ch="\";
1.以下标识符中,不能作为合法的C用户定义标识符的是:
____________。
A)a3_b3B)voidC)_123D)abc
2.C语言中,运算对象必须是整型的运算符是__________。
A)%B)/C)%和/D)*
7.在C程序中,用___________表示逻辑值“真”。
A)1B)非0的数C)非1的数D)大于0的数
N8.设intc=5和inta;a=2+(c+=c,c+8,++c),则a=__________
A)15B)14C)13D)16
9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
10.若变量已正确定义并赋值,表达式____________不符合C语言语法。
A)a*b/c;B)3.14%2C)2,bD)a/b/c
11.下列说法中正确的是___________。
A)C程序书写时,不区分大表达式小写字母
B)C程序书写时,一行只能写一个语句
C)C程序书写时,一个语句可分成几行书写
D)C程序书写时每行必须有行号
12.为表示数学关系x≥y≥z,正确的C语言表达式是__________。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
13.不合法的八进制数是________
A)0B)028C)077D)01
14、以下不能定义为用户标识符是
AMainB_0C_intDsizeof
15.若x=5,y=4则y*=x+5;y的值为()。
A.40B.20CB.15D.30
16、组成C语言程序的基本单位是( )。
A)过程 B)子程序
C)函数 D)主程序和子程序
17.下列哪个标识符是C语言合法的标识符( )。
A)a*b B)-xyz
C)ba2 D)5i
N18.若有定义:
int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)/4的值是( )。
A)2.75 B)3.5
C)2.5 D)0
19.设intm=1,n=2;则++m==n的结果是()
A、0B、1C、2D、3
N20.若变量已定义并赋值,下列符合C语法的表达式是:
()
A、a:
=b+1B、a=b=c+2
C、int18.5%3D、a=a+7=c+b
R(3)在C程序中,设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果类型是()
A.intB.charC.unsignedD.long
R21.C语言中基本的数据类型包括__________。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
N22.若定义x和y为double类型,则表达式:
x=2,y=x+5/2的值是__________
A)4B)4.5C)4.0D)3.0
23.在以下运算符中,优先级最高的运算符是__________
A)?
:
B)++C)&&D)+=
24.C语言中基本的数据类型不包括__________。
A)整型B)字符串型
C)字符型D)实型
25.若定义intx=7,y=5,z;则表达式:
z=x+5/2*y的值是__________
A)7B)7.5C)17D)19.5
6.以下说法中正确的是()
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
(1)设inta=2,b;则执行b=a&&1;语句后,b的结果是()
A.0B.1C.2D.3
N
(2)逗号表达式(a=3*5,a*4),a+15的值是()
A.15B.60C.30D.75
7.若已经定义了一个字符型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 系统 题库 判断 选择
![提示](https://static.bingdoc.com/images/bang_tan.gif)