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

下载本文档

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

文档简介

2/2南昌航空大学C语言填空题大全(一)总分:100分 考试时间:90分钟注意事项:开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、漏印或缺页等问题。答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。考试结束,不得将试卷、答题卡或草稿纸带出考场。一、填空题(每小题2.5分,共100分)1、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"________"。【答案】%s2、赋值语句是由______加上一个分号构成。【答案】=3、在vc++编译环境下,c语言基本整型变量所占字节数是____。【答案】44、C程序的运行需要经过______和链接两步进行。【答案】编译5、若有以下定义,intm=5,y=2;

则计算表达式y+=y-=m*=y后y的值是【】。【答案】-166、在c语言中,标识符是由()、数字、下划线组成的。【答案】英文字母#字母7、在c语言中,假使x为基本整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。【答案】%d8、在c语言中,逻辑运算符中的"&&"称为________。【答案】逻辑与9、intx=1,y=1,z=1;x+=y+=z;则表达式x<y?y:x的值为______。【答案】310、c语言约定用____________作为字符串的结束标志。【答案】'\0'#\011、main()

{

inta,b;

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

{

if(b>=20)break;

if(b%3==1)

{

b+=3;

continue;

}

b-=5;

}

}

程序的输出结果a的值为________。【答案】812、下列程序段的运行结果是_____。

main()

{

intn,s=0;

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

{

if(n%2==0)continue;

s=s+n;

}

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

}【答案】913、在c语言中,二维数组元素在内存的存放顺序是________.【答案】['按行存放']14、函数strlen("1234\0xy")的值为:______。【答案】915、将arr传参到子函数,接受处()内函数定义该怎么写?【答案】int*arr16、编译预处理包括()、文件包含、条件编译等。【答案】宏定义17、局部变量又称内部变量,是在函数______定义的变量。【答案】内部#内18、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________。【答案】['

#include<stdio.h>

(或

#include"stdio.h")']19、在c语言中,假使x为长整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。【答案】%ld20、如果一个变量要在一个程序中的所有函数都能共享,则应该定义成为________。【答案】全局变量21、在c语言中,数组元素的下标从__________开始的。【答案】0#零22、在c语言中,一个函数一般由两个部分组成,它们是【1】和【2】。【答案】【1】函数声明【2】函数体23、字符串函数________用于从指定的磁盘文件中读出一个字符串。【答案】fgets#fgets()24、编译预处理包括宏定义、______、条件编译等。【答案】文件包含25、若以下定义和语句,

struct

{

intday;

charmonth;

intyear;

}

b;

要引用结构体类型变量成员day可以表示为【1】。【答案】b.day26、已有定义inta;

floatb,x;

charc1,c2;

为使a=3,b=6.5,x=12.6,c1=’a’,c2=’a’正确的函数调用语句是______________,输入数据的方式是_________________。【答案】scanf("%d%f%f%c%c",&a,&b,&cl,&c2),3︼6.5︼12.6aa↙。27、以下程序的输出结果是______。

#include<stdio.h>

main()

{

inti;

for(i=a;j<f;i++,i++)printf("%c",i-‘a’+’a’);

printf("\n");

}【答案】['abcde']28、程序运行结果是________。

voidswap(inta[2])

{

intt;

t=a[0];

a[0]=a[1];

a[1]=t;

}

voidmain()

{

intx[2]={5,8};

swap(x);

printf("x[0]=%d,x[1]=%d\n",x[0],x[1]);

}【答案】x[0]=8,x[1]=529、已知字母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=1;i<=5;i++)

switch(i%2)

{

case0:

i++;

printf("#");

break;

case1:

i+=2;

printf("*");

default:

printf("\n");

}

}【答案】*#31、下列程序段的运行结果是_____。

floatb=80,*q;

q=&b;

printf("%f",*q);【答案】80.000000#80.032、以下程序运行后的输出结果是________。

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);

}【答案】['585858']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=-136、语句putchar('a'+2);的输出结果是________。【答案】结果是c37、以下程序的输出结果是________。

main()

{

inta[3][3]=

{{1,2,9},{3,4,8},{5,6,7}},i,s=0;

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

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

}【答案】['30']38、以下程序的运行结果是________。

