福建计算机二级C语言考试选择题Word下载.docx
《福建计算机二级C语言考试选择题Word下载.docx》由会员分享,可在线阅读,更多相关《福建计算机二级C语言考试选择题Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
Aint*P;
*P=20;
*s=“abcdef”;
printf(“%s\n”,S);
Ccharstr[]=“abcdf”;
printf(“%S”,str);
D.
13.若有定义:
inta=2;
则正确的赋值表达式是(A)
A.a-=(a*3)(-a)**4=3
14.若有定义:
inta=6,b=2;
charC1=‘a’,C2=‘b’;
则表达式a+b%5+C2-C1的值是(C)
A.7D表达式错误
15.若有定义:
charstr[6]=“abcdm”,*ps,*str2=“abcdef”;
正确的是(B)
(str1,str2);
B.表达式strcmp(str1,str2)的值>0
=str2;
D.表达式strlen(str1)的值为6
16.关于C语言函数的描述中,正确的是(B)
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用得意嵌套
C.函数的定义和函数的调用都可以嵌套
D.函数的定义和函数的调用都不可以嵌套
17.设有如下定义typedefint*INTEGER;
INTEGERP,*q;
则(C)是正确的表述
是int型变量B.q是基类型为int的指针变量
是基类型为int的指针变量D.程序中可用INTEGER代替int类型名。
18.若有定义:
intm=5.n=3则表达式(m+1,n+1,(--m)+(n--))的值是(D)6,4,4+2
19.已知chara;
使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)
(“%d”,&a);
(“%lf”,&a),
(“%c,&a)(”%u“,&a)
语言对于计嵌套语句的规定:
else总是与(B)配对
A.第一个ifB.之前最近且尚未配对C.缩进位置相同的ifD之前最近的if
21.对于基类型相同的两个指针变量之间,不能进行的运算是(C)
A.<B.=C.﹢D.﹣
22.若函数fun的函数头为:
intfun(inti,intj)且函数指针变量P定义如下:
int(*P)(inti,intj);
则要使指针P指向函数fun的赋值语句是(B)
A.P=*funB.P=fun;
C.P=fun(i,j)D.P=&fun
23.在对于无符号数的位运算中,操作数右移一位相当于(A)
A.操作数除于2B.操作数乘以2C.操作数除于4D.操作数乘以4
24.关于C语言的叙述中,不正确的是(D)
A.C程序可由一个或多个函数组成B.C程序必须包含一个main()函数
C.C程序的基本组成单位是函数D.注释说明只能位于一条语句的后面
25.若有说明语句:
charC=‘\95’;
则变量C包含(A)个字符
D.语法错误
26.若有定义:
inta;
则语句a=(3*4)+2%3;
运行后a的值为(B)
A.12
27.下面叙述中,错误的是(A)
A.其算术运算对象不包含函数B.%(模拟运算符)的运算对象只能为整型量
C.算术运算的结合方向是“自左向右”D.自加和自减运算符的结合方向是“自右向左”
28.结构化程序设计不包括(A)
A.最优化B自顶而下,逐步细化C模拟化设计D结构化编码
29.已知inta=‘R’;
则正确的表达式是(A)
%10=int(3e2)C.2*a=a++=a+a=a+3
30.对于整型变量x,与while(!
x)等价的是(B)
(x!
=0)(x==0)(x!
=1)Dwhile(~x)
31.以下能对一维数组a进行正确初始化的语句是(D)
a[5]=(0,0,0,0,0,)a[5]=[0]
a[5]={1,2,3,4,5,6,7}a[]={0}
32.若有定义:
inta=20,b=28,C;
则执行语句C=(a&
b)>>2;
后C的值为(A)
33.结构化程序设计的三种基本语句是(C)
A.函数结构,分支结构判断结构B.函数结构嵌套结构平行结构
C.顺序结构分支结构循环结构D.分支结构循环结构嵌套结构
34.以下(A)是不正确的字符串常量
A.‘abc’B.“12′12”C.“O”D“”
35.已知doublea=;
则正确的赋值表达式是(A)
+=a-=(a=4)*(a=3)Ba=a*3=2Ca%3Da=double(-3)
36.以下的计语句中,x的值一定被重新赋值的是(B)
(x==y)x+=y;
Bif(x>y&&x!
=y);
x+=y;
(x!
=y)scanf(“%d”,&x)elsescanf(“%d”,&y);
(x<y){x++;
y++}
37.设有如下定义:
charstr[8]={“Fujian”};
则分配给数组str的存储空间是(C)字节
38.设有以下定义语句:
structstudent{intnum;
charname[10];
floatscore;
}wang,zhang;
的变量wang所占的内存字节是(B)
.
39.设有double型变量a,b,c,e均有值,对代数式(3ae)/(bc),不正确的语言表达式是(C)
b/c*e*3*a*e/b/c*a*e/b*c*e/c/b*3
40.关于C语言数据类型的叙述,正确的是(C)
A.枚举类型不是基本类型B.数组不是构造类型
C.变量必须先定义后使用D.不允许使用空类型
41.以下的语句中,无内嵌的if语句是(D)
(x==y)x+=y;
(x>y&&x!
=y)x+=y;
=y)scanf(“%d”,&x);
elsescanf(“%d”,&y)(x<y){x++;
42.以下运算符中优先级最高的是(D)
A.>B.||C.&&D.+
43.若有自定义:
inta,b;
doublex.,则以下不符合C语言的表达是(A)
%(-3)+=-2=b=2=a+b
44.关于C语言的源程序的叙述中,错误的是(C)
语言的源程序由函数构成函数可以书写在自定义函数之后
C.必须包含有输入语句D.一行可以书写多个语句
45设有以下定义语句:
structstudent{intnum;
charname[10];
}wang,zhang;
则不正确的叙述是(C)
是结构体类型的关键字是结构体变量名
是结构体类型名,name,score都是结构体类型student的成员名
46.若有定义:
inta[3][3];
则表达式&a[2][1]-a的值为(B)
47.下列数组定义中,正确的是(A)
a[10]n=10a[n];
N=10;
inta[N];
n;
scant(“%d”,&n);
inta[n]
48.若有定义inta[2][3];
则对数组元素的非法引用是(D)
[0][1/2][1][1][4-4][0][0][3]
49.若有inta=2则a=strcmp(“miss”,“miss”)运行后a的值为(B)
50.若structteacher{intnum;
charname[10];
charsex;
intage;
floatscore;
}teacher1;
则变量teacher1所占用的内存字节是(C)
51.以下(D)是正确的变量名
52.下面叙述中,(A)不是结构化程序设计中的三种基本结构之一
.A.数据结构.B.选择结构C.循环结构D.顺序结构
53.若有定义:
inta=1,b=2,c=3,d=4,x=5,y=6则表达式(x=a>b)&&(y=c>b)的值为(A)
C.5
54.以下(D)是正确变量名
型变量存放的是(A)
Ⅱ码值B.字符本身.C十进制代码值.D十六进制代码值
()函数的功能是向终端输出(B)
A.多个字符.B.一个字符C.一个实型变量值D.一个整型变量表达式
57.若有定义:
intx=3,y=4,z=5则值为0的表达式是(D)
A.‘x’&&‘y’B.x<=yC.x||y=z&&y-zD.!
((x<y)&&!
z||1)
58.以下程序结束后屏幕输出(B)
charstr[]=“ab\\cd”;
printf(“%d”,strlen(str));
.
59.若有定义:
;
则语句
运行后,
、
的值依次为(C)
A.3,3B.4,4C.4,3D.3,4
60.若有定义:
则表达式
的值是(D)
A.7B.8C.9D.10
61.已有如下定义和输入语句
,
若要求
的值分别为10、A和B,正确的数据输入昌(B)
A.10ABB.10ABC.10ABD.10AB
62.若有定义:
的值是(A)
A.B.C.D.
63.以下程序运行后,循环体运行的次数为(B)
A.10B.0C.1D.无限
64.已知
则对
数组元素引用不正确的是(A)
A.
B.
C.
D.
65.设有以下变量定义:
;
(A)是正确的
C.
66.设有以下语句,则(D)是对
数组元素的不正确引用,其中
。
67.、假定已有如下变量说明和枚举定义:
判定下列语句是否符合语法规则,结果是(C)
A.语句2错误,其它正确B.语句1正确,其它错误
C.语句3正确,其它错误D.语句错误,其它正确
68.以下叙述不正确的是(D)
A、C程序的执行总是从main函数开始
B、一个C源程序必须包含一个main函数
C、C语言程序的基本组成单位是函数
D、在编译C程序源程序时,可发现注释中的拼写错误
69.以下(B)是错误的整形常量
A、-0xcdfB、018C、0xeD、011
70.语句a=(3/4)+3%2;
运行后,a的值为(B)
A、0B、1C、2D、3
71.设整形变量a为5,使b不为2的表达式是(C)
A、b=(++a)/3B、b=6-(--a)C、b=a%2D、b=a/2
72.已知如下定义和输入语句:
inta,b;
scanf(“%d,“%d”,&a,&b);
若要求a、b的值分别为10和20,正确的数据输入是(A)
A、1020B、10,20C、a=10,b=20D、10;
20
73.若有定义,intx=3,y=4;
则表达式!
x‖y的值为(A);
A、1B、0C、3D、4
74、已知chara=’R’;
则正确的赋值表达式是(A);
A、a=(a++)%4B、a+2=3C、ca+=256--D、a=‘\078’
75.设有整型变量x,下述语句(B)不会出现死循环
A、for(;
;
x+=1);
B、for(;
(x=gether())!
=‘\n’;
);
C、while
(1){x++;
}D、for(x=10;
x--);
76、以下能对一维数组a进行正确初始化的语句是(D)
A、inta[5]=(0,0,0,0,0);
B、inta[s]=[0];
C、inta[5]={1,2,3,4,5,6,7};
D、inta[]={0};
77.若有定义inta[][3]={1,2,3,4,5,6,7,8,9};
的值为(A)
A、3B、4C、5D、9
78、以下叙述中,正确的是(A)
A、宏展开不占用运行时间,只占用编译时间
B、预编译处理命令行必须以分号结束
C、一个源程序只能有一个预编译处理命令行
D、使用带参数的宏定义时,应该说明每个参数的数据类型
79、在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;
当执行p++;
后下列叙述错误的是(A)
A、p向高地址移了一个字节
B、p与a+1等价
C、语句printf(“%d”,p);
输出20
D、p指向数组元素a[1]
80、以下C语言共用体类型数据的描述中,不正确的是(D)
A、共用体变量占的内存大小等于所需内在最大的成员所占的内存
B、共用体类型可以出现在结构体类型定义中
C、在定义共用体变量的同时允许对另一个成员的值进行初始化
D、同一共用体中各成员的首地址不相同
81、若有以下类型说明,叙述正确的是(A)
typedefsturct
{intnum;
char*name;
intscore;
}STU,*PSTU
A、STU是变量名B、PSTU是变量名
C、PSTU是指向结构体类型STU的指针类型名
D、类型说明语句有错误
82、以下叙述正确的是(D)
A、C语言中的文件是流式文件,因此只能顺序存取数据
B、打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖
C、在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据
D、当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失
83、在C语言源程序中,以下叙述正确的是(C)
A、main函数必须位于文件的开头
B、每行只能写一条语句
C、程序中的每一语句可以写成的行
D、每个语句的最后必须有点号
84.下面叙述正确的是(B)
A、2/3与等价B、(int)3与2/3等价
C、++5与6等价D、‘A’与“A”等价
85、getchar()函数的功能是从终端输入(D)
A、一个整型量值B、一个实型变量值C、多个字符D、一个字符
86、若有定义:
inti=7,j=8;
则表达式i>
j||i<
j的值为(A)
A、1B、变量i的值C、0D、变量j的值
87、在C语言中while循环和do—while循环的主要区别是(B)
A、do—while循环体内可以使用break语句,while循环体内不能使用break语句
B、do—while的循环至少无条件执行一次,while的循环体不是
C、do—while循环体内可以使用continue语句,while循环体内不能使用continue语句
D、while的循环体至少无条件执行一次,do—while的循环体不是
88、以下的叙述中不正确的是(C)
B、宏名无类型
C、宏名必须用大写字母表示
D、预处理命令行都必须以#号开始
89、以下程序段运行后*(++p)的值为(C)
chara[6]=“work”;
char*p;
p=a;
A、‘w’B、存放‘w’的地址C、‘O’D、存放的‘O’地址
90、设有如下定义语句:
unionu-type
{inti;
doublex;
floatf;
};
structstr-type
{charstr[100];
unionu_typeu[2];
则语句“printf(“%d”,sizeof(structstr-type));
”的输出结果是(B)
A、100B、116C、120D、200
91、标准函数fgets(s,n,f)的功能是(D)
A、从文件f中读取长度为n的字符串存入指针s所指的内存;
B、从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C、从文件f中读取几个字符存入指针s所指的内在
D、从文件f中读取长度为n-1的字符串存入指针s所指的内存
92、若有说明语句:
charc=‘\95’;
A、1B、2C、3D、语法错误
93、若有定义:
inti,j;
则表达式(i=2,j=5,i++,i+j++)的值是(B)
A、7B、8C、9D、10
94、已知inta;
使用scanf()函数输入一个整数给变量a,正确的函数调用是(B)
A、scanf(“%d”,a);
B、scanf(“%d”,&a);
C、scanf(“A”,&a);
D、scanf(“%lf”,&a);
95、以下程序运行结果是(D)
voidmain()
{intn=5;
if(n++==6)
printf(“%d\n”,n);
else
printf(“%d\n”,++n);
}
A、4B、5C、6D、7
96、对于整型变量x和y,语句
for(x=0,y=0;
(y!
=123)&&(x<
4);
x++)y++;
中的“y++;
”被执行(A)
A、4次B、0次C、123次D、3次
97、下列数组定义中,正确的是(A)
A.inta[5]={0};
B、inta[]={012};
C、inta[5]=0D、inta[]
98、以下数组定义中,正确的是(B)
A、inta[2][3]={1,2,3,4,5,6,7};
B、inta[][]={{1,2,3},{4,5,6},{7,8,9}};
C、inta[2][]={1,2,3,4,5,6};
D、inta[][4]={6}
99.对于C语言源程序,以下叙述错误的是(C)
A.可以有空语句
B.函数之间是平等的,在一个函数内部不能定义其它函数
C.程序调试时如果没有提示错误,就能得到正确结果
D.注释可以出现在在语句的前面
100.若有定义:
则
.B.{1,2}
101.若希望当
的值为奇数时,表达式的值为”真”,
的值为偶数时,表达式的值为”假”.则不能满足要求的表达式是(C)
A.
B.!
(
%2==0)C.
D.
102.若有定义:
的值为(B)
B.1
103.在16位编译系统上,若有定义
当执行
后下列叙述错误的是(A)
A.
向高地址移了一个字节B.
与
等价
C.语句
输出20;
指向数组元素
语言的函数体由(B)括起来
A.()B.{} C.[] D./**/
105.下面叙述正确的是( A )
A.强制类型转换运算的优先级高于算术运算
B.若
和
是整型变量,
是合法的
C.'A'*'B'是合法的
D."A"+"B"是合法的
106.下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点
A.先判断后执行 B.单入口,单出口,
C.程序中没有执行不到的语句 D.无死循环
107.以下程序段运行后变量
的值为(D)
A.0 B.1 C.6 D.5
108.以下程序段运行后变量
A.4 B.3 C.2 D.1
109.若有定义:
运行后
的值为(A)
A.6 B.5C.1 D.2
110.设有如下程序段:
则执行该程序段后,
的值是(C)
A.0 B.1 C.2 D.3
111.如下
函数的类型是(C)
A.Void
112.以下叙述中,正确的是(B)
A."#
PRICE=30"定义了30等价的符号常量PRICE
B.预编译处理命令行都必须以"#"开头
C.宏名只能是含大写字母和数字字符
D.在程序的一行上可以书写几个有效的宏定义
113.以下程序段运行后
的值为( B )
A.2 B.4 C.6 D.不确定
114.下列对结构体类型变量定义不正确的是(D)
A.
B
C.
D.
115.若有定义
反函数:
*
116.对枚举类型进行定义,不正确的是(A)
运行结果题
1.以下程序运行结果(C)
Voidmain()
{intsum=0,item=0;
While(item<5
{
++;
If(sum>=6)break;
printf(“%d\n”,
);
2.下面程序的输出结果为(B)
#include<
studio,h>
voidmain()
{ennmWwwkday{sum=7,mon=1,tuethu,fri,sat};
enumWeekday
=sat;
print(“%d\n”,day);
}
3.下面程序运行结果是(A)
Inti=0,
={1,2,3,4,5};
d{a[i]+=10;
}while(a[++i]>2);
for(i=0;
i<5;
i++
printf(“%d”,a[i]);
234523451213141512345
4.若有定义:
inti=0,x=0;
inta[3][3]={1,2,3,4,5,6,7,8,9}则以下程序段运行后x的值为(C)
For(;
i<3;
i++=x+=a[i][z-i];
5.以下程序运行后