金陵科技学院校内二级复习题.docx

上传人:b****6 文档编号:3870210 上传时间:2022-11-26 格式:DOCX 页数:49 大小:29.23KB
下载 相关 举报
金陵科技学院校内二级复习题.docx_第1页
第1页 / 共49页
金陵科技学院校内二级复习题.docx_第2页
第2页 / 共49页
金陵科技学院校内二级复习题.docx_第3页
第3页 / 共49页
金陵科技学院校内二级复习题.docx_第4页
第4页 / 共49页
金陵科技学院校内二级复习题.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

金陵科技学院校内二级复习题.docx

《金陵科技学院校内二级复习题.docx》由会员分享,可在线阅读,更多相关《金陵科技学院校内二级复习题.docx(49页珍藏版)》请在冰豆网上搜索。

金陵科技学院校内二级复习题.docx

金陵科技学院校内二级复习题

一、填空题

C程序中有且仅有一个【1】函数.

答案:

已知有声明floatd=1;doublef=1;longg;和语句printf("___",g=10+'i'+(int)d*f);,为了正确地以十进制形式输出printf参数表中第二个参数(表达式)的值,则在第一个参数中的下划线位置处应填写的格式转换说明符是【1】.

答案:

%ld

在C语言中,字符型数据在内存中以【1】码形式存放.

答案:

ASCII

以下程序输出的结果是【1】.

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

printf("%d\n",d);

}

答案:

0

设y为int型变量,请写出描述"y为奇数"的表达式【1】。

答案:

y%2!

=0

以下十个运算符+!

<

=,?

:

&&=||%中优先级别最高和最低的分别是【1】和【2】.

答案:

!

阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘上输人5,则输出结果是【1】

答案:

4

有以下程序

main()

{inta=5,b=4,c=3,d=2;

if(a>b>c)

printf("%d\n",d);

elseif((c-1>=d)==1)

printf("%d\n",d+1);

else

printf("%d\n",d+2);

}

执行后输出结果是【1】。

=======(答案1)=======

3

假定所有变量均已正确说明,下列程序段运行后x的值是【1】

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

=======(答案1)=======

4

有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf("%.2f\n",y);}

该程序的输出结果是【1】.

=======(答案1)=======

1.00

结构化程序中,有三种结构:

顺序结构,【1】,循环结构.

=======(答案1)=======

选择结构

在TurboC2.0系统中,若将实型常数1.5存储在内存中,它占用【1】个字节.

8

执行"printf("%d,%d",i,j,k,m);"后将在屏幕上输出【1】个整数.

=======(答案1)=======

2

设a和b均为int整型变量,且a=5,b=7,则以下表达式的值为【1】.1.0+a/b

=======(答案1)=======

1.0

条件"20

((x>20)&&(x<30))||(x<-100)

若执行以下程序时从键盘上输入9,则输出结果是【1】

main()

{

intn;

scanf("%d",&n);

if(n++<10)printf("%d",n);

elseprintf("%d",n--);

}

=======(答案1)=======

10

有以下程序

main()

{intn=0,m=1,x=2;

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf("%d\n",x);

}

执行后输出结果是【1】

=======(答案1)=======

-4

以下程序运行后的输出结果是【1】.

main()

{inta=1,b=3;

if(a+b)printf("yes\n");

elseprintf("no\n");

}

=======(答案1)=======

yes

有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf("%.2f\n",y);}

该程序的输出结果是【1】.

=======(答案1)=======

1.00

在C语言的源程序中若出现常量"1L",则该常量的类型是【1】.

长整型

若a是int型变量,则执行表达式"a=25/3%3"后,a的值为【1】.

=======(答案1)=======

2

设x,y,z均为int型变量,请写出描述"x或y中有一个小于z"的表达式【1】.

=======(答案1)=======

x

以下程序运行后的输出结果是【1】.

main()

{inta=1,b=2,c=3;

if(c=a)printf("%d\n",c);

elseprintf("%d\n",b);

}

=======(答案1)=======

1

以下程序运行时输出到屏幕的结果是【1】。

#include

voidmain()

{inti=1,m=0;

switch(i)

{case1:

case2:

m++;

case3:

m++;

}

printf("%d",m);

}

=======(答案1)=======

2

以下程序运行后的输出结果是【1】

main()

{

inta,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf("%d,%d,%d\n",a,b,c);

}

=======(答案1)=======

10,20,0

假定所有变量均已正确说明,下列程序段运行后x的值是【1】

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

=======(答案1)=======

4

有以下程序

#include

main()

{intc=0,k;

for(k=1;k<3;k++)

switch(k)

{default:

c+=k;

case2:

c++;break;

case4:

c+=2;break;

}

printf("%d\n",c);

}

程序运行后的输出结果是【1】.

=======(答案1)=======

3

【1】语句,只能用在循环中,以中断某次循环,继续下一次循环.

=======(答案1)=======

continue

执行语句段

for(s=0,i=1;i<11;i++)

