c语言模拟题目第七套.docx
《c语言模拟题目第七套.docx》由会员分享,可在线阅读,更多相关《c语言模拟题目第七套.docx(18页珍藏版)》请在冰豆网上搜索。
c语言模拟题目第七套
第七套
在C语言中,要求运算对象必须是整型的运算符是()。
A、++
B、%
C、!
=
D、/
【参考答案】错误
B
【学生答案】
[未答此题]
打印语句printf("sTUDEND\bT\rS");在屏幕上正确的输出形式是().
A、sTUDENDS
B、TUDENTS
C、STUDENT
D、sTUDENTS
【参考答案】错误
C
【学生答案】
[未答此题]
在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式()。
A、只能用逻辑表达式或关系表达式
B、只能用关系表达式
C、可用任意表达式
D、只能用逻辑表达式
【参考答案】错误
C
【学生答案】
[未答此题]
C语言的switch语句中case后()。
A、可为任何量或表达式
B、可为常量或表达式或有确定值的变量及表达式
C、只能为常量或常量表达式
D、只能为常量
【参考答案】错误
C
【学生答案】
[未答此题]
t为int类型,进人下面的循环之前,t的值为0
while(t=1)
{……}
则以下叙述中正确的是()。
A、循环控制表达式的值为0
B、循环控制表达式不合法
C、循环控制表达式的值为1
D、以上说法都不对
【参考答案】错误
C
【学生答案】
[未答此题]
下面有关for循环的正确描述是()。
A、for循环是先执行循环体语句,后判断表达式
B、在for循环中,不能用break语句跳出循环体
C、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
D、for循环只能用于循环次数已经确定的情况
【参考答案】错误
C
【学生答案】
[未答此题]
chara[]="Thisisaprogram.";输出前5个字符的语句是()。
A、puts(a);
B、printf("%5s",a);
C、printf("%s",a);
D、a[5*2]=0;puts(a);
【参考答案】错误
B
【学生答案】
[未答此题]
下列说法中错误的是()。
A、如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值
B、一个数组只允许存储同种类型的变量
C、数组的名称其实是数组在内存中的首地址
D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改
【参考答案】错误
A
【学生答案】
[未答此题]
下列形式,不属于编译预处理命令的是().
A、#ifdefM
B、#undefM
C、#if(M>1)
D、while(M>1)
【参考答案】错误
D
【学生答案】
[未答此题]
设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,
则不能正确执行的语句是().
A、p1=p2;
B、k=*p1*(*p2);
C、p2=k;
D、k=*p1-*p2;
【参考答案】错误
C
【学生答案】
[未答此题]
一个C程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
整型变量在可输出字符范围内,可以和字符型数据相互转化.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
设f=1,m=2,n=3,则逻辑表达式!
(f==n)&&(f==m)&&0的值为0.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
do-while循环由do开始,while结束,循环体可能一次也不做。
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
因为程序包含循环结构,所以程序算法可以包含无限的操作步骤.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
对静态数组的初始化是在编译阶段完成的.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
若一个函数中没有return语句,则意味着该函数没有返回值.
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
若有宏定义:
#defineS(a,b)t=a;a=b;b=t由于变量t没定义,
所以此宏定义是错误的。
【学生答案】错误
未答此题
============================================================
【参考答案】
错误
用指针取值比用数组名取值速度要快.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
在定义结构体变量时,不允许对其整体赋初值.
【学生答案】错误
未答此题
============================================================
【参考答案】
正确
设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.
【空1】错误
【学生答案】
[无]
【参考答案】
0
============================================================
当a=1,b=2,c=3时,执行以下程序段后c=_____.if(a>c)b=a;a=c;c=b;
【空1】错误
【学生答案】
[无]
【参考答案】
2
============================================================
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_____.
for(i=0,j=10;i<=j;i++,j--)k=i+j;
【空1】错误
【学生答案】
[无]
【参考答案】
10
============================================================
若有以下数组a,数组元素:
a[0]~a[9],其值为941282107513数组元素a[3]的值是_____.
【空1】错误
【学生答案】
[无]
【参考答案】
8
============================================================
从函数的形式上看,函数分为无参函数和_____两种类型.
【空1】错误
【学生答案】
[无]
【参考答案】
有参函数
============================================================
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求x到y之间的奇数和(包括x和y)。
注意:
请在Begin和End注释行之间填写代码,
所有注释语句都不能删除。
------------------------------------------------*/
#include"stdio.h"
intfun(intx,inty)
{
/*********Begin**********/
/**********End**********/
}
voidTestFunc()
{
FILE*IN,*OUT;
intn;
inti[2];
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(n=0;n<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=fun(i[0],i[1]);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
main()
{
ints;
s=fun(1,1999);
printf("s=%d\n",s);
TestFunc();
}
【参考代码】
inti,s=0;
for(i=x;i<=y;i++)
if(i%2!
=0)s=s+i;
returns;
===============
【考生代码】
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
实现3行3列矩阵的转置,即行列互换。
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include"stdio.h"
voidfun(inta[3][3],intn)
{
inti,j,t;
for(i=0;ifor(j=0;j/**********ERROR**********/
scanf("%d",a[i][j]);
for(i=0;i{
for(j=0;jprintf("%4d",a[i][j]);
printf("\n");
}
for(i=0;i/**********ERROR**********/
for(j=0;j{
/**********ERROR**********/
a[i][j]=t;
a[i][j]=a[j][i];
/**********ERROR**********/
t=a[j][i];
}
for(i=0;i{
for(j=0;jprintf("%4d",a[i][j]);
printf("\n");
}
}
voidmain()
{
intb[3][3];
fun(b,3);
}
【改错1】错误
【学生答案】
scanf("%d",a[i][j]);
【参考答案】
scanf("%d",&a[i][j]);
scanf("%d",(*(a+i)+j));
============================================================
【改错2】错误
【学生答案】
for(j=0;j【参考答案】
for(j=0;j
for(j=0;i>j;j++)
for(j=0;j<=i;j++)
for(j=0;i>=j;j++)
for(j=i+1;jfor(j=i;jfor(j=0;j<=i-1;j++)
for(j=0;i-1>=j;j++)
for(j=i+1;j<=n-1;j++)
for(j=i;j<=n-i;j++)
============================================================
【改错3】错误
【学生答案】
a[i][j]=t;
【参考答案】
t=a[i][j];
============================================================
【改错4】错误
【学生答案】
t=a[j][i];
【参考答案】
a[j][i]=t;
============================================================
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
产生10个[30,90]区间上的随机整数,然后对其用选择法
进行由小到大的排序。
---------------------------------------------------------
请在程序的下划线处填入正确的内容,并把下划线删除,使程序得
出正确的结果。
注意:
不得增行或删行,也不得更改程序的结构!
-------------------------------------------------------*/
#include"stdio.h"
#include"stdlib.h"
voidmain()
{
/***********FILL***********/
_____;
inti,j,k;
inta[10];
for(i=0;i<10;i++)
a[i]=rand()%61+30;//产生[30,90]区间上的随机整数
for(i=0;i<9;i++)
{
/***********FILL***********/
_____;
for(j=i+1;j<10;j++)
/***********FILL***********/
if(_____)k=j;
if(k!
=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
/***********FILL***********/
for(_____)
printf("%5d",a[i]);
printf("\n");
}
【空1】错误
【学生答案】
_____;
【参考答案】
intt
============================================================
【空2】错误
【学生答案】
_____;
【参考答案】
k=i
============================================================
【空3】错误
【学生答案】
if(_____)k=j;
【参考答案】
a[k]>a[j]
a[j]
============================================================
【空4】错误
【学生答案】
for(_____)
【参考答案】
i=0;i<10;i++
i=0;10>i;i++
i=0;i<=9;i+=1
i=0;9>=i;i++
i=0;i<10;i+=1
i=0;10>i;i+=1
i=0;i<=9;i++
i=0;9>=i;i+=1
i=0;i<10;++i
i=0;10>i;++i
i=0;9>=i;++i
i=0;i<=9;++i
============================================================