南京信息工程大学C语言题库.docx
《南京信息工程大学C语言题库.docx》由会员分享,可在线阅读,更多相关《南京信息工程大学C语言题库.docx(168页珍藏版)》请在冰豆网上搜索。
![南京信息工程大学C语言题库.docx](https://file1.bdocx.com/fileroot1/2023-5/26/9a31b15d-d708-49fd-bb9d-4a466bebd1b1/9a31b15d-d708-49fd-bb9d-4a466bebd1b11.gif)
南京信息工程大学C语言题库
单项选择题号:
13167以下叙述中正确的是()。
A程序设计的任务就是确定所用算法
B、程序设计的任务就是确定所用数据结构
C顺序,转移,选择程序设计的任务就是编写程序代码并上机调试
D以上三种说法都不完整
答案:
D
题号:
13162
计算机能直接执行的程序是()
A、可执行程序
B、源程序
C、汇编程序
D目标程序
答案:
A
题号:
13171下列叙述中正确的是()
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
Cmain可作为用户标识符,用以命名任意一个函数作为主函数
DC语言程序将从源程序中第一个函数开始执行
答案:
A
题号:
13165
在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性
B、正当性C可行性D有穷性答案:
A
题号:
13164
以下叙述中正确的是()。
A用C语言编写的程序只能放在一个程序文件中
B、'扶;厂丁」门计;..•:
仁;,汁二;二二
C二二—.:
节沆一I-qi-lI
D⅛,⅛-■■-—•—-一;一
答案:
D
题号:
13169
下列叙述中正确的是()。
A、在C程序中main()函数的位置是固定的
B、每个C程序文件中都必须要有一个main()函数
C、C程序中所有函数之间都可以相互调用,与函数所处位置无关
D在C程序的函数中不能定义另一个函数
答案:
D
题号:
13191
设有以下程序段:
intm=0,n=0;Charc='a';
SCanf("%d%c%d"&m&c,&n);
Printf("%d,%c%d\n",mC,n);
若从键盘上输入"10A9"(为回车),则输出结果是()
A、10,a,9
B、10,A,0
C、10,A,9
D10,a,0
答案:
C
题号:
13183
若有以下程序段,其输出结果是()
inta=0,b=0,c=0;
C=(a-=a-5),(a=b,b+3);
Printf("%d,%d%d\n"a,b,C);
A、3,3,-10
B、0,0,5
C、-10,3,-10
D、0,0,-10答案:
B
题号:
13189以下程序段的输出结果是()floata=3.1415;
Printf("I%6.0f∣∖n",a);
A、|3.∣
B、I3.1415I
C、|3.0∣
D∣3∣
答案:
题号:
13186
设X和y均为int型变量,则语句:
x+=y;y=x-y;x-=y
的功能是()。
A、把X和y按从大到小排列
B、把X和y按从小到大排列
C、交换X和y中的值
D无确定结果
答案:
C
题号:
13177
设有定义:
intX=10;,则表达式"X+(char)1/2.0"值的类型是()
A、double
B、unsigned
C、float
D、int
答案:
A
题号:
13179
若X和y都是int型变量,且x=10,y=20,则执行Printf("%d∖n",x,y);语句后,输出的结果是()。
A输出格式符不够,输出不确定的值
B、20
C、1020
D、10
答案:
D
题号:
13195以下程序段的运行结果是()。
inta=-5,b=5;
Printf(a>b?
"a=%d":
"b=%d",a,b)
A、没有正确的输出格式控制
B、a=-5b=5
C、a=-5
D、b=-5
答案:
D
题号:
13199下面的程序,说法正确的是()
main()
{intx=3,y=0,z=0;
if(x=y+z)Printf("****")elsePrintf("####");
}
A可以通过编译,但是不能通过连接,因而不能运行
B、有语法错误不能通过编译
C输出****
D输出####
答案:
D
题号:
13198
有如下程序
main()
{intx=l,a=0,b=0;
case0
case1
case2
:
b++:
:
a++:
:
a++;b++;
}
printf("a=
%d,
b=%d∖n",a,
switch(x)
{
}
该程序的输出结果是
b);
A、
a=2,b=1
B、
a=1,b=1
C、
a=1,b=0
D、
a=2,b=2
答案:
A
题号:
13196
)组成配对关
为了避免嵌套的if-else语句的二义性,C语言规定else总是与(系
A、在其之前未配对的if
B、缩排位置相同的if
C同一行上的if
D在其之前最近的未配对的if
答案:
D
题号:
13192有如下程序voidmain()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);}
该程序的输出结果是
A、
a=1,b=1
B、
a=2,b=2
C、
a=2,b=1
D、
a=1,b=0
答案:
C
题号:
13194
下列只有当整数X为偶数时,才是逻辑"真"的表达式是()
A、x%2!
=0
B、(X-X/2*2)==0
C、!
(X%2==0)
D、if(X%2);答案:
B
题号:
13193
假定所有变量均已正确说明,下列程序段运行后X的值是()
inta=0;b=0;c=0;X=30;
if(!
a)
X--;
else
if(b)
X++;
if(c)
X=X-3;
else
X+=4;
A、4
B、33
C、30
D、3答案:
B
题号:
13197下列条件语句中,功能与其他语句不同的是()
A、if(a!
=0)printf("%d\n",X);elseprintf("%d\n",y);
B、if(a)printf("%d\n",X);elseprintf("%d\n",y);
C、if(a==0)printf("%d\n",X);elseprintf("%d\n",y);
Dif(a=
答案:
=0)printf("%d\n",y);elseprintf("%d\n",x);
C
填空题题号:
12987
一个G源程序中至少应包括一个答案:
空1:
main函数
题号:
12990
C语言源程序文件名的后缀是经过编译产生的目标文件的后缀是
;经过连接生成的可执行文件的后缀是。
答案:
空1:
.c空2:
.obj空3:
.exe
题号:
13035
在C程序中,最多能有个main函数
答案:
空1:
1
题号:
13044
已知字符'A'的ASeIl码值是65,字符变量Cl的值是'A',c2的值是D。
执行语句printf("%d,%d",c1,c2-2);后,输出的结果是。
答案:
空1:
65,66
题号:
12994有以下程序
#include
main()
{
chara[20]="Howareyou?
",b[20];scanf("%s",b);printf("%s%s\n",a,b);
}
程序运行时从键盘输入:
Howareyou?
<回车>则输出结果为。
答案:
空1:
Howareyou?
How
题号:
13043
设a=4,b=5,x=3.5,y=4,则以下两个表达式的值分别是
(1)
(2)
(1)x+a%3+(int)(x+y)%2/4
(2)(float)(a+b)/2+(int)x%(int)y答案:
空1:
4.5
空2:
7.5
题号:
13049执行下列程序段后,变量i的值是(inti=10:
switch(i){
case9:
i+=0;case10:
i+=1;case11:
i+=2;default:
i+=3;
答案:
空1:
16
题号:
12997
下列程序的功能是输出a、b、c三个变量中的最小值。
请填空#include
main()
{inta,b,c,t1,t2;
scanf("%d%d%d",&a,&b,&c);
t1=a
;
t2=c;
printf("%d\n",t2);
}
答案:
空1:
a:
b
空2:
c:
t1
题号:
13000若变量已正确定义,有以下程序段inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!
=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是。
答案:
空1:
3,5,3
题号:
13047
语句:
Printf(“%d”,(a=2)&&(b=-2));的输出结果是。
答案:
空1:
1
程序设计题号:
12967
/*
输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。
已知三角形
的三边长a,b,c,其中S=(a+b+c)∕2。
则该三角形的面积公式为:
ar&a--d)(s-⅛)⅛~c^}
*/#include#includevoidmain()
{
floata,b,c,s,area;
SCanf("%f,%f,%f",&a,&b,&c);
Begin
end
Printf("a=%7.2f,b=7.2f,c=7.2f,s=%7.2f\n",a,b,c,s);
Printf("area=%7.2f\n",area);
TeStFUnc();
}
voidTeStFUnCo
{
FlLE*IN,*OUT;
CharsIN[80];
intiOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
}for(i=0;i<10;i++)
{
fscanf(IN,"%s",sIN);iOUT=fun(sIN);
}fprintf(OUT,"%d\n",iOUT);fclose(IN);
fclose(OUT);
}
示例代码:
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
程序填空
题号:
13288
/*
功能:
大小写字母的转换。
*/#includevoidmain(){
charc1,c2;c1='b';c2='B';
FILL*
c1=;/*的ASCIl码值为98,减去32得'B'的ASCIl码值*/
FILL*
c2=;∕*'B'的ASCII码值为66,加上32得'b'的ASCII码值*/printf("%c,%c",c1,c2);
}
答案:
位置1:
c1-32位置2:
c1+32
单项选择题号:
13170
C语言源程序名的后缀是()
A、.c
B、.obj
C、.exe
D、.cpp
答案:
A
题号:
13167以下叙述中正确的是()。
A程序设计的任务就是确定所用算法
B、程序设计的任务就是确定所用数据结构
C顺序,转移,选择程序设计的任务就是编写程序代码并上机调试
D以上三种说法都不完整
答案:
D
题号:
13159以下叙述错误的是()。
A—个C语言程序只能实现一种算法
B、C程序可以由多个程序文件组成
CC程序可以由一个或多个函数组成
D—个C函数可以单独作为一个C程序文件存在答案:
A
题号:
13160以下叙述正确的是()。
A注释说明只能位于一条语句的后面
B在编译时不能发现注释中的拼写错误
C、main()必须是程序的第一行
DC程序每一行只能写一条语句
答案:
B
题号:
13166以下关于结构化程序设计的叙述中正确的是()。
A、由三种基本结构构成的程序只能解决小规模的问题
B、结构化程序使用goto语句会很便捷
C在C语言中,程序的模块化是利用函数实现的
D—个结构化程序必须同时由顺序、分支、循环三种结构组成答案:
C
题号:
13168下列关于函数的叙述中正确的是()
A每个函数都可以被单独编译
B每个函数都可以被其他函数调用(包括main函数)
C在一个函数内部可以定义另一个函数
D每个函数都可以单独运行
答案:
A
题号:
13184设有如下程序段:
intx=2012,y=2013;
printf("%d\n",(x,y));
则以下叙述正确的是()。
A输出值为2013
B、运行时产生出错信息
C输出值为2012
D输出语句中格式说明符的个数少于输出项的个数,不能正确输出
答案:
A
题号:
13173
可在C语言中用做用户标识符的一组是()
A、greenvoid2weFoR
B、ef-erprintused&wesjhd
C、_nameSIGforUI*sd
D、inTwordipadid_ds答案:
D
题号:
13174
C语言中最简单的数据类型包括()
A、实型、字符型、逻辑型
B整型、实型、逻辑型
C整型、字符型、逻辑型
D整型、实型、字符型答案:
D
题号:
13190
从键盘输入"XZ",("Z"表示回车),不能输出X的语句段是()
A、c=getchar();putchar(c);
B、putchar(getchar());
C、getchar(C);putchar(c);
D、scanf("%c",&c);printf("%c",c);答案:
C
题号:
13191设有以下程序段:
intm=0,n=0;charc='a';scanf("%d%c%d,"&m,&c,&n);printf("%d,%c,%d\n",m,c,n);
若从键盘上输入"10A9"(为回车),则输出结果是()
A、10,a,9
B、10,A,0
C、10,A,9
D、10,a,0答案:
C题号:
13183若有以下程序段,其输出结果是()inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n"a,b,c);
A、
3,3,-10
B、
0,0,5
C、
-10,3,-10
D、
0,0,-10
答案:
B
题号:
13195以下程序段的运行结果是()。
inta=-5,b=5;
printf(a>b?
"a=%d":
"b=%d",a,b)
A、没有正确的输出格式控制
B、a=-5b=5
C、a=-5
D、b=-5
答案:
D
题号:
13194
下列只有当整数X为偶数时,才是逻辑"真"的表达式是()
A、x%2!
=0
B、(X-X/2*2)==0
C、!
(X%2==0)
D、if(X%2);答案:
B
题号:
13197下列条件语句中,功能与其他语句不同的是()
A、if(a!
=0)printf("%d\n",X);elseprintf("%d\n",y);
B、if(a)printf("%d\n",X);elseprintf("%d\n",y);
C、if(a==0)printf("%d\n",X);elseprintf("%d\n",y);
D、if(a==0)printf("%d\n",y);elseprintf("%d\n",X);答案:
题号:
13192有如下程序voidmain(){intx=1,a=0,b=0;switch(x){case0:
b++;case1:
a++;case2:
a++;b++;
}printf("a=%d,b=%d\n",a,b);
}该程序的输出结果是
A、a=1,b=1
B、a=2,b=2
C、a=2,b=1
D、a=1,b=0答案:
C
题号:
13198
有如下程序
main()
{intx=l,a=0,b=0;switch(x)
{
case0:
b++:
case1:
a++:
case2:
a++;b++;
}printf("a=
%d,b=%d∖n",a,b);
}
该程序的输出结果是
A、
a=2,b=1
B、
a=1,b=1
C、
a=1,b=0
D、
a=2,b=2
答案:
A
题号:
13196
为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系
A、在其之前未配对的if
B、缩排位置相同的if
C同一行上的if
D在其之前最近的未配对的if
答案:
D
题号:
13199下面的程序,说法正确的是()
main()
{intx=3,y=0,z=0;
if(x=y+z)printf("****")elseprintf("####");
}
A可以通过编译,但是不能通过连接,因而不能运行
B、有语法错误不能通过编译
C、输出****
D输出####
答案:
D
题号:
13193
假定所有变量均已正确说明,下列程序段运行后X的值是()
inta=0;b=0;c=0;x=30;
if(!
a)
X--;
else
if(b)
X++;
if(c)
X=X-3;
else
X+=4;
A、4
B、33
C、30
D、3答案:
B
填空题题号:
12968
C源程序的基本单位是。
答案:
空1:
函数
和输入、输出(拥有足
题号:
13036算法的基本特征主要包括可行性、确定性、够的情报)。
答案:
空1:
有穷性
题号:
12990
C语言源程序文件名的后缀是经过编译产生的目标文件的后缀是
;经过连接生成的可执行文件的后缀是。
答案:
空1:
.c空2:
.obj空3:
.exe
题号:
13042
表达式3.6-5/2+1.2+5%2的值是
答案:
空1:
3.8
题号:
12995
下列程序运行后的输出结果是
main()
{intx=0210;printf("%X\n",x);
}
答案:
空1:
88
题号:
12994有以下程序
#include
main()
{
chara[20]="Howareyou?
",b[20];scanf("%s",b);printf("%s%s\n",a,b);
}
程序运行时从键盘输入:
Howareyou?
<回车>则输出结果为。
答案:
空1:
Howareyou?
How
题号:
13045
X的值为C
当a=1,b=3,c=5,d=4时,执行下面一段程序后,if(a
if(celse
if(aelsex=40elsex=7;
答案:
空1:
20
题号:
13048以下程序的输出结果是()。
main(){inta=-1,b=1,c;
c=(++a<0)&&!
(b--<=0);
Printf(“c=%d,a=%d,b=%d∖n”,C,a,B.;
}
答案:
空1:
c=0,a=0,b=1
题号:
12997
下列程序的功能是输出a、b、c三个变量中的最小值。
请填空#include
main(){inta,b,c,t1,t2;scanf("%d%d%d",&a,&b,&c);
t1=a
;
t2=c;
Printf("%d\n",t2);
}
答案:
空1:
a:
b空2:
c:
t1
题号:
12998
b;(此处C的初值为空格字符),执行b=!
c
已有定义:
Charc='';inta=1,
&&a;后b的值为
答案:
空1:
0
程序设计题号:
12967
/*
输入三角形的三边长a,b,c分别为3.1,4.2,5,3;求三角形面积。
已知三角形
的三边长a,b,c,其中S=(a+b+c)∕2。
则该三角形的面积公式为:
arsa-JE(S-O)(S-b)@-CO
*/#include
#includevoidmain()
{
floata,b,c,s,area;
SCanf("%f,%f,%f",&a,&b,&c);
Begin
end
Printf("a=%7.2f,b=7.2f,c=7.2f,s=%7.2f\n",a,b,c,s);
Printf("area=%7.2f\n",area);
TeStFUnc();
}
voidTeStFUnCo
{
FlLE*IN,*OUT;
CharsIN[80];
intiOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");