南昌航空大学计算机C语言填空题大全(含六卷)_第1页
南昌航空大学计算机C语言填空题大全(含六卷)_第2页
南昌航空大学计算机C语言填空题大全(含六卷)_第3页
南昌航空大学计算机C语言填空题大全(含六卷)_第4页
南昌航空大学计算机C语言填空题大全(含六卷)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南昌航空大学计算机C语言填空题大全(一)

考试方式:【闭卷】考试时间:【90分钟】总分:【100分】

一、填空题(共40题,每小题2.5分,共100分)

1、已知charstr□="man",贝i]strlen(str)的值为。

【答案】3

2、inta=2,b=3;表达式a>b?a++:++b的值为。

【答案】4

3、以下程序对输入两个整数,按从大到小的顺序瑜出。请在—内填入正确的

内容。

voidmain()

{

intx,y,z;

scanf(H%d,%d\&x,&y);

if()

}

printf("%d,%dM,x,y);

)

【答案】x<y|

x=y;

y=z;

【解析】其中这里用到了交换变量的方法,如果交换2个变量,则增加一个临

时变量,然后让三个变量在赋值语句中的位置形成一个环,如a=b;b=c;

c二a。如果是n个变量交换,同样是让他们位置形成一个环。如al=a2;

a2=a3;a3二…an-l=an;an=al0

4、标识符只能由()组成且开头不能为o

【答案】数字,字母,下划线I数字

5、局部变量的作用域是从______的位置起,到函数结束止。

【答案】定义

6、利用条件运算符的嵌套来完成此题:学习成绩>二90分的同学用a表示,60-

89分之间的用b表示,60分以下的用c表示。

【答案】x>=90?'a/:x>=60?:'b':'c

7、sacii中小写字母-(—卜大写字母

【答案】32

8、全局的外部变量与函数体内定义的局部变量同名时,在函数体内变

量起作用。

【答案】函数体内定义的局部

9、设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为o

【答案】3

10、数学表达式xVyVz改写为c语言表达式是.。注:表达式要在

英文半角状态下按原表达式顺序书写,且表达式中不要留空格。

【答案】x<y&&y<z#y<z&&x<y#y>x&&y<z#y<z&&y>x#x<y&&z>y#z>

y&&x<y#y>x&&z>y#z>y&&y>x

11、设inta;floatf;doublei;则表达式10+'a'+i*f值的数据类型是

【答案】「double(双精度型)

12、字符串函数用于从指定的磁盘文件中读出一个字符串。

【案】fgets#fgets:)

13、定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义

语句为______O

【答案】int*p[4];

14、用&&写出判断一个字母是否为大、小写的语句

【答案】c>='a'&&c<=,z,

15、若s是int型变量,则表达式s%2+(s+l)%2的值为

【答案】1

16、表达式5%(-3)的值是_______,表达式-5%(-3)的值是。

【答案】「2','-2']

17、a为整型,求(a=4*5,a*2),a+6;的最后结果

【答案】26

18、在c语言中,数组元素的下标从开始的。

【答案】0#零

19、定义一个指针p,它指向一个有6个整型元曩的一维数组,定义语句为

【答案】int*p=a[6];

20、以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标

值。请填空。

^include<stdio.h>

main()

inta[10],*p,*s;

for(p=a;p-a<10;p++)scanf("%d",p);

for(p=a,s=a;p-a<10;p++)if(*p>*s)s=;

printf("index=%d\nn,s-a);

}

【答案】P

21、设有如下宏定义

#defineMYSWAP(z,x,v)

(

z=x;

x二y;

y=z;

}

以下程序段通过宏调生实现变量a、h内容交换,清填空。floata=5,b=16,c;

MYSWAP(,a,b);

【答案】c

22、如果一个变量要在一个程序中的所有函数都能共享,则应该定义成为

【答案】全局变量

23、在定义函数时函数名后面括号中的变量名称为o

【答案】形参

24、有如下函数头:intmax(inti,intj),则此函数有_____个参数。

【答案】2

25、若定义了int将数组元素中最后一个元素”赋值为10"语句是

【答案】a[9]=10

26、数组inta[3][3];共定义了个数组元素。

【答案】9

27、在c语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构

类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为

【答案】file

28、下列程序段的运行结果是

structstt

longnum;

charname[20];

charsex;

floatscore;

}

