B、if(x>y&&x!
=y);
C、if(x==y)x+=y;
D、if(x!
=y)scanf("%d",&x)elsescanf("%d",&y);
以下选项中正确的整型常量是C
A、4/5
B、5
C、-10
D、1.000
下列变量说明语句中,正确的是(B)。
A、chara;b;c;
B、intx,z;
C、char:
abc;
D、intx;z;
以下程序的输出结果是B
main()
{intk=4,m=1,p;
p=func(k,m);
printf(“%d,”,p);
p=func(k,m);
printf(“%d\n”,p);
}
func(inta,intb)
{staticintm,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A、8,20
B、8,17
C、8,8
D、8,16
下列关于单目运算符++、--的叙述中正确的是___C___。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是任何变量和常量
C、它们的运算对象可以是char型变量、int型变量和float型变量
D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
下列字符数组长度为5的是C
A、charc[10]={'h','a','b','c','d'};
B、charb[]={'h','a','b','c','d','\0'};
C、chara[]={'h','a','b','c','d'};
D、chard[6]={'h','a','b','c','\0'};
以下程序运行后的输出结果是C
#include
main()
{FILE*fp;inti,k=0,n=0;
fp=fopen(“d1.dat”,“w”);
for(i=1;i<4;i++)fprintf(fp,“%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,“r”);
fscanf(fp,“%d%d”,&k,&n);printf(“%d%d\n”,k,n);
fclose(fp);
}
A、123
B、00
C、1230
D、12
定义语句int*swap();指的是D
A、以上说法均不对
B、swap是一个返回整型值的函数
C、swap是一个指向函数的指针
D、swap是一个返回指向整型值指针的函数
以下选项中正确的实型常量是C
A、0.03x102
B、32
C、3.1415
D、0
以下程序的运行结果是(B)。
main()
{intn;
for(n=1;n<=10;n++)
{
if(n%3==0)continue;
printf("%d",n);
}
}
A、12
B、12457810
C、1234567890
D、369
设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的
数据类型为(B)。
A、不确定
B、double
C、int
D、float
下列选项中正确的语句组是(B)。
A、chars[8];s={"Beijing"};
B、char*s;s="Beijing";
C、chars[8];s="Beijing";
D、char*s;s={"Beijing"};
当定义一个结构体变量时,系统分配给它的内存是(D)。
A、结构中最后一个成员所需内存量
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、各成员所需内存量的总和
若有说明:
int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是(B)。
A、p1=&m;*p2=*p1;
B、p1=&m;p2=p1;
C、p1=&m;p2=&p1
D、p1=&m;p2=&n;*p1=*p2;
已定义两个字符数组a,b,则以下正确的输入格式B
是
A、scanf("%s%s",&a,&b);
B、scanf("%s%s",a,b);
C、gets("a"),gets("b");
D、get(a,b);
若有定义:
inta=7;floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是(D)。
A、3.500000
B、0.000000
C、2.750000
D、2.500000
结构化程序设计所规定的三种基本控制结构是(D)。
A、树形、网形、环形
B、输入、处理、输出
C、主程序、子程序、函数
D、顺序、选择、循环
在下列程序段中,枚举变量c1,c2的值依次是(A)。
enumcolor{red,yellow,blue=4,green,white}c1,c2;
c1=yellow;c2=white;
printf("%d,%d\n",c1,c2);
A、1,6
B、1,4
C、2,6
D、2,5
已知year为整型变量,不能使表达式(year%4==0&&year%100!
=0)
||year%400==0的值为“真”的数据是(A)。
A、1990
B、1996
C、1992
D、2000
以下正确的说法是(A)。
A、用户可以重新定义标准库函数,若如此,该函数将失去原有含义
B、系统根本不允许用户重新定义标准库函数
C、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
D、用户若需调用标准库函数,调用前必须重新定义
设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为(C)。
A、132
B、12
C、0
D、144
有以下宏定义B
#definek2
#defineX(k)((K+1)*k)
当C程序中的语句y=2*(K+X(5));被执行后,
A、y中的值为65
B、语句报错
C、y中的值为34
D、y中的值不确定
对于void类型函数,调用时不可作为(A)。
A、表达式
B、循环体里的语句
C、自定义函数体中的语句
D、if语句的成分语句
下面程序的运行结果是D
main()
{charch[7]=“65ab21”;
inti,s=0;
for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
s=s*10+ch[i]-‘0’;
printf(“%d\n”,s);
}
A、62
B、6521
C、12ba56
D、6
对于建立函数的目的,正确的说法是D
A、提高程序的执行效率
B、减少程序的篇幅
C、减少程序文件所占的内存
D、提高程序的可读性
以下程序的输出结果是C
#include
main()
{
inti;
for(i=1;i<5;i++)
{
if(i%2)
putchar(‘<’);
else
continue;
putchar(‘>’);
}
putchar(‘#’);
}
A、<><><>#
B、><><#
C、<><>#
D、><><><#
下面判断正确的是(D)。
A、char*a="china";等价于char*a;*a="china";
B、charstr[10]={"china"};等价于charstr[10];str[]={"china"};
C、charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
D、char*s="china";等价于char*s;s="china";
charc[]="VeryGood";是一个合法的为字符串数组赋值的语句。
对
用fopen("file","r+");打开的文件"file"可以进行修改。
对
C程序中有调用关系的所有函数必须放在同一个源程序文件中。
错
char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
错
若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。
对
C语言中只能逐个引用数组元素而不能一次引用整个数组。
对
若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。
对
C语言的函数可以嵌套定义.错
如果函数值的类型和return语句中表达式的值不一致,则以
函数类型为准。
对
x*=y+8等价于x=x*(y+8)。
对
【程序设计】
--------------------------------------------------
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出矩阵第一行与第三行元素之和,
并在fun()函数中输出。
------------------------------------------------*/
#include"stdio.h"
intfun(inta[3][3])
{
/**********Begin**********/
/**********End**********/
}
voidTestFunc();
main()
{
inti,j,s,a[3][3];
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
TestFunc();
}
答案
intsum;
inti,j;
sum=0;
for(i=0;i<3;i+=2)
for(j=0;j<3;j++)
sum=sum+a[i][j];
【程序设计】
--------------------------------------------------
功能:
从字符串中删除指定的字符。
同一字母的大、小写
按不同字符处理。
例如:
若程序执行时输入字符串为:
turbocandborlandc++
从键盘上输入字符:
n,则输出后变为:
turbocadbo
rladc++,如果输入的字符在字符串中不存在,则字
符串照原样输出。
------------------------------------------------*/
#include
voidbky();
intfun(chars[],intc)
{
/**********Begin**********/
/**********End**********/
}
main()
{
staticcharstr[]="turbocandborlandc++";
charch;
printf("原始字符串:
%s\n",str);
printf("输入一个字符:
");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
bky();
}
voidbky()
{
voidTestFunc()
{
FILE*IN,*OUT;
intm;
intn;
inti[3][3];
into;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFileError");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案
char*q=s;
for(;*q;q++)
if(*q!
=c)*(s++)=*q;
*s=0;
【程序改错】
--------------------------------------------------------
功能:
编写函数fun生成一个对角线元素为5,上三角元素为0,
下三角元素为1的3*3的二维数组。
------------------------------------------------------*/
#include"stdio.h"
main()
{
inta[3][3],i,j;
fun(a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
fun(intarr[][3])
{
/**********ERROR**********/
inti,j
/**********ERROR**********/
for(i=1;i<3;i++)
for(j=0;j<3;j++)
/**********ERROR**********/
if(i=j)
arr[i][j]=5;
elseif(j>i)
arr[i][j]=0;
else
arr[i][j]=1;
}
答案
inti,j;for(i=0;i<3;i++)【参考答案】if(i==j)
【程序改错】
--------------------------------------------------------
功能:
求出N×M整型数组的最小元素及其所在的行坐标及列坐标
(如果最小元素不唯一,选择位置在最前面的一个)。
例如:
输入的数组为:
923
4156
1219
10112
求出的最小数为1,行坐标为2,列坐标为1。
------------------------------------------------------*/
#defineN4
#defineM3
#include
intRow,Col;
main()
{
inta[N][M],i,j,min,row,col;
printf("inputaarray:
");
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
for(i=0;i{
for(j=0;jprintf("%d",a[i][j]);
printf("\n");
}
min=fun(a);
printf("max=%d,row=%d,col=%d",min,Row,Col);
}
intfun(intarray[N][M])
{
intmin,i,j;
min=array[0][0];
Row=0;
Col=0;
for(i=0;i{
/**********ERROR**********/
for(j=i;j/**********ERROR**********/
if(min{
min=array[i][j];
Row=i;
/**********ERROR**********/
Col=i;
}
}
return(min);
}
答案
for(j=0;jarray[i][j])Col=j;
【程序填空】
---------------------------------------------------------
功能:
已定义一个含有30个元素的数组s,函数fun1的功能是按
顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序
每五个元素求一个平均值,并将该值存放在数组w中。
-------------------------------------------------------*/
floats[30],w[6];
fun1(floats[])
{
intk,i;
for(k=2,i=0;i<30;i++)
{
/**********FILL**********/
_____;
k+=2;
}
}
fun2(floats[],floatw[])
{
floatsum=0.0;
intk,i;
for(k=0,i=0;i<30;i++)
{
sum+=s[i];
/**********FILL**********/
_____;
{
w[k]=sum/5;
/**********FILL**********/
_____;
k++;
}
}
}
main()
{
inti;
fun1(s);
/**********FILL**********/
_____;
for(i=0;i<30;i++)
{
if(i%5==0)printf("\n");
printf("%8.2f",s[i]);
}
printf("\n");
for(i=0;i<6;i++)
printf("%8.2f",w[i]);
}
1.s[i]=ks[i]=(i+1)*22,if((i+1)%5==0)if((i+1)/5*5==i+1)3,sum=0sum=0.04fun2(s,w)
【程序填空】
---------------------------------------------------------
题目:
<<<题干内容>>>
给定程序中,函数fun的功能是:
统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
-------------------------------------------------------*/
#include
#include
#defineN8
typedefstructlist
{intdata;
structlist*next;
}SLIST;
SLIST*creatlist(int*a);
voidoutlist(SLIST*);
voidfun(SLIST*h,int*n)
{SLIST*p;
/**********FILL**********/
_____=0;
p=h->next;
while(p)
{(*n)++;
/**********FILL**********/
p=p->_____;
}
}
main()
{SLIST*head;
inta[N]={12,87,45,32,91,16,20,48},num;
head=creatlist(a);outlist(head);
/**********FILL**********/
fun(_____,&num);
printf("\nnumber=%d\n",num);
}
SLIST*creatlist(inta[])
{SLIST*h,*p,*q;inti;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i{q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p->next=q;p=q;
}
p->next=0;
returnh;
}
voidoutlist(SLIST*h)
{SLIST*p;
p=h->next;
if(p==NULL)printf("ThelistisNULL!
\n");
else
{printf("\nHead");
do
{printf("->%d",p->data);p=p->next;}
while(p!
=NULL);
printf("->End\n");
}
}
1,(*n)*n2.next3head