C语言闯关题Word格式文档下载.docx
- 文档编号:17401557
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:16
- 大小:20.51KB
C语言闯关题Word格式文档下载.docx
《C语言闯关题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言闯关题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
intb;
floatc;
doubled;
则表达式a*b+d-c的结果类型为(
float
char
int
double
7.
设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是()
’a’&
&
’b’
a<
=b
a||b+c&
b-c
!
((a<
&
!
c||1)
8.
下面(
)表达式的值为4.
11/3
11.0/3
(float)11/3
(int)(11.0/3+0.5)
9.
有:
intw=7,x=12,y=3,m;
执行下面语句后m的值是(
)
m=(w>
x)?
w:
x;
m=(m>
y)?
m:
y;
12
0
3
1
10.
设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )
b=1.0/a
b=(float)(1/A:
b=1/(float)a
b=1/(a*1.0)
11.
表示关系x<
=y<
=z的c语言表达式为(
(x<
=y)&
(y<
=z)
=y)AND(y<
=z)
12.
在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是()。
if(A:
s1;
else
s2;
if(a==0)
s1;
if(a!
=0)
13.
若k是int型变量,且有下面的程序段:
intk;
k=-3;
if
(k<
printf(“####”);
printf(“&
”);
上面程序段的输出结果是()
####
####&
有语法错误,无输出结果
14.
C语言中用(
)表示逻辑“真”。
true
B:
整数值1
非零整数值
false
15.
若inti=10;
执行下列程序后,变量i的正确结果是(
switch(i)
{
case
9:
i+=1;
10:
11:
default:
}
13
12
11
10
16.
在C语言中,下列说法中正确的是()。
do-while语句构成的循环不能用其它语句构成的循环来代替。
do-while语句构成的循环只能用break语句退出。
do-while语句构成的循环在while后的表达式非零时结束循环。
do-while语句构成的循环,在while后的表达式为零时结束循环。
17.
对于break语句和continue语句的说法错误的是()
break语句不能用于循环语句和switch语句之外的任何其他语句中。
break和continue也可以用于if语句中
continue语句只结束本次循环,而不是终止整个循环的执行。
break语句是结束整个循环过程,不再判断执行循环的条件是否成立。
18.
下列循环语句中有语法错误的是(
while(x=y)5;
while(0);
do2;
while(x==B:
;
dox++
while(x==10);
19.
对以下程序段的叙述正确的是(
intx=1;
do
{x=-1*x;
}
while(!
x)
是死循环
循环执行一次
循环执行二次
有语法错误
20.
设x和y均为int型变量,则执行以下的循环后,y的值为()。
for(y=1,x=1;
y<
=50;
y++)
if(x>
=0)break;
if(x%2==1){x+=5;
continue;
x-=3;
2
4
C:
6
1
本帖最后由火雨于2016-12-1610:
17编辑闯关题2
数据类型,变量表达式,判断,循环
函数的声明定义,实参形参,变量作用域闯关题3
1.
C程序中函数返回值的类型是由()决定的.
A)函数定义时指定的函数类型
B)函数中使用的最后一个变量的类型
C)调用函数时临时确定
D)调用该函数的主调函数类型
C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(
A.由系统选择
B.单向值传递
C.由用户指定传递方式
D.地址传递
C语言中对函数的描述正确的是(
.
A)可以嵌套调用,不可以递归调用
B)可以嵌套定义
C)嵌套调用,递归调用均可
D)不可以嵌套调用
有一函数的定义如:
voidfun(char*s){……},则不正确的函数调用是(
A.main()
{chara[20]=”abcdefgh”;
fun(a);
……
B.main()
{chara[20]=”abcdefgh”;
fun(&
a[0]);
C.
main()
char*p=a;
fun(p);
D.
fun(a[]);
5.
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是()
A)float
B)long
C)int
D)double
6.以下关于函数叙述中,错误的是()。
A)函数未被调用时,系统将不为形参分配内存单元
B)实参与形参的个数应相等,且实参与形参的类型必须对应一致
C)当形参是变量时,实参可以是常量、变量或表达式
D)形参可以是常量、变量或表达式
7.C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()。
A)参数的“形实”结合
B)函数返回值
C)全局变量
D)同名的局部变量
8.若函数调用时参数为基本数据类型的变量,以下叙述正确的是()。
A)实参与其对应的形参共占存储单元
B)只有当实参与其对应的形参同名时才共占存储单元
C)实参与对应的形参分别占用不同的存储单元
D)实参将数据传递给形参后,立即释放原先占用的存储单元
9.函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是()。
A)实参将其地址传递给形参,并释放原先占用的存储单元
B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C)实参将其值传递给形参,调用结束时形参再将其值回传给实参
D)实参将其值传递给形参,调用结束时形参并不将其值回传给实参
10.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
11.若用数组名作为函数调用的实参,则传递给形参的是()。
A)数组的首地址
B)数组的第一个元素的值
C)数组中全部元素的值
D)数组元素的个数
12.若函数调用时,用数组名作为函数的参数,以下叙述中正确的是()。
A)实参与其对应的形参共用同一段存储空间
B)实参与其对应的形参占用相同的存储空间
C)实参将其地址传递给形参,同时形参也会将该地址传递给实参
D)实参将其地址传递给形参,等同实现了参数之间的双向值的传递
13.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量()。
A)为全局变量,在本程序文件范围内有效
B)为局部变量,只在该函数内有效
C)为局部变量,只在该复合语句中有效
D)定义无效,为非法变量
14.C语言中函数返回值的类型是由()决定。
A)return语句中的表达式类型
B)调用函数的主调函数类型
C)调用函数时临时
D)定义函数时所指定的函数类型
15.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是()。
A)externstaticfloata;
B)floata;
C)externautofloata;
D)externfloata;
16.定义一个void型函数意味着调用该函数时,函数()
A)通过return返回一个用户所希望的函数值
B)返回一个系统默认值
C)没有返回值
D)返回一个不确定的值
17.若定义函数float*fun(),则函数fun的返回值为()。
A)一个实数
B)一个指向实型变量的指针
C)一个指向实型函数的指针
D)一个实型函数的入口地址
18. C语言规定,程序中各函数之间()。
A)既允许直接递归调用也允许间接递归调用
B)不允许直接递归调用也不允许间接递归调用
C)允许直接递归调用不允许间接递归调用
D)不允许直接递归调用允许间接递归调用
19.若程序中定义函数
floatmyadd(floata,floatb)
{returna+b;
并将其放在调用语句之后,则在调用之前应对该函数进行说明。
以下说明中错误的是()。
A)floatmyadd(floata,b);
B)floatmyadd(floatb,floata);
C)floatmyadd(float,float);
D)floatmyadd(floata,floatb);
20.以下程序运行后的输出结果是()。
fun(inta,intb)
{
if(a>
b)
returna;
returnb;
main()
intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("
%d\n"
r);
A)3
B)6
C)8
D)12
编程题:
1.
最大公倍数,最小公约数编程(容易被考到)
2.
字符串匹配函数,函数原型intstrcmp(charstr1[],charstr2[]),自己写代码实现。
匹配成功返回1,否则返回0。
本帖最后由火雨于2016-12-1618:
54编辑闯关题4
选择填空题
1.如果x是整型变量,则合法的形式是(
A.&(x+5)
B.*x
C.&
*x
D.*&
x
2.inta[6]={0,1,2,3,4,5},*p=a;
则(
)不是对a数组元素的正确引用(其中0≤i<
5)。
A.p
B.*(*(a+i))
C.a[p-a]
D.*(&
a)
3.填空并输出结果
1.intmain()
2.{inti,*p,a[]={10,20,30,40,50,60};
3.p=a;
4.for(i=0;
i<
5;
i++)
5.
a[%d]=%d\t*(a+%d)=%d\t*(p+%d)=%d\tp[%d]=%d\n"
\
6.
_____________________________);
7.
8.
return0;
9.}
复制代码
4.求输出结果
1.structcountry
2.{
intnum;
3.
charname[10];
4.}x[5]={1,"
China"
2,"
USA"
3,"
France"
4,"
England"
5,"
Spanish"
};
5.structcountry*p;
6.p=x+2;
7.printf("
%d,%c"
p->
num,(*p).name[2]);
5.下列程序的运行结果是:
2.{
charch[3][4]={"
AAA"
"
BB"
CCC"
4.
char(*q)[4]=ch;
inti;
*(*q+3)='
b'
;
7.
for(i=0;
3;
%s\n"
ch[i]);
9.
return0;
10.}
6.下面程序段的运行结果是()。
char*s="
abcde"
s+=2;
%d"
s);
A)cde
B)字符'
c'
C)字符'
的地址
D)无确定的输出结果
7.在64位编译系统上,若有定义int
a[]={10,20,30},*p=&
a;
当执行p++;
后,下列说法错误的是()。
A)p向高地址移了一个字节
B)p向高地址移了4个字节
C)p向高地址移了8个字节
D)p与a+1等价
8.若有定义:
inta[2][3],则对a数组的第m行n列元素地址的正确引用是()。
A)*(a[m]+n)
B)(a+m)
C)*(a+n)
D)a[m]+n
9.若有以下程序:
1.voidmain()
char*a[3]={"
I"
love"
Study"
char**ptr=a;
%c
%s"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 闯关
![提示](https://static.bdocx.com/images/bang_tan.gif)