C本科E方案截图及样卷Word文档格式.docx
《C本科E方案截图及样卷Word文档格式.docx》由会员分享,可在线阅读,更多相关《C本科E方案截图及样卷Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
1,2,3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。
A、scanf("
%d%d%d"
&
i,&
j,&
k);
B、scanf("
%d,%d,%d"
i,j,k);
C、scanf("
i=%d,j=%d,k=%d"
D、scanf("
D
4、设x、y、t均为int型变量,则执行语句:
x=y=3;
t=++x||++y;
后,y的值为______。
A、不定值B、3C、4D、1
参考答案:
B
5、以下程序的输出结果是_______。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
}
case2:
printf("
%d,%d\n"
a,b);
}
A、2,1B、2,2C、21D、1,1
6、若执行下面的程序时从键盘上输入3和4,
{inta,b,s;
scanf("
%d%d"
a,&
b);
s=a;
if(a<
b)s=b;
s=s*s;
%d\n"
s);
则输出是______。
A、9
B、16
C、20
D、18
7、有如下程序
main()
{intn=10;
while(n>
6){n--;
%d"
n);
该程序段的输出结果是______。
A、6789B、9876C、8765D、987
8、t为int类型,进入下面的循环之前,t的值为0,
while(t=1)
{......}
则以下叙述中正确的是______。
A、循环控制表达式的值为1B、循环控制表达式不合法
C、以上说法都不对D、循环控制表达式的值为0
9、有以下程序
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case1:
printf("
i);
case2:
default:
执行后输出的结果是______。
A、011122B、120C、012020D、012
10、下面程序的输出是______。
intm=13;
intfun2(intx,inty)
{intm=3;
return(x*y-m);
{inta=7,b=5;
fun2(a,b)/m);
A、10B、2C、7D、1
11、以下程序结果为:
______。
voidadd()
{staticintx=3;
x++;
x);
add();
A、456B、555C、444D、345
12、有如下程序
{inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;
for(i=0;
i<
3;
i++)
for(j=0;
j<
=1;
j++)
s+=a[i][j]];
该程序的输出结果是______。
A、19B、18C、20D、21
13、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。
voidsort(inta[],intn)
{inti,j,t;
n-1;
for(j=i+1;
j<
n;
j++)
if(a[i]<
a[j]){t=a[i];
a[i]=a[j];
a[j]=t;
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&
aa[3],5);
10;
i++)printf("
%d,"
aa[i]);
程序运行后的输出结果是______。
A、1,2,3,8,7,6,5,4,9,10,B、10,9,8,7,6,5,4,3,2,1,
C、1,2,3,4,5,6,7,8,9,10,D、1,2,10,9,8,7,6,5,4,3,
14、设有以下语句,其中不是对a数组元素的正确引用的是:
______(其中0≤i<
6)
inta[6]={11,22,33,44,55,66},*m=a;
A、*(&
a[i])
B、&
(*(a+i))
C、m[i]
D、a[i]
15、若有定义inta[]={10,20,30},*p=a;
,当执行p++;
后,下列说法错误的是______。
A、p向高地址移了一个存储单元B、p向高地址移了一个字节
C、p向高地址移了四个字节D、p与a+1等价
16、有以下程序
{chars[]="
Yes\n/No"
*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
A、/NO
Yes
/NoB、/No
YesC、n/No
/NoD、
/No
17、有以下程序
{inta[3][3],*p,i;
p=&
a[0][0];
9;
i++)p[i]=i+1;
a[1][2]);
A、9B、6C、3D、2
18、有如下定义
structperson{charname[9];
intage;
};
structpersonclass[10]={"
John"
17,
"
Paul"
19,
Mary"
18,
Adam"
16,};
根据上述定义,能输出字母P的语句是______。
A、printf("
%c\n"
class[1].name[0]);
B、printf("
class[2].name[1]);
C、printf("
class[1].name[1]);
D、printf("
class[2].name);
19、设有如下定义:
structss
{charname[10];
intage;
charsex;
}std[3],*p=std;
下面各输入语句中错误的是______。
%c"
(p->
sex));
%s"
std.name);
std[0].sex);
(*p).age);
20、已有文本文件t.txt,其中的内容为:
liaoningshenyang!
。
以下程序中,文件t.txt已正确为"
读"
而打开,由文件指针fr指向该文件,则程序的输出结果是___________。
#include<
{FILE*fr;
chars[80];
……
fgets(s,6,fr);
%s\n"
fclose(fr);
A、liaoniB、liaoningshenyang
C、liaonD、shenyang
二、填空题(每题2分,共30分)
1、在C语言中,假使X为单精度实型变量,如果我们采用printf("
格式控制"
,X)格式输出X,那么"
具体表示为"
__"
1:
%f
2、执行下列程序段后,输出的a的值是_____________。
{inta=0;
switch(a)
{case0:
a--;
break;
case1:
a++;
a=a+5;
break}
printf("%d",a);
-1
3、执行下列的程序段后,正确的结果是_____________。
intt=2;
while(t=8)
t--;
printf("%d",t);
无限循环#死循环
4、下列程序段的运行结果是_____。
{inti=1,s=0;
for(;
;
)
{s=s+i;
i++;
if(i>
4)break;
10
5、下列程序段的运行结果是_____。
#defineMAX(x,y)x>
y?
x:
y
{inta,b,max;
a=5,b=6;
max=MAX(a,b);
max=%d\n"
max);
max=6
6、下列程序段的运行结果是_____。
{inta=5,b=6,c;
intadd(int,int);
c=add(a,b);
c);
intadd(intx,inty)
{intz;
z=x+y;
returnz;
11
7、在C语言中,数组元素的下标从__________开始的。
0#零
8、以下程序的运行结果是_____________。
{intk,s,a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
s=0;
for(k=0;
k<
4;
k++)
s=s+a[k][k];
printf("%d,",a[k][k]);
34#34,#34,
9、若有"
inta[3][2]={{1,2},{3},{4,5}};
,则a[0][1]的值是_____。
10、已知charstr[]="student",则strlen(str)的值为_____。
7
11、下列程序段的运行结果是_____。
floatm[5]={10,20,30,40,50},*t;
t=m;
%f"
*(t=t+1));
20.000000#20.0
12、下列程序段的运行结果是_____。
structstudent
{longnum;
charname[20];
floatscore;
}a={1021103,"
jiangping"
'
M'
85.5};
{printf("
%ld\n"
a.num);
1021103
13、"
空"
指针值用______表示
NULL#0
14、共用体类型变量的定义关键字是________。
union
15、字符读写函数____________是用于把一个字符写入磁盘文件。
fputc#fputc()#putc#putc()
三、是非题(每题0.5分,共10分)
1、C语言本身没有输入、输出语句。
是
0.5
2、C程序是由函数构成的,其中可以有一个或多个主函数main()。
否
3、C程序中的变量就是在程序的执行过程中值可以被改变的量。
4、i++表示在使用该表达式值之后将i值加1。
5、C程序中else语句可以单独存在。
6、break语句不能跳出多层循环。
7、C程序中如果对一维数组的全部元素都赋初值,则定义数组时必须指定数组长度。
是参考答案:
8、一个函数中可以有多个return语句,当执行到某个return语句时,程序的控制流程返回到调用该函数的地方,并将return语句中表达式的值作为函数值带回。
9、结构体的各个成员各自占用自己的存储单元,各有自己的地址,各个成员所占的存储单元的总和一般就是结构体的长度。
0.5题分:
10、C语言中浮点型常量指数表示形式中,e或E后面的指数部分可以是非整数。
11、C语言中sizeof是函数,而不是运算符。
12、C语言对文件读、写之前必须先打开文件,在使用文件之后应关闭该文件。
13、C语言中不相同类型的指针变量也可以相互赋值。
否参考答案:
14、在一定范围内,字符型数据也可以像整型数据那样使用。
15、实型常量分为float型和double型。
16、强制类型转换时,原来变量的类型会发生改变。
17、用scanf()函数输入实型数时,既可以指定宽度,又可以规定精度。
18、对于一个具体的函数来说,实参与形参必须一一对应。
19、局部静态变量在函数内定义,函数调用结束时,它的生存期就结束了。
20、对字符数组进行初始化时,如果初值个数小于数组长度,则系统报错。
四、C程序设计(每题10分,共20分)
1、给定程序modi.c中函数fun的功能是:
计算n!
例如,给n输入5,则输出120.000000。
请改正程序中的错误,使程序能输出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
参考答案:
略
2、函数fun的功能是:
将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的百位和千位上,b数的十位和个位数依次放在c数的个位和十位上。
例如,当a=45,b=12。
调用该函数后,c=5421。
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。