资源描述:
《计算机2级c语言考试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、填空题1、C语言中基本的数据类型有:__整数型________、_浮点型_________、______字符型____。2、C语言中普通整型变量的类型说明符为__%d_____,在内存中占____1______字节,有符号普通整型的数据范围是__________。3、整数-35在机内的补码表示为____11011101______。4、执行下列语句inta=8; a+=a-=a*a;后,a的值是_-112___。5、有如下语句:char A[]={”Iamastudent”};该字符串的长度是___14_____,A[3]=‘_m_’。6、符号”a”和’a’的区别是_“a”是字符串‘
2、a’是字符__。7、所谓“指针”就是_____存放地址值的变量或常量_____。 “&”运算符的作用是__取运算对象的地址________。 “*”运算符的作用是____取指针变量所指的的内容______。8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_a=1,b=3,c=2_。二、选择题1、设整型变量a为5,使b不为2的表达式是( c)。A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=a>3?2:12、为了避免嵌套的条件分支语句if-el
3、se的二义性,C语言规定:C程序中的else总是与( c )组成配对关系。A.缩排位置相同的if B.在其之前未配对的ifC.在其之前未配对的最近的if D.同一行上的if3、以下程序的输出结果是( d )。intx=10,y=10; printf(“%d %d”,x--,--y);A.10 10 B.9 9 C.9 10 D.10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( c )。A.P+i*2 B. P+(i-1)*2 C.
4、 P+(i-1) D. P+i5、选出下列标识符中不是合法的标识符的是( c )。A.hot_do B.cat1 C._pri D.2ab6、以下程序的输出结果是( b )。 inta=5;floatx=3.14;a*=x*(‘E’-‘A’);printf(“%f”,(float)a);A.62.000000 B.62.800000 C.63.000000 D.627、设有说明double(*p1)[N];其中标识符p1是( c)。A. N个指向double型变量的指针。B. 指向N个double型变量的函数
5、指针。C. 一个指向由N个double型元素组成的一维数组的指针。D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char*func(intx,inty);它是( d )。A.对函数func的定义。 B.对函数func的调用。C.对函数func的原型说明。D.不合法的。9、以下程序的输出结果是( a )。charstr[15]=”hello!”;printf(“%d”,strlen(str));A.15 B.14C.7 D.610、分析以下程序的输出结果是( a )。main(){int a=5,b=-1,c;c=adds
6、(a,b);printf(“%d”,c);c=adds(a,b);printf(“%d”,c); }intadds(intx,inty){staticintm=0,n=3; n*=++m; m=n%x+y++; return(m); }A.2,3 B.2,2 C.3,2 D.2,411、下列描述中不正确的是( c )。A.字符型数组中可能存放字符串。B.可以对字符型数组进行整体输入、输出。C.可以对整型数组进行整体输入、输出。D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。12、以下程序的输出结
7、果是( a)。#define f(x) x*xmain(){inta=6,b=2,c; c=f(a)/f(b); printf(“%d”,c);}A. 9 B. 6 C. 36 D. 1813、设有如下定义:intx=10,y=3,z;则语句printf("%d",z=(x%y,x/y));的输出结果是( d )。A.1 B.0 C.4