当前位置:首页 > 填空题c
填空题
1(3)一个C语言程序有且仅有一个____(1)____函数。 参考答案 《 main()》或《 main》
2(4)C语言源程序文件的后缀是____(1)____,经过编译后生成文件的后缀是____(2)____,经过链接后生
成文件的后缀是____(3)____。 参考答案 (1) 《 .C》 (2) 《.OBJ》 (3) 《.EXE》 3(5)C语言源程序的语句分隔符是____(1)____。 参考答案 (1) 《 ;》
4(6)C语言程序开发的四个步骤是____(1)____,____(2)____,____(3)____,____(4)____。
参考答案 (1) 《 编辑》 (2) 《编译》 (3) 《连接》 (4) 《运行》
5(7)在一个C源程序中,注释部分以____(1)____开始,并且以____(2)____结束。
参考答案 (1) 《 /*》 (2) 《*/》
6(10)若有以下定义:int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是____(1)____.
参考答案 (1) 《 -16》
7(13)结构化程序设计的基本结构有三种,分别是顺序结构、____(1)____结构和____(2)____结构。
参考答案 (1) 《 分支》 (2) 《循环》
8(14)break 语句只能用于____(1)____语句和____(2)____语句。
参考答案 (1) 《 循环》 (2) 《多分支选择》
9(17)函数直接或者间接地自己调用自己,被称为函数的____(1)____。 参考答案 (1) 《 递归调用》 10(18)C语言中唯一一个不能被别的函数调用的函数是____(1)____。 参考答案 (1) 《 main函数》 11(20)在函数内部定义的只在本函数内有效的变量叫____(1)____,在函数以外定义的变量叫
____(2)____。 参考答案 (1) 《 局部变量》 (2) 《全局变量》
12(22)有如下程序:
#include “stdio.h” main()
{ int a=0,b=1; int mm(int,int);
printf(“%d,”,mm(a,b)); printf(“%d”,mm(a,b)); return(1); }
int mm(int m,int n) { static int s=1; s++;
return(s*(m+n)); }
则此程序执行后输出的结果为____(1)____。 参考答案 (1) 《 2,3》
13(25)C语言规定,可执行程序的开始执行点是____(1)____。 参考答案 (1) 《 main()》 14(26)在C语言中,一个函数一般由两个部分组成,它们是____(1)____和____(2)____。
参考答案 (1) 《 函数首部》 《 函数头》 (2) 《函数体》
15(28)在C语言中,二维数组元素在内存中的存放顺序是____(1)___。 参考答案 (1) 《 按行存放》 16(29)下面程序以每行4个数据 的形式输出a数组,请填空。
#define N 20 main()
{ int a[N],i;
for(i=0;i - 1 - for(i=0;i printf(“=”,a[i]); } printf(“\\n”); } 参考答案 (1) 《 &a[i]》 (2) 《i%4 = = 0 》 (3) 《printf(“\\n”)》 17(30)下面程序可求出矩阵a的两条对角线之和。请填空。 main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i,j,sum1=0,sum2=0; 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”,sum1,sum2);} 参考答案 (1) 《 j=0》 (2) 《j<3》 18(31)当执行以下程序段后,i=____(1)____,j=____(2)____,k=____(3)____。 int a=10,b=5,c=5,d=5,i=0,j=0,k=0; for( ;a>b; ++b) i++; while (a>++c) j++; do k++; while(a>d++); 参考答案 (1) 《 5》 (2) 《4》 (3) 《6》 19(32)有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf(“%f”,s); 请填空,使下面的程序的功能完全与之相等。 s=0.0; ____(1)____; k=0; do { s=s+d; ____(2)____; d=1.0/(k*(k+1)); } while(____(3)____ ); printf(“%f”,s); 参考答案 (1) 《 d=1.0》 (2) 《k=k+1》 《 k++ 》 (3) 《k<=n》 20(40)有如下程序段: union uu { int a; float x; }; struct mm - 2 - { char * p; union uu y; }bl; bl.y.a=10; bl.p= “student”; printf(“%d”,sizeof(struct mm)); 若int型变量占2个字节,float型变量占4个字节,char * 型变量占2个字节, 则此程序段执行后的输出结果为____(1)____,为结构体变量bl分配的内存空间为____(2)____个字节。 参考答案 (1) 《 6》 (2) 《6》 21(43)若有int a=5,c=4; 则表达式(——a==++c)?——a:c++的值是____(1)____,此时c的存储单 元的值为____(2)____. 参考答案 (1) 《 5》 (2) 《6》 22(44)若有说明语句:int x=1,y=0;则表达式x>(y+x)?10:12.5>y++??a?:?a?的值为____(1)____. 参考答案 (1) 《 97》 23(45)请阅读以下程序并填空。 main( ) { int s,t,a,b; scanf(“%d,%d”,&a,&b); s=1; t=1; if(a>0) s+=1; if(a>b) t+=s; else if(a==b) t=5; else t=2*s; printf(“s=%d,t=%d”,s,t); } 为了输出结果t=4,输入量a和b应满足的条件是____(1)____; 为了输出结果s=1,t=5,输入量a和b应满足的条件是____(2)____. 参考答案 (1) 《 0 24(46)执行以下程序,输入-10的结果是____(1)____,输入5的结果是____(2)____,输入10的结果是____(3)____,输入30的结果是____(4)____1、 。 main() { int x,c,m; float y; scanf(“%d”,&x); if (x<0) c=-1; else c=x/10; switch(c) { case -1: y=0;break; case 0 : y=x;break; case 1: y=10; break; case 2: case 3: y=-0.5*x+20; break; default : y=-2; } - 3 - if (y!=-2) printf(“y=%d\\n”,y); else printf(“error\\n”); } 参考答案 (1) 《 y=0》 (2) 《y=5》 (3) 《y=10》 (4) 《y=5》 25(47)将下列数学式改写成C语言的关系表达式或逻辑表达式A)a≠b或a<=c;____(1)____、 B)|x|>=4;____(2)____. 参考答案 (1) 《 a!=b||a<=c》 (2) 《x>=4||x<=-4》 26(48)C语言中用____(1)____表示逻辑值“真”,用____(2)____表示逻辑值“假”。 参考答案 (1) 《 1》 (2) 《0》 27(49)若有int x=7,则表达式x+=x-=x+x;执行后,x的值为____(1)____. 参考答案 (1) 《 -14》 28(51)设int a=1,b=2,c=3,d;执行d=!(a+b+C)后,d的结果是____(1)__ 参考答案 (1) 《 0》 29(53)设int x=10,y,z;执行y=z=x;x=y==z后,变量x的结果是___(1)___。参考答案 (1) 《 1》 30(54)设int x=9,y=8;表达式x==y+1的结果是____(1)____. 参考答案 (1) 《 0》 31(56)若有以下定义:int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是____(1)____。 参考答案 (1) 《 -16》 32(59)若x,a都是int型变量,则表达式x=(a=4,6*2)的值是____(1)____,表达式x=a=4,6*2的值 是____(2)____。 参考答案 (1) 《 12》 (2) 《12》 33(58)若a是int型变量,则表达式(a=4*5,a*2),a+6的值是____(1)____。 参考答案 (1) 《 26》 34(62)有int a;则执行a=25/3%3;后,a=____(1)____。 参考答案 (1) 《 2》 35(64)若int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值是____(1)____。 参考答案 (1) 《 5.5》 36(65)若int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+B)/2+(int)x%(int)y的值是____(1)____。 参考答案 (1) 《 3.5》 37(66)若int x=12,n=5;则表达式x%=(n%=2)的值是____(1)____。 参考答案 (1) 《 0》 38(67)已知字母b的ascii码为98,且char ch;则表达式ch=?b?+?8?-?3?的值为____(1)____。 参考答案 (1) 《 103》 39(77)以下程序的输出结果是____(1)____ 。 main() { int a=177; printf(\ } 参考答案 (1) 《 261》 40(78)以下程序的输出结果是____(1)____ 。 main() { int a=0 a+=(a=8); printf(\ } 参考答案 (1) 《 16》 41(79)以下程序输出的结果是____(1)____。 main() { int a=5,b=4,c=3,d; d=(a>b>c); printf(\ } 参考答案 (1) 《 0》 42(82)以下程序的输出结果是____(1)____。 main() - 4 -
共分享92篇相关文档