#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\n",x,z);

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

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

}【答案】4-2404-239、函数del的作用是删除有序数组a中的指定元素x。已有调用语句n=del(a,n,x);

其中实参n为删除数组元素的个数,赋值号左边的n为删除后数组元素的个数。请填空。del(inta[],intn,intx)

{

intp,i;

p=0;

while(x>=a[p]&&p<n)【1】________;

for(i=p-1;i<n;i++)【2】________;

n=n-1;

returnn;

}【答案】【1】p++【2】a[i]=a[i+1]40、有以下程序

#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");

}

程序运行后的结果是________。【答案】['101418']

南昌航空大学C语言填空题大全(二)总分:100分 考试时间:90分钟注意事项:开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、漏印或缺页等问题。答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。考试结束,不得将试卷、答题卡或草稿纸带出考场。一、填空题(每小题2.5分,共100分)1、若有inta[3]={1,2,3};则*(a+1)+1=________。【答案】32、表达式7+10>2&&25%5的结果是________。【答案】03、在c语言中,"a"在内存中占()个字节。【答案】2#两4、若有定义语句:inta=5;,则表达式a++的值是________。【答案】55、若inta=3,b=2,c=1,f;表达式f=a>b>c的值是________。【答案】06、已知"floatx=0.5;inty=8;",则算术表达式"(int)(x+y/5)"的值是________。【答案】17、已知charstr[]="man",则strlen(str)的值为_____。【答案】38、在c语言中,将字符串中大写字母转换成小写字母的函数是_____________。【答案】strlwr#strlwr()#strlwr(字符串)9、在C语言中的实型变量分为两种类型,它们是___和浮点型。【答案】整形10、函数swap(arr,n)可完成对arr数组从第一个元素到第n个元素两两交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为【1】________,原因是【2】________。a[0]=1,a[1]=2;

swap(a,2);【答案】【1】2,1【2】地址传递对形参的改变能改变实参的值11、已知函数定义为:intstat(inta,float*p),则此函数的两个参数类型分别是______、浮点型。【答案】整形12、源程序的基本单位是【】。【答案】函数13、如果一个函数无返回值,定义它时函数类型应是______。【答案】void14、有如下函数头:intmax(inti,intj),则此函数有______个参数。【答案】215、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。

#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",________);

}【答案】['*s']16、c语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用________函数来实现。【答案】fclose#fclose()#fclose()17、数组inta[3][3];共定义了________个数组元素。【答案】918、函数的返回值是通过函数的________语句获得的。【答案】['return(或返回语句)']19、在c语言中,若确实不要求返回函数值,则应将函数定义为()类型。【答案】void20、有函数调用fun1(x+y,(y,z),10,fun((x,y-1)));

函数fun1有【1】个参数。【答案】421、一个C程序有且仅有一个______函数。【答案】main22、在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-9026、有以下程序

main()

{

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

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

执行后输出结果是________。【答案】['–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<回车>时,输出结果是________。【答案】728、以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出: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]='\0';

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]&&'0'<=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]"]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]);

}【答案】【1】m=100;

m<1000【2】m/10%10或m%100/10【3】a[i]=m30、下面程序段的运行结果是________。for(a=1,i=-1;-1<=i<1;i++)

{

a++;

printf("%d,",a);

}

printf("%2d",i);【答案】-131、以下程序实现:输入园的半径r和运算标志m,按照运算标志进行指定计算,请填空。标志运算A面积C周长B二者均计算#definepi=3.14159

main()

