福建c语言考题Word文档下载推荐.docx
《福建c语言考题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《福建c语言考题Word文档下载推荐.docx(40页珍藏版)》请在冰点文库上搜索。
=3;
j++)
Sum=sum+i+j;
A、20B、12C、24D、18
10、()语句能正确定义a为整形数组。
A、intn=10,a[n];
B、inta(10);
C、inta[n],n=10;
D、inta[10];
11、若已定义inta[3][4];
,无法正确引用数组a元素的是()。
A、a[‘b’-97][1]B、a[‘\0’][5-2]C、a[‘0’][1]D、a[0][‘1’-48]
12、若已定义:
chars[20]=”Good\ohelloworld”;
则函数strlen(s+5)的值是()。
A、10B、8C、6D、5
13、以下程序的运行结果是()。
#include<
stdio.h>
Intlarger(intx,inty)
{returnx>
y?
x:
y;
Intlargest(intx,inty,intz)
{returnlarger(larger(x,y),z);
Voidmain()
{inta=3,b=-4,c=5;
Printf(“larger=%d,largest=%\n”,larger(a,b),laregest(larger(b,c),2*4,12));
A、larger=3,largest=12B、larger=3,largest=5
C、larger=5,largest=12D、larger=5,largest=8
14、以下预编译处理指令中,错误的是()。
A、#defineMAX(x,y)(x>
y)B、#include”stdio.h”
C、#include<
D、#definePI3.14;
15、若已定义:
inta[5],*p=a;
无法引用数组元素a[4]的是()。
A、*(&
p[0]+4)B、p[4]C、*p+4D、*(p+4)
16、以下程序的运行结果是()。
Voidmin()
{inta[5]={16,8,3,5,12},*p=a,*q=&
a[4];
Printf(“%d\n”,q-p);
A、1B、3C、2D、4
17、若有如下定义和语句,以下叙述错误的是()。
Uniondata
{charch;
IntI;
}x,*px=&
x;
x.i=66;
printf(“%c\n”,px->
ch);
A、px和&
x.ch值相同B、px和&
x值相同C、&
x.ch和&
x.i值相同D、输出字符A
18、若已定义:
inta[10],*pi,(*ps)[10];
以下赋值语句中,错误的是()。
A、pi=a;
ps=pi;
B、pi=a;
ps&
a;
*(*ps)=10;
C、ps=&
D、pi=a+5;
19、若有以下结构类型定义:
Typedefstructstudent
{intnum;
Floatscore;
}STU,*pstu;
以下变量声明中,错误的是()。
A、structstudent*ps;
B、pstups;
C、stu*ps;
D、student*ps;
20、以下程序的可执行文件名为do.exe。
stdlib.h>
Voidmin(intargc,char*argv[])
{if(argc!
=2)
{printf(“badcommandfound!
\n”);
Exit
(1);
Printf(“hello%s\n”,argv[1]);
Getch();
在DOS命令行输入:
dome<
回车>
则输出结果是()。
A、hellodomeB、hellomeC、badcommandfound!
D、hellodo
21、c源程序由函数构成,而函数的基本组成单元是()。
A、变量B、语句C、过程D、表达式
22、()为合法的字符常量。
A、’\n’B、”\\”C、’xx’D、”x”
23、若已定义:
inta,b=3,c;
则()是不正确。
A、c=(a=10,a+=6);
B、c=((2=a)+b);
C、b*=b+=2*b;
D、c=6*b;
24、若已定义:
inta,b=6;
执行语句a=--b;
后变量a、b的值分别是()。
A、5、5B、6、5C、6、6D、5、6
25、若已定义:
floatx;
charc;
以下正确的输入语句是()。
A、scanf(“%f%c”,&
x,%c)B、scanf(“%f%c”,&
x,&
c);
C、scanf(“%f%c”,x,c);
D、scanf(“%f,c”,&
26、若已定义:
intx;
能正确判断x为奇数的表达式是()。
A、x%2!
=0B、x%2!
=1C、!
(x%2)D、x%2==0
27、若已定义:
inta=1,b=2,c;
语句c=1.0/b*4;
执行后,变量c的值为()。
A、2B、3C、0D、1
28、以下程序段的运行结果是()。
Inta[]={1,2,3,4,5,6,7,8},I,sum=0;
For(i=0;
8;
If((i+1)%2)
Sum+=a[i];
Printf(“%d\n”,sum);
A、16B、18C、20D、36
29、若已定义inta[][4]={1,-2,3,-4,5,-6,7,-8};
,则表达式sizeof(a)/(sizeof(int[4]))的值为()。
A、数组a[1]中的元素个数B、数组a[0]的第一维长度
C、数组a的第一维长度D、数组a的元素个数
30、以下程序的运行结果是()。
{char*str=”abc123”,*p=str;
While(*p)
{putchar(*p+1);
P++;
A、cba234B、123abcC、bcd234D、abc123
31、以下叙述错误的是()。
A、宏定义不占用程序运行时间,但与程序中的语句一样需要编译
B、一个c语言源程序可以有多条预处理命令
C、宏定义中的宏名一般用大写字母表示
D、宏定义必须放置在它所在的源程序文件的最前面
32、以下程序的输出结果是()。
{inta[]={11,12,13,-4,-5,-6},*p=a+sizeof(a)/sizeof(int)-1;
While(p>
=a)
{(*p)++;
p--;
Printf(“%d\n”,*(p+1));
A、-4B、-5C、12D、11
33、若已定义:
Structstudent
}s,*ps=&
s;
以下不正确的语句是()。
A、(*ps).score=90B、ps->
score=90C、(*ps)->
score=90;
D、s.score=90;
34、若已定义:
inta[3]={-3,10,-9},*p=a+2;
则对数组元素a[1]错误引用的是()。
A、*(p-1)B、*(--p)C、p[-1]D、*p--
35、以下程序段运行后,a,b,c的值分别是()。
Inta=3,b=5,c;
C=a&
b;
A、5,1,3B、5,3,1C、3,5,3D、3,5,1
36、以下程序的可执行文件名为do.exe。
string.h>
Voidmain(intargc,char*argv[])
=3)
{printf(“badcommndfound!
Exit
(1);
Printf(“%s\n”,strcat(rgv[1],argv[2]);
doyoume<
A、doyouB、meyouC、youmeD、badcommndfound!
37、C源程序需经过()生成可执行文件。
A、编译和连接B、录入和编辑C、编辑和解释D、调试和连接
38、()为合法的用户标识符。
A、_3treeB、structC、h2.7D、8du
39、()可产生(0,0.9)之间的随机数。
A、rand()%10/10B、rand()%10/10.0C、srand()*10%10D、srand()%10/10.0
40、若已定义:
inta;
条件表达式()等价于求a的绝对值。
A、a<
0?
-a:
aB、a<
a:
-aC、a>
aD、a>
--a:
a
41、若已定义:
inti=6;
floatx=1.5,y=3.5;
则表达式x+i%(int)(x+y)值为()。
A、7.5B、2C、2.7D、2.5
42、若已定义:
inta=1,b=2,c=3,x;
以下程序段运行后x值为3的是()。
A、if(c<
a)
X=1;
Elseif(b<
X=2;
Else
X=3;
B、if(a<
b)
X=b;
If(b<
c)
X=c;
If(a<
X=a;
C、if(a>
Elseif(b>
D、if(a<
1)
43、以下程序段运行后k的值为()。
IntI,k=3;
=5;
{k+=1;
If(k%2==0)
Continue;
k+=2;
A、12B、9C、11D、10
44、给数组a所有元素赋初值0的语句是()。
A、inta[]=0*6;
B、inta[6]={0};
C、inta[6]=6*0;
D、inta[6]=0;
45、以下程序段的运行结果是()。
Inta[3][3]={1,2,3,4,5,6,7,8,9},I;
Printf(“%2d”,a[i][2-i]);
A、753B、357C、159D、951
46、以下叙述错误的是()。
A、全局变量的作用域是从其定义处起至本程序结束处
B、函数体内定义的变量,其生命期是函数执行期
C、在一个程序源文件中定义的全局变量,在程序的其它源文件中必不可见
D、函数体内复合语句中定义的变量只在该复合语句内有效
47、若已定义:
inta[]={1,2,3},*p=a;
则执行*p++=5;
(*p)++;
后a[0],a[1],a[2]的值依次是()。
A、1,3,4B、1,2,3C、5,2,3D、5,3,3
48、若已定义:
enumWEEKDY{mon=1,tue,wed,thur,fri,sat=8,sun}today;
则枚举常量tue和sun的值分别是()。
A、1和5B、2和10C、2和9D、0和7
49、若已定义:
intd;
FILE*fp;
,要从fp所指向的已经打开的文件中读取一个整形数据到变量d中,正确的语句是()。
A、fscanf(fp,&
d);
B、fscanf(fp,”%d”,d);
C、fscanf(fp,”%d”,&
D、scanf(fp,”%d”,d);
50、运算符()不能用于非整型数据运算。
A、+B、%C、*D、/
51、若已定义:
charc1,c2,c3;
使用语句scanf(“%c%c%c”,&
c1,&
c2,&
c3);
给c1,c2,c2分别赋’h’
’u’,’b’,正确的输入形式是()。
A、hubB、’h’‘u’‘b’C、h,u,bD、’h’,’u’,’b’
52、若已定义:
inti=0,j=1;
表达式值为1的是()。
A、i++&
j++B、(j=0)&
(i=1)C、j==1||i==1D、i!
=0&
j!
=0
53、以下运算符优先级最高的是()。
A、+B、==C、>
D、=
54、以下程序段的运行结果是()。
Intx=10,y;
If(x>
20)
Y=9
Elseif(x>
10)
Y=6;
5)
Y=3;
Y=1;
Prinft(“%d\n”,y);
A、3B、1C、9D、6
55、以下叙述中错误的是()。
A、定义数组时,若不加类型标识符则默认为整型
B、可逐个引用数组元素但不能一次引用整个数组
C、数组中每一个元素都属于同一个数据类型
D、数组名代表数组的首地址
56、以下叙述错误的是()
A、预处理命令行都必须以#号开始
B、若有intt;
不能使用宏定义#defineSWAP(x,y)t=x;
x=y;
y=t
C、#defineINPUTscanf的作用是用标识符INPUT代表scanf
D、C语言源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率
57、以下程序的运行结果是()。
{inta,b,*pa=&
a,*pb=&
*pa=3;
*pb=4;
a=5;
b=6;
Pb=pa;
Printf(“%d\n”,*pa+*pb);
A、10B、11C、12D、7
58、以下程序的输出结果是()。
{intnum,grade;
}s[]={{111,80},{112,90},{113,70}};
{structstudent*ps=s+2;
While(ps>
=s)
{ps->
grade+=5;
Ps--;
}printf(“%d\n”,(ps+1)->
grde);
A、95B、90C、70D、85
59、使用FILE*fp=fopen(“c:
\\score.txt”,”a”),打开一个已经存在的文本文件score.txt后,文件指针移到()。
A、可能文件首,也可能文件尾B、不确定C、文件尾D、文件首
60、结构化程序设计三种基本结构不包括()。
A、选择结构B、数据结构C、循环结构D、顺序结构
61、以下不是C允许的十六进制数表达形式是()。
A、0x9bB、0x29C、0x11D、55H
62、若定义:
longintI;
floatf;
则表达式i+c+(int)f结果的类型是()。
A、doubleB、longintC、intD、char
63、以下程序段运行结果是()。
Inti;
=6;
{if(i%2)
{printf(“*”);
}
Printf(“#”)
A、#*#*#*B、******C、*#*#*#D、######
64、给数组a所有元素赋初值0的语句是()。
A、inta[6]=a{0};
B、inta[6]=6*0;
C、inta[]=0*6;
65、字符数组str经初始化后,存储的不是这符串”xyz”的语句是()。
A、charstr[]={‘x’,’y’,’z’,0};
B、charstr[4]={‘x’,’y’,’z’,’0’-48};
C、charstr[4]={‘x’,’y’,0,’z’};
D、charstr[]={‘x’,’y’,’z’,’\0’};
66、正确的宏定义命令是()。
A、#definesum(x,y)(x+y)B、#defineN*N100
C、#defineK3.14;
D、#defineK=100
67、若已定义:
inta=12,*pa=&
以下描述错误的是();
A、*pa等价于aB、&
(*pa)等价于paC、&
pa等价于*(&
a)D、*(&
pa)等价于a
68、若已定义:
{intnum,score;
}stu[]={{111,80},{112,76},{113,60},{114,90}};
以下错误的语句是()。
A、(*stu)->
num=110;
B、stu[0].score=stu[1].score;
C、(stu+3)->
score++;
D、*stu=*(stu=1);
69、以下叙述中正确的是()。
A、结构化程序只能解决一些简单的数学问题
B、结构化程序由顺序、选择、嵌套三种基本控制结构组成
C、C语言是一种结构化程序设计语言
D、为提高程序效率,应尽量使用Goto语句
70、若定义inta=3,b=8;
以下程序段的运行结果是()。
If(a=1)
B=9
Printf(“a=%d,b=%d\n,a,b);
A、a=1,b=8B、a=3,b=9C、a=3,b=8D、a=1,b=9
71、若定义charb[20]=”Howdoyoudo!
”;
实现输出字符串”doyoudo!
”的语句是()。
A、printf(“%s”,b+4)B、puts(“%c”,b[20]);
C、puts(“%s”,b);
D、printf(“%c”,b+4);
72、以下叙述错误的是()。
A、函数原型中可以不指明参数的类型B、函数原型中可以不指明参数的名字
C、定义函数时必须指明函数类型D、定义函数时必须指明函数名
73、若已定义:
inta[5]={1,2,3,4,5},*pa=a+3;
以下叙述错误的是()。
A、*pa与a[3]的值相等B、a--与pa--的作用相同
C、a[2]与*(pa-1)的值相同D、a[2]与pa[-1]的值相等
74、以下程段的输出结果是()。
Inta[5]={12,-4,16,8,-10},*p;
P=a+4;
Printf(“%d”,*p--);
(*P)--;
Printf(“%d\n”,*p);
A、-10-11B、87C、-107D、816
75、以下程序段运行,输出结果是()。
Inta=2,b=3,c=10;
C=(a>
>
1)|(b<
<
1);
Printf(“%d%d%d\n,a,b,c);
A、2310B、257C、325D、237
76、若已定义:
intx=1,y=2;
则()是正确的。
A、n+2=x*3B、(x+0.8)%5C、n=(x=2)*(y=3)D、n=2x+y
77、若已定义:
inti=2,j=7;
则()表达式不正确;
A、(i--)+(j++)B、(i++)+(j++)+5C、(i++)+j+(5++)D、(--i)+j
78、能正确表示2<
t<
10的逻辑表达式是()。
A、2<
10B、t>
2&
t<
10C、t>
2||t<
10D、10>
t>
2
79、正确定义二维数组a的语句是()。
A、inta[4,5]B、floata[2+2][5]C、floata[4][]D、inta(4,3)
80、以下枚举型的定义,正确的是()。
A、enumCOLR{red=1,blue=3,green=5};
B、enumCOLOR={“red”,”blue”,”green”};
C、enumCOLOR={red,blue,green};
D、enumCOLOR{“red”,”blue”,”green”};
81、以下表达式中,()无法正确表示右图所示的代数式;
A、(a+b)*(a-c)/3*aB、(a+b)/a*(a-c)/3C、(a+b)/(3*a)*(a-c)D、(a+b)*(a-c)/(3*a)
82、若定义:
chars1[50],s2[10]=”abc”;
执行语句printf(“%s\n”,strcat(strcpy(s1,s2),”xyz”));
后输出()。
A、xaybzcB、abcxyzC、axbyczD、xyzabc
83、以下程序段的运行结果是()。
Charstr[]=”Computer”,*p=str+3;
A、mputerB、mC、ComputerD、puter
84、以下程序的运行结果是()。
#include<
Voidmain()
{charstr[]=”abcd”,*p=str;
While(*p)
{(*p)++;
Printf(“%s\n”,str);
A、bcdeB、cdbaC、abcdD、dcba
85、以下叙述正确的是()。
A、在循环体内使用break语句和continue语句的作用相同
B、continue语句的作用是使程序的执行流程跳出包含它的所有循环
C、break语句只能用在循环体内和switch语句体内
D、break语句只能用在sw