填空.docx
- 文档编号:28874662
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:35
- 大小:21.74KB
填空.docx
《填空.docx》由会员分享,可在线阅读,更多相关《填空.docx(35页珍藏版)》请在冰豆网上搜索。
填空
填空复习题
1.
以下程序的输出结果是______。
main()
{inta=0;
a+=(a=8);
printf("%d\n",a);
}
答案:
16
知识点:
赋值表达式
2.
若有定义:
inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。
c=(a-=(b-5));
c=(a%11)+(b=3);
答案:
3
知识点:
赋值表达式
3.
以下程序运行后的了输出结果是______。
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);
}
答案:
1
知识点:
赋值表达式
4.
若有语句
inti=-19,j=i%4;
printf("%d\n",j);
则输出结果是______。
答案:
-3
知识点:
算术表达式
5.
设有以下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!
=0);
{n1=n2%10
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为______。
答案:
8921
知识点:
算术表达式
6.
下面程序的输出是______。
unsignedfun6(unsignednum)
{unsignedk=1;
do{
k*=num%10;
num/=10;
}while(num);
return(k);}
main()
{unsignedn=26;
printf("%d\n",fun6(n));
}
答案:
12
知识点:
算术表达式
7.
设y是int型变量,请写出判断y为奇数的关系表达式______。
答案:
y%2
知识点:
算术表达式
8.
下列程序的输出结果是16.00,请填空。
main()
{inta=9,b=2
floatx=______,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
答案:
6.6
知识点:
算术表达式
9.
以下程序运行后的输出结果是______。
main()
{intx=0210;printf("%X\n",x);
}
答案:
88
知识点:
整型数据
10.
以下程序的功能是:
将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:
556,则输出十进制整数366。
请填空。
#include
main()
{char*p,s[6];
intn;
p=s;
gets(p);
n=*p-'0';
while(______!
='\0')n=n*8+*p-'0';
printf("%d\n",n);
}
答案:
*(++p)~*++p
知识点:
整型数据
11.
以下程序的输出结果是______。
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=a);
}
答案:
0
知识点:
整型数据
12.
下面程序的输出是______。
main()
{intx=2;
while(x--);
printf("%d\n",x);}
答案:
-1
知识点:
自加、自减运算符和逗号运算符
13.
以下程序输出的最后一个值是______。
intff(intn)
{staticintf=1;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<=5;i++)printf("%d\n",ff(i));
}
答案:
120
知识点:
局部变量及其作用域和生存期
14.
以下程序的输出结果是______。
fun(intn,int*s)
{intf1,f2;
if(n==1||n==2)*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}
}
main()
{intx;
fun(6,&x);
printf("%d\n",x);
}
答案:
8
知识点:
函数的递归调用
15.
以下程序运行后的输出结果是______。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]={1,2,3,4,5},s;
s=f(aa,5);printf(“%d\n”,s);
}
答案:
15
知识点:
函数的递归调用
16.
下面程序的运行结果是:
______。
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(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));
}
答案:
11
知识点:
函数的递归调用
17.
以下程序的输出结果是______。
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;
}
答案:
7
知识点:
函数的递归调用
18.
下面程序的运行结果是:
______。
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
答案:
6
知识点:
函数的递归调用
19.
以下程序的输出结果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n")
}
答案:
246
知识点:
函数的调用
20.
设函数findbig已定义为求3个数中的最大值。
以下程序将利用函数指针调用findbig函数。
请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("big=%d\n",big);
}
答案:
findbig
知识点:
函数的调用
21.
若有以下程序
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
执行后输出结果是______。
答案:
9
知识点:
函数的调用
22.
有以下程序
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf(“%d”,&x);
y=sub(sub(sub(x)));
printf(“%d\n”,y);
}
若运行时输入:
1234<回车>,程序的输出结果是______。
答案:
10
知识点:
函数的调用
23.
以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。
voidfun(int*x,int*y)
{……}
main()
{inta=10,b=20;
______;
p=fun;p(&a,&b);
……
}
答案:
void(*p)()~void(*p)(int*,int*)
知识点:
函数的调用
24.
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
______(double,double);
main()
{doublex,y;
scanf("%1f%1f",&x,&y);
printf("%1f\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?
a:
b);}
答案:
doublemax~externdoublemax
知识点:
函数的定义和返回值
25.
以下程序运行后输出结果是______。
#include
char*ss(char*s)
{char*p,t;
p=s+1;t=*s;
while(*p){*(p-1)=*p;p++;}
*(p-1)=t;
returns;
}
main()
{char*p,str[10]=”abcdefgh”;
p=ss(str);
printf(“%s\n”,p);
}
答案:
bcdefgha
知识点:
函数的定义和返回值
26.
下面程序的运行结果是:
______。
#include
intf(inta[],intn)
{
if(n>1)
returna[0]+f(a+1,n-1);
else
returna[0];
}
main()
{
intaa[10]={1,2,3,4,5,6,7,8,9,10},s;
s=f(aa+2,4);printf("%d\n",s);
}
答案:
18
知识点:
函数之间对一维数组和数组元素的引用
27.
以下程序的输出结果是______。
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
知识点:
二维数组的定义和二维数组元素的引用
28.
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。
请填空。
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27}{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i {x=ar[i][0]; for(j=0;j ______=x; } } 答案: br[i]~*(br+i) 知识点: 二维数组和指针 29. 若有定义语句: chars[100],d[100];intj=0,i=0;,且s中已赋字符串,请填空以实现字符串拷贝。 (注意: 不得使用逗号表达式) while(s[i]){d[j]=______;j++;} d[j]=0; 答案: s[i++] 知识点: 一维数组的定义和一维数组元素的引用 30. 以下程序的输出结果是______。 main() {intarr[]={30,25,20,15,10,5},*p=arr; p++; printf("%d\n",*(p+3)); } 答案: 10 知识点: 一维数组和指针 31. 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是______。 intw[10]={23,54,10,33,47,98,72,80,61},*p=w; 答案: *(p+5)~p[5] 知识点: 一维数组和指针 32. 以下程序段的输出结果是______。 inti=9; printf("%o\n",i); 答案: 11 知识点: 数据输出 33. 以下程序的输出结果是______。 main() {inta=177; printf("%o\n",a); } 答案: 261 知识点: 数据输出 34. 有以下程序 #include main() {charch1,ch2;intn1,n2; ch1=getchar();ch2=getchar(); n1=ch1-'0';n2=n1*10+(ch2-'0'); printf("%d\n",n2); } 程序运行时输入: 12<回车>,执行后输出结果是______。 答案: 12 知识点: 数据输入 35. 有以下程序 main() {intn=0,m=1,x=2; if(! n)x-=1; if(m)x-=2; if(x)x-=3; printf("%d\n",x); 执行后输出结果是______。 答案: -4 知识点: if语句和用if语句构成的选择结构 36. 以下程序运行后的输出结果是______。 main() {inta=1,b=3,c=5; if(c=a+b)printf("yes\n"); elseprintf("no\n"); } 答案: yes 知识点: if语句和用if语句构成的选择结构 37. 若从键盘输入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 知识点: if语句和用if语句构成的选择结构 38. 下程序段的输出结果是______。 intn='c'; switch(n++) {default: printf("error");break; case'a': case'A': case'B': printf("good");break; case'c': case'C': printf("pass"); case'd': case'D': printf("warn"); } 答案: passwarn 知识点: switch语句以及用switch语句和break语句构成的选择结构 39. 以下程序的输出结果是______。 main() {inta=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); } 答案: 0 知识点: 关系运算和逻辑运算 40. 若有以下程序 main() {intp,a=5; if(p=1! =0) printf("%d\n",p); else printf("%d\n",p+2); } 执行后输出结果是______。 答案: 1 知识点: 关系运算和逻辑运算 41. 表示条件: 10 答案: (x>10&&x<100||x<0) 知识点: 关系运算和逻辑运算 42. 若已知a=10,b=20,则表达式! a 答案: 1 知识点: 关系运算和逻辑运算 43. 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是______。 答案: x>5||x<-5 知识点: 关系运算和逻辑运算 44. 若x为int类型,请以最简单的形式写出与逻辑表达式! x等价的C语言关系表达式______。 答案: x==0 知识点: 关系运算和逻辑运算 45. 以下程序运行后的输出结果是______。 main() {intp=30; printf("%d\n",(p/3>0? p/10: p%3)); } 答案: 3 知识点: 条件表达式构成的选择结构 46. 以下程序运行后的输出结果是______。 main() { intx,a=1,b=2,c=3,d=4; x=(a a: b;x=(x x: c;x=(d>x)? x: d; printf("%d\n",x); } 答案: 1 知识点: 条件表达式构成的选择结构 47. 以下程序运行后的输出结果是______。 main() {inti=10,j=0; do {j=j+i;i--;} while(i>2); printf("%d\n",j); } 答案: 52 知识点: do-while语句和do-while语句构成的循环结构 48. 以下程序的功能是: 将输入的正整数按逆序输出。 例如: 若输入135则输出531。 请填空。 #include main() { intn,s; printf("Enteranumber: ");scanf("%d",&n); printf("Output: "); do {s=n%10;printf("%d",s);______;} while(n! =0); printf("\n"); } 答案: n=n/10~n/=10 知识点: do-while语句和do-while语句构成的循环结构 49. 有以下程序 main() {intt=1,i=5; for(;i>=0;i--)t*=i; printf("%d\n",t); } 执行后输出结果是______。 答案: 0 知识点: for语句和用for语句构成的循环结构 50. 以下程序的输出结果是______。 main() {ints,i; for(s=0,i=1;i<3;i++,s+=i); printf("%d\n",s); } 答案: 5 知识点: for语句和用for语句构成的循环结构 51. 若有以下程序 main() {inta[4][4]={{1,2,-3,-4},(0,-12,-13.14},{-21,23,0,-24},{-31,32,-33,0}}; inti,j,s=0; for(i=0;i<4;i++) {for(j=0;j<4;j++) {if(a[i][j]<0)continue; if(a[i][j]==0)break; s+=a[i][j]; } } printf("%d\n",s); } 执行后输出结果是______。 答案: 58 知识点: for语句和用for语句构成的循环结构 52. 若输入字符串: abcde<回车>,则以下while循环体将执行______次。 while((ch=getchar())=='e')printf("*"); 答案: 0 知识点: while语句和while语句构成的循环 53. 以下程序运行后的输出结果是______。 main() {intp[7]={11,13,14,15,16,17,18}; inti=0,j=0; while(i<7&&p[i]%2==1)j+=p[i++]; printf("%d\n",j); } 答案: 24 知识点: while语句和while语句构成的循环 54. 下列程序的输出结果是______。 voidfun(int*n) {while((*n)--); printf("%d",++(*n)); } main() {inta=100; fun(&a); } 答案: 0 知识点: while语句和while语句构成的循环 55. 执行以下程序后,输出'#'号的个数是______。 #include main() {inti,j; for(i=1;i<5;i++) for(j=2;j<=i;j++)putchar('#'); } 答案: 6 知识点: 循环结构的嵌套 56. 以下程序的输出结果是______。 main() {char*p="abcdefgh",*r; long*q; q=(long*)p; q++ r=(char*)q; printf("%s\n",r); } 答案: efgh 知识点: 对指针变量的操作 57. 以下程序的运行结果是: ______ #include char*ss(char*s) {returns+strlen(s)/2;} main() {char*p,*str="abcdefgh"; p=ss(str);printf("%s\n",p); } 答案: efgh 知识点: 使指针指向一个字符串 58. 下列程序的输出结果是______。 #include main() {charb[]="ABCDEFG"; char*chp=&b[7]; while(--chp>&b[0]) putchar(*chp); putchar('\n'); } 答案: GFEDCB 知识点: 使指针指向一个字符串 59. 以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。 请填空。 voidsstrcpy(char*s,char*t) {while(*s++=______);} main() {charstr1[100],str2[]="abcdefgh"; sstrcpy(str1,str2); printf("%s\n",str1); } 答案: *t++~*(t++) 知识点: 用一个一维字符数组来存放字符串 60. 以下程序的输出结果是______。 main() {chars[]="abcdef"; s[3]='\0'; printf("%s\n",s); } 答案: abc 知识点: 用一个一维字符数组来存放字符串 61. 下列程序的输出结果是______。 #include main() {charb[30],*chp; strcpy(&b[0],"CH"); strcpy(&b[1],"DEF"); strcpy(&b[2],"ABC"); printf("%s\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 填空