天津市计算机二级C语言题库.docx
《天津市计算机二级C语言题库.docx》由会员分享,可在线阅读,更多相关《天津市计算机二级C语言题库.docx(240页珍藏版)》请在冰豆网上搜索。
![天津市计算机二级C语言题库.docx](https://file1.bdocx.com/fileroot1/2023-4/19/eec44e4d-750a-43e1-a9fe-0544eec0f39d/eec44e4d-750a-43e1-a9fe-0544eec0f39d1.gif)
天津市计算机二级C语言题库
1-1C语言程序的基本结构是(【1】)。
A
【1】A)函数B)语句C)字符D)程序行
1-2一个C程序由若干个C函数组成,各个函数在文件中的书写位置为(【1】)。
A
【1】A)任意B)第一个函数必须是主函数,其它函数任意
C)必须完全按调用的顺序排列D)其它函数必须在前,主函数必须在最后
1-3下列四个叙述中,正确的是(【1】)。
D
【1】A)C程序中的所有字母都必须小写
B)C程序中的关键字必须小写,其它标识符不区分大小写
C)C程序中的所有字母都不区分大小写
D)C语言中的所有关键字必须小写
1-4C语言规定,在一个C程序中,main()函数的位置(【1】)。
C
【1】A)必须在开始B)必须在最后
C)可以任意D)必须在系统调用的库函数之后
1-5组成C语言源程序的基本结构称为(【1】)。
D
【1】A)过程 B)程序段C)模块D)函数
1-6下列四个叙述中,错误的是(【1】)。
C
【1】A)一个C源程序必须有且只能有一个主函数
B)一个C源程序可以含一个或多个子函数
C)在C源程序中注释说明必须位于语句之后
D)C源程序的基本结构是函数
1-7下列四个叙述中,正确的是(【1】)。
C
【1】A)C语言规定只有主函数可以调用其他函数
B)在一个C函数中,只允许有一对花括号
C)C语言中的标识符可以用大写字母书写(标识符只能有字母,数字和下划线三种字符组成,且第一个字符必须为字母或下划线)
D)在对程序进行编译的过程中,可发现注释中的拼写错误
1-8下列四组C语言标识符中,正确的一组是(【1】)。
A
【1】A)nameChar_abcA23
B)abC?
c5bytes-USA_54321
C)printconsttypedefine
D)includeintegerDoubleshort
1-9下面属于C语言保留字的是(【1】)。
B
【1】A)IntB)typedefC)ENUMD)unien(不是关键字)
1-10下面不属于C语言保留字的是(【1】)。
B
【1】A)shortB)ELSEC)externD)for
1-11下列四个叙述中,正确的是(【1】)。
B
【1】A)C语言程序总是从第一个定义的函数开始执行
B)C语言程序总是从main()函数开始执行
C)C语言程序中的main()函数必须放在程序的开始部分
D)一个C函数中只允许一对花括号
1-12下列四个叙述中,错误的是(【1】)。
C
【1】A)C语言中的关键字必须小写
B)变量的存储类型决定了变量的存储位置及其生存期
C)宏定义必须以#define开头,行末必须加分号(行末不加分号)
D)C语言中的注释行可以出现在程序的任何位置
1-13按照结构化程序设计的方法,C语言源程序的三种
基本程序控制结构是(【1】)。
A
【1】A)顺序、选择、循环B)选择、连接、投影
C)函数、过程、子程序D)层次、关系、网状
1-14以下描述中,正确的是(【1】)。
C
【1】A)编译预处理是特指完成宏替换的过程(还有别的功能)
B)编译预处理指令也是c语句(预处理命令不是C语句)
C)C源程序中,凡是行首以#标识的控制行都是编译预处理指令
D)编译预处理就是完成C编译程序对C源程序的第一遍扫描,
为编译的词法分析和语法分析作准备
1-15以下叙述正确的是(【1】)。
B
【1】A)一个C函数中,只能出现一对花括号
B)一个完整的C程序,必须有一个且只能有一个主函数
C)C语言中的关键字,用大小写字母都可以
D)C语言中的标识符必须用小写字母书写
1-16以下叙述不正确的是(【1】)。
D
【1】A)分号是C语句的必要组成部分
B)C程序的注释可以写在语句的后面
C)函数是C程序的基本单位
D)主函数的名字不一定用main表示
2-1C语言中的基本数据类型包括(【2】)。
B
【2】A)整型、实型(浮点型)、逻辑型,双精度型、字符型
B)整型、浮点型、双精度型、字符型、无值类型
C)整型、双精度型、布尔型,浮点型、字符型
D)整型、实型、复型、字符型、逻辑型
2-2在C语言中(以16位PC机为例),基本数据类型所占存储空间长度
从小到大排列顺序是(【2】)。
D
【2】A)shortint,char,float,double
B)char,float,int,double
C)int,unsignedchar,longint,float
D)char(1个),int(2个),float(4个),double
2-3在C语言中不同数据类型的的长度是(【2】)。
C
【2】A)固定的B)由用户自己定义的
C)与机器字长有关D)任意的
2-4下列四组(八进制或十六进制)常数中,正确的一组是(【2】)。
A
【2】A)0160xbf017(以数字0开头的数是八进制数)
B)0abc0170xa(以ox开头的数是十六进制数)
C)010-0x110x18
D)0A127FF-123
2-5下列四组整型常量中,合法的一组是(【2】)。
A
【2】A)1600xffff011
B)-0xcdf01a0xe
C)-01986,0120668
D)-0x48a2e50x
2-6下列四组转义字符中,合法的一组是(【2】)。
A
【2】A)‘\0’‘\\’‘\n’
B)‘\’‘\017’‘\x’
C)‘\018’‘\f’‘\xab’
D)‘\\0’‘\101’‘xif’
2-7C语言中,一个整型数据占两个字节,则int型数据的取值范围是(【2】)。
A
【2】A)32767~-32768B)0~65535
C)127~-128D)0~255
2-8经charw;intx;floaty;doublez;说明,表达式w*x+z-y的类型是(【2】)D
【2】A)floatB)charC)intD)double
2-9以下能正确定义变量a,b和c并为它们赋值的语句是(【2】)。
D
【2】A)inta=5;b=5;c=5;(用逗号)B)inta,b,c=5;
C)a=5,b=5,c=5;D)inta=5,b=5,c=5;
2-10在C语言中,可以表示逻辑“真”的值是(【2】)。
D
【2】A)TB)0C)-1D)非零值
2-11在C语言中,全局变量的隐含存储类别是(【2】)。
B
【2】A)staticB)externC)voidD)register
2-12经inta=7;floatx=2.5,y=4.7;说明后,表达式
x+a%3*(int)(x+y)%2/4的值是(【2】)。
A
【2】A)2.500000B)2.750000
C)3.500000D)0.000000
2-13以下叙述不正确的是(【2】)。
A
【2】A)在C语言程序中无论是整数还是实数,都能被准确地表示
B)C语言程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的运行期相同(180)
D)C语言中变量必须先说明后引用
2-14下列不正确的C语言关键字是(【2】)。
C
【2】A)swicthB)char
C)Case(不可以大写)D)default
2-15下列符号可以作为C语言标识符的是(【2】)。
B
【2】A)5bB)ch1C)$30D)f1.c
2-16以下叙述不正确的是(【2】)。
C
【2】A)C语言中,数组和结构都属于构造类型※
B)C语言中,枚举类型用于描述集合概念
C)不同类型的数据所占存储空间的字节数由C语言本身规定
D)实数在计算机中一般是近似表示的
3-1C语言所提供的五种基本数据类型包括:
字符型、整型、浮点型、
双精度型和(【3】)。
C
【3】A)结构型B)逻辑型C)无值类型D)自定义类型
3-2在PC系列计算机上,C语言中的char型数据占1个字节,
则unsignedchar型数据取值范围是(【3】)。
A
【3】A)0~255B)0~32767C)0~65535D)0~127
3-3当用constintA=9;定义后,下列叙述中正确的是(【3】)。
B
【3】A)A是整型变量B)A是整型常量(const是关键字)
C)A是一串字符D)A的类型不定
3-4已知字母‘A’的十进制ASCII代码值为65,下面程序段的输出是(【3】)。
A
charch1,ch2;
ch1=‘A’+‘5’-‘3’;
ch2=‘A’+‘6’-‘3’;
printf("%d,%c\n",ch1,ch2);
【3】A)67,DB)C,68C)不确定的值D)C,D
3-5下面程序段的输出是(【3】)。
C
unsignedinta=32768;(signed:
-32768~32767unsigned0~65535)
printf("a=%d\n",a);(%d整型输出,-32767~32767)
【3】A)a=0B)a=32767
C)a=-32768D)a=-1
3-6在C语言中,下列四个长整型数中合法的是(【3】)。
A
【3】A)0LB)4962710在一个整型后加上字母l或L为longint
C)0.054838743D)2.1869e10
3-7C语句printf("%d\n",NULL);的输出结果是(【3】)。
B
【3】A)不确定B)0C)-1D)1
3-8若有说明语句:
charc=‘\101’;则变量c(【3】)。
A(101是e的ASCⅡ代码)
【3】A)包含一个字符B)包含两个字符
C)包含三个字符D)包含四个字符
3-9设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f
的数据类型是(【3】)。
C
【3】A)int型B)float型C)double型D)不确定
3-10下列四个字符串常量中,错误的是(【3】)。
A
【3】A)‘abc’(双引号)B)“12.12”C)“0”D)“”
3-11以下不正确的说法是(【3】)。
D
【3】A)在不同函数中,可以使用相同名字的变量
B)形式参数是局部变量
C)静态局部变量离开所在函数,其值仍保留
D)在函数内的复合语句中定义的变量在本函数范围内有效
4-1C语言变量名的第一个字符(【4】)。
C
【4】A)必须为字母或数字B)必须为下划线或数字
C)必须为字母或下划线D)必须为字母、数字或下划线
4-2下列四个关于函数类型说明省略的叙述中,错误的是(【4】)。
C
【4】A)被调用函数的数据类型是char型
B)被调用函数的数据类型是int型
C)被调用函数的定义位置在调用函数之后(在调用函数之前)
D)被调用函数在对其进行类型说明的位置在调用函数之前.
4-3在一个C源程序文件中,要定义一个允许其它源文件中的函数可以使用的
全局变量,则该变量需要使用的存储类别是(【4】)。
A
【4】A)externB)registerC)autoD)static
4-4当用#defineX3.14159265定义后,下列叙述中正确的是(【4】)。
C
【4】A)X是实型常数B)X是双精度型常数
?
C)X是一串字符D)X是字符串常量
4-5若在一个表达式中含有int、longint、unsignedint和char类型的
常量和变量,则该表达式的类型是(【4】)。
D
【4】A)int型B)char型C)unsignedint型D)longint型
4-6下列四个字符常量中,正确的是(【4】)。
C
【4】A)“c”B)“\”C)‘W’D)‘\w’
4-7执行printf("%x,%o,%d\n",-1,-1,-1);后的输出结果是(【4】)。
D
【4】A)-1,-1,-1B)ffff,-01,-1
C)ffff,32767,-1D)ffff,177777,-1
4-8下面四组选项中,均是合法的浮点数的一组选项是(【4】)。
B
【4】A)1e+15e-9.403e2(e后的指数必须为整数)
B)-.6012e-4-8e5
C)123e1.2e-.4+2e-1
D)-e3e-45.e-0(e之前必须有数字)
4-9下列四个叙述中,错误的是(【4】)。
A
【4】A)在C程序中,无论是整数还是实数,都能被准确地表示
B)在C程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的运行期相同
D)C语言中变量必须先说明后引用
4-10已有定义inta=-2;以下叙述中正确的是(【4】)。
D
【4】A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,
但格式符%32x是错误的
D)%32x格式符中,数字32规定了输出数据的宽度
4-11若有定义:
intx=3,y=2;floata=2.5,b=3.5;
则表达式(x+y)%2+(int)a/(int)b的值是(【4】)。
D
【4】A)0B)2C)1.5D)1
4-12C语言中能用八进制表示的数据类型为(【4】)。
B
【4】A)整型和实型C)字符型、实型和双精度型
B)字符型和整型D)字符型、整型、实型和双精度型
4-13C语言中,只有在使用它们时,
才占用内存单元的变量的存储类别是(【4】)。
D
【4】A)static和autoB)register和extern
C)register和staticD)auto和register
4-14以下叙述不正确的是(【4】)。
D
【4】A)宏定义不是C语句B)宏定义是一条编译预处理命令
C)#define命令一般出现在函数外部D)每个#define可以定义多个宏
4-15以下对整数的书写形式中错误的是(【4】)。
C
【4】A)7000LB)7000ulC)-3078uD)32767
4-16以下叙述中不正确的是(【4】)。
C
【4】A)空字符串(即两个双引号连写),它只占一字节存储单元※
B)字符型常量可以放在字符型变量中※
C)字符串常量可以放在字符串变量中(字符串没有变量)
D)字符型常量可以与整数混合运算,而字符串常量不可以※
5-1下列运算符要求运算量必须是整型或字符型,其中错误的(【5】)。
D
【5】A)~(按位取反)B)&C)%D)||
5-2设inta=5,b=6,c=7,d=8,m=2,n=2;表达式(m>a-b)&(n【5】A)2B)3C)1真D)0假
5-3设ch是char型变量,其值为‘M’,则表达式
ch!
=(ch>=‘A’&&ch<=‘Z’)?
(ch+32):
ch的值是(【5】)。
A
【5】A)MB)aC)mD)z
5-4表达式5!
=3的值是(【5】)。
D
【5】A)TB)非零值C)0D)1
5-5C语言中,设a为整型变量,不能正确表达数学关系:
10A
【5】A)10C)a>10&&a<15D)!
(a<=10)&&!
(a>=15)
5-6若d为double型,则printf("%.1f",(d=1,d+5,d++))的输出是(【5】)。
D
【5】A)1B)6.0C)2.0D)1.0
5-7设inta=1,b=2,c=3,d=4,则表达式a
a:
ca:
d的值是(【5】)D
【5】A)4B)3C)2D)1
5-8下列运算符中,优先级最高的是(【5】)。
D
【5】A)
=
5-9若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,
表达式的值为"假",则下面不能满足要求的表达式是(【5】)。
C
【5】A)A%2==1B)!
(A%2==0)C)!
(A%2)D)A%2
5-10a、b均为整数,且b≠0,则表达式a/b*b+a%b的值是(【5】)。
A
【5】A)aC)a被b除的余数部分
B)bD)a被b除商的整数部分
5-11为表示y在闭区间【x,z】内,应使用的C语言表达式是(【5】)。
A
【5】A)(x<=y)&&(y<=z)B)(x<=y)OR(y<=z)
C)x<=y<=zD)(x<=y)&(y<=z)
5-12设有以下语句:
intx=10;x+=3+x%(-3);则x的值是(【5】)。
A
【5】A)14B)15C)11D)12
5-13以下符合C语言语法的表达式是(【5】)。
B
【5】A)d=9+e+f=d+9B)d=9+e,f=d+9
C)d=9+e=e++,d+9D)d=9+e++=d+7
5-14若有定义:
inty=7,x=12;则能使值为3的表达式是(【5】)。
D
【5】A)x%=(y%=5)B)x%=(y-y%5)
C)x%=y-y%5D)(x%=y)-(y%=5)
5-15下列运算符中,优先级最低的是(【5】)。
D
【5】A)
6-1sizeof(double)是(【6】)。
A
【6】A)一个整型表达式B)一个双精度表达式
C)一种函数调用D)一个不合法的表达式
6-2设各变量已定义并初始化,以下符合C语言语法的赋值语句是(【6】)。
C
【6】A)a=7+b+c=a+7;B)a=7+b++=a+7;
C)a=(7+b,b++,a+7);D)a=7=b,c=a+7;
6-3若有定义:
intc=5和inta,a=2+(c+=c++,c+8,++c),则a=(【6】)。
D
【6】A)15B)13C)16D)14
6-4下列运算符中,优先级最高的是(【6】)。
C
【6】A)?
:
B)!
=C)sizeof(长度运算符)D)&&
6-5逻辑运算符两侧运算量的数据类型(【6】)。
D
【6】A)只能是0或1B)只能是0或非0的正数
C)只能是整型或字符型数据D)可以是任意类型的数据※
6-6在C语言中,要求运算量必须是整型或字符型的运算符是(【6】)。
B
【6】A)&&B)&按位与运算符C)!
D)+
6-7表达式0x13&0x17的值是(【6】)。
B
【6】A)0x17B)0x13C)0xf8D)0xec
6-8在位运算中,非零操作数每左移一位,其结果相当于(【6】)。
A
【6】A)操作数乘以2B)操作数除以2
C)操作数除以4D)操作数乘以4
6-9若有语句:
inta=5;则printf("%d",a++);的结果为(【6】)。
C
【6】A)7B)6C)5D)4
6-10以下对枚举类型名的定义中,正确的是(【6】)。
B
【6】A)enuma={one,two,three};
B)enuma{one=9,two=-1,three};
C)enuma={“one”,“two”,“three”};
D)enuma{“one”,“two”,“three”};
6-11设x为int型变量,则执行语句x=10;x+=x-=x-x;后,x的值为(【6】)。
B
【6】A)10B)20C)40D)30运算方向
6-12设x、y、z、s均为int型变量,且初值均为1,
则执行语句s=++x||++y&&++z;后,s的值为(【6】)。
C
【6】A)不定值B)2C)1(表示真)D)0
6-13已知x=43,ch=‘A’,y=0;表达式(x>=y&&ch<‘B’&&!
y)的值是(【6】)。
C
【6】A)0B)语法错C)1D)"假"
6-14下列运算符中优先级最低的是(【6】)。
A
【6】A)?
:
B)&&C)+D)!
=
6-15设有以下语句:
charx=3,y=6,z;z=x^y<<2;则z的二进制值是(【6】)。
B
【6】A)00010100B)00011011
C)00011100D)00011000
7-1设有如下的变量定义:
inti=8,k,a,b;
unsignedlongw=5;doublex=1.42,y=5.2;
则以下不符合C语言语法的表达式是(【7】)。
B
【7】A)a+=a-=(b=4)*(a=3)B)x%(-3)
C)a=a*3+xD)y=(float)(i)
7-2定义inta=12,b=12;后,语句printf("%d,%d\n",--a,b++);
的输出结果是(【7】)。
B
【7】A)12,12B)11,12C)11,11D)11,13
7-3若有代数式(6ab)/(xy),则下列C语言表达式中,错误的是(【7】)。
C
【7】A)a/x/y*b*6B)6*a*b/x/y
C)6*a*b/x*yD)a*b/x/y*6
7-4当用constintA=8;定义后,下列叙述正确的是(【7】)。
A
【7】A)A是整型常数B)A是整型变量
C)A是字符型常数D)A是不定类型的常数
7-5设有定义inta=0x13,则~a的值是(【7】)。
A(~按位取反)
【7】A)0xffecB)0xff71C)0xff68D)0xff17
7-6a、b均为整数且b不等于零,则表达式a-a/b*b的值