级等级考试《C语言程序设计》基础知识练习8k.docx
《级等级考试《C语言程序设计》基础知识练习8k.docx》由会员分享,可在线阅读,更多相关《级等级考试《C语言程序设计》基础知识练习8k.docx(53页珍藏版)》请在冰点文库上搜索。
![级等级考试《C语言程序设计》基础知识练习8k.docx](https://file1.bingdoc.com/fileroot1/2023-8/19/5d3c4a11-b38e-49b8-8f94-07f5456c8105/5d3c4a11-b38e-49b8-8f94-07f5456c81051.gif)
级等级考试《C语言程序设计》基础知识练习8k
2007级等级考试《C语言程序设计》基础知识练习
50101、在C语言源程序中,以下叙述正确的是()。
答案:
C
A、main函数必须位于文件的开头B、每行只能写一条语句
C、程序中的一个语句可以写成多行D、每个语句的最后必须有点号
50102、关于C语言的源程序的叙述中,错误的是()。
答案:
C
A、C语言的源程序由函数构成B、main函数可以书写在自定义函数之后
C、必须包含有输入语句D、一行可以书写多个语句
50103、关于C语言数据类型的叙述,正确的是()。
答案:
C
A、枚举类型不是基本类型B、数组不是构造类型
C、变量必须先定义后使用D、不允许使用空类型
50104、C程序中main函数的位置()。
答案:
C
A、必须在最开始B、必须在系统库函数后面
C、可以在自定义函数后面D、必须在最后
50105、C语言的函数体由()括起来。
答案:
B
A、()B、{}C、[]D、/**/
50106、关于C语言的叙述中,不正确的是()。
答案:
D
A、C程序可由一个或多个函数组成B、C程序必须包含一个main()函数
C、C程序的基本组成单位是函数D、注释说明只能位于一条语句的后面
50107、以下叙述不正确的是()。
答案:
D
A、C程序的执行总是从main函数开始B、一个C源程序必须包含一个main函数
C、C语言程序的基本组成单位是函数D、在编译C程序源程序时,可发现注释中的拼写错误
50108、结构化程序设计的三种基本结构是()。
答案:
C
A、函数结构、分支结构、判断结构B、函数结构、嵌套结构、平行结构
C、顺序结构、分支结构、循环结构D、分支结构、循环结构、嵌套结构
50109、对于C语言源程序,以下叙述错误的是()。
答案:
C
A、可以有空语句
B、函数之间是平等的,在一个函数内部不能定义其它函数
C、程序调试时如果没有提示错误,就能得到正确结果
D、注释可以出现在语句的前面
50201、下面关于C语言用户标识符的描述,正确的是()。
答案:
D
A、不区分大小写B、用户标识符不能描述常量
C、类型名也是用户标识符D、用户标识符可以作为变量名
50202、以下()是正确的变量名。
答案:
D
A、5fB、ifC、f.5D、_f5
50203、以下()是正确的常量。
答案:
D
A、E-5B、1E5.1C、'a12'D、32766L
50204、以下()是正确的变量名。
答案:
D
A、a.beeB、-p11C、intD、p_11
50205、以下()是正确的字符常量。
答案:
C
A、"c"B、'\\''C、'W'D、"\32a"
50206、以下()是不正确的字符串常量。
答案:
A
A、'abc'B、"12'12"C、"0"D、""
50207、以下()是错误的整型常量。
答案:
B
A、-0xcdfB、018C、0xeD、011
50208、以下()是正确的浮点数。
答案:
B
A、e3B、.62C、2e4.5D、123
50209、若有说明语句:
charc='\95';则变量c包含()个字符。
答案:
A
A、1B、2C、3D、语法错误
50301、若有定义:
inta=2;则正确的赋值表达式是()。
答案:
A
A、a-=(a*3)B、double(-a)C、a*3D、a*4=3
50302、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()。
答案:
C
A、3,3,4B、4,4,3C、4,4,4D、3,4,3
50303、语句a=(3/4)+3%2;运行后,a的值为()。
答案:
B
A、0B、1C、2D、3
50304、char型变量存放的是()。
答案:
A
A、ASCII代码值B、字符本身
C、十进制代码值D、十六进制代码值
50305、若有定义:
intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。
答案:
C
A、3,3B、4,4C、4,3D、3,4
50306、若有定义:
inta;则语句a=(3*4)+2%3;运行后,a的值为()。
答案:
B
A、12B、14C、11D、17
50307、若有定义:
inta,b;doublex,则以下不符合C语言语法的表达式是()。
答案:
A
A、x%(-3)B、a+=-2C、a=b=2D、x=a+b
50308、若有定义:
intx=2,y=3;floati;,则以下符合C语言语法的表达式是()。
答案:
B
A、x=x*3=2B、x=(y==1)C、i=float(x)D、i%(-3)
50309、设double型变量a,b,c,e均有值;对代数式(3ae)/(bc),不正确的C语言表达式是()。
答案:
C
A、a/b/c*e*3B、3*a*e/b/cC、3*a*e/b*cD、a*e/c/b*3
50401、下面叙述正确的是()。
答案:
B
A、2/3与2.0/3.0等价B、(int)2.0/3与2/3等价
C、++5与6等价D、'A'与"A"等价
50402、下面叙述中,错误的是()。
答案:
A
A、其算术运算对象不包含函数B、%(模运算符)的运算对象只能为整型量
C、算术运算符的结合方向是"自左至右"D、自加和自减运算符的结合方向是"自右至左"
50403、下面叙述正确的是()。
答案:
A
A、强制类型转换运算的优先级高于算术运算
B、若a和b是整型变量,(a+b)++是合法的
C、'A'*'B'是不合法的
D、"A"+"B"是合法的
50404、若有定义:
intk,i=2,j=4;则表达式k=(++i)*(j--)的值是()。
答案:
B
A、8B、12C、6D、9
50405、设整型变量a为5,使b不为2的表达式是()。
答案:
C
A、b=(++a)/3B、b=6-(--a)C、b=a%2D、b=a/2
50406、若有定义:
inta=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为()。
答案:
C
A、1B、0C、2D、3
50407、若有定义:
inti,j;则表达式(i=2,j=5,i++,i+j++)的值是()。
答案:
B
A、7B、8C、9D、10
50408、若有定义:
inta,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()。
答案:
B
A、7B、8C、9D、10
50409、若有定义:
intm=5,n=3;则表达式(m+1,n+1,(--m)+(n--))的值是()。
答案:
B
A、6B、7C、8D、9
50501、已知inta;使用scanf()函数输入一个整数给变量a,正确的函数调用是()。
答案:
B
A、scanf("%d",a);B、scanf("%d",&a);
C、scanf("%f",&a);D、scanf("%lf",&a);
50502、已知doublea;使用scanf()函数输入一个数值给变量a,正确的函数调用是()。
答案:
D
A、scanf("%ld",&a);B、scanf("%d",&a);
C、scanf("%7.2f",&a);D、scanf("%lf",&a);
50503、已知chara;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()。
答案:
B
A、scanf("%d",&a);B、scanf("%lf",&a);
C、scanf("%c",&a);D、scanf("%u",&a);
50504、putchar()函数的功能是向终端输出()。
答案:
B
A、多个字符B、一个字符
C、一个实型变量值D、一个整型变量表达式
50505、getchar()函数的功能是从终端输入()。
答案:
D
A、一个整型变量值B、一个实型变量值
C、多个字符D、一个字符
50506、若有定义:
intx=1234,y=123,z=12;则语句printf("%4d+%3d+%2d",x,y,z);运行后的输出结果为()。
答案:
D
A、123412312B、12341234123412341231231231212
C、1234+1234+1234D、1234+123+12
50507、已有如下定义和输入语句,
inta;charc1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()。
答案:
A
A、10ABB、10ABC、10ABD、10AB
50508、已有如下定义和输入语句:
inta,b;
scanf("%d,%d",&a,&b);
若要求a、b的值分别为10和20,正确的数据输入是()。
答案:
B
A、1020B、10,20
C、a=10,b=20D、10;20
50509、以下程序的运行结果是()。
voidmain()
{
inta=65;
charc='A';
printf("%x,%d",a,c);
}
答案:
D
A、65,aB、41,aC、65,65D、41,65
50601、下面叙述中,()不是结构化程序设计中的三种基本结构之一。
答案:
A
A、数据结构B、选择结构C、循环结构D、顺序结构
50602、下面叙述中,()不是结构化程序设计三种基本结构的共同特点。
答案:
A
A、先判断后执行B、单入口,单出口
C、程序中没有执行不到的语句D、无死循环
50603、结构化程序设计不包括()。
答案:
A
A、最优化B、自顶而下,逐步细化
C、模块化设计D、结构化编码
50604、以下运算符中优先级最高的是()。
答案:
D
A、>B、||C、&&D、+
50605、若有定义:
intx=3,y=4;则表达式!
x||y的值为()。
答案:
A
A、1B、OC、3D、4
50606、若有定义:
inti=7,j=8;则表达式i>=j||i答案:
A
A、1B、变量i的值C、0D、变量j的值
50607、若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。
则不能满足要求的表达式是()。
答案:
C
A、a%2==1B、!
(a%2==0)C、!
(a%2)D、a%2
50608、若有定义:
intx=3,y=4,z=5;则值为0的表达式是()。
答案:
D
A、'x'&&'y'B、x<=yC、x||y+z&&y-zD、!
((xz||1)
50609、若有定义:
inta=5,b=2,c=1;则表达式a-b答案:
A
A、0B、1C、2D、-1
50701、已知doublea=5.2;则正确的赋值表达式是()。
答案:
A
A、a+=a-=(a=4)*(a=3)B、a=a*3=2
C、a%3D、a=double(-3)
50702、已知chara='R';则正确的赋值表达式是()。
答案:
A
A、a=(a++)%4B、a+2=3C、a+=256--D、a='\078'
50703、已知inta='R';则正确的表达式是()。
答案:
A
A、a%10B、a=int(3e2)C、2*a=a++D、a=a+a=a+3
50704、设单精度型变量f、g的值均为2.0,使f为4.0的表达式是()。
答案:
A
A、f+=gB、f-=g+2C、f*=g-6D、f/=g*10
50705、若有定义:
floatx=3.5;intz=8;则表达式x+z%3/4的值为()。
答案:
B
A、3.75B、3.5C、3D、4
50706、若有定义:
inta=1,b=2,c=3,d=4,x=5,y=6;则表达式(x=a>b)&&(y=c>d)的值为()。
答案:
A
A、0B、1C、5D、6
50707、若有定义:
inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是()。
答案:
A
A、3.5B、3.0C、2.5D、2.0
50708、若有定义:
intb=7;floata=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是()。
答案:
C
A、2.5B、3.5C、4.5D、5.5
50709、若有定义:
inta=6,b=2;charc1='a',c2='b';则表达式a+b%5+c2-c1的值是()。
答案:
C
A、7B、8C、9D、表达式错误
50801、以下的if语句中,x的值一定被重新赋值的是()。
答案:
B
A、if(x==y)x+=y;
B、if(x>y&&x!
=y);
x+=y;
C、if(x!
=y)
scanf("%d",&x);
else
scanf("%d",&y);
D、if(x{x++;y++;}
50802、C语言对if嵌套语句的规定:
else总是与()配对。
答案:
B
A、第一个ifB、之前最近的且尚未配对的if
C、缩进位置相同的ifD、之前最近的if
50803、对于整型变量x,下述if语句()与赋值语句:
x=x%2==0?
1:
0;
不等价。
答案:
B
A、if(x%2!
=0)x=0;elsex=1;B、if(x%2)x=1;elsex=0;
C、if(x%2==0)x=1;elsex=0;D、if(x%2==1)x=0;elsex=1;
50804、若有定义:
intx=1,y=2,z=4;则以下程序段运行后z的值为()。
if(x>y)z=x+y;
elsez=x-y;
答案:
B
A、3B、-1C、4D、不确定
50805、若有定义:
inta=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为()。
if(a
{c=a;a=b;b=c;}
答案:
D
A、a=1,b=2,c=3B、a=2,b=3,c=1
C、a=2,b=3,c=3D、a=2,b=1,c=1
50806、以下程序段运行后变量a的值为()。
intx=6,y=5;
inta;
a=(--x==y++)?
x:
y+1;
答案:
D
A、0B、1C、6D、5
50807、以下程序的运行结果是()。
voidmain()
{
intn='e';
switch(n--)
{
default:
printf("error");
case'a':
case'b':
printf("good");break;
case'c':
printf("pass");
case'd':
printf("warn");
}
}
答案:
C
A、errorB、goodC、errorgoodD、warn
50808、以下程序的运行结果是()。
voidmain()
{
intn='c';
switch(n++)
{
default:
printf("error");break;
case'a':
case'b':
printf("good");break;
case'c':
printf("pass");
case'd':
printf("warn");
}
}
答案:
C
A、passB、warnC、passwarnD、error
50809、以下程序的运行结果是()。
voidmain()
{intn=5;
if(n++>=6)
printf("%d\n",n);
else
printf("%d\n",++n);
}
答案:
D
A、4B、5C、6D、7
50901、设有整型变量x,下述语句()不会出现死循环。
答案:
B
A、for(;;x+=1);B、for(;(x=getchar())!
='\n';);
C、while
(1){x++;}D、for(x=10;;x--);
50902、对于整型变量x,与while(!
x)等价的是()。
答案:
B
A、while(x!
=0)B、while(x==0)
C、while(x!
=1)D、while(~x)
50903、对于整型变量x和y,语句
for(x=0,y=0;(y!
=123)&&(x<4);x++)y++;
中的“y++;”被执行()。
答案:
A
A、4次B、0次C、123次D、3次
50904、在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的循环体不是
50905、以下程序段运行后,循环体运行的次数为()。
inti=10,x;
for(;i<10;i++)x=x+i;
答案:
B
A、10B、0C、1D、无限
50906、以下程序段运行后变量n的值为()。
inti=1,n=1;
for(;i<3;i++)
{continue;n=n+i;}
答案:
D
A、4B、3C、2D、1
50907、以下程序的运行结果是()。
voidmain()
{
intsum=0,item=0;
while(item<5)
{
item++;
sum+=item;
if(sum==5)
break;
}
printf("%d\n",sum);
}
答案:
B
A、10B、15C、5D、6
50908、以下程序的运行结果是()。
voidmain()
{
intsum=0,item=0;
while(item<5)
{
item++;
sum+=item;
if(sum>=6)
break;
}
printf("%d\n",sum);
}
答案:
C
A、10B、15C、6D、7
50909、以下程序的运行结果是()。
voidmain()
{
intsum=0,item=0;
while(item<5)
{
item++;
if(item==2)
continue;
sum+=item;
}
printf("%d\n",sum);
}
答案:
B
A、10B、13C、15D、1
51001、下列数组定义中,正确的是()。
答案:
A
A、inta[5]={0};B、inta[]={012};
C、inta[5]=0;D、inta[];
51002、下列数组定义中,正确的是()。
答案:
A
A、inta[10];B、intn=10,a[n];
C、intN=10;inta[N];D、intn;scanf("%d",&n);inta[n];
51003、已知inta[10];则对a数组元素引用不正确的是()。
答案:
A
A、a[10]B、a[3+5]C、a[10-10]D、a[5]
51004、若有定义:
inta[3]={0,1,2};则a[1]的值为()。
答案:
B
A、0B、1C、2D、3
51005、若有定义:
inta[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()。
答案:
A
A、6B、5C、1D、2
51006、以下能对一维数组a进行正确初始化的语句是()。
答案:
D
A、inta[5]=(0,0,0,0,0);B、inta[5]=[0];
C、inta[5]={1,2,3,4,5,6,7};D、inta[]={0};
51007、下面程序段的运行结果是()。
inti=0,a[]={3,4,5,4,3};
do{
a[i]++;
}while(a[++i]<5);
for(i=0;i<5;i++)
printf("%d",a[i]);
答案:
D
A、45654B、34543C、45554D、45543
51008、下面程序段的运行结果是()。
inti=0,a[]={7,5,7,3,8,3};
do{
a[i]+=2;
}while(a[++i]>5);
for(i=0;i<6;i++)
printf("%d",a[i]);
答案:
C
A、9795105B、9593103
C、957383D、757383
51009、