c语言模拟题目第十九套.docx
《c语言模拟题目第十九套.docx》由会员分享,可在线阅读,更多相关《c语言模拟题目第十九套.docx(18页珍藏版)》请在冰豆网上搜索。
c语言模拟题目第十九套
第十九套
对于赋值语句charcx='\037';判断正确的是:
().
A、cx的值是四个字符
B、不合法,不能赋值
C、cx的值是三个字符
D、cx的值是一个字符
【参考答案】错误
D
【学生答案】
[未答此题]
根据下面的程序,正确的输出形式是();
#include"stdio.h"
voidmain()
{
inti=5,j=10;
printf("i=%d,",i);
printf("j=%d",j);
}
A、i=5,j=10
B、10,5
C、5,10
D、i=5Uj=10
【参考答案】错误
A
【学生答案】
[未答此题]
执行下面程序段后,k的值是:
()
intk=2;
switch(k+1)
{case3:
k+=1;
case4:
k--;break;
case5:
k*=3;
case6:
++k;
}
A、10
B、2
C、28
D、27
【参考答案】错误
B
【学生答案】
[未答此题]
假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1)x--;
elseif(k2)x=4;
elsex=3;
A、4
B、15
C、3
D、14
【参考答案】错误
A
【学生答案】
[未答此题]
有以下程序段
intn=0,p;
do
{
scanf("%d",&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
【参考答案】错误
A
【学生答案】
[未答此题]
以下能计算1+2+3+┈+10的程序段是().
A、do{i=1;s=0;s=s+i;i++;}while(i<=10);
B、i=1;s=0;while(i<=10){s=s+i;i++;}
C、i=1;s=0;do{s=s+i;i++;}while(i>=10);
D、i=1;s=0;while(i>=10){s=s+i;i++;}
【参考答案】错误
B
【学生答案】
[未答此题]
若chara[10];已正确定义,以下语句中不能从键盘上给a数组的
所有元素输入值的语句是()。
A、for(i=0;i<10;i++)a[i]=getchar();
B、scanf("%s",a);
C、gets(a);
D、a=getchar();
【参考答案】错误
D
【学生答案】
[未答此题]
在C语言中,变量的隐含存储类别是()。
A、无存储类别
B、auto
C、static
D、extern
【参考答案】错误
D
【学生答案】
[未答此题]
以下叙述中正确的是()。
A、宏替换不占用运行时间,只占编译时间
B、使用带参数的宏时,参数的类型应与宏定义时的一致
C、在程序的一行上可以出现多个有效的预处理命令行
D、在以下定义中CR是称为"宏名"的标识符#defineCR045
【参考答案】错误
A
【学生答案】
[未答此题]
下列程序的输出结果是().
#include"stdio.h"
sub(intx,inty,int*z)
{*z=y-x;}
main()
{inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d",a,b,c);
}
A、-5,-12,-7
B、5,-2,-7
C、5,2,3
D、-5,-12,-17
【参考答案】错误
A
【学生答案】
[未答此题]
C语言本身没有输入输出语句
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
在C程序中,逗号运算符的优先级最低
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
设g=1,h=2,k=3,则逻辑表达式k+g||!
h&&k-h的值为0
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
while循环的循环体至少执行一次,而不论while表达式的值是"真"或"假".
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
循环体如果包含一个以上的语句,应该用圆括号括起来,以复合语句形式出现.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
C语言中数组元素的方括号不可以用花括号代替.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
inti,*p=&i;是正确的C说明。
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
使几个不同的变量共占同一段内存的结构,称为"结构体"类型.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
intx=2;z=++x+1;则z的值为_____.
【空1】错误
【学生答案】
[无]
【参考答案】
4
============================================================
当a=1,b=2,c=3时,执行以下程序段后b=_____.if(a>c)b=a;a=c;c=b;
【空1】错误
【学生答案】
[无]
【参考答案】
2
============================================================
以下do-while语句中循环体的执行次数是_____.
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);
【空1】错误
【学生答案】
[无]
【参考答案】
3
============================================================
定义inta[2][3];表示数组a中的元素个数是_____个.
【空1】错误
【学生答案】
[无]
【参考答案】
6
============================================================
若有以下数组aa[10],其值为941282107513该数组的元素中,数值最大的元素的下标值是_____.
【空1】错误
【学生答案】
[无]
【参考答案】
2
============================================================
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
从键盘为一维整型数组输入10个整数,调用fun
函数找出其中最小的数,并在main函数中输出。
请编写fun函数。
注意:
请在Begin和End注释行之间填写代码,
所有注释语句都不能删除。
-------------------------------------------------*/
#include"stdio.h"
intfun(intx[],intn)
{
/*********Begin**********/
/**********End**********/
}
voidmain()
{
voidTestFunc();
inta[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
min=fun(a,10);
printf("%d\n",min);
TestFunc();
}
voidTestFunc()
{
FILE*IN,*OUT;
intiIN[10],i;
intiOUT,iCOUNT;
IN=fopen("4.in","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
}
OUT=fopen("4.out","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
}
for(i=0;i<10;i++)
{
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%d",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
【参考代码】
intmin,i;
min=x[0];
for(i=1;iif(x[i]returnmin;
===============
【考生代码】
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
计算数组元素中值为正数的平均值(不包括0)。
例如:
数组中元素的值依次为39,-47,21,2,-8,15,0,
则程序的运行结果为19.250000。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include"stdio.h"
doublefun(ints[])
{
/**********ERROR**********/
intsum=0.0;
intc=0,i=0;
/**********ERROR**********/
while(s[i]=0)
{
if(s[i]>0)
{
sum+=s[i];
c++;
}
i++;
}
/**********ERROR**********/
sum\=c;
/**********ERROR**********/
returnc;
}
main()
{
intx[1000];inti=0;
do
{
scanf("%d",&x[i]);}
while(x[i++]!
=0);
printf("%f\n",fun(x));
}
【改错1】错误
【学生答案】
intsum=0.0;
【参考答案】
doublesum=0.0;
doublesum=0;
============================================================
【改错2】错误
【学生答案】
while(s[i]=0)
【参考答案】
while(s[i]!
=0)
while(!
s[i]==0)
while(!
0==s[i])
while(s[i])
============================================================
【改错3】错误
【学生答案】
sum\=c;
【参考答案】
sum/=c;
sum=sum/c;
============================================================
【改错4】错误
【学生答案】
returnc;
【参考答案】
returnsum;
return(sum);
============================================================
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
编程求任意给定的n个数中的奇数的连乘积,偶数的平方和
以及0的个数,n通过scanf()函数输入。
---------------------------------------------------------
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得
出正确的结果。
注意:
不得增行或删行,也不得更改程序的结构!
-------------------------------------------------------*/
#include"stdio.h"
voidmain()
{
intr=1,s=0,t=0,n,a,i;
printf("n=");scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("a=");
/***********FILL***********/
scanf("%d",_____);
/***********FILL***********/
if(_____!
=0)
/***********FILL***********/
_____=a;
elseif(a!
=0)
/***********FILL***********/
s+=_____;
else
t++;
}
printf("r=%d,s=%d,t=%d\n",r,s,t);
}
【空1】错误
【学生答案】
scanf("%d",_____);
【参考答案】
&a
============================================================
【空2】错误
【学生答案】
if(_____!
=0)
【参考答案】
a%2
============================================================
【空3】错误
【学生答案】
_____=a;
【参考答案】
r*
============================================================
【空4】错误
【学生答案】
s+=_____;
【参考答案】
a*a
============================================================