资源描述:
《c语言试题及答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、填空题 1、C语言中基本的数据类型有:__________、__________、__________。 2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。 3、整数-35在机内的补码表示为__________。 4、执行下列语句inta=8;a+=a-=a*a;后,a的值是__________。 5、有如下语句:charA[]={”Iamastudent”};该字符串的长度是__________,A[3]=__________。 6、符号”a”和’a’的区
2、别是__________。 7、所谓“指针”就是__________。 “&”运算符的作用是__________。 “*”运算符的作用是__________。 8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。 二、选择题 1、设整型变量a为5,使b不为2的表达式是()。 A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=a>3?2:1 2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
3、C程序中的else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 3、以下程序的输出结果是()。 intx=10,y=10; printf(“%d%d”,x--,--y); A.1010 B.99 C.910 D.109 4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。 A.P+i*2 B.P+(i-1)*2 C.P+(i-1) D.P+i 5、选出下列标识符中不是合法的标识符的是()。 A.hot_do
4、B.cat1 C._pri D.2ab 6、以下程序的输出结果是()。 inta=5; floatx=3.14; a*=x*(‘E’-‘A’); printf(“%f”,(float)a); A.62.000000 B.62.800000 C.63.000000 D.62 7、设有说明double(*p1)[N];其中标识符p1是()。 A.N个指向double型变量的指针。 B.指向N个double型变量的函数指针。 C.一个指向由N个double型元素组成的一维数组的指针。 D.具有N个指针元素的一维指针数组,每个元素都只能指
5、向double型量。 8、在C程序中有如下语句:char*func(intx,inty);它是()。 A.对函数func的定义。 B.对函数func的调用。 C.对函数func的原型说明。 D.不合法的。 9、以下程序的输出结果是()。 charstr[15]=”hello!”; printf(“%d”,strlen(str)); A.15 B.14 C.7 D.6 10、分析以下程序的输出结果是()。 main() {inta=5,b=-1,c; c=adds(a,b); printf(“%d”,c); c=adds(a,b
6、); 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、下列描述中不正确的是()。 A.字符型数组中可能存放字符串。 B.可以对字符型数组进行整体输入、输出。 C.可以对整型数组进行整体输入、输出。 D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。 12、以下程序的输出结果是()。 #definef(x)x*x main() {inta=
7、6,b=2,c; c=f(a)/f(b); printf(“%d”,c); } A.9 B.6 C.36 D.18 13、设有如下定义:intx=10,y=3,z; 则语句printf("%d",z=(x%y,x/y));的输出结果是()。 A.1 B.0 C.4 D.3 14、定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()。 A.159 B.147 C.357 D.36