{

charm;

floatr,c,a;

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

scanf("%c%f",&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','u:z']33、下面程序的功能是计算1-3+5-7+...-99+101的值,请分析程序填空。

#include<stdio.h>

main()

{

inti,t=1,s=0;

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

{

【1】________;

s=s+t;

【2】________;

}

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

}【答案】【1】t=t*i【2】t=-t/i34、下列程序段的运行结果是________。

voidsun()

{

intb=5;

}

main()

{

intb=1;

sun();

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

}【答案】b=135、main()

{

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

p=a;

k=&p;

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

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

}

程序的输出结果是________。【答案】2,436、下面程序的运行结果是________。

main()

{

inta[2][3]={{1,2,3},{4,5,6}},intb[3][2],i,j;

printf("arraya:\n");

for(i=0;i<=1;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<=1;j++)printf("%5d",b[i][j]);

printf("\n");

}

}【答案】arraya:123456arrayb:14253637、下列程序段的运行结果是_____。

main()

{

intn,s=0;

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

{

if(n%3==0)continue;

s=s+n;

}

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

}【答案】1238、以下程序的执行结果是____。

#include<stdio.h>

voidmain()

{

charc='a'+10;

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

}【答案】c=k。39、下面程序的功能是求出用数字0至9可以组成多少个不重复的三位偶数。请分析程序填空。

#include<stdio.h>

main()

{

intn=0,i,j,k;

for(i=1;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!=j40、floatf=3.1415927;

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

则程序的输出结果是________。【答案】3.141593,3.1416,3.142

南昌航空大学C语言填空题大全(三)总分:100分 考试时间:90分钟注意事项:开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、漏印或缺页等问题。答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。考试结束,不得将试卷、答题卡或草稿纸带出考场。一、填空题(每小题2.5分,共100分)1、已知"floata=3.5;

intb=12;

",则算术表达式"a+b/5"的值是_____________。【答案】5.5#5.5000002、已有定义:charc=’‘;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为________。【答案】03、c语言中与指针有关的两个运算符是______与*。【答案】&4、设p=30,那么执行q=(++p)后,表达式的结果q为________,变量p的结果为________。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。【答案】['4','4','-12']5、在c语言中,关系运算符中的"大于等于"表示为________。【答案】>=6、定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为______。【答案】int*p[4];7、以下程序的输出结果是________。

main()

{

intx;

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

}【答案】138、设inta=5,b=6;

则表达式(++a==b--)?++a:--b的值是________。【答案】79、结构化程序设计的3种基本结构是:顺序结构、选择结构、______结构,这三种基本结构构成了复杂的c语言程序。【答案】循环#重复10、c语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。【答案】fopen#fopen()#fopen()11、C语言中,一个函数一般由两个部分组成,它们是______和函数体。【答案】函数首部12、使文件指针重新定位到文件读写的首地址的函数是________。【答案】rewind13、宏定义必须写在______之外【答案】函数14、c语言规定,可执行程序的开始执行点是________。【答案】main函数15、在c语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其他元素值均为________。【答案】0#零16、若有"inta[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。【答案】017、int*p的含义是________。【答案】['指针变量p为整型']18、C语言对数组下标的引用一般从______开始。【答案】019、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为________。【答案】020、用c语言编写的源程序文件的扩展名为"()"。【答案】c#.c#c#.c21、以下程序的运行结果是________

#include<string.h>

typedefstructstudent

{

charname[10];

longsno;

floatscore;

}

stu;

main()

{

stua={"zhangsan",2001,95},b={"shangxian",2002,90},c={"anhua",2003,95},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、以下程序运行后的输出结果是________。

该程序的功能是________。

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("%d",*p);【答案】224、有以下程序

#include<stdio.h>

main()

{

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

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

printf("\n");

}

程序运行后的输出结果是________。【答案】['123569']25、以下程序的输出结果是________。

main()

{

inta=-1,b;

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

elseb=2*a-1;

printf("%d",b);

}【答案】-126、请补充函数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'0'to'9'digitalcharacter:\n");

gets(str);

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

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

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

}【答案】________--i________str[i]-'0'________t*10+k27、下列程序段的运行结果是_____。intb=20,*q;

q=&b;printf("%d",*q);【答案】2028、请补充函数proc(),该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,str指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。例如,当str输入"abcabcabcab",c=b时,b的输出为"abcabcaca";

如果str的输入为"abcabcabca",则b的输出为"abcabcabca"。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅程函数proc()的横线上填入所编写的若干表达式或语句。试题程序:

#defineM80

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

{

inti=0,j=0;

intn=0;intm=0;

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

{

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

}

________;

if(n%2)

{

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

{

b[j]=str[j];

j++;

}

b[j]='\0';

}

else

{

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

{

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]='\0'______29、下列程序段的运行结果是_____。#defineMAX(x,y)x>y?x:y

main()

{

inta,b,max;

A=5,b=6;

Max=MAX(a,b);

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

}【答案】max=630、以下程序运行后的输出结果是________

fun(intx)

{

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

printf("%d",x);

}

main()

{

fun(6);

}【答案】['136']31、写出下列程序的运行结果。

main()

{

intn;

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

{

if(n%6==0)break;

printf("%d",n);

}

}【答案】34532、下列程序段的运行结果是_____。

main()

{

inta=5,b=6,c;

intadd(int,int);

c=add(a,b);

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

}

intadd(intx,inty)

{

intz;

z=x+y;

returnz;

}【答案】1133、当执行以下程序时,如果输入abc,则输出结果是:

#include<stdio.h>

#include<string.h>

voidmain()

{

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

gets(ss);

strcat(ss,"6789");

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

}【答案】abc6789【解析】gets函数将使用字符串“ABC”覆盖原来的“12345”字符串,然后再将字符串“6789”连接到“ABC”上,故输出为“ABC6789”。34、下面程序的运行结果是________。

#include<stdio.h>

main()

{

inti,j;

for(i=4;i>=1;i--)

{

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

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

putchar('\n');

}

}【答案】#######*##**#***35、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。

intfun(intn)

{

intm=0,f=1,i;

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

{

m+=i*f;

f=________;

}

returnm;

}

main()

{

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

}【答案】['-f或f*-1或-1*f或f*(-1)或(-1)*f','fun(10)']36、下列程序的功能是计算圆的面积,将程序补充完整。

#definePI=3.14159

main()

{

floatr,s;

printf("Enteranumberr:");

________s=PI*r*r________;

}【答案】['scanf("%f",&r)','printf("s=%f",s)']37、写出下列程序的运行结果。

fun(inta,intb)

{

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);

}【答案】1238、以下程序在输入5,2之后的执行结果是________。

#include<stdio.h>

voidmain()

{

ints,t,a,b;

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

s=1;

t=1;

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

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=3。【解析】根据C语言“else总是与它前面最近的if配对”的规定,第一个if无else配对,第二个if与第一个else配对,第三个if与第二个else配对。当输入a=5,b=2后,第一个if语句执行的结果使s=2,第二个语句执行a>b的结果使t=2+1=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(1-x*x);

________;

}

}【答案】['49','flag==2','float','return(s)']40、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。

#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>102、在c语言中,标识符是由英文字母、数字、________组成的。【答案】下划线3、执行以下语句段

inti;

intfun(intx)

{

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

}

i=fun(3);

i的值为________。【答案】54、开发一个c程序要经过编辑、编译、()和运行4个步骤、【答案】连接5、写一个表达式表示n既能被3整除又能被5整除【答案】n%3==0&&n%5==06、数字'0'的ascii码值为多少()【答案】487、局部变量的作用域是从定义的位置起,到______结束止。【答案】函数8、若有定义:inta=5,b=2,c=1;则表达式a-b<c||b==c的值是________。【答案】09、c语言中基本的数据类型有:整型、________、________。【答案】['实型','字符型']10、在一个c源程序中,注释部分两侧的分界符分别为___和____。【答案】[/*,*/]11、已知t=5,则表达式"t-=t+=3"的值是______。【答案】012、若定义了inta[10],将数组元素中最后一个元素"赋值为10"语句是________。【答案】a[9]=1013、已知charstr[]="student",则strlen(str)的值为_____。【答案】714、在c语言中,格式输入库函数为________,格式输出库函数为________。【答案】['\xa0scanf\xa0','\xa0printf\xa0']15、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数名和______。【答案】函数参数16、以下函数值的类型是【1】。

fun(floatx)

{

floaty;

y=3*x-4;

returny;

}【答案】int17、c语言中getchar()函数的功能是________。【答案】['从键盘上输入一个字符']18、ferror函数用来检测文件读写时是否发生错误,若未发生读写错误,则返回值是________。【答案】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);

}【答案】p21、c语言程序的基本单位是________。【答案】['函数']22、要调用数学处理函数时,在#include命令中应包含____头文件。【答案】math.h23、定义二维数组inta[3][5];

,那么该数组中的第6个元素的访问形式为______。27.在程序运行过程中,其值能被改变的量称为________。【答案】a[1][0]|变量24、在c语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为_______。【答案】file25、以下程序运行结果是________。

voidswap2(int*x,int*y)

{

intt;

t=*x;

*x=*y;

*y=t;

}

voidmain()

{

inta=100,b=200;

swap2(&a,&b);

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

}【答案】200,10026、以下程序段的定义语句中,x[1]的初值是________,程序运行后输出的内容是________。

#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+1];

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

}

