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

下载本文档

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

文档简介

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

总分:100分考试时间:90分钟

注意事项:

>开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、

漏印或缺页等问题。

>答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。

>考试结束,不得^试卷、答题卡或草稿纸带出考场。

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

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

制符为""o

【答案】%s

2、赋值语句是由____加上一个分号构成。

【答案】=

3、在vc++编译环境下,c语言基本整型变量所占字节数是

【答案】4

4、C程序的运行需要经过____和链接两步进行。

【答案】编译

5、若有以下定义,intm=5,y=2;

则计算表达式y+=y-=m*=y后y的值是

【答案】-16

6、在c语言中,标识符是由()、数字、下划线组成的。

【答案】英文字母#字母

7、在c语言中,假使x为基本整型变量,如果我们采用printf("格式控制",x)格式

输出x,那么"格式控制"具体表示为"一"。

【答案】%d

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

【答案】逻辑与

9Sintx=l,y=l,z=l;x+=y+=z;则表达式x<y?y:x的值为。

【答案】3

10、c语言约定用作为字符串的结束标志。

【答案】vr#\o

11、main()

(

inta,b;

for(a=l,b=l;a<=100;a++)

(

if(b>=20)break;

if(b%3==l)

(

b+=3;

continue;

)

b-=5;

)

)

程序的输出结果a的值为

【答案】8

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

main()

(

intn,s=O;

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

{

if(n%2==0)continue;

s=s+n;

)

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

)

【答案】9

13、在c语言中,二维数组元素在内存的存放)1面序是一

【答案】['按行存放']

14、函数strlen("1234\0xy")的值为:

【答案】9

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

【答案】int*arr

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

【答案】宏定义

17、局部变量又称内部变量,是在函数____定义的变量。

【答案】内部#内

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

命令:O

【答案】['

#include<stdio.h>

#include"stdio.h")']

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

输出x,那么"格式控制"具体表示为

【答案】%ld

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

【答案】全局变量

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

【答案】0#零

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

22c1][2]o

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

23、字符串因数_______月于从指定的磁盘文件中读出一个字符串。

【答案】fgets#fgets()

24、编译预处理包括宏定义、、条件编译等。

【答案】文件包含

25、若以下定义和语句,

struct

(

intday;

charmonth;

intyear;

)

b;

