c语言题库答案doc.docx
《c语言题库答案doc.docx》由会员分享,可在线阅读,更多相关《c语言题库答案doc.docx(63页珍藏版)》请在冰豆网上搜索。
c语言题库答案doc
(
)1、下列字符串属于标识符的是
(
)。
A._WL
B.3_3333
C.int
D.LINE-3
(
)2、在下面几组数据类型中
全为最常用的基本数据类型的是哪一组:
(
(
(
)。
A.整型实型字符型B.整型数组指针
C.数组结构体共用体D.指针逻辑型空类型
)3、若有说明语句:
charc=‘64’则;变量C包含:
(
个字符个字符
个字符D.说明不合法,C值不确定
)4、设有如下定义和执行语句,其输出结果为:
()。
)。
inta=3,b=3;
a=--b+1;
printf(
“%d%d”,a,b);
2
2
3
2
(
)5、C语言中,运算对象必须是整型数的运算符是
(
)。
A.+
B.*
C.%
D./
(
)6、C语言规定,
C程序的各函数之间
(
)。
A.允许嵌套调用,但不允许嵌套定义;B.不允许嵌套调用,但允许嵌套定
义;
C.不允许嵌套调用,也不允许嵌套定义;D.允许嵌套调用,也允许嵌套定义。
()7、若有如下定义和语句:
则输出结果是:
()。
chars[12]=Mybook“”;
printf(“%d”,strlen(s));
(
(
)8、循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3)语句;其中表示循环条件的是()。
A.表达式1B.表达式2C.表达式3D.语句
)9、以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数
组之间的数据传递方式为。
A.单向值传递
B.地址传递
C.双向值传递
D.随机
传递
(
)10、将字符串
str2复制到字符串
str1中应使用(
)。
(str1,str2)
(str1,str2)
(str1,str2)
(str2,str1)
(
)11、若有以下定义:
inta[10],*p=a;则p+3
A.元素a[3]的地址
表示的是()。
B.元素a[3]的值
C.元素
a[4]的地址
D.元素
a[4]
的值
(
)12、C语言中不能用来表示整常数的进制是
A.十进制B.十六进制C.八进制
(
)。
D.二进制
(
)13、用scanf函数输入一个字符串到数组
(“%s”,&str);(“%c”str[10]);,&
(“%s”,str);(“%s”,str[10]);
str中,下面正确的语句是:
(
)。
(
)14、在说明一个结构体变量时系统分配给它的存储空间是()。
A.该结构体中第一个成员所需存储空间B.该结构体中最后一个成员所需
存储空间
C.该结构体中占用最大存储空间的成员所需存储空间
D.该结构体中所有成员所需存储空间的总和
()15、下面程序的输出结果是:
()。
intm=13;
intfun(intx,inty)
{intm=3;return(x*y-m);}
main()
{inta=7,b=5;
printf(“n%d”,fun(a,b)/m);}
(
)1、C语言中要求运算必须是整形的运算符是(
)
A.%
B./
C.<
D.+
(
)2、下列选项中那一项是不合法的用户标识符(
)
A.ter3
(
)3、设
inta=0,b=5;执行表达式
a++和++b后,表达式
a+b的值是()
(
)4、为表示关系x≥y≥应z,使用的C语言表达式是()
A.(x>=y)&&(y>=z)
B.(x>=y)AND(y>=z)
>=y>=zD.(x>=y)&(y>=z)
(
)5、若有x=15,y=40,m=100,执行了语句m=(x>y)x:
y;后,m的值为()
A.15
B.40
C.100
D.
(
)6、若变量a,b,c为整型,要给三变量输入数据,正确的输入语句是()
(a,b,c);
(“%d%d%d”,a,b,c);
(“%D%D%D”,&a,&b,&c);
(“%d%d%d”,&a,&b,&c);
(
)7、以下程序段的输出结果是______。
inta=1234;
printf("%2d\n",a);
D.提示出错、无结果
(
)8、以下for循环的执行次数是
for(x=0;x<4;x++)()。
A.是无限循环
B.循环次数不定
次
次
(
)9、下面程序段运行结果正确的是(
)
charc1=65,c2=66;
printf(“%c,%c”,c1,c2);
B
98
B
98
(
)10、设有程序段
则下列描述中正确的是(
)
intk=10;
while(k=0)k=k-1;
A.循环体执行
10次
B.循环是无限次循环
C.循环体一次也不执行
D.循环体
执行一次
()11、C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
()12、下面叙述中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.C语言程序总是从main()函数开始执行
C.C语言程序中的main()函数必须放在程序的开始部分
D.一个C函数中只允许一对花括号
(
)13、下列正确的数组定义语句是()
a(2,3);
a[2][]={1,2,3,4}
a[2][2]={{1,2,3},{8,7}};
a[2][4]={1,2,3,4,5,6}
(
)14、.若有下列定义和语句,则对
a数组元素的非法引用是()。
inta[2][3];
A.a[0][0]B.a[1][1]C.*(*(a+1)+2)D.a[2][3]
()15、.有以下程序段:
若inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;
b=p[5];b中的值是______。
()16、以下不能正确进行字符串赋初值的语句为______。
str[5]="good!
"
str[]="good!
"
(
*str="good!
"str[5]={'g','o','o','d'}
)17、在说明语句:
int*f();中,标识符f代表的是______。
A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指
针
(
C.一个用于指向函数的指针变量)18、有以下定义:
不能给数组
D.一个返回值为指针型的函数
a输入字符串的语句是______
#include<>
chara[10],*b=a;
A.gets(a);B.gets(a[0]);
C.gets(&a[0]);
D.gets(b);
(
)19、下面程序段的输出结果是______
main(){charstrl[]=”string”;
printf("%d\n",strlen(strl));}
。
A.6
B.7
C.10
D.存在语法错误
(
)20、voidmain()
{struct
st{longnum;
charname[20];};
struct
st
t1;
printf(
A.8
“%d”,sizeof(t1);}
B.20CC.24
D.38
(
)1、程序运行后的输出结果是
(
)
main(
)
{charc1;
c1='A';
printf("%c,%d\n",c1,c1);}
A.E,68
B.D,69
C.
A,65
D.输出无定值
(
)2、程序运行的结果是(
main()
{inta=1,b=2;
if(a>b)printf("%d",a);
elseprintf("%d",b);
}
)
B.2
C.1
(
)3、以下程序输出结果是
(
)
main()
{intx=2,a=1,b=1;switch(x)
{case1:
a++;case2:
b++;}
printf(“a=%d,b=%d”,a,b);}
=3,b=2=1,b=2
=4,b=1
=3,b=1
(
)
4、有以下程序运行后的输出结果是
(
)
main()
{inta=12;
printf(”n%d”,a>10a+10:
a-12);}
()5、以下程序运行后的输出结果是()
main()
{inta,b=0;for(a=1;a<=3;a++)
b+=a;
printf(”n%d”,b);}
()6、以下叙述中错误的是()
语言函数可以嵌套定义。
语言函数可以嵌套调用。
语言函数可以递归调用。
D.main函数可以放在程序的开头
()7、以下关于函数形参和实参的叙述中正确的是()A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元
D.函数的形参和实参分别占用不同的存储单元
()8、以下程序运行后的输出结果是(234)
fun()
{staticintx=1;
x++;
printf(”%3d,x);}
main()
{inti,s;
for(i=1;i<=3;i++)
fun();
}
(
(
)9、以下能正确定义数组并正确赋初值的语句是(
a[2]={1,2,3};B.intn=5,b[n][n];
c[2]={};d[2]={1,2};
)10、以下程序运行后的输出结果是()
A.1B.2C.10
)
D.6
sub(int
n)
{if(n>1)
return
else
n-3;return
n+3;}
main()
{printf(“%d”,sub(5);}
()1、以下叙述不正确的是()
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
()2、设变量a=2,f=,i=型,则表达式10+a*f-i
A.14.6D.不确定
值的为(
)
(
)3、若运行时给变量
x输入
12,则以下程序的运行结果是
(
)
main()
{intx,y;
scanf("%d",&x);
y=x>12x+10:
x-12;
printf("%d\n",y);}
()4、下列说法中错误的是()
A.只能在循环体内使用break语句
B.在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循
环
C.在while和dowhile循环中,continue语句并没有使整个循环终止
的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次
进行循环判断
()5、若有说明:
inta[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是D.无确定值
()6、下面程序输出的结果是()
main()
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",a[i][i]);}
59
53
57
91
(
)7、已知:
char
b[20]="defghi";则执行下列语句后的输出结果为
(
)
printf("%d",strlen(b));
D.以上答案都不正确
()8、阅读下列程序,则执行后的结果为()
#include""
main()
{intc[][4]={{1,2,3,4},{5,6,7,34},{213,56,62,3},{23,12,34,56}};printf("%d,%d\n",c[0][0],*(*(c+1)+1));},6,5,5,6
()9、以下程序段的描述,输出的结果是()
x=5;
do
{pritf(“%d”,x--);:
}
while(x>3);
4
43
432
4321
()10、对以下说明语句的正确理解是
inta[10]={6,7,8,9,10};
(
)
A.将
C.将
5个初值依次赋给
5个初值依次赋给
a[1]至a[6]至
a[5]a[10]
B.将
5个初值依次赋给
a[0]至a[4]
(
(
(
D.因为数组长度与初值的个数不相同,所以此语句不正确
)语言中不能用来表示整常数的进制是()。
A.十进制B.十六进制C.八进制D.二进制
)语言规定标识符由()等字符组成。
A.字母数字下划线B.中划线字母数字
C.字母数字逗号D.字母下划线中划线
)3、以下表达式:
2+’a’+i*f,其中i为整型变量,f为float型变量,则表达式的
最终数据类型为
(
)。
()4.设有如下定义
intx=10,y=5,z;
则语句printf("%d\n",z=(x+=y,x/y));的输出结果是()。
()5.设有如下定义:
charch=’z’,则执行下面语句后变量ch是值为:
()。
ch=(‘A’<=ch&&ch<=‘Z’)(ch+32):
ch
()6.若x和y都为float型变量,且x=,y=执行下列语句后输出结果为:
()。
printf(“%f”,(x,y));
D.输出符号不够,输出不正确值
()7.设有两字符串“Beijing”、“China”分别存放在字符数组
下面语句中能把“China”连接到“Beijing”之后的为:
()。
(str1,str2);(str1,“China”);
(str1,“China”);(“Beijing”,str2);
str1[10],str2[10]中,
(
)8.以下对一维整型数组
a的正确说明是
(
)。
a(10);
n=10,a[n];
n;scanf(
“%d”,&n);inta[n];
D.#defineSIZE10
inta[SIZE];
(
)9.设有如下程序段,则其执行结果为:
(
)。
static
inta[]={1,2,3,4},*p;
int
i;
p=a;
printf(“%d”,*(p+3));
(
)10、若二维数组
[3]地址
a有m列,则
D.不正确的值
a[I][j]元素前的数组元素个数为:
(
)。
*m+i
*m+j
*m+j-7
*m+j+1
(
(
)11、C语言中变量的指针指的是:
(
A.变量类型B.变量值C.变量值
)12、下面有关for循环的正确描述是
(
)。
D.变量地址
)。
循环只能用于循环次数已经确定的情况
循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
(
(
循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
)13、C语言规定:
在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以在任意位置D.必须在源文件的最后
)14、在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类
型为:
(
)。
()15、在说明一个结构体变量时系统分配给它的存储空间是()。
A.该结构体中第一个成员所需存储空间
B.该结构体中最后一个成员所需存储空间
C.该结构体中占用最大存储空间的成员所需存储空间
D.该结构体中所有成员所需存储空间的总和
(
)1、下列字符串是标识符的是(
)。
A._HJ
B.9_student
C.long
D.LINE1
(
)2、下列说法正确的是(
)。
A.main函数必须放在C程序的开头
B.main函数必须放在C程序的最后
C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头
执行的
D.main函数可以放在C程序的中间部分,但在执行
C程序时是从main函
数开始的
(
)3、C语言中不能用来表示整常数的进制是
(
)。
A.十进制B.十六进制
C.八进制
D.二进制
(
)4、设d为字符变量,下列表达式正确的是
(
)。
A.d=678
B.d=’a’C.d=”d”
D.d=’gjkl’
(
)5、判断字符型变量ch为大写字母的表达式是(
)。
A.’A’<=ch<=’Z’
B.(ch>=A’’)&(ch<=’)Z’
C.(ch>=A’’)&&(ch<=’)Z’D.(ch>=A’’)AND(ch<=’)Z’
(
)6、C语言中,要求运算对象必须是整型的运算符是:
()。
A.>B.++C.%
D.!
=
(
)7、写出下面程序的执行结果(
)。
main()
{intx=1,y=1,z=0;
if(z<0)
if(y>0)x=3;
elsex=5;
printf("%d\t",x);}
A.1B.3C.5D.7
()8、若i,j已定义为int型,则以下程序段中循环体的总的执行次数是()。
for(i=1;i<=4;i++)
for(j=1;j<=5;j++)
{
}
A.20
B.24
C.25
D.30
(
)9、下面程序的输出结果是:
intm=2;
intfun(intx,inty)
{intm=3;
return(x*y-m);}
main()
{inta=3,b=5;
printf(“n%d”,fun(a,b)/m);}
(
)。
A.1
B.2
C.6
D.10
(
(
)10、以下能对二维数组a进行正确说明和初始化的语句是:
A.inta()(3)={(1,0,1),(2,4,5);}
B.inta[2][]={{3,2,1},{5,6,7};}
C.inta[][3]={{3,2,1},{5,6,7};}
D.inta
(2)()={(1,0,1),(2,4,5);}
)11、设有charstr[10],下列语句正确的是()。
A.scanf("%s",&str);B.printf("%c",str);
C.printf("%s",str[0]);D.printf("%s",str);
(
)。
(
)12、执行以下程序段后,
a的值是(
)。
inta[]={5,3,7,2,1,5,4,10};
ints=0;k;
for(k=0;k<3;k++)
s+=a[k];
A.
8
B.
15
C.
17
D.
18
(
(
)13、变量的指针,其含义是指该变量的()。
A.值B.地址C.名D.一个标志
)14、以下对一维整型数组a的初始化正确的是()。
A.inta(4)={1,2,3,5};B.inta[4]={1,2,3,4,6,7};
C.
inta[4]={1468};
D.inta[4]={1,4,6,8}