{if(i==6)continue;

s+=i;

}

后,s值为【1】.

=======(答案1)=======

49

有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

}

程序运行后的输出结果是【1】.

=======(答案1)=======

12

执行语句"for(s=0,i=1;i<=10;i=i+3)s+=i;"后,变量s、i的当前值是【1】和【2】.

=======(答案1)=======

22

=======(答案2)=======

13

若有定义:

inta[2][3]={{1},{2,3}},则初始化后,元素a[0][1]得到的初值是【1】.

=======(答案1)=======

0

下面程序运行结果的最后一行为【1】.main()

{inti,f[10];

f[0]=f[1]=1;

for(i=2;i<10;i++)

f[i]=f[i-2]+f[i-1];

for(i=2;i<10;i++)

{if(i%4==0)printf("\n");

printf("%3d",f[i]);}

}

=======(答案1)=======

3455

以下程序运行后输出结果中第一行为【1】,第二行为【2】,第三行为【3】.

#include"stdio.h"

#defineN3

main()

{inta[N][N],b[N*N]={1,1},i,j;

for(i=2;i

b[i]=b[i-1]+b[i-2];

for(i=0;i

for(j=0;j

a[j][i]=b[i*N+j];

for(i=0;i

{for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

}

=======(答案1)=======

1313

=======(答案2)=======

1521

=======(答案3)=======

2834

本程序用改进的冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空.

#defineN10

main()

{inta[N]={10,7,43,1,9,6,3,8,5,2};

intj,k,jmax,temp;

【1】;

do

{k=0;

for(j=0;j

if(【2】)

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

k++;

}

【3】;

}while(jmax>0&&k);

for(j=0;j

printf("%5d",a[j]);

printf("\n");

}

=======(答案1)=======

jmax=N-1

=======(答案2)=======

a[j]>a[j+1]

=======(答案3)=======

jmax=jmax-1

以下程序运行后的输出结果是【1】.

main()

{inta=1,b=3;

if(a+b)printf("yes\n");

elseprintf("no\n");

}

=======(答案1)=======

yes

以下程序的输出结果是【1】.

main()

{inti,j,x=0;

for(i=0;i<2;i++)

{x++;

for(j=0;j<3;j++)

{if(j%2)continue;

x++;

}

x++;

}

printf("x=%d",x);

}

=======(答案1)=======

x=8

有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

}

程序运行后的输出结果是【1】.

=======(答案1)=======

12

除goto语句外,在循环结构中执行【1】语句可提前结束本次循环直接进入下一次循环。

=======(答案1)=======

continue

若声明"chara[15]="Windows-9x";",语句"printf("%s",a+8);"的输出结果为【1】.

=======(答案1)=======

9x

以下程序输出的结果是【1】.

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)

a[i]=i;

for(i=0;i<3;i++)

p[i]=a[i*(i+1)];

for(i=0;i<3;i++)

k+=p[i]*2;

printf("%d",k);

}

=======(答案1)=======

21

下面的程序打印杨辉三角形,其格式为:

1

11

121

1331

14641

15101051

1615201561

172135352171

18285670562881

193684126126843691

程序如下.

#defineN11

main()

{inti,j,a[N+1][N+1];

for(i=1;i<=N;i++)

{a[i][i]=1;

a[i][1]=1;

}

for(【1】;i

for(j=2;【2】;j++)

a[i][j]=【3】;

for(i=1;i

{j=N-i-1;

while(j>0){printf("");j--;}

for(j=1;j<=i;j++)

printf("%6d",a[i][j]);

printf("\n");

}

printf("\n");

}

=======(答案1)=======

i=3

=======(答案2)=======

j

=======(答案3)=======

a[i-1][j-1]+a[i-1][j]

有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf("%.2f\n",y);}

该程序的输出结果是【1】.

=======(答案1)=======

1.00

有以下程序

#include

main()

{intc=0,k;

for(k=1;k<3;k++)

switch(k)

{default:

c+=k;

case2:

c++;break;

case4:

c+=2;break;

}

printf("%d\n",c);

}

程序运行后的输出结果是【1】.

=======(答案1)=======

3

设inti=5;则循环语句while(i>=1)i--;执行后,i的值为【1】.

=======(答案1)=======

0

有如下程序

main()

{

intx=23;

do

{printf("%d″,x--);

}while(!

x);

}

该程序的执行结果是【1】.

=======(答案1)=======

23

有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

printf("%d%d\n",k,n);

}

程序运行后的输出结果是【1】.

=======(答案1)=======

12

设charstring[]="abc_d!

";则数组所占字节数应是【1】.

=======(答案1)=======

7

下列程序段的输出结果是【1】.

main()

{charb[]="hello,you";

b[5]=0;

printf("%s\n",b);

}

=======(答案1)=======

hello

执行程序段后,表达式*--p的值是【1】.

inta[]={63,20,30,28};

p=&a[2];

=======(答案1)=======

20

执行下面的程序段后,ab的值为【1】.

int*v,ab;

ab=100;

v=&ab;

ab=*v+10;

=======(答案1)=======

110

以下程序的运行结果是【1】.

main()

{chara[]="12345",*p;

ints=0;

for(p=a;*p!

='\0';p++)s=10*s+*p-'0';

printf("%d",s);

}

=======(答案1)=======

12345

以下程序的运行结果是【1】.

main()

{intx[5]={2,4,6,8,10},*p,**pp;

p=x;pp=&p;

printf("%d,",*(p++));

printf("%d",**pp);

}

=======(答案1)=======

2,4

以下程序运行时输出到屏幕的结果是【1】。

#include

longf(intn)

{staticlongs;

if(n==1)returns=2;

elsereturn++s;

}

voidmain()

{longi,sum=0;

for(i=1;i<4;i++)sum+=f(i);

printf("%ld",sum);

}

=======(答案1)=======

9

一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【1】函数的最后一条语句或该函数中的return语句后,程序才会终止运行.

=======(答案1)=======

main

以下binary函数的功能是利用二分查找法从数组a的10个元素中对关键字m进行查找,若找到,返回此元素的下标;若未找到,则返回值-1.请填空:

binary(inta[10],intm)

{intlow=0,high=9,mid;

while(low<=high)

{mid=(low+high)/2;

if(m

elseif(m>a[mid])【2】

elsereturn(mid);

}

return(-1);

}

main()

{inta[]={1,3,5,7,9,11,13,15,17,19},m,r;

scanf("%d",&m);

r=binary(【3】);

if(r==-1)printf("notfound!

");

elseprintf("found:

%d",r+1);

}

=======(答案1)=======

high=mid-1:

=======(答案2)=======

low=mid+1:

=======(答案3)=======

a,m

以下程序的功能是:

实现两个复数相加的计算并输出运算结果.

#include

#include

structcomlex

{floatr,i;};

structcomplex*cal(structcomplex*x1,structcomplex*x2)

{structcomplex*p;

p=(【1】)malloc(sizeof(structcomplex));

p->r=(*x1).r+(*x2).r;p->i=(*x1).i+(*x2).i;

【2】;

}

main()

{structcomplex*p,x,y;

scanf("%f%f%f%f",&x.r,&x.i,&y.r,&y.i);

p=cal(&x,&y);

printf("result:

%.2f+%.2fi",【3】);

free(p);

}

=======(答案1)=======

structcomplex*

=======(答案2)=======

returnp

=======(答案3)=======

p->r,p->i

在调用函数fopen("a:

\\b.dat","r")时,若A盘根目录下不存在文件b.dat,则函数的返回值是【1】.

=======(答案1)=======

0

当程序读写数据文件时,需要有声明语句"FILE*fp;",在该声明语句之前必须包含的头文件名为【1】.

=======(答案1)=======

stdio.h

若有声明"chara[3]="AB";char*p=a;",执行语句"printf("%d",p[2]);"后

输出结果是【1】.

=======(答案1)=======

0

当运行以下程序时,从键盘输入

control<回车>

cat<回车>

bed<回车>

-1<回车>

则以下程序的运行结果是【1】.

#include"stdio.h"

main()

{chars[80],*p;

p=s;

gets(p);

while(*p!

='-')

{if(*p=='a'||*p=='b')puts(p);

gets(p);

}

}

=======(答案1)=======

bed

以下程序运行时输出到屏幕的结果是【1】。

#include

intfun(int*x,intn)

{if(n==0)returnx[0];

elsereturnx[0]+fun(x+1,n-1);

}

voidmain()

{inta[]={1,2,3,4,5,6,7};

printf("%d\n",fun(a,2));

}

=======(答案1)=======

6

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是【1】.

=======(答案1)=======

int

#include

voidfun(int*a,intb,int*c)

{*a=++b;b=*c;*c=*a;}

main()

{inta=10,b=20,c=30;

{inta=4;

c=a+b;

printf("%d\n",a+b+c);

{intc=b;

fun(&a,b,&c);

printf("%d\n",a+b+c);

}

printf("%d\n",a+b+c);

}

}

程序输出的第一行是【1】,第二行是【2】,第三行是【3】.

=======(答案1)=======

48

=======(答案2)=======

62

=======(答案3)=======

65

在带头结点的单链表中,编一函数删除数据域值为x的结点.

structlink*delete_link(structlink*head,intx)

{structlink*q,*m;

q=head;

m=head->next;

while((m!

='\0')&&(【1】))/*寻找被删除结点m*/

{q=m;/*q始终指向m之前的结点*/

m=m->next;

}

if(【2】)/*不存在符合条件的结点*/

printf("cannotexit!

\n");

else/*逻辑删除结点*/

{q->next=m->next;

【3】;

}

return(head);

}

=======(答案1)=======

m->data!

=x

=======(答案2)=======

m==NULL

=======(答案3)=======

free(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1