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

下载本文档

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

文档简介

年C语言填空题大全(一)(总分100分,考试时长90分钟)一、填空题(每小题2.5分,共100分)1、C语言中的每条基本语句以______作为结束符,每条复合语句以}作为结束符。2、在vc++编译环境下,一个字符型变量所占字节数是____。3、在c语言中,用转义字符\\表示______________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行4、若有定义语句:inta=5;,则表达式a++的值是________。5、inta=0;a+=(a=8);求a的最后结果6、若有"inta[3][2]={{1,2},{3},{4,5}};

",则a[2][2]的值是_____。7、c语言规定,不能使用c语言中的________做标识符。8、#include<stdio.h>

voidmain()

{

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

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

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

}9、若定义了inta[10],将数组元素中最后一个元素"赋值为10"语句是________。10、一个c语言源程序由若干函数组成,其中至少应含有一个()11、已有定义:double*p;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元________。12、已知charstr[]="student",则strlen(str)的值为_____。13、字符读写函数____________是用于把一个字符写入磁盘文件。14、在c语言中,实参和形参之间的数据传递是【1】向的值传递。15、在c语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数__________。16、在c语言中,二维数组在内存中的存放顺序是________。17、若有"inta[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。18、C语言中,一个函数一般由两个部分组成,它们是______和函数体。19、如果一个函数无返回值,定义它时函数类型应是______。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);

}21、编译预处理包括宏定义、文件包含、()等。22、对于文件末尾检测函数feof,如果文件指针已到文件末尾,则函数返回值是________。23、下列程序段的运行结果是_____。

structst

{

longnum;

charname[20];

charsex;

floatscore;

}

w={1021103,"jiangping",'m',85.5};

main()

{

printf("%s\n",);

}24、以下程序的输出结果是________。

main()

{

intx=5,y=6;

printf("%da%d",x――,――y);

}25、有以下程序

main()

{

charc;

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

}

程序运行时,如果从键盘输入:ydg?n?<回车>,则输出结果为________。26、以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空intisprime(inta)

{

inti;

for(i=2;i<=a/2;i++)if(a%i==0)________;

________;

}27、以下程序的运行结果是________。

main()

{

inti=5;

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

}

sub(intn)

{

inta;

if(n==1)return1;

a=n+sub(n-1);

returna;

}28、执行下列程序段后,输出的a的值是_____________。

main()

{

inta=0;

switch(a)

{

case0:a--;

break;

case1:a++;

break;

case2:a=a+5;

break

}

printf("%d",a);

}29、下列程序段的运行结果是_____。

main()

{

inti=1,s=0;

for(;;)

{

s=s+i;

i++;

if(i>4)break;

}

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

}30、执行下列程序段后,输出的a的值是_____________。

main()

{

intm=0;

switch(m)

{

case0:m=2*m+1;

break;

case1:m=m-1;

break;

case2:m=m+5;

break

}

printf("%d",m);

}31、下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。

main()

{

inti,j,k;

for(i=1;________;i++)

{

for(j=1;________;j++)printf("%d*%d=%d",________);

printf("\n");

}

}32、下面程序可求出矩阵两条对角线上的元素之和。请分析程序填空。

main()

{

inta[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;

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

if(i==j)sum1+=a[i][j];

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

for(【1】________;【2】________;j--)

if(i+j==2)sum2+=a[i][j];

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

}33、有以下程序

#include<stdio.h>

int*f(int*p,int*q);

main(){

intm=1,n=2,*r=&m;

r=f(r,&n);

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

}

int*f(int*p,int*q){

return(*p>*q)?p:q;

}

程序运行后的输出结果是________。34、函数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;

}35、下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请分析程序填空。

main()

{

inta[10],b[10],i;

for(i=0;【1】________;i++)scanf("%d",&a[i]);

for(i=1;【2】________;i++)b[i]=a[i]-a[i-1];

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

{

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

if(【3】________)printf("\n");

}

}36、有以下程序

#include<stdio.h>