printf("\n");

}【答案】['2','2468']27、有以下程序

#include<stdio.h>

main()

{

charch1,ch2;

intn1,n2;

ch1=getchar();

ch2=getchar();

n1=ch1-‘0’;

n2=n1*10+(ch2-‘0’);

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

}

程序运行时输入:12<回车>,执行后输出结果是________。【答案】['12']28、下列程序段的运行结果是_____。

main()

{

inta=5,b=6,c;

intmin(int,int);

c=min(a,b);

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

}

intmin(intx,inty)

{

intz;

if(x<y)z=x;

elsez=y;

returnz;

}【答案】529、以下程序的运行结果是________。

#include<stdio.h>

func(intarray[][4],intm)

{

inti,j,k;

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]={{1,13,5,7},{2,4,26,8},{10,1,3,12}};

inti,j,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));

}【答案】1135724268101312thevalueis3130、mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。intmystrlen(char*str)

{

inti;

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

return(________);

}【答案】['*(str+i)str[i]','i']31、以下程序的输出结果是________。

main()

{

chars[]="abcdef";

s[3]=‘\0';

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

}【答案】['abc']32、下面程序的运行结果是________。

#include<stdio.h>

main()

{

inty=2,a=1;

while(y--!=-1)

{

do

{

a*=y;

a++;

}

while(y--);

}

printf("%d,%d",a,y);

}【答案】1,-233、下面程序以每行4个数的形式输出a数组,请分析程序填空。#defineN20main()

