计算机等级考试过不过?根源不在于题目难不难,而是在于你刷计算机等级考试题库努不努力!赶紧努力复习以下的C语言试题。
第2章 C程序设计的初步知识
2.2 标识符、常量和变量
1[单选题] C语言主要是借助以下哪个功能来实现程序模块化
A.定义函数
B.定义常量和外部变量
C.三种基本结构语句
D.丰富的数据类型
参考答案:A
参考解析:C语言用函数实现软件的模块化设计。
2[单选题] 以下叙述中错误的是
A.非零的数值型常量有正值和负值的区分
B.常量是在程序运行过程中值不能被改变的量
C.定义符号常量必须用类型名来设定常量的类型
D.用符号名表示的常量叫符号常量
参考答案:C
参考解析:C语言中,常常用一个标识符来代表一个常量,称为符号常量。符号常量在使用之前要先定义,定义格式如下: #define<符号常量名>(常量) 其中,<符号常量名)用标识符,习惯上用大写字母,<常量>可以是数字常量,也可以是字符
3[单选题] C语言中char 类型数据占字节数为
A.3
B.4
C.1
D.2
参考答案:C
参考解析:C语言中char 类型数据占字节数为1.
4[单选题] 下列叙述中正确的是
A.可以用关系运算符比较字符串的大小
B.空字符串不占用内存,其内存空间大小是0
C.两个连续的单引号是合法的字符常量
D.两个连续的双引号是合法的字符串常量
参考答案:D
参考解析:两个连续的双引号:"",是一个字符串常量,称为“空串”
5[单选题] 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数)
#include
#include
main()
{ char a[10]="abc",b[10]="012",c[10]="xyz";
strcpy(a+1,b+2);
puts(strcat(a,c+1));
}
程序运行后的输出结果是
A.a12xyz
B.12yz
C.a2yz
D.bc2yz
参考答案:C
参考解析:程序执行后strcpy(a+1,b+2)后,字符数组a 的值为“a2”,再进行字符串的连接strcat(a,c+1),此时字符数组a 的值为“a2yz”。strcpy(a+1,b+2);//把b数组的第3个元素开始到NULL出现为止的字符串复制给a数组第2个元素开始的内存空间 puts(strcat(a,c+1));//打印字符串,该字符串为a数组中的字符串和c数组第2个元素开始的字符串,
strcat()的意义为把c数组第2个元素开始的字符串添加到a数组的结尾。
6[单选题] 以下选项中,合法的是
A.char str3[]={'d', 'e', 'b', 'u', 'g', '\0'};
B.char str4; str4="hello world";
C.char name[10]; name="china";
D.char str1[5]= "pass",str2[6]; str2=str1;
参考答案:A
参考解析:选项A)是定义了字符数组str3[],并对其赋初值。
7[单选题] 下列可用于C语言用户标识符的一组是( )。
A.void,define,WORD
B.a3_3,_123,Car
C.For,-abc,IF Case
D.2a,DO,sizeof
参考答案:B
参考解析:c语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D);C语言中还规定标识符不能为C语言的关键字,而选项A)中void为关键字,故排除选项A)。
8[单选题] 以下符合c语言语法的实型常量是( )。
A.8E一2
B.3)14)159E
C.E14
D.2)2E0)5
参考答案:A
参考解析:实型常量又称为实数或浮点数,在c语言中可以表示为小数形式和指数形式。其中用”e或E+整数”表示以10为底的幂,字母e或E之前必须有数字,后面必须是整数。因此正确答案为选项A)。
9[单选题] 下列是用户自定义标识符的是( )。
A._wl
B.3_xy
C.int
D.LINE-3
参考答案:A
参考解析:c语言规定用户标识符由英文字母、数字和下划线组成,且第一个字符必须是字母或下划线,由此可见选项S),D)是错的;此外,C语言不允许用户将关键字作为标识符,而选项c)中的int是c语言的关键字。
10[单选题] 执行以下程序时输人1234567,则输出结果是( )。
#include
main()
{
int a =1,b;
scanf("=-",&a,&b);
printf("%d%d\n",a,b);
}
A.12367
B.12346
C.12312
D.12345
参考答案:D
参考解析:scanf函数中的格式控制说明为”%3d%2d”,分别选中输人中的三位和两位,因此a=123,b=45。因此正确答案为D)选项。
第2章 C程序设计的初步知识
2.2 标识符、常量和变量
11[单选题] 以下选项中,不能作为合法常量的是( )。
A.1.234e05
B.1.234e+5
C.1.234e0.5
D.1.234e0
参考答案:C
参考解析:C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项c)中,e(E)后面的指数是小数,所以不合法。
12[单选题] 以下选项中合法的标识符是( )。
A.1_2
B._12
C.2_1
D.12__
参考答案:B
参考解析:标识符命名规则:标识符必须由字母(a~z或A~z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。因此,本题正确答案为B)。
13[单选题] 以下选项中不属于c语言的类型的是( )。
A.unsigned long int
B.long short
C.unsigned int
D.signed short int
参考答案:B
参考解析:c语言中整型变量分为4种,基本型int,短整型short int,长整型long int和无符号型(unsigned int、un-signed short、unsigned long)。因此B)选项不属于c语言的类型。
14[单选题] 以下可用作C语言用户标识符的是( )
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,- -abc,Case
D.2a,Do,Sizeof
参考答案:B
。参考解析:C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,c语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。
15[单选题] 以下4个选项中,不能看作一条语句的是( )。
A.;
B.a=5,b=2.5,c=3.6;
C.if(b!=5)x=2;y=6;
D.return j;
参考答案:C
参考解析:c语言规定每个语句以;(分号)结束,因此选项c)为两条语句。
16[单选题] 当用“#define F 37.5f”定义后,下列叙述正确的是( )。
A.F是float型数
B.F是Char型数
C.F无类型
D.F是字符串
参考答案:D
参考解析:字符替换定义格式为:#define标识符(形参表)形参表达式。题中F是代表形参表达式的标识符(字符串)。
17[单选题] 以下叙述中正确的是( )。
A.C程序中注释部分只能放在程序最后
B.花括号“{“和”}”可以作为函数体的定界符,也可以作为复合语句的定界符
C.构成C程序的基本单位是函数,所有函数名都可以由用户命名
D.分号不是语句的一部分,是C语句之间的分隔符
参考答案:B
参考解析:花括号可以作为函数体的定界符,也可以作为复合语句的定界符。函数是c程序的基本单位,用户可以命名自定义函数,而库函数名是固定的。c语句以分号结尾,分号是语句的一部分。
18[单选题] 以下能定义为用户标识符的是( )。
A.printf
B.char
C._8abc
D.Void
参考答案:C
19[单选题] C语言中,合法的字符串常量是( )。
A."M"
B.'\t'
C.100
D.MUST
参考答案:A
参考解析:字符串常量必须用双引号括起来,因此只有选项A)正确。
第2章 C程序设计的初步知识
2.3 整型数据
1[单选题] 用8位无符号二进制数能表示的最大十进制数为( )
A.127
B.128
C.255
D.256
参考答案:C
参考解析:2^8-1=256-1=255
2[单选题] 若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是( )
A.32767,32767
B.32767,032767
C.32767,77777
D.32767,077777
参考答案:A
3[单选题] 有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是( )
A.n,two
B.t,one
C.w,one
D.o,two
参考答案:C
4[单选题] 以下定义语句中正确的是
A.int a =b =0;
B.char A = 65 + 1,b='b';
C.float a = 1,*b=&a,*c=&b;
D.double a = 0.0;b=1.1;
参考答案:B
参考解析:A选项中定义时赋值不能用连等。C选项中变量C和&b的类型不匹配。D选项中变量b前是分号,所以变量b没有类型,即未定义。B为变量定义时赋值的正确表达形式
5[单选题] 设有定义:int x=2;以下表达式中,值不为6的是 ( )
A.x*=x+1
B.x++=2*X
C.X*=(1 X)
D.2*X,X+=2
参考答案:D
参考解析:选项A和C很容易看出结果是6。选项B和D是逗号表达式,逗号表达式是从左到右顺序求子表达式的值,整体的逗号表达式的值取最后一个子表达式的值,很容易判断出答案D错误。
6[单选题] 若有以下定义(设int类型变量占2个字节)
int i=8,j=9;
则以下语句:
printf("i=%%d,j=%%%d\n",i,j);
输出结果是( )。
A.i=8,d=9
B.i=%d,j=%8
C.i=%d,j=%d
D.8,9
参考答案:B
参考解析:本题考查printf函数的格式。printf函数中格式说明符之前插入的任何字符都按原样输出。对于printf函数,有两个%说明;第一个%后面的内容要按原样输出。
7[单选题] 在C语言中,合法的长整型常数是( )。
A.0.123456
B.4962717
C.9L
D.5.321e2
参考答案:C
参考解析:选项A)和D)是实型而非整型。
8[单选题] 以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )。
A.均占4个字节
B.根据数据的大小来决定所占内存的字节数
C.由用户自己定义
D.由C语言编译系统决定
参考答案:D
参考解析:不同的编译系统或计算机系统对几类整型数所占用的字节数有不同的规定。long、int和short类型数据占用内存大小是由选择何种C编译系统决定的。
9[单选题] 设a和b均为int型变量,且a=6、b=11、c=3,则能使值为3的表达式是( )。
A.b%(c%4)
B.b%(c-a%5)
C.b%a-a%5
D.(b%a)-(a%4)
参考答案:D
参考解析:选项D)括号内的运算分别是b%a=11%6=5和a%c=6%4=2,最后得到5-2=3。
10[单选题] 若函数中有定义语句:int a;,则( )。
A.系统将自动给a赋初值0
B.这时a中的值是和随机数
C.系统将自动给a赋初值-1
D.这a中无任何值
参考答案:B
参考解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。
第2章 C程序设计的初步知识
2.3 整型数据
11[单选题] 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
A.-369
B.369
C.0.369
D.整数集合{1,2,3,4,5}
参考答案:B
参考解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A)和选项c),选项D)是整数集合,所以也排除。
12[单选题] 若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是( )。
A.char
B.int
C.double
D.float
参考答案:C
参考解析:在c语言中不同类型的数据进行运算时,除了强制数据类型转换外,都要进行默认的数据类型转换,通常转换为精度较高的数据类型。对于本题来说,字符型数据'A'与整型a相加转换为整型数据,其和再与双精度型数据b相加,要转换为双精度型数据。
13[单选题] 关于C语言中数的表示,以下叙述正确的是( )。
A.只有整型数在允许范围内能精确无误的表示,实型数会有误差
B.只要在在允许范围内整型和实型都能精确表示
C.只有实型数在允许范围内能精确无误的表示,整型数会有误差
D.只有八进制表示的数在不会有误差
参考答案:A
参考解析:实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
14[单选题] 若有定义和语句:int a,b; scanf("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3 赋给变量a、5 赋 给变量b 的是
A.3,5,
B.3,5,4
C.3 ,5
D.3,5
参考答案:C
参考解析:题目中用scanf 函数以整数的形式输入a,b 的值。选项C)整型数字3 后面有一个空格,当输入空格时,scanf 函数输入就会终止。
15[单选题] 若函数中有定义语句:int a;,则(??)。
A.系统将自动给a赋初值为0
B.系统将自动给a赋初值-1
C.这时a中的值无意义
D.这时a中无任何值
参考答案:C
参考解析:用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中放任何值,此时变量中的值是无确定的,称变量值”无意义”。因此,本题正确答案为c。
16[单选题] 程序段:int x=12;double y=3.141593;printf(”%d%8.6f”,x,y);的输出结果是( )。
A.123.141593
B.12 3.141593
C.12,3.141593
D.123.1415930
参考答案:A
参考解析:本题考查prinff函数的输出格式控制符,%m.nf表示指定输出的实型数据的宽度为m(包含小数点),并保留n位小数。当输出数据的小数位大于n时,截去右边多余的小数,并对截去的部分的第一位做四舍五入的处理;当输出数据小数位小于n时,在小数的最右边补0,输出数据的小数部分宽度为n。若给出的总宽度m小于ll加上整数位数和小数点,则自动突破m的限制;反之,数字右对齐,左边补空格。本题中3.141593数值长度为8,小数位数是6,因此左端没有空格,故正确答案为A。
17[单选题] 以下叙述不正确的是( )。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算赋值表达式a=b后,b的值将放入a中,而b的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
参考答案:D
参考解析:在c语言所有的运算符中,逗号运算符的优先级最低。C语言区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值赋予a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输人数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。
18[单选题] 有以下程序,其中%u表示按无符号整数输出:
main()
{
unsigned int x = 0xFFFF; /* x 的初值为十六进制数*/
printf("%u\n",x);
}
程序运行后的输出结果是( )。
A.-1
B.65535
C.32767
D.0xFFFF
参考答案:B
参考解析:本题考查的是整型无符号数的输出。%U的作用是按无符号的十进制形式输出整型数,整型无符号数的取值范围在0~65535之间,无符号数不能表示成小于0的负数,十六进制数0xFFFF转换为二进制位其值为l6个1,代表的整数就是65535。
19[单选题] 以下选项中不属于c语言的类型的是( )。
A.unsigned long int
B.long short
C.unsigned int
D.signed short int
参考答案:B
参考解析:c语言中整型变量分为4种,基本型int,短整型short int,长整型long int和无符号型(unsigned int、un-signed short、unsigned long)。因此B)选项不属于c语言的类型。
单选题
1.下列关于语句的描述中,错误的是( A )。
A.C++程序中的函数是由若干条语句组成的
B.每条语句都要实现某种操作
C.条件语句是用来实现分支操作的
D.循环语句是用来在一定条件下重复执行某段程序的
2.下列关于条件语句的描述中,错误的是( C )。
A.if语句中最多只能有一个else子句
B.if语句的if体内可以出现开关语句
C.if语句中else if子句和else子句的顺序是没有限制的
D.if语句中else子句是与它最近的if子句配对的
3.下列关于开关语句的描述中,错误的是( B )。
A.开关语句中,case子句的个数是不受限制的
B.开关语句中,case子句的语句序列中一定要有break语句
C.开关语句中,default子句可以省略
D.开关语句中,右花括号具有退出开关语句的功能
4.下列关于循环语句的描述中,错误的是( A )。
A.while循环语句中<条件>给定的表达式不能为非0的常量,否则便是死循环
B.for循环语句的循环体内可以出现while循环语句、do-while循环语句和for循环语句
C.循环语句的循环体可以是空语句
D.循环语句的循环体内可以出现break语句,也可以出现continue语句
5.已知:int i(3);下列do-while循环语句的循环次数是( D )。
do{
cout<
i--;
}while(i!=0);
A.0 B.3
C.1 D.无限
6.下列for循环语句的循环次数是( B )。
for(int i(0), j(5); i=3; i++, j--);
A.3 B.无限
C.5 D.0
7.下列while循环语句的循环次数是( A )。
while(int i(0)) i--;
A.0 B.1
C.2 D.无限
8.下列程序段执行后,j值是( B )。
for(int i(0), j(0); i<10; i++)
if(i) j++;
A.0 B.9
C.10 D.无限
9.已知:typedef char CH;下列描述中,正确的是( A )。
A.使用CH定义的变量是char型变量
B.使用CH定义的是一个字符常量
C.使用CH定义的变量其类型不确定
D.使用CH定义的是一个字符串
10.下列关于预处理命令的描述中,错误的是( D )。
A.预处理命令最左边的标识符是#
B.预处理命令是在编译前处理的
C.宏定义命令可以定义符号常量
D.文件包含命令只能包含.h文件
单选题
1.下列变量名中,非法的是( C )。
A.A25 B.My_car
C.My-str D.abc
2.下列常量中,十六进制int型常量是( A )。
A.0x5f B.x2a
C.046 D.7a
3.下列常量中,不是字符常量的是( B )。
A.'\n' B."y"
C.'x' D.'\7'
4.在函数体内定义了下述变量a,a的存储类为( D )。
int a;
A.寄存器类 B.外部类
C.静态类 D.自动类
5.下列关于变量存储类的描述中,错误的是( C )。
A.任何变量定义后都具有一个确定的存储类
B.变量的存储类确定了变量的作用域和寿命
C.定义变量时没有存储类说明符者一律为自动类
D.内部静态类变量和外部静态类变量的存储类说明符都是static
6.下列关于变量数据类型的描述中,错误的是( A )。
A.定义变量时int型数据类型可以省略
B.变量的数据类型可以决定该变量占内存的字节数
C.变量的数据类型是可以被强制的
D.变量的数据类型是有高低之分的
7.长双精度浮点型常量的后缀是( C )。
A.U B.F
C.L D.无
8.下列运算符中,不能用于浮点数操作的是( D )。
A.++ B.+
C.*= D.&(双目)
9.下列运算符中,优先级最高的是( A )。
A.*(双目) B.||
C.>> D.%=
10.下列运算符中,优先级最低的是( B )。
A.== B.?:
C.| D.&&
判断题
√ 1.C++语言的合法字符集与C语言的完全相同。
× 2.标识符规定大小写字母没有区别。
× 3.C++程序中,不得使用没有定义或说明的变量。
√ 4.变量的存储类指出了变量的作用域和寿命。
√ 5.变量的数据类型指出了变量在内存中存放的字节数。
× 6.定义变量时,变量的存储类说明符不得省略。
× 7.自动类变量与内部静态类变量的作用域和寿命都是相同的。
× 8.自动类变量可以定义在函数体外,这时应加说明符auto。
× 9.外部类变量与外部静态类变量的作用域是相同的。
× 10.变量被定义后是否有默认值与存储类无关,与数据类型有关。
考无忧小编tips:
大多数人挂了计算机考试,根源不在于你的资质不行,而是你压根就没刷几套计算机等级考试题库就去考试!懒得备考才是你挂科的罪魁祸首!赶紧复习以上的C语言试题,还有点击下方链接,把题目刷起来吧!
文章推荐:
2018年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