main()

{

chara[20]="howareyou?",b[20];

scanf("%s",b);

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

}

程序运行时从键盘输入:howareyou?<回车>则输出结果为________。37、以下程序运行的结果为____________。

#include<stdio.h>

intd=1;

fun(intp)

{

intd=5;

d+=p++;

printf("%d,",d);

}

voidmain()

{

inta=3;

fun(a);

d+=a++;

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

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

main()

{

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

sort(a);

for(i=0;i<=4;i++)printf("%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[p])p=i;

t=a[p];

a[p]=a[j];

a[j]=t;

}

}39、以下程序的运行结果是________。

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

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

#include<stdio.h>

main(){

inta=200,b=010;

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

参考答案一、填空题1、;2、13、反斜线4、55、166、无#不存在7、关键字8、14【解析】该程序即计算a[1][0]+a[2][0]+a[2][1]的值,对应数组中的数为:3+5+6=14。9、a[9]=1010、主函数(或main函数)。11、['p=(double*)malloc(sizeof(double))']12、713、fputc#fputc()#putc#putc()14、单15、参数16、按行主顺序存放17、018、函数首部19、void20、p21、条件编译22、非0#不等于0#非零#不等于零23、jiangping24、5a525、['xcf999']26、['return0','return1']27、1528、-129、1030、131、['i<=9','j<=9','i,j,i*j']32、【1】j=2【2】j>=033、234、【1】p++【2】a[i]=a[i+1]35、【1】i<10【2】i<10【3】i%3==036、['howareyouhow']37、8,438、【1】-13689【2】选择法排序39、4-2404-240、['2008']

2023年C语言填空题大全(二)(总分100分,考试时长90分钟)一、填空题(每小题2.5分,共100分)1、c语言中基本的数据类型有:整型、________、________。2、在c语言中,标识符是由()、数字、下划线组成的。3、赋值语句是由______加上一个分号构成。4、在c语言中,正确的标识符是由________组成的,且由________开头的。5、设p=30,那么执行q=(++p)后,表达式的结果q为________,变量p的结果为________。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。6、break语句通常用于______中。7、构成数组的各个元素必须具有相同的______。8、若有定义:doublex[3][5];

则x数组中行下标的下限为【1】,列下标的上限为【2】。9、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为________。10、函数strlen("1234\0xy")的值为:______。11、有一输入函数scanf("%d",k);

则不能使用float变量k得到正确数值的原因是__________和____________。scanf语句的正确形式应该是:_____________。12、c语言本身不提供输入输出语句,输入和输出操作是由________来实现的。13、函数的返回值是通过函数的________语句获得的。14、源程序的基本单位是【】。15、在c语言中,对一维整型数组初始化时如果只给一部分元素赋初值,那么其他元素值均为________。16、编辑好一个程序文件后,在运行该程序文件之前先要进行________。17、字符串函数________用于从指定的磁盘文件中读出一个字符串。18、以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;

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

structnode

{

intinfo;

________link;

}19、已有定义如下:

structnode

{

intdata;

structnode*next;

}

*p;

以下语句调用malloc函数,使指针p指向一个具有structnode类型的动态存储空间。请填空。p=(structnode*)malloc(________);20、struct

{

intx;

char*y;

}

tab=

{

1,

"ab"

},*p=tab;

则:表达式p->x的结果为【1】。21、若运行以下程序时,从键盘输入adescriptor↙,则下面程序的运行结果是________。

#include<stdio.h>

voidmain()

{

charc;

intv0=0,v1=0,v2=0;

do

{

switch(c=getchar())

{

case’a’:

case’a’:

case’e’:

case’e’:

case’i’:

case’i’:

case’o’:

case’o’:

case’u’:

case’u’:v1+=1;

default:

v0+=1;

v2+=1;

}

}

while(c!=’n\’);

printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);

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

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

}23、以下程序运行后的输出结果是________。

main()

{

charc;

intn=100;

floatf=10;

doublex;

x=f*=n/=(c=50);

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

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

#definePI=3.14159

main()

{

floatr,s;

printf("Enteranumberr:");

________s=PI*r*r________;

}25、有以下程序

#include<string.h>

main()

{

chara[]={'a','b','\0'};

intj;

j=strlen(a);

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

}

程序运行后的输出结果是______。26、以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。

voidsstrcpy(char*s,char*t)

{

while(*s++=________);

}

main()

{

charstr1[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}27、以下的程序是求矩阵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]);

________________;

}

}28、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的值为________。29、以下程序运行的结果为()