{

inta[N],i;

for(i=0;i<N;i++)scanf("%d",【1】________);

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

{

if(【2】________)【3】________;

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

}

}【答案】【1】&a[i]【2】i%4==0【3】printf("\n");34、以下的程序是求矩阵a,b的和,结果存入矩阵c中,并按矩阵形式输出。

#include<stdio.h>

voidmain()

{

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

intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,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=0;j<4;j++)printf("%3d",c[i][j]);

________________;

}

}【答案】a[i][j]+b[i][j],putchar(‘\n’)【解析】矩阵相加,只需要将矩阵a和矩阵b上对应维数的数相加,然后赋给矩阵c相应维即可。故c[i][j]=a[i][j]+b[i][j]。输出时每行输出一个换行符即可以矩阵的形式显示出来。35、下面程序段的运行结果是________。

i=1;

a=0;

s=1;

do

{

a=a+s*i;

s=-s;

i++;

}

while(i<=10);

printf("a=%d",a);【答案】a=-536、下列程序段的运行结果是________。

inta[5]={1,2,3,4,5},*p;

p=a;

printf("%d",*(p=p+2));【答案】337、下面程序的运行结果是________。

#include<stdio.h>

main()

{

inta,b,i;

a=1;

b=3;

i=1;

do

{

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

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

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

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

}

while(b<100);

}【答案】1,3,7,15,31,63,38、以下程序的功能是输入任意整数给n后,输出n行由大写字母a开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:abcdefghijklmno请填空完成该程序。

main()

