c语言笔试题库文档格式.docx
- 文档编号:18475243
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:17
- 大小:24.93KB
c语言笔试题库文档格式.docx
《c语言笔试题库文档格式.docx》由会员分享,可在线阅读,更多相关《c语言笔试题库文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
{doublefun(inti,inty);
doublefun(inta,intb)
{……}
6.若有以下函数:
intfun(intx)
{return(1+x*x);
则语句printf("
%d\n"
fun(fun(fun(fun
(1)))));
的输出结果是
答案:
CD2CB677
1.若有以下定义:
floatx;
inta,b,c=2;
则正确的switch语句是()
A)switch(x)
{case1.0∶printf("
*\n"
);
case2.0∶printf("
**\n"
B)switch(int(x))
{case1∶printf("
case2∶printf("
C)
switch(a+b)
case1+2∶printf("
D)switch(a+b)
casec∶printf("
2.执行下面程序片段的结果是()
intx=123;
do
{printf("
=\n"
x--);
}
while(!
x);
A)打印出321
B)打印出123
C)不打印任何内容
D)陷入死循环
3.以下程序的输出结果是()
#include
{inti=0,a=0;
while(i<
20)
{for(;
;
){if((i)==0)break;
elsei--;
i+=11;
a+=i;
}考试通
printf("
%d\n"
a);
A)21B)32C)33D)11
4.下列与表达式“b=(a<
0?
-1∶a>
1∶0)”的功能等价选项是()
A)b=0;
if(a>
=0)
0)b=1;
elseb=-1;
B)if(a>
0)b=1;
elseif(a<
0)b=-1;
elseb=0
C)if(a)
if(a<
0)b=-1;
elseif(a>
elseb=0;
D)b=-1;
if(a)
elseif(a==0)b=0;
5.若有以下定义:
chara;
intb;
floatc;
doubled;
则表达式“a*b+d-c”值的类型为()
A)floatB)intC)charD)double
6.以下叙述中正确的是()
A)在函数中必须要有return语句
B)在函数中可以有多个return语句,但只执行其中的一个
C)return语句中必须要有一个表达式
D)函数值并不总是通过return语句传回调用处
7.有以下程序
floatfun(intx,inty)
{return(x+y);
{inta=2,b=5,c=8;
%3.0f\n"
fun((int)fun(a+c,b),a-c));
程序运行后的输出结果是()
A)编译出错B)9C)21D)9.0
8.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;
其中0≤i≤9,则对a数组元素不正确的引用是()
A)a[p-a]B)*(&
a[i])C)p[i]D)a[10]
9.以下叙述中正确的是()
A)全局变量的作用域一定比局部变量的作用域大
B)静态(static)类型变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
10.若有如下程序:
{chara[][9]={"
china"
"
Japan"
USA"
France"
};
\′%s\′\n"
a[2]);
则程序运行后的输出结果是()
A)′Japan′B)′USA′C)USAD)′inaJapanUSAFrance′
1.C2.B3.B4.B5.D6.B7.B8.D9.B10.B
1.若变量c为char类型,能正确判断出c为小写字母的表达式是()
A)′a′<
=c<
=′z′
B)(c>
=′a′)||(c<
=′z′)
C)(′a′=C)
D)(c>
=′a′)&
&
(c<
2.下面程序的输出结果是()
{intx=2,y=0,z;
x+=3+2;
printf("
%d"
x);
x*=y=z=4;
A)728B)无法计算C)7,4D)8,4
3.有如下程序
{intx=1,a=0,b=0;
switch(x){
case0∶b++;
case1∶a++;
case2∶a++;
b++;
a=%d,b=%d\n"
a,b);
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
4.以下选项中,正确的if-else语句是()
A)if(x!
x)
else
-x);
B)if(x!
{x=x+y;
C)if(x!
x=x+y;
D)if(x!
x)};
5.有以下程序段
intn=0,p;
do{scanf("
p);
n++;
}while(p!
=12345&
n<
3);
此处do-while循环的结束条件是()
A)p的值不等于12345并且n的值小于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或者n的值大于等于3
6.若有如下程序段:
{intn=0;
while(printf("
*"
))
{n++;
if(n<
3)break;
}}
则下列描述正确的是()
A)其中循环控制表达式与0等价
B)其中循环控制表达式与’0’等价
C)其中循环控制表达式是不合法的
D)以上说法都不对
7.C语言中main函数参数的非法表示形式是()
A)main(char*argv[],intargc)
B)main(inta,char**b)
C)main(inty,char*x[])
D)main(intargv,char*argc[])
8.设有如下枚举类型定义:
enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};
枚举类型Fortran的值为()
A)4B)7C)102D)103
9.阅读下述程序段:
y=-1;
http:
//www.E
if(x!
if(x>
0)
y=1;
y=0;
该程序段所描述的数学关系是()
A)y=-1(x<
0(x=0)
1(x>
B)y=1(x<
-1(x>
C)y=0(x<
-1(x=0)
D)y=-1(x<
1(x=0)
0(x>
10.设有数组定义:
chararray[]="
China"
蚴閍rray所占的空间为()
A)4个字节B)5个字节C)6个字节D)7个字节
答案:
1.D2.A3.A4.B5.D6.B7.A8.C9.C10.C
1.有以下程序:
{intx=0xFFFF;
执行后的输出结果是()
A)32767B)FFFEC)-1D)-32768
2.以下程序的输出结果是()
#include
{charstr[12]={′s′,′t′,′r′,′i′,′n′,′g′};
strlen(str));
A)6B)7C)11D)12
3.若有以下定义:
chars[20]="
programming"
*ps=s;
则不能代表字符o的表达式是()
A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps
4.关于语句“for(表达式1;
表达式2;
表达式3)”,下面说法中错误的是()
A)for语句中的三个表达式可以同时省略
B)for语句可以用于循环次数不确定的情况
C)for语句中表达式2只能是关系表达式或逻辑表达式
D)for语句中表达式1和表达式3可以是逗号表达式
5.执行下面程序片段的结果是()
intx=23;
-"
A)打印出321B)打印出23C)不打印任何内容D)陷入死循环
6.与y=(x>
1∶x<
-1∶0);
的功能相同的if语句是()
A)if(x>
0)y=1;
elseif(x<
0)y=-1;
elsey=0;
B)if(x)
if(x>
0)y=1;
0)y=-1;
C)y=-1;
if(x)
elseif(x==0)y=0;
elsey=-1;
D)y=0;
7.标准库函数fgets(s,n,f)的功能是()
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存
8.若有如下函数调用语句:
sub(a,1,fun(b,c),d+c,(a+d,c*f));
则在该函数调用语句中含有实参的个数是()
A)5B)7C)10D)6
9.若要定义a为3×
4的二维数组,正确的定义语句是()
A)floata(3,4);
B)floata[3][4];
C)floata(3)(4);
D)floata[3,4];
10.有以下程序
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0;
for(i=0;
i<
4;
i++)s+=aa[i][1];
s);
A)11B)19C)13D)20
1.C2.A3.A4.C5.B6.A7.B8.A9.B10.B
1.以下程序的输出结果是()
main()
{inta,b,d=241;
a=d/100%9
b=(-1)&
(+1);
%d,%d,a,d"
A)6,1B)2,1C)6,0D)2,0
2.关于if后一对圆括号中的表达式,以下叙述中正确的是()
A)只能用逻辑表达式B)只能用关系表达式C)既可用逻辑表达式也可用关系表达式D)可用任意表达式
3.有以下程序
main()http:
{inta,b;
for(a=1,b=1;
a<
=100;
a++)
{if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
b-=5;
A)7B)8C)9D)10
4.C语言中()
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
5.当a=1、b=3、c=5、d=4时,执行下面一段程序:
if(a if(c else
if(a if(b elsex=3;
elesx=6;
elsex=7;
程序执行后,x的值为()
A)1B)2C)3D)6
6.若x、y、z、m均为int型变量,则执行下面语句后m的值是()
m=1;
x=2;
y=3;
m=(m m=(m m=(m
A)1B)2C)3D)4
7.设有如下的函数
funct(x)
floatx;
{x*=x;
\n%d"
return(x);
则函数的类型()
A)与参数x的类型相同B)voidC)intD)无法确定
8.在C语言中,不适用于局部变量的存储类说明符是()
A)autoB)registerC)staticD)extern
9.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;
{inti,j=0;
for(i=1;
5;
i++)j+=f(i);
j);
A)15B)10C)6D)3
intb=2;
intfunc(int*a)
{b+=*a;
return(b);
{inta=2,res=2;
res+=func(&
a);
res);
A)4B)6C)8D)10
1.B2.D3.B4.D5.B6.A7.C8.D9.B10.B
1.下面叙述正确的是()
A)define和auto都不能定义为用户标识符
B)可以把define和auto定义为用户标识符
C)可以把define定义为用户标识符,但auto是C语言的关键字
D)可以把auto定义为用户标识符,但define是C语言的关键字
2.以下的for循环()
for(x=0,y=0;
(y!
=123)&
(x<
4);
x++)
A)是无限循环B)循环次数不定C)执行4次D)执行3次
3.下述对C语言字符数组的描述中错误的是()
A)字符数组可以存放字符串
B)字符数组中的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
4.设有定义:
inta,*p=&
a,**pp=&
p;
则与a=100;
等价的语句为()
A)**p=100;
B)**pp=100;
C)&
*p=100;
D)*pp=10;
5.有以下程序
intx=3;
do{printf("
x-=2);
}while(!
(--x));
A)1B)30C)1-2D)死循环
6.执行下面程序的正确结果是()
main()中华考试网
{floata=1.9;
switch(a)
{case0∶printf("
0000"
case1∶printf("
1111"
case2∶printf("
3333"
%f"
A)1.900000B)111133331.900000C)33331.900000D)00001111233331.900000
7.对下述程序,正确的判断是()
{inta,b;
scanf("
%d,%d"
a,&
b);
b)a=b;
b=a;
elsea++;
A)有语法错误不能通过编译B)若输入4,5则输出5,6C)若输入5,4则输出4,5D)若输入5,4则输出5,5
8.若有如下程序:
sub(intn)
{intt;
if(n==1)returnt=5;
elset=sub(n-1)+3;
returnt;
{printf("
sub(5));
A)17B)18C)19D)20
9.下面各被调用函数首部书写正确的是()
A)voidsub(floatx;
floaty);
B)voidsub(floatx,y)
C)voidsub(floatx,floaty)
D)voidsub(floatx,floaty);
10.设有如下程序:
#include"
string.h"
{staticchars1[20],s2[20];
%s"
s1);
scanf("
s2);
if(strcmp(s1,s2))printf("
@"
elseprintf("
$"
strlen(strcat(s1,s2)));
如果从键盘上输入name<
回车>
name1<
,则程序运行后的输出结果是()
A)$8B)@10C)$9D)@9
1.C2.C3.C4.B5.C6.B7.A8.A9.C10.D
1.以下程序运行后,输出结果是()
ss(char*s)
{char*p=s;
while(*p)p++;
return(p-s);
{char*a="
abded"
inti;
i=ss(a);
i);
A)8B)7C)6D)5
2.若有如下程序:
intsub()
{staticintn=1;
intx=1;
x*=n;
returnx;
{intn,t=1;
for(n=1;
6;
n++)t*=sub();
t);
A)15B)120C)34560D)-30976
3.在C语言中,函数的隐含存储类别是()
A)staticB)autoC)externD)register
4.有以下程序:
intf1(doublea)
{returna*a;
intf2(doublex,doubley)
{doublea,b;
a=f1(x);
b=f1(y);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 笔试 题库