#include<stdio.h>

voidfun1(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;

fun1(p,q);

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

fun2(p,q);

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

}30、执行下列的程序段后,正确的结果是_____________。

intm=4;

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

while(--m);31、以下程序的运行结果是_____________。

main()

{

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

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

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

main()

{

intx=5,y=6;

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

}33、执行下列的程序段后,正确的结果是_____________。

inti=5;

while(i=1)i--;

printf("%d",i);34、c程序是由函数构成的,其中必须有且只有一个______函数。35、下列程序段的运行结果是_____。

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

strcpy(s1,s2);

printf("%c",s1[4]);36、下面程序段的运行结果是________。for(a=1,i=-1;-1<=i<1;i++)

{

a++;

printf("%d,",a);

}

printf("%2d",i);37、以下程序运行后的输出结果是________。

main()

{

inta=1,b=3,c=5;

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

elseprintf("no\n");

}38、以下程序的输出结果是________。#inlcude<stdio.h>

main()

{

intm=68;

putchar(m+30);

}39、下面程序的功能是求1000以内的所有完全数。说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数。例如:6=1+2+3。

#include<stdio.h>

main()

{

inta,i,m;

for(a=1;a<=1000;a++)

{

for(【1】________;i<=a/2;i++)

if(!(a%i))【2】________;

if(m==a)printf("%4d",a);

}

}40、以下程序的输出结果是________。

#include<stdion.h>

#defineM5

#defineNM+M

main()

{

intk;

K=N*N*5;

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

}

参考答案一、填空题1、['实型','字符型']2、英文字母#字母3、=4、['字母、数字、下划线','以字母、下划线']5、['4','4','-12']6、switch//循环7、类型8、【1】0【2】49、010、911、未指明变量k的地址,格式控制符与变量类型不匹配,scanf("%f",&k);

。12、['函数']13、['return(或返回语句)']14、函数15、0#零16、编译17、fgets#fgets()18、['structnode*']19、['sizeof(structnode)或4']20、121、v0=12|v1=4|v2=12【解析】getchar函数取字符直到回车为此,且将回车算在内,“while(c!='\n');”在switch(c=getchar())之后才判断回车,所以回车也算在v0v2内;case后面没跟break,如果一个case匹配后,后面的case不再判断,直接执行,直到遇到break;它这里的case遇到AEIOU的不管大小写都递增v1,v1就是元音字母的个数,ADescriptor中一共有4个case中的字符;因为之前没有break,所有字符都会执行到default的语句,v0和v2就是所有字符的个数。22、["'\\0'或者填写0"]23、['220']24、['scanf("%f",&r)','printf("s=%f",s)']25、226、*t++27、a[i][j]+b[i][j],putchar(‘\n’)【解析】矩阵相加,只需要将矩阵a和矩阵b上对应维数的数相加,然后赋给矩阵c相应维即可。故c[i][j]=a[i][j]+b[i][j]。输出时每行输出一个换行符即可以矩阵的形式显示出来。28、829、3,5,5,330、131、1,5,9#1,5,9,#15932、6aa633、无限循环#死循环34、主#main#main()35、e36、-137、['yes']38、b39、【1】i=1,m=0【2】m=m+i40、['55']

2023年C语言填空题大全(三)(总分100分,考试时长90分钟)一、填空题(每小题2.5分,共100分)1、若要定义一个单精度实型变量f,则应该使用的定义语句为________。2、在c语言中,逻辑运算符中的"&&"称为________。3、在c语言中,逻辑运算符中的"||"称为________。4、设a=12,a定义为整型变量,表达式a*=2+3的值为________。5、共用体类型变量的定义关键字是________。6、设有变量定义:inta=10,c=9;

则表达式(--a!=c++)?--a:++c的值是________。7、已知"floatx=0.5;inty=8;",则算术表达式"(int)(x+y/5)"的值是________。8、用&&写出判断一个字母是否为大、小写的语句9、在c语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是________。我的答案:break10、c语言程序的三种基本结构是顺序结构、选择结构和________。11、下列程序段的运行结果是________。

main()

{

intn,s=0;

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

{

if(n%2!=0)continue;

s=s+i;

}

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

}12、一个C程序有且仅有一个______函数。13、在scanf函数中,用符号______表示变量的地址。14、语言的函数体一般由____和____构成15、在c语言中,假使x为长整型变量,如果我们采用printf("格式控制",x)格式输出x,那么"格式控制"具体表示为"__"。16、字符读写函数____________是用于从磁盘文件中读出一个字符。17、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。

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

}18、有如下函数头:intmax(inti,intj),则此函数有______个参数。19、指针是存放______的变量。20、数组inta[3][3];共定义了________个数组元素。21、定义4行3列的整型二维数组a的语句是________。22、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________。23、使文件指针重新定位到文件读写的首地址的函数是________。24、C语言源程序经过连接后,生成文件的后缀名是______。25、定义枚举类型时采用的关键字是__________。26、写出下列程序的运行结果。