p={1021103,,,jiangping",,85.5};

main()

{

printf("%c'n”,p.sex);

)

【答案】m

29、以下程序的功能是调用函数fun计算:2-3-4+…+9-10,并输出结果。请

填空。

intfun(intn)

(

intm=0,f=l,i;

for(i=l;i<=n;i++)

{

f=;

)

returnm;

)

mainO

{

printf("m-%d\nM,);

}

【答案】「-f或fl或T*f或f*(T)或(-'fun(lO)']

30、下列程序段的运行结果是o

charsi[20]="abcdef'*,s2[5]=nabc";

strcpy(si,s2);

printf("%c",si[4]);

【答案】e

31、有定义inta=T;则pirntf("%d,%o",a,a")的输出结果是。

【答案】[,-1,177777']

32、以下程序的输出结果是o

mainO

inta=0a+=(a=8;;

printf("刎\n",a);

}

【答案】[,16']

33、输入一个3*3的实数矩阵,求主对角线元素中的最大值。

main()

(

floats[3][3],max1,max2,x;

inti,j;

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

(

scanf(w%fn,&x);

s[i][j]=x;

)

max=s[0][0];

for(i=l;i<3;i+-)if(max<)max=;

printf("maxl=%f\n",max);

}

【答案】s[i][i]s[i][i]

34、以下程序运行后的输出结果是o

main()

(

inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)switch(i/10)

(

case0:m++;

n++;

break;

case10:n+-;

break;

default:k+-;

n++;

)

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

}

【答案】「132']

35、请补充main。函数,该函数的功能是:把一个整数插入一个已经按从小到大

排序的数组中。插入后,数组仍然有序。例如,在数组bb[M]二{1020304050

6070808595)

中插入75,结果为bbM={1020304050607075808595)

注意:部分源程序给出如下。请勿改动main。函数和其他函数中的任何内容,

仅在main。函数的横线上填入所编写的若干表达式或语句。试题程序:

#defineM10

voidmainO

inti,j;

intn;

intbb[M+l]={10120,30,40,50,60,70,80,85,95);

systemCXLSn);

printf("\nlnputnnv);

scanf(K%d",&n);

printf(,r\nn=%d'r,n);

printf("\n***originallist***\n");

for(i=0;i<M;I+-)printf("%4d",bb[i]);

for(i=0;i<M;I+-)

(

if(n<=bb[i])

(

for(j==M;_________;j—)_________;

bb[j]=n;

}

)

if(i==M)bb[i]=n:printf("\n****newlist****\n");

for(i=0;i<M+1;I++)printf("%4d",bb[i]);

)

【答案】________j>i_________bb[j]=bb[j-l]________break

36、下列建序段的运行结果是________o

mainO

{

intn,s-0;

for(n=l;n<=5;n++)

(

if(n%2!=0)continue;

s=s+i;

)

printf("%d\nn,n);

)

【答案】6

37、程序结果是

#include<stdio.h>

voidswap(int*,int);

voidmain()

inta=3,b=5;

swap(&a,b);

printf("a=%d,b=%dM,a,b);

}

voidswap(int*x,inty)

inttemp;

temp=*x;

*x=y;

y=temp;

}

【答案】a=5,b=5

38、函数f的形参a为一个10X10的二维数组,n的值为5,以下程序段的运

行结果为of;inta[][20],intn)

(

inti,j,k;

j=n/2+l;

a[l][j]=l;

i=l;

for(k=2;k<=n*n:k++)

{

i=i-l;

j=j+L

if(i<l&&j>n)

(

i=i+2;

}

else

(

if(i<l)i=n;

if(j>n)j=l;

)

if(a[i][j]==0)a[i][j]=k;

else

(

i=i+2;

j-j-1;

a[i][j]=k;

}

}

}

mainO

{

inta[20][20]={0},n,i,j;

scanf(,r%d",&n);

f(a,n);

for(i=l;iV=n;i-+)

for(j=l;j<=n;j++)printf(,r%3d°,a[i][j]);

printf;

【答案】17241815235714164613202210121921311182529

39、下列程序段的运行结果是。

inta[5]={l,2,3,4,5),*p;

p=a;

printf(n%dn,*(p=p+2));

[答案]3

40、输入一个字符,如果它是大写字母,则把它变成小写字母,如果它是一个小写

字母,则把它变成大写字母,其它字符不变。请分析程序填空。

main()

{

charch;

scanf(,r%c",&ch);

if([1])ch=ch+32;

elseif(ch>=,al&&ch<=,zf)[2];

printf(,r%cH,ch);

【答案】[1]ch>=,a'&&ch<='z,[2]ch=ch-32

南昌航空大学计算机C语言澳空题大全(二)

考试方式:【闭卷】考试时间:【90分钟】总分:【100分】

一、填空题(共40题,每小题2.5分,共100分)

1、有intx=3,y=-4,z=5;

则表达式(x&&y)=(x|z)的值为o

【答案】1

2、#include<stdio.h>

(

inti=010,j=10;

printf("%d,%d\n,,++i,j-);

【答案】执行结果:9,10。

3、在c语言中,用转义字符\,表示。答题提示:双引号/单引

号/反斜线/横向跳格/回车换行

【答案】单引号

4、在传值调用中,实际是把实参的______0

【答案】地址传给形参

5、表达式7+10>2&&25%5的结果是o

【答案】0

6、在c语言中,用转义字符\M表示0答题提示:双引号/单引

号/反斜线/横向跳格/回车换行

【答案】双引号

7、设a=3,b=2,c=l,则a>b>c的值为。

【答案】1

8、表达式2.8+3/4=。

【答案】「2.8']

9、若a是int型变量,则表达式(a=4*b,a*2),a+6的值为

【答案】26

10、若有定义:inta=5,b=2,c=l;则表达式a-b〈cIIb二二c的值是—

【答案】0

11、下面程序段中循环体的执行次数是0

a=10;

b=0;

do

(

b+=2;

a-=2+b;

)

while(a>=0);

【答案】3次

12、一个c语言源程序由若干函数组成,其中至少应含有一个()

【答案】主函数(或main函数)。

13、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并瑜出

该最大值。请在输出语句中填写代表最大值的输出项。

#include<stdio.h>

main(){

inta(10],*p,*s;

for(p=a;p-a<10;p-+)scanf("%d",p);

for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;

printf("max=%d\n二________);

)

【答案】t**sr]

14、在c语言中,将字符串中小写字母转换成大写字母的函数是o

【答案】strupr#strupr()#strupr(字符串)

15、在c语言中,格式瑜入库函数为,格式输出库函数为o

【答案】['\xa0scanf\xa0\'\xa0printf\xaOrJ

16、将arr传参到子函数,接受处()内函数定义该怎么写?

【答案】int*arr

17、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语

句、函数表达式和函数O

【答案】参数

18、函数体用{开始,用—结束。

【答案】}

19、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数

类型、函数名和。

【答案】函数参数

20、在c语言中,在调用一个函数的过程中又出现或间接地调用该函

数本身,这一现象称为函数的递归调用。

【答案】直接

21、执行下面的程序段后,*P等于[1L

inta[5]={l,3,5,7,9),*p=a;p++;

【答案】3

22、在c语言中,假使x为长整型变量,如果我们采用printf(“格式控制”,x)格

式输出x,那么“格式控制”具体表示为”—二

【答案】%ld

23、在c语言中,从参数的形式看,函数可以分为两类:无参函数和

函数。

【答案】有参

24、使文件指针重新定位到文件读写的首地址的函数是o

【答案】rewind

25、在c语言中,若确实不要求返回函数值,则应将函数定义为()类型。

【答案】void

26、C标准库函数中,字符串的处理函数包含在头文件中,数学函数包

含在math,h头文件中。

【答案】string,h

27、编译预处理包括宏定义、文件包含、()等。

【答案】条件编译

28、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数

feof(fp)的值为o

【答案】0

29、以下程序的运行结果是

#include<string.h>

typcdefstructstudent

{

charname[10j;

longsno;

floatscore;

}

Stu;

main()

{

stua={"zhangsan",2001,95},b={"shangxianr,,2002,90},

c={"anhua",2003,95),d,*p=&d;

d=a;

if(strcmp(a.name,b.name)>0)d=b;

if(strcmp(c.name,d.name)>0)d=c;

printf("%ld%s\n,,d.sno,p->name);

}

【答案】F'2002shangxian']

30、以下程序的运行结果是

^include<stdio.h>

main()

(

intx,y=-2,z=0;

if((z=y)<0)x=4;

elseif(y=0)x=5;

elsex=6;

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

if(z=(y==0))x=5;

x=4;

printf("\t%d\t%d\nM,x,z);

if(x=z=y)x=4;

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

)

【答案】4-2404-2

31、以下程序运行的结果为()

ttinclude<stdio.h>

voidfunl(int*a,int*b)

(

int*c;

c=a;

a=b:

b=c;

)

voidfun2(int*a,int*b)

(

intc;

c=*a;

*a二*b;

*b=c;

)

voidmain()

{

intx=3,y=5,*p=&x,*q=&y;

funl(p,q);

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

fun2(p,q);

printf("%d,%d\n\*p,*q);

}

【答案】3,5,5,3

32、以下程序的输出结果是

#include<stdio.h>

main()

(

inta[5]={2,4,6,8,10),*p;

p=a;

p++;

printf("%dK,*p);

)

【答案】4

33、改正下列程序中不正确的语句。

main()

(

intn;

floats=l.0;

for(n=10;n>l;n―)s=s+l/n;

printf("%6.lf\n*,s);

【答案】s=s+1.0/n

34、下面的程序是用dowhile语句求1至1000之间满足一用3除余2;

用5除余3;

用7除余2"的数,且一行只打印五个数。请分析程序填空。

#include<stdio.h>

main0

{

inti=l,j=0;

do

(

if([1]________)

(

printf(,%4d\i);

j=j+l;

if([2])printf('An");

)

i=i+l;

}

while(i<1000);

}

【答案】【1】i%3==2&ai%5==3&&i%7==2[2]j%5==0

35、写出下列程序的运行结果。

itincludertst.dio.hH

main()

(

inta□:{1,2,3,-4,5};

intm,n,*p;

p=&a[0];

m=*(p+1);

n=*(p+4);

printf("%d%d%dn,*p,m,n);

【答案】125

36、执行下列的程序段后,正确的结果是o

inti=5;

while(i=1)i―;

printf(H%dK,i);

【答案】无限循环力死循环

37、以下程序的输出结果是o

^include<stdion.h>

ttdefineM5

^defineNM+M

main()

(

intk;

K=N*N*5;

printf("%d\nn,k);

1

f

【答案】「55']

38、下列给定程序中,函数proc()的功能是找出〜m(m不大于1000)之间百

位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,

个数作为函数值返回。请修改程序中的错误,使它能得到正确结果。注意:不

要改动mainO函数,不得增行或删行,也不得更改程序的结构。试题程序:

#defineM1000intproc(int*S.intn)

{

inti,j,k,a,b,c;

J=0;

for(i=100;i<N;I++)

(

k=n;

a=k%10;

k/=10;

b=k%10;

c=k/10;

if(a==b+c)s[j]=i;

)

returnj;

)

voidmain()

(

inta[M],m,num=0,i;

do

(

printf(n\nEnterm(<=1000):");

scanf(,r%d",&m);

}

while(m>1000);

num=proc(a,m);

printf("\n\nTheresult:\n");

for(i=0;i<NUM;I++)printf(M%5dM,a[i]);

printf("\n\n'3;

}

【答案】1.错误:k二n;正确:k二i;

2.错误:正确:s[j++]=i;

39、当执行以下程序时,如果输入abc,则输出结果是:

^include<stdio.h>

#include<string.h>

voidmain()

(

charss[10]=,'l,2,3,4,5";

gets(ss);

strcat(ss,"6789');

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

}

【答案】abc6789

【解析】gets函数将使用字符串“ABC”覆盖原天的“12345”字符串,然后再

将字符串“6789”连接到“ABC”上,故输出为“ABC6789”0

40.mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。

请填空°intmystrlen(char*str)

{

inti;

for(i=0;________!='\0';i++);

return();

}

【答案】E**(str+i)str[i]1,'i

南昌航空大学计算机C语言澳空题大全(三)

考试方式:【闭卷】考试时间:【90分钟】总分:【100分】

一、填空题(共40题,每小题2.5分,共100分)

1、执行下面程序段后,k值是_________

intk=l,n=263;

do

{

k*=n%10;

n/=10;

while(n);

【答案】「36']

2、已有定义:charc=r";inta=1,b;(此处c的初值为空格字符),执行

b;!c&&a;后b的值为

【答案】0

3、定义4行3列的整型二维数组a的语句是o

【答案】[,inta[4][3];

']

4、在C语言中,以作为字符串结束标志。

【答案】'\0'

5、在c语言中,用转义字符\t表示o答题提示:双引号/单引号/反

斜线/横向跳格/回车换行

【答案】横向跳格

6、若有定义:inta[3][4]={{1,2},{0},{4,6,8.10)};

则初始化后,a[l][2]的值为得到的值为。

【答案】['0\'6r]

7、c语言中的关键字共有32个,而且都是写。提示:大/小

【答案】小

8、在c语言中,逻辑运算符中的"&&”称为o

【答案】逻辑与

9、在c语言中,关系运算符中的"大于等于"表示为o

【答案】>=

10、设x和y均为int型变量,且x=l,y=2,则表达式1.0+x/y的值为()

【答案】1.0

11、开发一个c程序要经过编辑、编译、()和运行4个步骤、

【答案】连接

12、若有定义:

floatx=3.5;

intz=8;

则表达式x+z%3/4的,直为o

【答案】3.5

13、执行下面程序段后,k值是________o

k=l;

n二263;

do

(

k*=n%10;

n/=10;

}

while(n);

【答案】36

14、设y为int型变量,请写出描述“y是奇数”的表达式

【答案】y%2!=0;

15、若有定义:doublex[3][5];则数组中列下标的上限为

【答案】4

16、全局变量又称外部变量,是在函数定义的变量。

【答案】外部#外

17、已知charstr[]=Hstudentn,则strlen(str)的值为。

【答案】7

18、在c语言中,将字符串中大写字母转换成小写字母的函数是

【答案】strlwr#strlwr()#strlwr(字符串)

19、要调用数学处理函数时,在include命令中应包含一头文件。

【答案】math,h

20、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回

值是________O

【答案】0#零

21、若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大

小为O

【答案]3

22、函数的形参在未被调用前不分配空间,函数形参的―要和实参相同。

【答案】数据类型

23、c语言程序的基本单位是

【答案】「函数']

24、源程序的基本单位是【L

【答案】函数

25、现有两个c程序文件tl8.c和myfun.c同在tc系统目录(文件夹)下,其中

tl8.c文件如下:

^include<stdio.h>

itinclude"myfun.c"

main()

{

fun();

printf("\n");

)

myfun.c文件如下:

voidfun()

(

chars[80],c;

intn=0;

while((c=getchar())!=z\n')s[n++]=c;

n-;

while(n>=0)printf(v%c'\s[n—]);

}

当编译连接通过后,运行程序tl8时,输入thank!则输出结果是:。

【答案】「Iknaht1]

26、编辑好一个程序文件后,在运行该程序文件之前先要进行o

[答案】编译

27、从文件读入一行,渎取字符包括空格,使用函数o

【答案】gotsO

28、以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形

数据;

成员葭量link是指向自身结构体的指针.请将定义补充完整。

structnode

(

intinfo;

________link;

【答案】[,structnode*'

29、以下程序的输出结果是o

#include<stdio.h>

main()

(

intk=l,s=0;

do

(

if((k%2)!=0>continue;

s+=k;

k++;

)

while(k>10);

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

}

【答案】fs=0']

30、下列程序段的运行结果是o

inta=2,*p;

p=&a;

printf(*'%dn,*p);

【答案】2

31、以下程序用以删除字符串中的所有的空格,请填空。

#include<stdio.h>

main()

(

chars[100]={"our.tercherteachclanguage!");

inti,j;

for(i=j=0;s[i]:='\0';i++)if(s[i]!='')

(

s[j]=s[i];

j++;

}

s[j]=;

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

)

【答案】或者填写0」

32、有以下程序

#include<stdio.h>

main()

(

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

intb[3]={0},i:

for(i=0;i<3;i+-)b[i]=a[i][2]+a[2][i];

for(i=0;i<3;i+-)printf("%d",b[i]);

printf("\n'*);

)

程序运行后的结果是_______o

【答案】9101418']

33、以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的

字符串。例如,输入字符串:abcl23cdf456gh,执行程序后输出:123456。请填

空。

#include<stdio.h>

^include<ctype.h>

main()

(

chars[80],d[80];

inti,j;

gets(s);

for(i=j=0;s[i]!=*\0r;i++)if()

{

d[j]=s[i];

j++;

)

d[j]=,\O,;

puts(d);

)

【答案】='O'&&s「ilV=9或isdigit(sFil)或sFil>=48&&

s[i]<=57或s[i]<=*9'&&s[i]>='O'或'9*>=s[i]&&'O'<=s[i]或

,0,<=s[i]&&,9,>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48

<=s[i]或48<=s[i]&&57>=s[i]u]

34、以下程序运行结果是o

voidswap2(int*x,int*y)

{

intt;

t=*x;

*x=*y;

*y=t;

)

voidmain()

inta=100,b=200;

swap2(&a,&b);

printf("%d,%dM,a,b);

【答案】200,100

35、若从键盘输入58,则以下程序输出的结果是o

main()

(

inta;

scanf(w%dH,&a);

if(a>50)printf(H%d'\a);

if(a>40)printf(M%dv,a);

if(a>30)printf(n%d,r,a);

)

【答案】r585858']

36、以下程序的执行结果是—o

#include<stdio.h>

voidmain()

(

charc='a'+10;

printf("c=%c\nM,c);

)

【答案】c=ko

37、下面程序的运行结果是o

#include<stdio.h>

main()

(

inti,j;

for(i=4:i>=l:i—)

(

for(j=l;j<=i;j++)putcharC#');

for(j=l;j<=4-i;j++)putchar(***);

putchar('Xn1);

)

)

【答案】#######*##**#***

38、以下程序的运行结果是【1】________其算法是【2】_________

main()

(

inta[5]={9,6,8,3,-l},i,j,t,p;

sort(a);

for(i=0;i<=4;i++)printf(M%3d",a[i]);

)

sort(inta[])

inti,j,t,p;

for(j=0;j<4;j-+)

(

P=J;

for(i=j;i<=4;i++)if(a[i]<a[pl)

t=a[p];

a[p]=a[j];

a[j]=t;

}

)

【答案】【1】T3689[2]选择法排序

39、下列程序段的运行结果是。

charsi[20]=Mabcdef\s2[5]=wabcM;

strcpy(si,s2);

printf(M%cw,si[2]);

【答案】c

40、执行下列的程序段后,正确的结果是

intm=4;

doprintf(w%d",m-=3);

while(-in);

【答案】1

南昌航空大学计算机C语言澳空题大全(四)

考试方式:【闭卷】考试时间:【90分钟】总分:【100分】

一、填空题(共40题,每小题2.5分,共100分)

1、若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a的值为

,b的值为,c的值为o

【答案】642

2、在c语言中,逻辑运算符中的称为o

【答案】逻辑或

3、在c语言中除了使用c提供的标准类型名(如int、char等)外,还可以用

声明新的类型名来代替已有的类型名。

【答案】typedef

4、已知t=5,则表达式"t-=t+=3"的值是。

【答案】0

5、函数swap(a门-,n)可完成对arr数组从第一个元素到第n个元素两两交

换。在运行调用函数中的如下语句后,式0]和all]的值分别为【1】________

原因是【2】。a[0]=l,a[l]=2;

swap(a⑵;

【答案】【1】2,1[2]地址传递对形参的改变能改变实参的值

6、已知a=5,则表达式"a+二a-=3"的值是。

【答案】4

7、预处理命令以开头。

【答案】#

8、c语句分为大类。

【答案】5#五

9、c语言中字符()以存在计算机中,整数以()储存在计算机中

【答案】ascii码|补码

10、已知"floata=3.5;intb=12;",则算术表达式"(int)(a+b/5)"的值是

【答案】5

11、写出下列程序的运行结果。

main()

intn;

for(n=3;n<=10;n++)

if(n%6==0)break;

printf("%d",n);

}

}

【答案】345

12、语句主要是实现次数循环结构,while语句主要是实现当型循环结构。

【答案】for

13、在循环中,continue语句与break语句的区划是:continue语句是语句的区

别是:continue语句是,break是。

【答案】「结束本次循环,进入下一次循环‘,'结束循环']

14、若有定义:doublex[3][5];

则x数组中行下标的二限为【1】,列下标的上限为[2L

【答案】[1]0[2]4

15、在c语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其

他元素值均为O

【答案】0#零

16、宏定义必须写在_____之外

【答案】函数

17、在c语言中,输入操作是由库函数—完成的,输出操作是由库函数—完

成的。

【答案】scanf,printf

18、c语言中对文件读写之前必须先打开文件,文件的打开是通过调用__

函数来实现。

【答案】fopen#fopen0ttfopen()

19、在c语言中,一个函数一般由两个部分组成,它们是________和________°

【答案】「函数说明部分','函数体']

20、C语言替换字符的函数是什么?

【答案】strcpy(a,b);

21、c语言中getchar:)函数的功能是________。

【答案】['从键盘上输入一个字符']

22、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以

a二21,b二55的形式输出,请写出完整的的输出语句o

【答案】rprintf("a=%d,bK(T.a.b):'1

23、以下函数值的类型是[1L

fun(floatx)

{

floaty;

y=3*x-4;

returny;

)

【答案】int

24、语言的函数体一般由—和—构成

【答案】定义语句I执行语句

25、一个C程序有且仅有一个函数。

【答案】main

26、有函数调用funl(x+y,(y,z),10,fun((x,y-l)));

函数funl有11】个参数。

【答案】4

27、一个变量的指针是指o

【答案】「该变量的地址']

28、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译

命令:________O

【答案】[,

#include<stdio.h>

(成

#include"stdio.h")1]

29、字符读写函数是用于从磁盘文件中读出一个字符。

【答案】fgetcftfgetcI)#getc#getc0

30、字符读写函数是用于把一个字符写入磁盘文件。

【答案】fputcftfputc0#putc#putc()

31、编译预处理包括()、文件包含、条件编译等。

【答案】宏定义

32、下列程序段的运行结果是_____o

structst

(

longnum;

charname[20];

charsex;

floatscore;

}

w={1021103,HjiangpingM,'m',85.5};

main()

{

printf("/s\n",w.name);

)

【答案】jiangping

33、以下程序运行后的输出结果是o

main()

{

intx=0210;

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

)

【答案】「88']

34、已知字符a的acsii码值为65,以下语句的输出结果是________

charch=,b';

printf(H%c%d\n'r,ch,ch);

【答案】「b66']

35、下面程序的功能是计算1-3+5-7+...-99+101的值,请分析程序填空。

#include<stdio.h>

main()

(

inti,t=l,s=0;

for(i=l;i<=101;i+=2)

(

⑴________;

s=s+t;

[2];

)

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

)

【答案】【1】t=t*i[2]

36、以下程序的输出结果是________o

main()

(

intx;

printf("%d\nH,(x=2*4,x+5));

)

【答案】13

37、以下程序的输出结果是

#include<stdio.h>

main()

(

inti;

for(i=a;j<f;i+-,i++)printf(,r%cM,i-'a'+'a');

printf("\n");

}

【答案】['abcder]

38、下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符

按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素

进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;

再把第4个字符插入前三个字符中,待排序的字符串已在主函数中赋予。清添

加合适的语句,使它能得出正确的结果。注意:不要改动main。

函数,不得增行或删行,也不得更改程序的结构。试题程序:

#defineM80

voidproc(char*arr)

{

int.i,j,n;

charch;

n=strlen(arr);

for(i=l;i<n;i++)

(

ch=arr[i];

j=i-l;

while()

(

arr[j+l]_arr[j];

j-;

)

arr[j+l]=ch;

)

)

voidmain()

(

chara[M]=wQWERTYUIOPASDFGHJKLMNBVCXZw;

printf("Theoriginalsiring:%s\n'f,a);

proc(a);

printf("Thestringaftersortin9:%s\n\n",a);

)

【答案】(j>=0)&&:ch<arr[j])

39、以下程序的输出结果是。

main()

intx=0;

sub(&x,8,1);

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

)

sub(int*a,intn,intk)

(

if(k<=n)sub(a,n/2,2*k);

*a+=k;

)

【答案】7

40、以下程序运行后的输出结果是

main()

(

inti,j,a[][3]={l,2,3,4,5,6,7,8,9);

for(i=0;i<3;i+-)for(j=i+l;j<3;j++)a[j][i]=0;

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

(

for(j=0;j<3;j++)printf('r%d

printfCAn");

)

)

【答案】123056009

南昌航空大学计算机C语言澳空题大全(五)

考试方式:【闭卷】考试时间:【90分钟】总分:【100分】

一、填空题(共40题,每小题2.5分,共100分)

1、若有”inta[3][2]={{1,2},{3},{4,5}};

”,则的值是o

【答案】2

2、c语言变量按其作月域分为全局变量和局部变量。按其生存期分为

存储和存储O

【答案】「动态‘,‘静态']

3、在c语言中,%"在内存中占()个字节。

【答案】2#两

4、C语言中,关系表达式和逻辑表达式的值是_0

【答案】0或1

5、若a=l,b=2,c=3,d=4,则表达式a>b?a:c>d%:d的值是.

【答案】4

6、在scanf函数中,用符号______表示变量的地址。

【答案】&

7、实型常量有两种表示方法:小数形式和【1】形式。

【答案】指数

8、局部变量的作用域是从定义的位置起,到结束止。

【答案】函数

9、在c语言中的实型变量分为两种类型,它们是和o

【答案】floatdouble

10、表达式(int)((double)(5/2)+2.5)的值是。

【答案】4

11、若有定义:inta=3;表达式a/2.0+'b'-'a'的值是【1】。

【答案]2.5

12、在printf格式字符中,只能输出一个字符的格式字符是;

用于输出字符串的格式字符是__;

以小数形式输出实数的格式字Q是;

以标准指数形式输出实数的格式字符是O

【答案】c,s,f,e。

13、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式

控制符为"二

【答案】%s

14、C语言中,一个函数一般由两个部分组成,它们是______和函数体。

【答案】函数首部

15、函数的返回值是通过函数的_______语句获得的。

【答案】「return(或返回语句)’]

16、对于文件末尾检测函数如果文件指针未到文件末尾,则函数返回值

是o

【答案】0#零

17、在c语言中,实参和形参之间的数据传递是【1】向的值传递。

【答案】单

18、字符串函数用于把一个字符串写入指定的磁盘文件中。

【答案】fputs#fputs{)

19、c语言规定,可执行程序的开始执行点是o

【答案】main函数

20、在函数中使用语句返回值。

【答案】return

21、已有定义:double*p;,请写出完整的语句,利用malloc函数使p指向一个

双精度型的动态存储单元O

【答案】[*p=(double*)malloc(sizeof(double))r]

22、inty=l,x,*p,a[]={2,4,6,8,10);

p=&a[1];

for(x=0;x<3;x++)y+=*(p+x);

printf(,'%d\nH,y);

程序的输出结果y的值是o

【答案】19

23、有一输入函数scanf("%d",k);

则不能使用float变量k得到正确数值的原因是和。

scanf语句的正确形式应该是:o

【答案】未指明变量k的地址,格式控制符与变量类型不匹配,scanf。%

f",&k);

o

24、在c语言中,函数的返回值是由语句传递的。

【答案】returnUrcturn0

25、在c语言中,一个函数一般由两个部分组成,它们是[1】和【2】。

【答案】【1】函数声明【2】函数体

26、C语言对数组下标的引用一般从开始。

【答案】0

27、输入求数组.有几个元素的语句(air,size)

【答案】intsz=sizeof(arr)/sizeof(arr[01);

28、C语言源程序经过连接后,生成文件的后缀名是_____o

【答案】.exe

29、定义枚举类型时采用的关键字是。

【答案】enum

30、函数fun的功能是计算xndoublefun(doublex,intn)

(

inti;

doubley=l;

for(i=l;i<=n;i-+)y=y*x;

returny;

)

主函数中已经正确定义明a,b变量并赋值,并调用fun函数计算:m=a4+b4-

(a+b)3o实现这一计算的函数调用语句为o

【答案】['fun(a,4)+fun(b,4)-fun(a+b,3);

']

31、以下程序的运行结果是o

main()

(

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,,r,s);

)

【答案】34#34,#34,

32、下面程序的运行结果是。

main()

(

inta[5][5],i,j,n=l;

for(i=0;i<5;i+-)for(j=0;j<5;j++)a[i][j]=n++;

printf("theresultis:\n'F);

for(i=0;i<5;i+-)

for(j=0;j<=i;j++)printf(n%4d\a[ij[j]);

printf("\n");

}

)

【答案】167111213161718192122232425

33、有以下程序

#include<stdio.h>

mainO{

inti,n[]={0,0,0,0,0);

for(i=l;i<=4;i+-)

(

n[i]=n[i-l]*3+1;

printf("%d

}

}

程序运行后的输出结果是o

【答案】[4413401]

34、下面程序的运行结果是:o

fun(intt[],intn)

(

inti,m;

if(n-l)returnt[0];

elseif(n>=2)

(

m=fun(t,n-l>:

returnm;

)

}

main()

(

inta[]={11,4,6,3,8,2,3,5,9,2};

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

}

【答案】['ll1]

35、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且

其中必须有白球,输出所有可能的方案。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论