广西区计算机等级二级C试题.docx
- 文档编号:30561655
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:33
- 大小:27.70KB
广西区计算机等级二级C试题.docx
《广西区计算机等级二级C试题.docx》由会员分享,可在线阅读,更多相关《广西区计算机等级二级C试题.docx(33页珍藏版)》请在冰豆网上搜索。
广西区计算机等级二级C试题
选择题(50)
1、c语言规定:
在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
2、下面程序的运行结果是______。
main()
{structcmplx{intx;
inty;
}cnum[2]={1,3,2,7};
printf(”%d\n”,cnum[0].y/cnum[0].x*cnum[l].x);
}
A)0B)1C)3D)6
3、表达式18/4*2/8值的数据类型为_A____
A)intB)floatC)doubleD)不确定
4、以下不正确的叙述是D。
A)在c程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
c)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值.对于实型变量只能输入实型数值。
5、以下程序的运行结果是______。
#include"stdio.h”
main()
{structdate
{intyear,month,day;
}today;
printf(“%d\n”,sizeof(structdate));
}
A)6B)8C)10D)12
6、以下说法正确的是。
A)输入项可以为一实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scanf(“%f",&f);
7、己知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=55;
doublex=1.42,y=5.2;
则以下符合c语言语法的表达式是_____。
A)a+=a-=(b=4)*(a=3)B)a=a*3=2
C)x%(-3)D)y=float(i)
8、已知ch是字符型变量,下面不正确的赋值语句是______。
A)ch=’a+b’;B)ch=’\0’;C)ch=’7’+’9’;D)ch=5+9
9、有输入语句:
scanf("a=%d,b=%d,c=%d",&a,&b,&c),为使变量a的值为1.b为3,c为2,从键盘输入数据的正确形式应当是______。
A)132<回车>
B)1,3,2<回车>
C)a=lb=3c=2<回车>
D)a=1,b=3,c=2<回车>
10、逻辑运算符两侧运算对象的数据类型_____。
A)只能是0或l
B)只能是0或非0正数
c)只能是整型或字符型数据
D)可以是任何类型的数据
11、一个c程序的执行是从。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结柬
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
12、以下程序的输出结果是________。
main()
{inta=100,x=l0,y=20,ok1=5,ok2=0;
if(xif(y!
=10)
if(!
ok1)
a=1;
else
if(ok2)a=10;
a=-1;
printf("%d\n",a);
}
A)1B)0C)-1D)值不确定
13、以下正确的叙述是_____。
A)C语言允许main函数带形参,且形参个数和形参名均可由用户指定
B)C语言允许main函数带形参,形参名只能是argc和argv
C)当main函数带有形参时,传给形参的值只能从命令行中得到
D)若有说明:
main(intargc,char*argv),则形参argc的值必须大于1
14、阅读以下程序:
main()
{inta[l0]={2,4,6,8,10,12,14,16,18,20},*p;
p=a;
printf(“%x\n”,p),
printf(“%x\n”,p+9),
若假设第一个printf语句输出的是ffca,则第二个printf语句的输出是______。
A)ffddB)ffdcC)ffdeD)ffcd
15、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其正确的解释是_____。
main()
{int*p,*q,a,b;
p=&a;
printf("inputa:
");
scanf("%d",*p);
……
}
A)*p表示的是指针变量p的地址
B)*p表示的是变量a的值,而不是变量a的地址
c)*p表示的是指针变量p的值
D)*p只能用来说明p是—个指针变量
16、设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是_______。
A)while循环执行10次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行
17、为了避免在嵌套的条件语句if—else中产生二义性,c语言规定:
else总是与_______配对。
A)缩排位置相同的ifB)其之前最近的if
c)其之后最近的ifD)同一行上的if
18、以下程序的运行结果是_____。
main()
{intm=5;
if(m++>5)printf("%d\n",m);
elseprintf("%d\n",m--);
}
A)4B)5C)6D)7
19、执行以下语句后b的值为_____。
inta=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A)5B)0C)6D)1
20、若有定义:
inta[5];则a数组中首元素的地址可以表示为_____。
A)&aB)a+lC)aD)&a[1]
21、以下程序段_____。
x=-1;
do
{x=x*x;}
while(!
x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
22、若i为整型变量,则循环执行次数是_____。
for(i=2;i==0;)printf("%d",i--);
A)无限次B)0次C)1次D)2次
23、以下有关宏替换的叙述不正确的是______。
A)宏替换不占用运行时间B)宏名无类型
C)宏替换只是字符替换D)宏名必须用大写字母表示
24、下面程序的运行结果是______。
#include
main()
{inty=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
A)-1B)1C)8D)0
25、下列四组选项中,均不含c语言关键字的选项是______。
A)defineB)getcC)includeD)while
IFcharscanfgo
typeprintfcasepow
26、下面程序的运行结果是____。
#include<stdio.h>
voiddelch(char*s)
{inti,j;
char*a;
a=s;
for(i=0,j=0;a[i]!
=’\0’;i++)
if(a[i]>=’0’&&a[i]<=’9’){s[j]=a[i];j++;}
s[j]=’\0’;
}
main()
{char*item="a34bc";
delch(item);
printf("\n%s",item);
}
A)abcB)34C)a34D)a34bc
27、下列程序段不是死循环的是____。
A)inti=100;
while
(1)
{i=i%100+1;
if(i>l00)break;
}
B)for(;;);
C)intk=0;
do{++k;}while(k>=0);
D)ints=365;
while(s);--s;
28、根据定义和数据的插入方式,输入语句的正确形式为_____。
已有定义:
floatf1,f2;
数据的输入方式:
4.52
3.5
A)scanf("%f,%f",&f1,&f2);
B)scanf("%f%f",&f1,&f2);
C)scanf("%3.2f%2.1f",&f1,&f2);
D)scanf("%3.2f,%2.1f",&f1,&f2);
29、在C语言中,引用数组元素时,其数组下标的数据类型允许是_____。
A)整型常量B)整型表达式
C)整型常量或整型表达式D)任何类型的表达式
30、下面程序的运行结果是
#include
main()
{intnum=0;
while(num<=2)
{num++;
printf("%d\n",num);
}
}
A)1B)1C)1D)1
222
33
4
31、若有如下语句
intx=3;
do{printf("%d\n",x-=2);}while(!
(--x));
则上面程序段_____。
A)输出的是1B)输出的是l和-2C)输出的是3和0D)是死循环
32、以下能对一维数组a进行正确初始化的语句是______。
A)inta[l0]=(0,0,0,0,0);B)inta[l0]={};
C)inta[]={0};D)inta[10]={10*1
33、以下不正确的定义语句是_____。
A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charc1[]=(’1’,’2’,’3’’,4’,’5’);
D)charc2[]={’\x10’,’\xa’,’\x8’};
34、下面程序______(每行程序前面的数字表示行号)
1main()
2{
3floata[0]={0.0};
4inti;
5for(i=0;i<3;i++)scanf("%d",&a[i]);
6for(i=1;i<10;i++)a[0]=a[0]+a[i];
7printf("%f\n",a[0];}
A)没有错误B)第3行有错误
C)第5行有错误D)第7行有错误
35、下面程序段的运行结果是____。
charc[5]={’a’,’b’,’\0’,’c’,’\0’};
printf("%s",c);}
A)’a’’b’B)abC)abcD)abc
36、下面四个选项中,均是合法的用户标识符的选项是______。
A)AB)floatC)b_aD)_123
P_O1aogototemp
do_AintINT
37、以下正确的函数形式是____。
A)doublefun(intx,inty)
{z=x+y,returnz;)
B)fun(intx,y)
{intz;
returnz;}
C)fun(x,y)
{intx,y;doublez;}
z=x+y;returnz;}
D)doublefun(intx,inty)
{doublez;
z=x+y;returnz;}
38、若运行以下程序时,从键盘输入3.62.4(表示回车),则下面程序的运行结果是_______。
#include<math.h>
#include<stdio.h>
main()
{floatx,y,z;
scanf("%f%f",&x,&y);
z=x/y;
while
(1)
{if(fabs(z)>1.0){x=y;y=z;z=x/y};
elsebreak;
}
printf(’%f\n",y);
}
A)1.500000B)1.600000C)2.000000D)2.400000
39、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为____。
(假设a[0][0]位于数组的第一个位置上。
)
A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1
40、已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是
if(x>y)
z=x;x=y;y=z;
A)x=10,y=20,z=30
B)x=20,y=30,z=30
C)x=20,y=30,z=10
D)x=20,y=30,z=20
41、以下叙述不正确的是。
A)一个c源程序可由一个或多个函数组成
B)一个c源程序必须包含一个main函数
C)c程序的基本组成单位是函数
D)在c程序中,注释说明只能位于一条语句的后面
42、若有定义:
int*p[4];则标识符p_____。
A)是一个指向整型变量的指针
B)是一个指针数组名
C)是一个指针,它指向一个含有四个整型元素的一维数组
D)说明不合法
43、以下关于运算符优先顺序的描述中正确的是——。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
B)逻辑与运算符<关系运算符<算术运算符<赋值运算符
C)赋值运算符<逻辑与运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑与运算符
44、若有说明:
inta[3][4]=(0);则下面正确的叙述是_____。
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
45、下述对C语言字符数组的描述中错误的是_____。
A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符"="字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
46、判断字符串a和b是否相等,应当使用_____。
A)if(a==b)B)if(a=b)
C)if(strcpy(a,b))D)if(strcmp(a,b))
47、若有以下说明和语句:
structstudent
{intage;
intnum;
}std,*p;
p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是_______。
A)std.ageB)p->age
C)(*p).ageD)*p.age
48、以下正确的说法是______。
A)定义函数时,形参的类型说明可以放在函数体内
B)return后边的值不能为表达式
C)如果函数值的类型与返回值类型不一致,以函数值类型为准
D)如果形参与实参的类型不一致,以实参类型为准
49、以下不正确的说法为_____。
A)在不同函数中可以使用相同名字的变量
B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有效
D)在函数内的复合语句中定义的变量在本函数范围内有效
50、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列
顺序为
A)charB)char=intC)charD)char=int=longint51、以下程序的正确运行结果是______。
main()
{inta=2;
for(i=0;i<3;i++)printf("%4d",f(a));
}
f(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
A)777
B)7l013
C)7911
789
52、以下正确的描述是_______。
A)c语言的预处理功能是指完成宏替换和包含文件的调用
B)预处理指令只能位于c源程序文件的首部
C)凡是C源程序中行首以"#"标识的控制行都是预处理指令
D)C语言的编译预处理就是对源程序进行初步的语法检查
53、请读程序:
#defineADD(x)x+x
main()
{intm=1,n=2,k=3;
intsum=ADD(m+n)*k;
printf("sum=%d",sum);
上面程序的运行结果是_____。
A)sum=9B)sum=10C)sum=12D)sum=18
54、若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
_______。
A)a,point,*&aB)&*a,&a,*point
C)*&point,*point,&aD)&a,&*point,point
55、以下错误的描述是_____。
函数调用可以A)出现在执行语句中
B)出现在一个表达式中
C)做为一个函数的实参
D)做为一个函数的形参
56、已有定义inta=-2;和输出语句:
printf(“%8Lx”,a);以下正确的叙述是。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8Lx是错误的
D)%8Lx不是错误的格式符,其中数字8规定了输出字段的宽度
57、若用数组名作为函数调用的实参,传递给形参的是____。
A)数组的首地址
B)数组第一个元素的值
C)数组中全部元素的值
D)数组元素的个数
58、当运行以下程序时,从键盘输入Happy!
(表示回车),则下面程序的运行结果是_______。
#include
#include
main()
{charstr[10],*p=str;
gets(p);
printf(“%d\n”,stre(p));
}
stre(charstr[])
{intnum=0;
while(*(str+num)!
=’\0’)num++;
return(num);
}
A)7B)6C)5D)10
59、下面有关for循环的正确描述是_____。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
c)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
60、设有如下定义:
structsk
{intn;
floatxl;
}data,*p;
若要使p指向data中的n域,正确的赋值语句是_____。
A)p=&data.n;
B)*p=data.n;
C)p=(structsk*)&data.n;
D)p=(structsk*)data.n;
61、若有以下定义和语句,则对a数组元素的正确引用为______。
inta[2][3],(*p)[3];
p=a,
A)(p+1)[0]B)*(*(p+2)+1)C)*(p[l]+1)D)p[1]+2
62、若有以下说明和语句:
char*languge[]={"F0RTRAN“,"BASIC”,"PASCAL","JAVA”,"C”};
char**q;q=language+2’;
则语句printf(”%s\n“,*q);______。
A)输出的是language[2]元素的地址
B)输出的是字符串PASCAL
C)输出的是1anguage[2]元素的值,它是字符串PASCAL的首地址
D)格式说明不正确,无法得到确定的输出
63、已有定义intx;floaty;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345678<回车>,则y的值为_____。
A)无定值B)45.000000C)678.000000D)123.000000
64、下面程序的运行结果是_____。
#include
main()
{staticchara[]="Language”,b[]="programe";
char*p1,*p2;intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));
}
A)gaeB)gaC)LanguageD)有语法错
65、表达式0xl3&0xl7的值是____。
A)0x17B)0xl3C)0xf8D)0xec
66、若已定义inta=5;下面对
(1),
(2)两个语句的正确解释是_____。
(1)int*p=&a;
(2)*p=a;
A)语句
(1)和
(2)中的,p含义相同,都表示给指针变量p赋值
B)
(1)和
(2)语句的执行结果,都是把变量a的地址值献给指针变量p
C)
(1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋给指针变量p
D)
(1)在对P进行说明的同时进行韧始化
(2)将变量a的值赋于*p
67、若w、x、y、z、m均为int型变量,则执行下面语句后的m值是
w=1;x=2;y=3;z=4;
m=(wm=(mm=(mA)lB)2C)3D)4
68、以下程序的运行结果是_____。
typedefunion{longa[2];
intb[4];
charc[8];
}TY;
TYour;
main()
{printf(”%d\n”,sizeof(our)};
A)32B)16C)8D)24
69、请读程序片断:
intx=20;
prtntf(”%d\n”,~x);
上面程序片段的输出结果是______。
A)02B)-20C)-21D)-11
70、当顺利执行了文件关闭操作时,fclose函数的返回值是_____。
A)-1B)TUREC)0D)1
71、系统的标准输入文件是指_____。
A)键盘B)显示器c)软盘D)硬盘
72、根据下面的定义,能打印出字母M的语句是____。
structperson{charname[9];
intage;
}
structpersonclass[l0]={"John”,17,"Paul",19,"Mary",18,"adam",16};
A)printf("%c\n",class[3].name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广西 计算机 等级 二级 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)