#include"stdio.h"

main()

{

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

intm,n,*p;

p=&a[0];

m=*(p+1);

n=*(p+4);

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

}27、下面程序是计算10个整数中奇数的和及其偶数的和,请填空。

main()

{

inta,b,c,i;

a=c=0;

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

{

scanf("%d",&b);

canf("%d",&b);

________________________

}

printf("偶数的和=%d\n",a);

printf("奇数的和=%d\n",c);

}28、请阅读并分析以下程序,该程序的输出结果是:

#include<stdio.h>

main()

{

intn[3][3],i,j;

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

for(j=0;j<3;j++)n[i][j]=i+j;

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

for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];

printf("%d\n",n[i][j]);

}29、以下程序的输出结果是________。

main()

{

ints,i;

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

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

}30、执行下列程序段后,输出的a的值是_____________。

main()

{

inta=2;

switch(a)

{

case0:a--;

break;

case1:a++;

break;

case2:a=a+5;

break

}

printf("%d",a);

}31、程序运行结果是________。

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

}32、若从键盘输入58,则以下程序输出的结果是________。

main()

{

inta;

scanf("%d",&a);

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

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

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

}33、以下程序的输出结果是________。

main()

{

if(2*2==5<2*2==4)printf("t");

elseprintf("f");

}34、有一下程序

#include<stdio.h>

main()

{

intf,f1,f2,i;

f1=0;

f2=1;

printf("%d%d",f1,f2);

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

{

f=f1+f2;

printf("%d",f);

f1=f2;

f2=f;

}

printf("\n");

}

程序运行后的输出结果是________。35、有以下程序

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

}

程序运行后的结果是________。36、以下程序的功能是输出如下形式的方阵:13141516910111256781234请填空。

main()

{

inti,j,x;

for(j=4;j________;j--)

{

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

{

x=(j-1)*4+________;

printf("%4d",x);

}

printf("\n");

}

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

main()

{

intn,s=0;

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

{

if(n%3==0)continue;

s=s+n;

}

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

}38、语句putchar('a'+2);的输出结果是________。39、下面程序的运行结果是:________。

fun(intt[],intn)

{

inti,m;

if(n==1)returnt[0];

elseif(n>=2)

{

m=fun(t,n-1);

returnm;

}

}

main()

{

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

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

}40、以下程序的运行结果是【1】________,其算法是【2】________。

main()

{

inta[5]={5,10,-7,3,7},i,t,j;

sort(a);

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

}

sort(inta[])

{

inti,j,k;

for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+1])