要引用结构体类型变量成员day可以表示为[11

【答案】b.day

26、已有定义inta;

floatb,x;

charcl,c2;

为使a=3b=6.5x=126cl='a'簿2=,a'正确的函数调用语句是

输入数据的方式是_______________O

【答案】scanf("%d%f%f%c%c",&a,&b,&cl,&c2),3J6.5r2.6aa/。

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

#include<stdio.h>

main()

(

inti;

for(i=a;j<f;i++,i++iprintf("%c",i-'a'+'a');

printf("\n");

)

【答案】「abcde']

28、程序运行结果是_______。

voidswap(inta[2])

(

intt;

t=a[0];

a[0]=a[l];

a[l]=t;

)

voidmain()

(

intx[2]={5/8};

swap(x);

printf("x[O]=%d,x[l]=%d\n"/x[O]/x[l]);

)

【答案】x[0]=8,x[l]=5

29、已知字母a的ascii码为65。以下程序运行后的输出结果是

main()

chara,b;

a='a'+'5'-'3';

b=a+,6'-'2';

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

)

【答案】「67g']

30、下面程序的运行结果是一

#include<stdio.h>

main()

(

inti;

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

switch(i%2)

(

case0:

i++;

printf("#");

break;

case1:

i+=2;

printf("*");

default:

printf("\n");

)

)

【答案】*#

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

floatb=80,*q;

q=&b;

printf("%fB/q);

【答案】80.000000#80.0

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

main()

(

intx=0210;

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

)

【答案】['88]

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

main()

(

inta;

scanf("%d\&a);

if(a>50)printf("%d-,a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

)

【答案】15858581

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

x=2;

do

printf("*");

x-;

)

while(!x==0);

【答案】**

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

#definesub(x,y)x-y

main()

(

inta,b,s;

A=5,b=6;

S=sub(a,b);

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

)

【答案】S=-l

36、语句putchar('a'+2);的输出结果是_______。

【答案】结果是c

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

main()

(

inta[3][3]=

{{129},{348},{567}}js=0;

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

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

)

【答案】[’30]

38、以下程序的运行结果是______o

#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'zx,z);

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

x=4;

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

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

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

)

【答案】4-2404-2

39、函数del的作用是删除有序数组a中的指定元素x。已有调用语句

n=del(a/n,x);

其中实参n为删除数组元素的个数,赋值号左边的n为删除后数组元素的个

数。请填空。del(inta[],intn,intx)

(

intp,i;

P=0;

while(x>=a[p]8i&p<n)[1];

for(i=p-l;i<n;i++)[2];

n=n-l;

returnn;

)

【答案】[1]p++[2]a[i]=a[i+l]

40、名以下程序

#include<stdio.h>

main()

inta[3][3]={{123},{456},{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");

)

程序运行后的结果是________

【答案】「101418']

南昌航空大学C语言填空题大全(二)

总分:100分考试时间:90分钟

注意事项:

>开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、

漏印或缺页等问题。

>答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。

>考试结束,不得^试卷、答题卡或草稿纸带出考场。

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

1、若有inta[3]={l,2,3};则*(a+l)+l=0

【答案】3

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

【答案】0

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

【答案】2#两

4、若有定义语句:inta=5;,则表达式a++的值是。

【答案】5

5、若inta=3,b=2,c=l,f;表达式f=a>b>c的值是_______。

【答案】0

6、已知"floatx=0.5;inty=8;",则算术表达式"(int)(x+y/5)"的值是______。

【答案】1

7、已知charstr口="man",则strlen(str)的值为。

【答案】3

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

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

9、在C语言中的实型变量分为两种类型,它们是—和浮点型。

【答案】整形

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

换。在运行调用函数中的如下语句后,a⑼和a[l]的值分别为【1】原

因是[2]a[0]=l,a[l]=2;

swap(a,2);

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

11、已知函数定义为:intstat(inta,float*p),则此函数的两个参数类型

分别是______浮点型。

【答案】整形

12、源程序的基本单位是【】。

【答案】函数

13、如果一个函数无返回值,定义它时函数类型应是____o

【答案】void

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

【答案】2

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

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

#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\nM,);

)

【答案】

16、c语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用

_______函数来实现。

【答案】fclose#fclose()#fcloseO

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

【答案】9

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

【答案】['return(或返回语句川

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

【答案】void

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

函数funl有[1]个参数。

【答案】4

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

【答案】main

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

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

【答案】直接

23、字符读写函数__________是用于把一个字符写入檄盘文件。

【答案】fputc#fputc()#putc#putc()

24、对于文件末尾检测函数feof,如果文件指针已到文件末尾,则函数返回值是

【答案】非0#不等于0#非零#不等于零

25、以下程序运行的结果为

#include<stdio.h>

voidmain()

(

intscore=4;

switch(score)

(

case5:printf("90-100");

break;

case4:printf("80-89");

break;

case3:printf("70-79");

break;

case2:printf("60-69");

break;

default:printf("0-59");

)

)

【答案】80-90

26、有以下程序

main()

(

intn=0rm=l,x=2;

if(!n)x-=l;

if(m)x-=2;

if(x)x-=3;

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

)

执行后输出结果是.

【答案】r-4']

27、有以下程序

#include<stdio.h>

main()

(

intm,n;

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

while(m!=n)

while(m>n)m=m-n;

while(m<n)n=n-m;

)

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

)

程序运行后,当输入1463〈回车>时,输出结果是_______。

【答案】7

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

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

空。

#include<stdio.h>

#include<ctype.h>

main()

(

chars[80],d[80];

inti,j;

gets(s);

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

(

d[j]=s[i];

j++;

)

d[j]='\O';

puts(d);

)

【答案】「s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<

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

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

48<=s[i]&&57>=s[i]"]

29、以下程序可求出所有的水仙花数。(水仙花数是三位正数,其各位数字的立

方和等于该正数,如:407=4*4*4+0*0*0+7*7*7)main()

(

intx,y,z,a[8],m,i=0;

printf("thespecialnumbersare:\n");

for([1];m++)

(

x-m/100;

y=[2]______;

z=m%10;

if(m==x*x*x+y*y*y+z*z*z)

(

[3]______;

i++;

)

)

for(x=0;x<i;x++)printf(%6d",a[x]);

)

【答案】LUm=100;

m<1000[2]m/10%10ngm%100/10[3]a[i]=m

30、下面程序段的运行结果是______ofor(a=l,i=-l;-l<=i<l;i++)

(

a++;

printf("%dj,a);

)

printf("%2d"J);

【答案】-1

31、以下程序实现:输入园的半径r和运算标志m,按照运算标志进行指定计算,

请填空。标志运算A面积C周长B二者均计算#definepi=3.14159

main()

(

charm;

floatx,c,a;

printf("Inputmarkacorb&&r\\n");

scanf("%c%fn,&m,&r);

if(—1—)

a=pi*r*r;

printf("areais%f",a);

)

if(2)

{

c=2*pi*r;

printf("circleis%f",c);

)

if(—3—)

(

a=pi*r*r;

c=2*pi*r;

printf("area&&circleare%f%f\a,c);

)

)

【答案】【1】m=='a'【2】m=='c'[3]m=='b'

32、以下程序输出x,y,z三个数中的最小值,请填空使程序完整.

main()

(

intx=4,y=5,z=8;

intu,v;

u=x<y?;

V=u<z?;

printf("%d”,v);

)

【答案】「x:y丁uN]

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

#include<stdio.h>

main()

(

inti,t=l,s=O;

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

{

[1]_____;

s=s+t;

[2]____________;

)

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

)

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

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

voidsun()

(

intb=5;

)

main()

(

intb=l;

sun();

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

)

【答案】b=l

35、main()

(

inta[5]={2,4,6,8,10}*^**k;

P=a;

k二&p;

printf("%d/\*(p++));

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

)

程序的输出结果是________

【答案】2,4

36、下面程序的运行结果是_______o

main()

(

inta[2][3]={{123},{4,5,6}},intb[3][2],ij;

printf("arraya:\n");

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

(

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

(

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

b[j][i]=a[i][j];

)

printf("\n");

)

printf("arrayb:\n");

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

(

for(j=0;j<=l;j++)printfC%5d-,b[i][j]);

printf("\n");

)

)

【答案】arraya:l23456arrayb:l42536

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

main()

(

intn,s=O;

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

{

if(n%3==0)continue;

s=s+n;

)

n

printf("%d\nrs);

)

【答案】12

38、以下程序的执行结果是。

#include<stdio.h>

voidmain()

(

charc='a'+10;

printf("c=%c\n"zc);

)

【答案】c=ko

39、下面程序的功能是求出用数字0至9可以组成多少个不重复的三位偶

数。请分析程序填空。

#include<stdio.h>

main()

(

intn=OJjzk;

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

for(k=0;k<=8;[1])

if(k!=i)for(j=0;j<=9;j++)

if([2])n++;

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

)

【答案】[1]k+=2【2】i!=j&&k!=j

40、floatf=3.1415927;

printf("%f,%5.4f,%3.3f",ff,f);

则程序的输出结果是_______

【答案】3.141593,3.1416,3.142

南昌航空大学C语言填空题大全(三)

总分:100分考试时间:90分钟

注意事项:

>开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、

漏印或缺页等问题。

>答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。

>考试结束,不得^试卷、答题卡或草稿纸带出考场。

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

1、已知"floata=3.5;

intb=12;

",则算术表达式、+b/5”的值是____________

【答案】5.5#5.500000

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

b=!c&&a后b的值为。

【答案】0

3、c语言中与指针有关的两个运算符是____与*。

【答案】&

4、设p=30,那么执行q=(++p)后,表达式的结果q为变量p的结果

为o若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a

的值是0

【答案】['4丁4「12']

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

【答案】>=

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

句为O

【答案】int*p[4];

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

main()

(

intx;

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

)

【答案】13

8、设inta=5,b=6;

则表达式(++a==b--)?++a:--b的值是______。

【答案】7

9、结构化程序设计的3种基本结构是:顺序结构、选择结构、结构,这三

种基本结构构成了复杂的c语言程序。

【答案】循环#重复

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

函数来实现。

【答案】fopen#fopen()#fopen()

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

【答案】函数首部

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

【答案】rewind

13、宏定义必须写在____之外

【答案】函数

14、c语言规定,可执行程序的开始执行点是_______。

【答案】main函数

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

他元素值均为

【答案】0#零

16、若有"int2[3][2]={{1.2},{3},{4,5}};",则的值是________

【答案】0

17、int*p的含义是。

【答案】「指针变量p为整型1

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

【答案】0

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

feof(fp)的值为o

【答案】0

20、用c语言编写的源程序文件的扩展名为“()"。

【答案】c#.c#c#.c

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

#include<string.h>

typedefstructstudent

(

charname[10];

longsno;

floatscore;

)

Stu;

main()

(

M

stua={"zhangsan",2001,95}fb={shangxian",2002,90),

n

c={"anhua;2003f95},d,*p=&d;

d=a;

if(strcmp(,)>0)d=b;

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

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

)

【答案】[,2002shangxian']

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

该程序的功能是O

main()

(

intx=10,y=20,t=0;

if(x!=y)t=x;

x=y;

y=t;

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

)

【答案】「20,10丁变量的交换’]

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

inta=2,*p;

p=&a;

printf(n%d\*p);

【答案】2

24、有以下程序

#include<stdio.h>

main()

(

intij,aH3]={123,456,7,8,9};

for(i=l;i<3;i++)for(j=i;j<3;j++)printtf("%d",a[i][j]);

printf("\n");

)

程序运行后的输出结果是_______。

【答案】1123569']

25、以下程序的输出结果是_______o

main()

(

inta=-l,b;

if(a<0)b=2*a+l;

elseb=2*a-l;

printf("%dn,b);

)

【答案】-1

26、请补充函数proc(),该函数的功能是:把从主函数中输入的由数字字符组成

的字符串转换成一个无符号长整数,并且逆序输出。结果由函数返回。例如,输

入:1234567,结果输出7654321。注意部分源程序给出如下。请勿改动

main。函数和其他函数中的任何内容,仅在函数proc()的横线上填人所编写的若

干表达式或语句。试题程序:

#include<stdio.h>

unsignedlongproc(char*str)

(

unsignedlongt=0:intk:inti=0;

i=str|en(str);

for(;i>=0;i-)

(

k=;

t=;

)

returnt;

)

voidmain()

(

charstr[8];

system("cls");

printf("enterastringmadeupof'O'to'9"digitalcharacter:\n");

gets(str);

printf("thestring,is:%s\n",str);

if(strlen(str)>8)printf("thestringistootong!");

elseprintf("theresult:%lu\n",proc(str));

)

【答案】_______-i______str[i]-'O'______t*10+k

27、下列程序段的运行结果是____ointb-20/q;

q=&b;printf("%d",*q);

【答案】20

28、请补充函数proc(),该函数的功能是按条件删除一个字符串指定字符一半的

数目具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如

果具数目是偶数,则删除原串后半部分的指定字符。具中,str指向原字符串,删除

后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入

"abcabcabcab",c=b时,b的输出为"abcabcaca";

如果str的输入为"abcabcabca"厕b的输出为"abcabcabca"。注意:部分源

程序给出如下。请勿改动main。函数和其他函数中的任何内容,仅程函数

proc()的横线上填入所编写的若干表达式或语句。试题程序:

#defineM80

voidproc(charstr[],charb[],charc)

(

inti=0j=0;

intn=0;intm=0;

while(str[i]!='\0')

(

if(str[i]==c)n++;i++:

)

if(n%2)

(

while(str[j]!='\O')

(

b[j]=str[j];

j++;

)

b[j]='\O';

)

else

while(str[i]!='\O')

b[j++]=str[i];

if(str[i]==c)m++;

if((m>n/2)&&(str[i]==c))

i++:

)

)

)

voidmain()

(

charstr[M],b[M];

charc;

system("cls");

printf("Enterthestrin9:\n");

gets(str);

printf("Enterthecharacterofthestringdeleted:");

scanf("%c",&c);

proc(str,b,c);

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

)

[答案]______i=0______j-_____b[j]='\O'_____

29、下列程序段的运行结果是____o*defineMAX(xfy)x>y?x:y

main()

(

inta,b,max;

A=5,b=6;

Max=MAX(a,b);

printf("max=%d\n"lmax);

)

【答案】max=6

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

fun(intx)

(

if(x/2>0)fun(x/2);

printf("%d",x);

)

main()

(

fun(6);

)

【答案】[T36']

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

main()

(

intn;

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

(

if(n%6==0)break;

printf("%d",n);

)

)

【答案】345

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

main()

(

inta=5,b=6,c;

intadd(int,int);

c=add(a,b);

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

)

intadd(intxzinty)

intz;

z=x+y;

returnz;

)

【答案】11

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

#include<stdio.h>

#include<string.h>

voidmain()

(

n

charss[10]=l/2/3A5";

gets(ss);

strcat(ss,"6789");

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

)

【答案】abc6789

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

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

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

#include<stdio.h>

main()

intij;

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

(

for(j=lj<=i;j++)putchar('#');

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

putchar('\n');

)

)

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

35、以下程序的功能是调用函数fun计算:01=1-2+3-4+...+9-10,并输出结

果。请填空。

intfun(intn)

(

intm=O/f=lJ;

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

(

m+=i*f;

f=;

)

returnm;

)

main()

pnntf("m=%d\nn,);

)

【答案】[--f或f*-l或-l*f或nj6(-l)*f,'fun(lO),]

36、下列程序的功能是计算圆的面积,将程序补充完整。

#definePI=3.14159

main()

(

floatr,s;

printf("Enteranumberr:");

s=PI*r*r;

)

【答案】['scanf("%f\&r);'printf("s=%f;s)']

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

fun(intazintb)

(

if(a>b)return(a);

elsereturn(b);

)

main()

(

intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

)

【答案】12

38、以下程序在输入5,2之后的执行结果是________

#include<stdio.h>

voidmain()

(

ints,t,a,b;

scanf("%d,%d",&a,&b);

s=l;

t=l;

if(a>0)s=s+l;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

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

)

【答案】

s=2|t=3o

【解析】根据C语言"else总是与它前面最近的if配对"的规定,第一个if

无else配对,第二个if与第一个else配对,第三个if与第二个else配对。当

输入a=5,b=2后,第一个if语句执行的结果使s=2,第二个语句执行a>b

的结果使t=2+l=3,从而不执行第三个if语句。

39、有以下程序,请填空_,程序的执行结果是一

main()

(

intx=5,y;

y=++x*++x;

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

)

floatfun(float)

main

(

nfloatx,y;

intflag;

printf("enterx:");

scanf("%f",&x);

flag=fun(x);

if()printf("x=%fisoutofrange.\n",x);

elseprintf("x=%f,y=%f\n",x,fun(x));

)

fun(floatx)

(

nfloats;

if(abs(x)>1)return(2);

else

{

s=sqrt(l-x*x);

)

)

【答案】r49','flag==2','float丁return⑸']

40、下面程序的功能是用一辗转相除法11求两个正整数的最大公约数。请分析程

序填空。

#include<stdio.h>

main()

(

intr,m,n;

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

if(m<n)1_;

r=m%n;

while(r)

(

m=n;

n=r;

r=_2_;

)

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

)

【答案】【

1]r=m,m=n,n=r[2]m%n

南昌航空大学C语言填空题大全(四)

总分:100分考试时间:90分钟

注意事项:

>开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、

漏印或缺页等问题。

>答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。

>考试结束,不得^试卷、答题卡或草稿纸带出考场。

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

1、数学表达式10<y或者y<-10改写为c语言表达式是______。注:表达式

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

【答案】10<y||y<-10#y<-10||10<y#y>10||y<-10#y<-10||y>10#10<

y||-10>y#-10>y||10<y#y>10||-10>y#-10>y||y>10

2、在c语言中,标识符是由英文字母、数字、组成的。

【答案】下划线

3、执行以下语句段

inti;

intfun(intx)

(

return((x>0)?fun(x-l)+fun(x-2):l);

)

i=fun(3);

i的值为o

【答案】5

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

【答案】连接

5、写一个表达式表示n既能被3整除又能被5整除

【答案】n%3==0&&n%5==0

6、数字。的ascii码值为多少()

【答案】48

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

【答案】函数

8、若有定义inta=5,b=2,c=l;则表达式a-b<c||b二二c的值是______,

【答案】0

9、c语言中基本的数据类型有:整型、、。

【答案】['实型丁字符型']

10、在一个c源程序中,注释部分两侧的分界符分别为_和。

【答案】[/*,*/]

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

【答案】0

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

【答案】a[9]=10

13、已知charstr口―student",则strlen(str)的值为,

【答案】7

14、在c语言中,格式输入库函数为格式输出库函数为。

【答案】['\xaOscanf\xaO\'\xaOprintf\xaO']

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

类型、函数名和

【答案】函数参数

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

fun(floatx)

floaty;

y=3*x-4;

returny;

)

【答案】int

17、c语言中getchar()函数的功能是。

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

18.terror函数用来检测文件读写时是否发生错误,若天发生读写错误,则返回值

是________

【答案】0#零

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

数。

【答案】有参

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\n",s-a);

)

【答案】P

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

【答案】r函数]

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

【答案】math.h

23、定义二维数组inta[3][5];

,那么该数组中的第6个元素的访问形式为。27,在程序运行过程中,其

值能被改变的量称为

【答案】a[l][0]|变量

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

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

【答案】file

25、以下程序运行结果是

voidswap2(int*x,int*y)

intt;

*x=*y;

*y=t;

)

voidmain()

inta=100,b=200;

swap2(&a,&b);

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

)

【答案】200,100

26、以下程序段的定义语句中,x[l]的初值是.,程序运行后输出的内容是

#include<stdio.h>

main()

intx口二{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

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

p[i]=&x[2*i+l];

printf("%d",p[i][O]);

)

printf("\n");

)

【答案】「2丁24681

27、有以下程序

#include<stdio.h>

main()

(

charchl,ch2;

intnl,n2;

chl=getchar();

ch2=getchar();

nl=chl-'O';

n2=nl*10+(ch2-'O');

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

)

程序运行时输入:12e回车〉,执行后输出结果是,

【答案】「121

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

main()

(

inta=5,b=6,c;

intmin(intjnt);

c=min(a,b);

n

printf("%d\nrc);

)

intmin(intx,inty)

(

intz;

if(x<y)z=x;

elsez=y;

returnz;

)

【答案】5

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

#include<stdio.h>

func(intarray[][4]zintm)

(

intijk;

k=0;

for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]<m)k=k+array[i][j];

returnk;

)

main()

(

staticinta[3][4]={{l/13,5,7},{2A2678},{10,l/3/12});

intij,m;

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

(

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

printf("\n");

)

m=10;

printf("\nthevalueis%d\n",func(a,m));

)

【答案】1135724268101312thevalueis31

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

填空。intmystrlen(char*str)

(

inti;

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

return();

)

【答案】产(str+i)str[i]','门

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

main()

(

chars[]=nabcdef";

s[3]=W;

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

)

【答案】['abc']

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

#include<stdio.h>

main()

(

inty=2,a=l;

while(y—!=-l)

(

do

(

a*=y;

a++;

)

while(y—);

)

printf("%d,%d"ay);

)

【答案】L-2

33、下面程序以每行4个数的形式输出a数组,请分析程序填空。#defineN

20main()

(

inta[N]j;

for(i=0;i<N;i++)scanf("%d",[1]);

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

{

if([2])[3];

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

)

)

【答案】LU&a[i][2]i%4==0[3]printf("\n");

34、以下的程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出。

#include<stdio.h>

voidmain()

(

inta[3]⑷={{3,・2,7,5},{1,0,4,-3},{6,8,0,2}};

intb[3][4]={{-2,0,L4},{5,・1,7,6},{6,8。2}};

inti,j,c[3][4];

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

for(j=0;j<4;j++)c[i][j]=_______;

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

{

for(j=O;j<4;j++)printf("%3d",c[i][j]);

)

)

【答案】a[i][j]+b[i][j],putchar(Anr)

【解析】矩阵相加,只需要将矩阵a和矩阵b上对应维数的数相加,然后赋给矩

阵c相应维即可。故=输出时每行输出一个换行符即可

以矩阵的形式显示出来。

35、下面程序段的运行结果是_______。

i=l;

a=0;

s=l;

do

(

a=a+s*i;

s=-s;

i++;

)

while(i<=10);

printf("a=%d;a);

【答案】a=-5

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

inta[5]={l,2,3A5},*p;

P=a;

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

【答案】3

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

#include<stdio.h>

main()

(

inta,b,i;

a=1;

b=3;

i=1;

do

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

a=(b-a)*2+b;

b=(a-b)*2+a;

if(i++%2==0)printf("\n");

)

while(b<100);

)

【答案】137,15,31,63,

38、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成

的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结

果如下:abcdefghijklmno请填空完成该程序。

main()

(

intijn;

charch=,a,;

scanf(h%d;&n);

if(n<11)

(

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

(

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

(

printf("%2c"/ch);

)

)

)

elseprintfCnistoolarge!\n")printf("\n");

)

【答案】「ch++丁printf("\\n”);

,]

39、有以下程序

main()

(

charc;

while((c=getchar())!=,?')putchar(—c);

)

程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为

【答案】['xcf999']

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

行结果为f(inta[][20Lintn)

(

intij,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<1)i=n;

if(j>n)j=l;

}

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

else

(

i=i+2;

a[i][j]=k;

)

main()

(

inta[20][20]={0},nJJ;

scanf("%d"z&n);

f(a,n);

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

(

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

printf("\n");

)

)

【答案】17241815235714164613202210121921311182529

南昌航空大学C语言填空题大全(五)

总分:100分考试时间:90分钟

注意事项:

>开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、

漏印或缺页等问题。

>答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。

>考试结束,不得^试卷、答题卡或草稿纸带出考场。

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

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

"厕a[2][2]的值是—。

【答案】无#不存在

2、sacii中小写字母-(一片大写字母

【答案】32

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

【答案】floatdouble

4、逻辑运算符"&&、||、!"中的优先级是______。

【答案】['!>&&>『]

5、c语句分为_____大类c

【答案】5#五

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

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

【答案】双引号

7、数学表达式x<y<z改写为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

8、在C语言中,表示静态存储类别的关键字

【答案】static

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

线/横向跳格/回车换行

【答案】横向跳格

10、以下程序的输出结果是______O

main()

(

intx=5,y=6;

printf("%daa%d,++x,y-);

)

【答案】6aa6

11、intw=1,x=2,y=3,z=4;

则条件表达式w>x?w:y<z?y:z的结果为。

【答案】3

12、c语言规定,不能使用c语言中的做标识符,

【答案】关键字

13、在c语言中,假使x为单精度实型变量,如果我们采用printf("格式控制

格式输出X,那么“格式控制"具体表示为"一"。

【答案】%f

14、以下程序的输出结果是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);

温馨提示

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

评论

0/150

提交评论