{

inti,j,n;

charch=′a′;

scanf("%d",&n);

if(n<11)

{

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

{

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

{

printf("%2c",ch);

________;

}

________;

}

}

elseprintf("nistoolarge!\n")printf("\n");

}【答案】['ch++','printf("\\n");

']39、有以下程序

main()

{

charc;

while((c=getchar())!='?')putchar(--c);

}

程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为________。【答案】['xcf999']40、函数f的形参a为一个10×10的二维数组,n的值为5,以下程序段的运行结果为________。f(inta[][20],intn)

{

inti,j,k;

j=n/2+1;

a[1][j]=1;

i=1;

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

{

i=i-1;

j=j+1;

if(i<1&&j>n)

{

i=i+2;

j=j-1;

}

else

{

if(i<1)i=n;

if(j>n)j=1;

}

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

else

{

i=i+2;

j=j-1;

a[i][j]=k;

}

}

}

main()

{

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

scanf("%d",&n);

f(a,n);

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

{

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

printf("\n");

}

}【答案】17241815235714164613202210121921311182529

南昌航空大学C语言填空题大全(五)总分:100分 考试时间:90分钟注意事项:开考前,仔细核对科目是否正确,有无试卷、答题卡分发错误及试题字迹不清、重印、漏印或缺页等问题。答题过程中,不得喧哗、交头接耳,不得夹带、旁窥、抄袭或有意让他人抄袭。考试结束,不得将试卷、答题卡或草稿纸带出考场。一、填空题(每小题2.5分,共100分)1、若有"inta[3][2]={{1,2},{3},{4,5}};

",则a[2][2]的值是_____。【答案】无#不存在2、sacii中小写字母-(____)=大写字母【答案】323、在c语言中的实型变量分为两种类型,它们是________和________。【答案】floatdouble4、逻辑运算符"&&、||、!"中的优先级是________。【答案】['!>&&>||']5、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>x8、在C语言中,表示静态存储类别的关键字______。【答案】static9、在c语言中,用转义字符\t表示__________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行【答案】横向跳格10、以下程序的输出结果是________。

main()

{

intx=5,y=6;

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

}【答案】6aa611、intw=1,x=2,y=3,z=4;

则条件表达式w>x?w:y<z?y:z的结果为________。【答案】312、c语言规定,不能使用c语言中的________做标识符。【答案】关键字13、在c语言中,假使x为单精度实型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。【答案】%f14、以下程序的输出结果是________。

#include<stdio.h>

main()

{

intk=1,s=0;

do

{

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

s+=k;

k++;

}

while(k>10);

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

}【答案】['s=0']15、c语言三个循环语句分别while语句、________语句和________语句。【答案】['do-while语句','for语句']16、在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是________,break是________。【答案】['结束本次循环,进入下一次循环','结束循环']17、构成数组的各个元素必须具有相同的______。【答案】类型18、一个c语言源程序由若干函数组成,其中至少应含有一个()【答案】主函数(或main函数)。19、在scanf函数中,用符号______表示变量的地址。【答案】&20、函数体用{开始,用____结束。【答案】}21、从文件读入一行,读取字符包括空格,使用函数________。【答案】gets()22、C语言替换字符的函数是什么?【答案】strcpy(a,b);23、函数实参的传递分为____【答案】值传递和址传递24、"空"指针值用______表示【答案】null#025、在C语言中,以______作为字符串结束标志。【答案】‘\0’26、对于文件末尾检测函数feof(),如果文件指针未到文件末尾,则函数返回值是_______。【答案】0#零27、下列给定程序中,函数proc()的功能是计算正整数m各位上数字的平方和。例如,输入498,则输出应该是161。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>longproc(10ngm)

{

longsum=1;

do

{

sum+=(m%10)*(m%10);

m/=10;

}

while(m)

return(sum);

}

voidmain()

{

longn;

system("cls");

printf("pleaseenteranumber:");

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

printf("\n%ld\n",proc(n));

}【答案】1.错误:longsum=1;正确:longsum=0;

2.错误:while(m)正确:while(m);28、下列程序运行时,若输入1abcedf2df<回车>输出结果为________。

#include<stdio.h>

main()

{

chara=0,ch;

while((ch=getchar())!=‘\n’)

{

if(a%2!=0&&(ch>=‘a’&&ch<=‘z’))ch=ch-‘a’+‘a’;

a++;

putchar(ch);

}

printf("\n");

}【答案】['1abcedf2df']29、若有定义:intk;,以下程序段的输出结果是________。

for(k=2;k<6;k++,k++)printf("##%d",k);【答案】['##2##4']30、c程序是由函数构成的,其中必须有且只有一个______函数。【答案】主#main#main()31、以下程序的输出结果为________。

main()

{

charm,n;

m=getchar();

/*(输入d)*/n=m-34;

printf("%c",n);

}【答案】b32、有以下程序

#include<string.h>

main()

{

chara[]={'d','e','f','g','h','\0'};

intj;

j=strlen(a);

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

}

程序运行后的输出结果是______。【答案】533、下列程序段的运行结果是_____。

chars1[20]="abcdef",s2[5]="abc";

strcpy(s1,s2);

printf("%c",s1[5]);【答案】f34、下列程序段的运行结果是________。

main()

{

intn,s

温馨提示

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

评论

0/150

提交评论