{

t=a[j];

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

a[j+1]=t;

}

}

参考答案一、填空题1、floatf2、逻辑与3、逻辑或4、['60']5、union6、117、18、c>='a'&&c<='z'9、填空题|110、['循环结构']11、612、main13、&14、定义语句|执行语句15、%ld16、fgetc#fgetc()#getc#getc()17、['*s']18、219、地址20、921、['inta[4][3];

']22、['

#include<stdio.h>

(或

#include"stdio.h")']23、rewind24、.exe25、enum26、12527、if(b%2==0)a=a+belsec=c+b28、629、530、731、x[0]=8,x[1]=532、['585858']33、f34、['01123']35、['101418']36、['>0','6']37、1238、结果是c39、['11']40、【1】-735710【2】冒泡法排序

2023年C语言填空题大全(四)(总分100分,考试时长90分钟)一、填空题(每小题2.5分,共100分)1、若有以下定义语句floatx[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};,则表达式"x[1][1]*x[2][2]"的值是【1】。2、在C语言中,以______作为字符串结束标志。3、设m=0,n=2,则表达式"!(m+n)"的值是_____________。4、数学表达式10<y或者y<-10改写为c语言表达式是________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。5、访问变量的方式有______和_______6、已知"floata=3.5;

intb=12;

",则算术表达式"a+b/5"的值是_____________。7、c语言变量按其作用域分为全局变量和局部变量。按其生存期分为________存储和________存储。8、表示"整数x的绝对值大于3"时值为"真"的c语言表达式是________。9、在c语言中,每个变量都具有存储类别属性。存储类别是指数据在内存中存储的方法。并且存储方法分为_______类。10、c语言三个循环语句分别while语句、________语句和________语句。11、程序的结果是:

#include<stdio.h>

voidmain()

{

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

}12、在c语言中,一个函数一般由两个部分组成,它们是________和________。13、已知函数定义为:intstat(inta,float*p),则此函数的两个参数类型分别是______、浮点型。14、c语言中getchar()函数的功能是________。15、C语言替换字符的函数是什么?16、以下函数值的类型是【1】。

fun(floatx)

{

floaty;

y=3*x-4;

returny;

}17、全局变量又称外部变量,是在函数______定义的变量。18、在c语言中,如果采用printf函数将整个字符串一次输出,那么对应的格式控制符为"________"。19、C语言对数组下标的引用一般从______开始。20、函数的形参在未被调用前不分配空间,函数形参的___要和实参相同。21、在c语言中,格式输入库函数为________,格式输出库函数为________。22、在c语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为_______。23、c语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。24、下列程序段的运行结果是_____。

structstudent

{

longnum;

charname[20];

charsex;

floatscore;

}

a={1021103,"jiangping",'m',85.5};

main()

{

printf("%ld\n",a.num);

}25、编写even(n)函数判断n是否为偶数,是返回1,否返回0,请填空。

inteven(intn)

{

if________return1;

elsereturn0;

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

#include<stdio.h>

#include<string.h>

voidmain()

{

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

gets(ss);

strcat(ss,"6789");

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

}27、以下程序运行后的输出结果是________。

main()

{

intx=0210;

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

}28、有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请分析程序填空。

#include<stdio.h>

main()

{

intday,x1,x2;

day=0;

x1=1020;

while(____1____)

{

x2=____2____;

x1=x2;

day++;

}

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

}29、有以下程序

#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<回车>,执行后输出结果是________。30、以下程序可求出所有的水仙花数。(水仙花数是三位正数,其各位数字的立方和等于该正数,如: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]);

}31、下面程序段的运行结果是________。

i=1;

a=0;

s=1;

do

{

a=a+s*i;

s=-s;

i++;

}

while(i<=10);

printf("a=%d",a);32、下面程序的功能是给一维数组a任意输入6个整数,假设为748915,然后建立一个具有以下内容的方阵并打印。请分析程序填空。574891157489915748891574489157748915main()

{

inta[6],i,j,k,m;

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

for(i=5;i>=0;i--)

{

k=a[5];

for(【1】________;j>=0;j--)a[j+1]=a[j];

【2】________;

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

printf("\n");

}

}33、已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋给各元素从2开始的偶数,函数fav2则按顺序每5个元素求一个平均值,并将该值存放在数组w中。请填空。#defineSIZE30Fav1(floats[])

{

intk,i;

for(k=2,i=0;i<SIZE;i++)

{

【1】________;

K+=2;

}

}

Fav2(floats[],floatw[])

{

floatsum,k,i;

Sum=0.0;

for(k=0,i=0;i<SIZE;i++)

{

sum+=s[i];

if((i+1)%5==0)

{

w[k]=sum/5;

【2】________;

K++;

}

}

}

main()

{

floats[SIZE],w[SIZE/5],sum;

inti,k;

Fav1(s);

Fav2(s,w);

}34、以下程序的运行结果是________。

main()

{

inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

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

}35、当运行以下程序时,输入abcd,程序的输出结果是:________。insert(charstr[])

{

inti;

i=strlen(str);

while(i>0)

{

str[2*i]=str[i];

str[2*i-1]=′*′;

i--;

}

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

}

main()

{

charstr[40];

scanf("%s",str);

insert(str);

}36、以下程序的运行结果是________。

main()

{

inta,b,c,d;

a=c=0;

b=1;

d=20;

if(a)d=d-10;

elseif(!b)if(!c)d=15;

elsed=25;

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

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

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;

}38、设有以下程序:

main()

{

intn1,n2;

scanf("%d",&n2);

while(n2!=0)

{

n1=n2;

n2=n2/10;

printf("%d",n1);

}

}

程序运行后,如果从键盘上输入1298;

则输出结果为________。39、下列程序段的运行结果是_____。

floatb=80,*q;

q=&b;

printf("%f",*q);40、以下程序的输出结果是________。

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;

}

