计算机二级c语言经典练习题及解析答案
计算机二级c语言经典练习题及解析答案
一、单选题
1. C语言中的三大基本数据类型包括( B )
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、逻辑型、字符型
D.整型、实型、逻辑型、数组型
计算机二级c语言选择题库2. 在C语言中,以下合法的字符常量是( c )
A. '\048'
B. 'ab'
C. '\43'
D. "\0"
3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )
A. 15
B. 20
C. 25
D. 30
4. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句
for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )
A. 1 4 7
B. 1 5 9
C. 3 5 7
D. 3 6 9
5.逗号表达式(a=3*5,a*4),a+15的值是( b )
A.15
B. 30
C. 60
D. 75
6. .以下程序的输出结果是( c )。
main( )
{ int x=10,y=11;
printf("%d,%d\n",x--,--y);
}
A. 11,11
B. 10,11
C. 10, 10
D.11,10
7.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )
A.将变量存放在静态存储区,使x的值可以永久保留
B.使变量x可以由系统自动初始化
C.使x的值可以永久保留
D.使x只能在本文件内引用
8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次
while (k!=0) {printf("%d",k);k--;}
A.无限多次 B.0次 C.1次 D. 2次
9.设有变量说明:int a=7,b=8;那么语句:
printf("%d,%d\n",(a+b,a),(b,a+b));
的输出应该是( a )
A. 7,15
B. 8,15
C. 15,7
D.15,8
10.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )
A. p+1
B. a++
C. a+1
D. ++p
11. C语言变量名中不能使用的字符是( d )
A. 数字
B. 字母
C. 下划线
D. 关键字
12.以下变量定义中合法的是( a )
A.short a=2.1e-1;
B. double b=1+5e0.5;
C. long do=0xffe ;
D. float 3_end=1-e3;
13.若有说明语句char ch1=′\x79′;则ch1( c )
A.包含4个字符
B.包含3个字符
C. 包含2个字符
D.包含1个字符
14.C语言中的函数( b )
A. 可以嵌套定义
B.嵌套调用和递归调用均可
C. 不可以嵌套调用
D. 可以嵌套调用但不可以递归调用
15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )
A. 552
B. 264
C. -264
D. 144
16.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c
A.1 B.2 C.3 D.4
17.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )
A. 3
B. 2
C.无确定值
D. 1
18. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )
A. scanf(″%c″,&c[10]);
B. gets(c);
C. scanf(″%s″,&c);
D. gets(c[10]);
19. 两个基类型相同的指针变量之间,不能进行的运算是( c )
A. <
B. =
C. +
D.-
20. 下面程序段执行结果是( b )
int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);
A. 24,8
B. 21,8
C. 21,7
D. 24,7
21.以下选项中属于C语言的数据类型是( b )。
A. 复合型
B. 双精度型
C. 逻辑型
D. 集合型
22.以下说法中正确的是( c )。
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
23.下面的(c )不是合法的C语言常量。
A. 123
B.‘m’
C. 0874
D. “hello”
24.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( d )。
A. 1
B. 0
C. 4
D. 3
25.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是( a )A.auto B.static C.extern D.register
26.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( c )。
if(x++>5) printf("%d",x);
else printf("%d\n",x - -);
A. 7和5
B. 6和3
C. 7和4
D. 6和4
27.循环语句 for (x=0,y=0; (y!=123)|| (x<4);x++);的循环执行( a )
A.无限次 B.不确定次 C.4次 D.3次
28.在C语言中,非法的八进制是:( a )
A. 018
B. 016
C. 017
D. 0257
29.设变量a 是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型是( c )A.int B.folat C.double D.不确定
30.有以下程序
main()
{int x=3,y=3,z=3;
printf(“%d %d\n”(++x,y++),++z);} 输出结果( b )
A.3 3
B. 3 4
C.4 2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论