南昌工程学院c语言考试试题.docx_第1页
南昌工程学院c语言考试试题.docx_第2页
南昌工程学院c语言考试试题.docx_第3页
南昌工程学院c语言考试试题.docx_第4页
南昌工程学院c语言考试试题.docx_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

1以下四个程序中,完全正确的是()。答案:#include main() /* programming */printf(programming!n); 2:若以下说明,则数值为4的表达式是( )。int a12=1,2,3,4,5,6,7,8,9,10;char c=a,d,g;答案:ad-c3.在一个C程序中( )。答案:main函数可以在任何地方出现4. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( ) 。答案:int5. 当调用函数fopen发生错误时,函数的返回值是( )。答案:0或NULL6. 下面程序的运行结果是( )。#define ADD(x) x+xmain()int m1,n2,k3;int sumADD(m+n)*k;printf(%d,sum);答案:107. 以下程序的运行结果是()。main() int i,k,a10,p3;k=5;for(i=0;i10;i+) ai=i;for(i=0;i3;i+) pi=ai*(i+1);for(i=0;i3;i+) k+=pi*2;printf(%dn,k);答案:218. 下列合法的标识符是答案:_arry9. 已定义以下函数 int fun( int *p) return *p; fun函数返回值是( )答案:一个整数10. 对以下程序段以叙述中正确的是()typedef struct NODEint num;struct NODE *next; OLD;答案:OLD是一个结构体类型11. 若已定义x和y为int类型,则表达式x=1,y=x+3/2的值是_。答案:212. 有如下嵌套的if语句if(ab)if(ac) k=a;else k=c;elseif(bc) k=b;else k=c;以下选项中与上述if语句等价的语句是( )。答案:k=(ab)?(ac)?a:c):(bc)?b:c)13以下是if语句的基本形式:if(表达式) 语句其中表达式( ) 。答案:可以是任意合法的表达式14. 若运行以下程序段时,从键盘输入Adescriptor(表示回车),则下面程序段的运行结果是()char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:caseA:case e:caseE:case i:case I:case o:case O:case u:case U:v1+=1;default:v2+=1;v0+=1; while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);答案:v0=12,v1=4,v2=1215. 以下程序的运行结果是()。main() int m3=1,4,7,2,5,8,3,6,9;int i,j,k=2;for(i=0;i3;i+)printf(%d ,mki); 答案:3 6 916. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。答案:可是任意合法的表达式17. 以下程序的运行结果是()。void fun1(char *p) char *q;q=p;while(*q!= 0) (*q)+;q+;main()char a=Program,*p;p=&a3;fun1(p);printf(%sn,a);答案:Prohsbn18. 以下程序段运行后的输出结果是()int k=0,i,m;for(i=5;i=2;i-) f*=i;22. 以下叙述中正确的是( )答案:只要是用户定义的标识符,都有一个有效的作用域23. 以下程序段:float a,b;scanf(%f,&a);if(a0.0) b=0.0;else if(a0.5)&(a!=2.0) b=1.0/(a+2.0);else if(a10.0) b=1.0/a;else b=10.0;printf(%fn,b);若运行时输入2.0,则输出结果是()答案:0.50000024. 以下程序的结果是( ) 。main() int n;for(n=1; ; )if(+n%2=0) continue;if(+n%3=0) break; printf(n=%d,n);答案: n=625. 以下程序的运行结果是()。char arr24;strcpy(arr0,you);strcpy(arr1,me);arr03=&;printf(%sn,arr);答案:you&me26. 有以下程的运行结果是( )struct ty int x;int y;int z; s3=1,2,3,4,5,6,7,8,9;main() printf(%d,+s0.y);printf(%d,s1.y+);printf(%d,s2.z+); 答案:3,5,9在C语言中,每个语句和数据定义是用()结束。分号以下能正确定义一维数组的选项是( )int aA;以下关于C语言的叙述中正确的是()。C语言中的注释不可以夹在变量名或关键字的中间以下叙述中正确的是( )调用函数时,函数名必须与被调用的函数名完全一致若有以下程序段FILE *fp;int i ,a6=1,2,3,4,5,6,k;fp=fopen(data.dat,w+b);for(i=0;i6;i+)fseek(fp,0L,0);fwrite(&a5-i,sizeof(int),1,fp);rewind(fp);fread(&k,sizeof(int),1,fp);fclose(fp);printf(%d,k);则程序段的输出结果是( )1有以下程序 #include #define SUB( X, Y ) (X+1)*Y main() int a=3, b=4; printf(%dn,SUB(a+ ,b+ ); 程序运行后的输出结果是( )。16以下程序段的运行结果是( )void swap(int b ) int t;t=b0;b0=b1;b1=t;main( ) int a2=7,8;swap(a);printf(%d %d ,a0,a1);8 7按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。连接符以下程序的输出结果是( ) 。fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf(%d,a); 31有如下说明struct STD int n;char c;double x;则以下选项中,能正确定义结构体数组并赋初值的语句是( )struct STD tt2=1,A,62.0,2, B,75.0;以下选项中,当x为大于1的奇数时,值为0的表达式( )。x%2=0有以下程序段: ( )int a=1,b=2,c=3;if(ab)if(b8)z=+x;elsez=+x;printf(%d,z);10若运行以下程序段时,从键盘输入Adescriptor(表示回车),则下面程序段的运行结果是()char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:caseA:case e:caseE:case i:case I:case o:case O:case u:case U:v1+=1;default:v2+=1;v0+=1; while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);v0=12,v1=4,v2=12以下程序的运行结果是()。main() int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for (i=0;i3;i+)for (j=0;j3;j+) aij=i+j;if(i=j)sum=sum+aij; printf(sum=%d,sum);sum=26若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是( )。1有以下程序段:int x=10,20,30;int *px = x;printf(%d,+*px);printf(%d,*px);px=x;printf(%d,(*px)+);printf(%d,*px);px=x;printf(%d,*px+);printf(%d,*px);px =x;printf(%d,*+px);printf(%d,*px);程序运行后的输出结果是( )11,11,11,12,12,20,20,20下面程序段的运行结果是()int i,j,a=0;for(i=0;i2;i+)for(j=0;j+y;x=i+) i=x;以下选项中叙述错误的是( )C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值若有定义语句char s10= 123456700;,则strlen(s)的值是( )。7有以下定义,结构成员的值是ye ming的元素是( )struct student int num;char name20;char sex; char addr20; st13= 1001, li ming,M,bei jing , 1002,hu ming,N,he bei , 1002,ye ming,M,jiang xi ;以下关于结构化程序设计的叙述中正确的是()。在C语言中,程序的模块化是利用函数实现的以下能正确定义一维数组的选项是( )int aA;在一个C程序中( )。main函数可以在任何地方出现以下关于return语句的叙述中正确的是( )一个自定义函数中可以根据不同情况设置多条return语句有以下程序段FILE *fp;char str10;fp=fopen(myfile.dat,w);fputs(abc,fp);fclose(fp);fp=fopen(myfile.dat,a+);fprintf(fp,%d,28);rewind(fp);fscanf(fp,%s,str);puts(str);fclose(fp);程序运行后的输出结果是( )abc28若有以下程序#define S(x) x*x#define T(x) S(x)*S(x) main() int k=5, j=2; printf(%d,%dn, S(k+j),T(k+j); 则程序的输出结果是( )。 17,37以下程序段输出结果是( )。 int i, a10=0;for(i=0;ib)if(bb?(bc?1:0):0;功能相同的是()。if(aB)&(bC)k=1;elsek=0;以下能正确计算10!的程序段是()。i=1;s=1;dos=s*i;i+; while(i=10); 以下程序的运行结果是()。main() int a33= 1,2,3,4,5,6 ,i,j,s=0; for(i=1;i3;i+) for(j=0;j=i;j+) s+=aij; printf(%dn,s); 18设 int x=1, y=1; 表达式(!x|y-)的值是( )。1以下程序的运行结果是()。main() int a=25, *p; p=&a; printf(%dn,+*p); 26以下程序段运行后的输出结果是()int i,s=1,m=0;for(i=1;i=2;i+) s=s*11%1000;do m+=s%10;s=s/10;while(s);printf(m=%dn,m);2以下选项中与if(a=1)a=b;else a+;语句不同的switch语句是( )switch(a=1)case 0:a=b;break;case 1:a+;下面程序段的运行结果是()int a=1,b=2,c=2,t;while(abc)t=a;a=b;b=t;c-;printf(%d,%d,%d,a,b,c);1,2,0有以下程序运行后的输出结果是( ) 。int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+;else int a=7 ;t+=a+;return t+a+; main()int s=a,i=0;for(;ib) a=b; c=a; if(c!=a) c=b; printf(%d,%d,%dn,a,b,c);3,5,3若有定义语句char s10= 123456700;,则strlen(s)的值是( )。7下列程序输出的结果是( )struct abcint a,b,c;main() int t; struct abc s2=4,5,6,7,8,9; t=s0.a+s1.b; printf(%dn,t); 12三以下叙述中正确的是()。我们所写的每条C语句,经过编译最终将转换成二进制的机器指令以下能正确定义一维数组的选项是()。int num5*2;以下叙述中正确的是()。以上三种说法都不完整。以下叙述中错误的是( )用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值有以下程序段FILE *fp;char str10;fp=fopen(myfile.dat,w);fputs(abc,fp);fclose(fp);fp=fopen(myfile.dat,a+);fprintf(fp,%d,28);rewind(fp);fscanf(fp,%s,str);puts(str);fclose(fp);程序运行后的输出结果是( )abc28在下列选项中不会引起二义性的宏定义是( )。#define f(a) (a)*(a)以下程序的运行结果是()。void swap1(int c ) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1);printf(%d %d %d %dn,a0,a1,b0,b1);5 3 3 5以下不正确的标识符是( )1TYP以下函数值的类型是( ) 。fun ( float x ) float y;y= 3*x-4;return y; int设有以下结构体描述不正确的是( )struct stu int x; float y; aa;aa是用户定义的结构体类型名有以下程序main() int a=1,b=0;printf(%d,b=a+b);printf(%dn,a=2*b);程序运行后的输出结果是()。1,2以下程序段的输出结果是()int x=1,y=3,z=2;if(x=y)z=-1;elseif(y0) z=0; printf(%dn,z);2有以下程序段:int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(%d,%d,%d,%dn,a,b,c,d); 程序输出()编译有错若运行以下程序段时,从键盘输入Adescriptor(表示回车),则下面程序段的运行结果是()char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:caseA:case e:caseE:case i:case I:case o:case O:case u:case U:v1+=1;default:v2+=1;v0+=1; while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);v0=12,v1=4,v2=12以下程序的运行结果是()。main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=i;j+) t=t+bibjj; printf(%dn,t); 4sizeof( double )是()。一个整型表达式有以下程序段运行后的输出结果是()。main() int a10=1,2,3,4,5,6,7,8,9, *p=a; p+; p+;printf(%dn, (*+p,*p+ ); 4以下程序段运行后的输出结果是()int n=0,i,j,k;for(i=1;i=2;i+)for(k=1;k=2;k+)for(j=1;j=2;j+)n+;printf(n=%dn,n);n=6有以下程序, 程序的运行结果是 ( ) 。main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(a=%d,b=%dn,a,b); a=2,b=1有以下程序段int k=1;while(k=1) k+;while 循环执行的次数是( ) 。执行1次执行语句for(i=1;i+bc)printf(%dn,d);else if(c-1=d)=1)printf(%dn,d+1);else printf(%dn,d+2);3以下是死循环的程序段是()for(i=1; ; ) if(+i10) continue;若有定义语句char s10= 123456700;,则strlen(s)的值是( )。7有以下程序typedef structint b,p;A; void f(A c) /*注意:c是结构变量名 */int j;c.b+=1; c.p+=2;main()int i;A a=1,2;f(a);printf(%d,%dn,a.b,a.p);程序运行后的输出结果是( )1,2以下叙述中正确的是( )。C语言接近自然语言和数学语言以下定义正确的是( )float b110,b2;以下叙述中正确的是( )。C语句必须以分号结束以下叙述中正确的是( )函数名代表该函数的入口地址下面关于EOF的叙述,正确的是( )EOF是在库函数stdio.h文件中定义的符号常量设有以下定义:#define N 3#define Y(n) (N+1) *n)则执行语句z=2* (N+Y(5+1);后,z的值为()。48void fun(int a, int b ) int t; t=a;a=b;b=t;main() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;i10;i+=2) fun(ci,ci+1); for(i=0;i10;i+) printf(%d,ci); printf(n);1,2,3,4,5,6,7,8,9,0,以下选项中不合法的标识符是()。&a以下选项中函数形参不是指针的是( )fun( int &p )设有如下定义struct ss char name10; int age; char sex; std3,*p=std;下面各输入语句中错误的是( )scanf(%s,&stDname);若已定义x和y为int类型,则表达式x=1,y=x+3/2的值是_。2有如下嵌套的if语句if(ab)if(ac) k=a;else k=c;elseif(bc) k=b;else k=c;以下选项中与上述if语句等价的语句是( )。k=(ab)?(ac)?a:c):(bc)?b:c);在嵌套使用if语句时,c语言规定else总是( ) 。和之前与其最近的未配对的if配对若运行以下程序段时,从键盘输入Adescriptor(表示回车),则下面程序段的运行结果是()char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:caseA:case e:caseE:case i:case I:case o:case O:case u:case U:v1+=1;default:v2+=1;v0+=1; while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);v0=12,v1=4,v2=12以下程序的运行结果是()。main() int i, x33=1,2,3,4,5,6,7,8,9; for(i=0;i=2&c=6)(c!=3)(c!=5)若有定义语句:int year=2009, *p=&year ; 以下不能使变量year中的值增至2010的语句是( )*p+;以下程序段中的变量已正确定义,则输出结果是()。for(i=0;i4;i+,i+) for(k=l;k3;k+);printf(*);*以下程序执行后输出的结果是( )。main() int i=1;switch(i) case 1: printf(%d,i+); case 2: printf(%d,i+); default: printf(%d,i+);123下面程序段的运行结果是()int num=0;while(num=2)num+;printf(%dn,num);123 执行下面程序片段的结果是( )。int x;for(x=3;x6;x+)printf(x%2)?(*%d):(#%dn),x);*3#4*5有以下程序int d=1; void fun( int p ) int d=5; d += p+;printf(%d , d ); main() int a=3; fun( a ); d += a+; printf(%dn,d); 程序的输出结果是 ( )8 4在执行下述程序段时,若从键盘输入6和8,则结果为( )。int a,b,s;scanf(%d%d,&a,&b);s=a;if(ab)s=b; s*=s;printf(%d,s);64以下程序输出结果( ) #include main() int s=0,n=1; while(n=10) if(n=4) break; s=s+n; n+; printf(“%d”,s); 6以下程序的运行结果是( )。main( )char p20=a,b,c,d,q=abc, r=abcde;strcat(p,r); strcpy(p+strlen(q),q);printf(%d n,sizeof(p); 20有以下程序typedef structint b,p;A; void f(A c) /*注意:c是结构变量名 */int j;c.b+=1; c.p+=2;main()int i;A a=1,2;f(a);printf(%d,%dn,a.b,a.p);程序运行后的输出结果是( )1,2下列描述正确的是()C语言具有高级语言的特点又有低级语言的特点#define N 100 int numN;以下叙述中正确的是()。每个后缀为.c的C语言源程序都可以单独进行编译。C语言中的函数( )嵌套调用和递归调用均可。打开文件的函数是()fopen()有下列程序:#include #define N 5#define M N+1#define f(x) (x*M)main( ) int i1,i2; i1=f(2); i2=f(1+1); printf(%d %dn, i1,i2);程序的运行结果是( )。 11 7以下程序的输出结果是( )。main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(%d%d%d,a2,a5,a8);852以下不正确的标识符是( )1TYP有以下程序 void fun( int a, int b, int c ) a=b; b=c; c=a; main() int a=10 , b=20, c=30;fun( a, b, c );printf(%d,%d,%dn,c,b,a); 程序运行后的输出结果是( )30,20,10若有以下说明和定义, 则叙述正确的是() typedef int *INTEGER INTEGER p,*q;p是基类型为int的指针变量若有定义语句:int x=10;,则表达式x-=x+x的值为()。-10以下程序段的运行结果是()int a=-1,b=3,c=3 ,s=0,w=0,t=0; if(c0) s=a+b;if(a0) if(c0) w=a-b; else t=c; printf(%d,%d,%d,s,w,t);2,0,0以下程序段的输出结果( )int x=8,y=9,z;if(x+8)z=+x;elsez=+x;printf(%d,z);10以下能正确计算10!的程序段是()。i=1;s=1;dos=s*i;i+; while(i=10);以下程序段的运行结果是()。 int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i12;i+) csi+; for(i=1;i5;i+) printf(%d,ci); printf(n); 4 3 3 2若有以下程序段 double x=5.16894; printf(%fn, (int)(x*1000+0.5)/(double)1000 ); 则程序段的输出结果是()。5.169000以下程序的运行结果是()。#define NULL 0main() int a=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a+5, *q=NULL;*q=*(p+5);printf(%d%dn,*p, *q); 运行后报错有以下程序段:int k,j,s;for(k=2;k6;k+,k+)s=1;for(j=k;j6;j+)s+=j;printf(%dn,s);程序段运行后的输出结果是()10下面关于switch语句和break语句的叙述中,只有( )是正确的。在switch语句中可以根据需要使用或不使用break语句以下程序段的输出结果是( )int a=0,n=1,s=0;while(a=0) s=s+n+a; n+; a+; pirntf(%d,s);0以下for循环的执行次数是()for(x=0,y=0;(y=123)&(x4);x+);4次以下程序的运行结果是( )int a=5;fun(int b)int a=10;a+=b+;printf(%d,a); main()int c=20;fun(c); a+=c+;printf(%dn,a); 30,25在执行下述程序段时,若从键盘输入6和8,则结果为( )。int a,b,s;scanf(%d%d,&a,&b);s=a;if(ab)s=b; s*=s;printf(%d,s);64下面程序段的运行结果是()int a,b=1;for(a=1;a=5) break;if(b%3=1)continue;b-=5;printf(%dn,a);13以下程序的运行结果是()。 char arr24; strcpy(arr0,you); strcpy(arr1,me); arr03=&; printf(%sn,arr); you&me有以下程序typedef structint b,p;A; void f(A c) /*注意:c是结构变量名 */int j;c.b+=1; c.p+=2;main()int i;A a=1,2;f(a);printf(%d,%dn,a.b,a.p);程序运行后的输出结果是( )1,2下列描述正确的是()C语言具有高级语言的特点又有低级语言的特点以下能正确定义一维数组的选项是()。int num5*2;以下叙述中错误的是()。算法正确的程序可以有零个输出在C语言的函数中,( )可以有也可以没有形参关闭文件的函数是( )fclose() 有以下程序 #include #define SUB( X, Y ) (X+1)*Y main() int a=3, b=4; printf(%dn,SUB(a+ ,b+ ); 程序运行后的输出结果是( )。16以下程序的输出结果是( )。main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(%d%d%d,a2,a5,a8);852下列不正确的标识符是( )2A以下程序的输出结果是( )。int abc(int u,int v) int w;while(v) w=u%v;u=v;v=w;return u;main() int a=24,b=16;c=abc(a,b);printf(%dn,c); 8对以下程序段以叙述中正确的是()typedef struct NODE int num; struct NODE *next; OLD;OLD是一个结构体类型若有定义语句:int a=3,b=2,c=1; 以下选项中错误的赋值表达式是()。a=(b=4)=3;以下程序段的输出结果是()int x=1,y=3,z=2;if(x=y)z=-1;elseif(y0) z=0; printf(%dn,z);2在执行下述程序段时,若从键盘输入0,则结果为( )int x=0,y,z=10;scanf(%d,&y);if(x=y)z=12;elsez+=z;printf(%d,z);20若运行以下程序段时,从键盘输入Adescriptor(表示回车),则下面程序段的运行结果是()char c;int v0=0,v1

温馨提示

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

评论

0/150

提交评论