参考答案一、填空题1、0.02、‘\0’3、04、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>105、直接访问间接访问6、5.5#5.5000007、['动态','静态']8、['x<-3||x>3']9、2#两10、['do-while语句','for语句']11、x=812、['函数说明部分','函数体']13、整形14、['从键盘上输入一个字符']15、strcpy(a,b);16、int17、外部#外18、%s19、020、数据类型21、['\xa0scanf\xa0','\xa0printf\xa0']22、file23、fopen#fopen()#fopen()24、102110325、(n%2==0)26、abc6789【解析】gets函数将使用字符串“ABC”覆盖原来的“12345”字符串,然后再将字符串“6789”连接到“ABC”上,故输出为“ABC6789”。27、['88']28、【1】x1【2】x1/2-229、['12']30、【1】m=100;

m<1000【2】m/10%10或m%100/10【3】a[i]=m31、a=-532、【1】j=4【2】a[0]=k33、【1】s[i]=k【2】sum=0.034、-135、['a*b*c*d*']36、2037、1138、892139、80.000000#80.040、7

2023年C语言填空题大全(五)(总分100分,考试时长90分钟)一、填空题(每小题2.5分,共100分)1、在c语言中除了使用c提供的标准类型名(如int、char等)外,还可以用_________声明新的类型名来代替已有的类型名。2、执行以下语句段

inti;

intfun(intx)

{

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

}

i=fun(3);

i的值为________。3、写一个表达式表示n既能被3整除又能被5整除4、c语言约定用____________作为字符串的结束标志。5、在vc++编译环境下,一个双精度型变量所占字节数是____。6、设inta;floatf;doublei;则表达式10+’a’+i*f值的数据类型是________。7、全局的外部变量与函数体内定义的局部变量同名时,在函数体内,________变量起作用。8、若有定义:

floatx=3.5;

intz=8;

则表达式x+z%3/4的值为________。9、语句主要是实现次数循环结构,while语句主要是实现当型循环结构。10、for(a=1,b=1;a<=100;a++)

{

if(b>=20)break;

if(b%3==1)

{

b+=3;

continue;

}

b-=5;

}

程序的输出结果a的值为________。11、在c语言中,将字符串中小写字母转换成大写字母的函数是________。12、设有如下宏定义

#defineMYSWAP(z,x,y)

{

z=x;

x=y;

y=z;

}

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

MYSWAP(________,a,b);13、C标准库函数中,字符串的处理函数包含在______头文件中,数学函数包含在math.h头文件中。14、编译预处理包括()、文件包含、条件编译等。15、在c语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。16、将arr传参到子函数,接受处()内函数定义该怎么写?17、int*p的含义是________。18、一个变量的指针是指________。19、在c语言中,一个函数一般由两个部分组成,它们是【1】和【2】。20、在c语言中,二维数组元素在内存的存放顺序是________.21、在c语言中,函数的返回值是由___________语句传递的。22、有函数调用fun1(x+y,(y,z),10,fun((x,y-1)));

函数fun1有【1】个参数。23、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数名和______。24、函数体用{开始,用____结束。25、定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为______。26、在c语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。27、要调用数学处理函数时,在#include命令中应包含____头文件。28、以下程序的运行结果是________

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

}29、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。请分析程序填空。

#include<stdio.h>

main()

{

inti,j,k;

printf("\nhongbaihei\n");

for(i=0;i<=3;i++)for(【1】________;j<=5;j++)

{

k=8-i-j;

if(【2】________)printf("%3d%3d%3d\n",i,j,k);

}

}30、下面程序的运行结果是________。

main()

{

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

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

printf("theresultis:\n");

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

{

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

printf("\n");

}

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

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

}32、以下程序中给指针p分配三个double型动态内存单元,请填空。

#include<stdlib.h>

main()

{

double*p;

p=(double*)malloc(________);

p[0]=1.5;

p[1]=2.5;

p[2]=3.5;

printf("%f%f%f\n",p[0],p[1],p[2]);

}33、以下程序运行的结果为________。

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

}

}34、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位.十位、百位的顺序拆分并输出。请填空。

#include<stdio.h>

main()

{

intx=256;

printf("%d-%d-%d\n",________,x/10%10,x/100);

}35、下面程序的功能是用―辗转相除法‖求两个正整数的最大公约数。请分析程序填空。

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

}36、有以下程序

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

}

程序运行后的输出结果是________。37、下面程序的功能是计算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);

}38、下面程序根据以下函数关系,对输入的每个x值,计算出y值。请分析程序填空。

main()

{

intx,y;

scanf("%d",&x);

if(【1】________)y=x*(x+2);

elseif(【2】________)y=x-1;

else【3】________;

if(y!=-1)printf("%d",y);

elseprintf("error");

}39、以下程序的运行结果是________。

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

}40、main()

{

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

p=a;

k=&p;

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

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

}

程序的输出结果是________。

参考答案一、填空题1、typedef2、53、n%3==0&&n%5==04、'\0'#\05、86、['double(双精度型)']7、函数体内定义的局部8、3.59、for10、2211、strupr#strupr()#strupr(字符串)12、c13、string.h14、宏定义15、直接16、int*arr17、['指针变量p为整型']18、['该变量的地址']19、【1】函数声明【2】函数体20、['按行存放']21、return#return()22、423、函数参数24、}25、int*p[4];26、有参27、math.h28、['2002shangxian']29、【1】j=1【2】k<730、16711121316171819212223242531、['30']32、['3*sizeof(double)']33、80-9034、['x%10']35、【1】r=m,m=n,n=r【2】m%n36、['123569']37、【1】t=t*i【2】t=-t/i38、【1】2<x&&x<=10【2】-1<x&&x<=2【3】y=-139、1135724268101312thevalueis3140、2,4

2023年C语言填空题大全(六)(总分1

温馨提示

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

评论

0/150

提交评论