C语言练习题-填空题(带答案) 下载本文

试卷编号:66 所属语言:C语言

试卷方案:平时练习-填空 试卷总分:240分 共有题型:1种

━━━━━━━━━━━━━━━━ 一、填空 共240题 (共计240分) ━━━━━━━━━━━━━━━━ 第1题 (1.0分) 题号:301

已知 i=5,写出语句 a=i++; 执行后整型变量a的值是【1】. 答案:=======(答案1)=======5 第2题 (1.0分) 题号:476

结构化程序中,有三种结构:顺序结构,【1】, 循环结构.

答案:====(答案1)= ====条件选择结构======或=====选择结构======或======分支结构 第3题 (1.0分) 题号:473 C程序中有且仅有一个【1】函数.

答案:=======(答案1)=======主=========或=========main 第4题 (1.0分) 题号:475

程序流程图只有一个起点和【1】个终点.

答案:====(答案1) ====1==或=====一=========或=========1个=========或===一个 第5题 (1.0分) 题号:477

一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【1】函数 的最后一条语句或该函数中的return语句后,程序才会终止运行. 答案:=======(答案1)=======主=========或=========main 第6题 (1.0分) 题号:474 C语言程序由【1】组成.

答案:=======(答案1)=======函数 第7题 (1.0分) 题号:300

执行下列语句后,z 的值是【1】.int x=4,y=25,z=5; z=y/x*z; 答案:=======(答案1)=======30 第8题 (1.0分) 题号:298

C语言表达式!(3<6)||(4<9)的值是【1】. 答案:=======(答案1)=======1 第9题 (1.0分) 题号:299

设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是【1】. 答案:=======(答案1)=======9 第10题 (1.0分) 题号:485

执行\后将在 屏幕上输出【1】个整数.

答案:=======(答案1)=======2 第11题 (1.0分) 题号:480

C语言中一个单精度浮点型数据占【1】个字节.

答案:=======(答案1)=======4 第12题 (1.0分) 题号:479

已知字母a的ASCII码为十进制数97,且设ch为字 符型变量,则表达式ch='a'+'8'-'3'的值为【1】. 答案:=======(答案1)=======f 第13题 (1.0分) 题号:490

已知有声明float d=1;double f=1;long g;和语 句printf(\

为了正确地以十进制形式输出printf参数表中 第二个参数(表达式)的值,则在第一个参数 中的下划线位置处应填写的格式转换说明符是 【1】.

答案:=======(答案1)=======%ld 第14题 (1.0分) 题号:483

在C语言的源程序中若出现常量\则该常量 的类型是【1】.

答案:=======(答案1)=======长整型=========或=========long int 第15题 (1.0分) 题号:481

C语言中为整型数据(int)分配【1】个字节的 存储空间.

答案:=======(答案1)=======2 第16题 (1.0分) 题号:491

在TC中,语句序列int k=-1;printf(\的输出结果为【1】.

答案:=======(答案1)=======65535 第17题 (1.0分) 题号:482

在Turbo C2.0系统中,若将实型常数1.5存储 在内存中,它占用【1】个字节. 答案:=======(答案1)=======8 第18题 (1.0分) 题号:486 C语言中,逻辑值\真\用【1】表示. 答案:=======(答案1)=======1 第19题 (1.0分) 题号:478 整型变量x的值为23,语句\(″%o\\\\n″,x);\的输出结果为【1】. 答案:=======(答案1)=======27\\n 第20题 (1.0分) 题号:484

在C语言中,字符型数据在内存中以【1】码形式存放.

答案:======(答案1)=======ASCII=========或=========美国标准信息交换 第21题 (1.0分) 题号:489

从变量的作用域角度分有全局变量和【1】.

答案:=======(答案1)=======局部变量=========或=========局部 第22题 (1.0分) 题号:488

变量从存储的时间来分可分为【1】和动态变量.

答案:=======(答案1)=======静态变量 第23题 (1.0分) 题号:487

只有在程序运行时才为【1】存储类型和register 存储类型变量分配内存.

答案:=======(答案1)======auto=========或=========自动 第24题 (1.0分) 题号:492

现有语句#define a 5+3,则表达式2*a的结果为 【1】.答案:=======(答案1)=======13 第25题 (1.0分) 题号:516

s=3,s++,s; 这个语句执行完后,s的值为【1】. 答案:

=======(答案1)=======4

第26题 (1.0分) 题号:525 设有下面的程序段 int x= 0,y=0;

t=x&&++y; 执行语句后y的值为【1】.

答案:=======(答案1)=======0 第27题 (1.0分) 题号:512

设int a=5,b=2;float c=32.8;,表达式 b*(int)c%a的值为【1】.

答案:======(答案1)=======4 第28题 (1.0分) 题号:524

设x,y,z均为int 型变量,请写出描述\或y中 有一个小于z\的表达式【1】.

答案:=======(答案1)=======x

若已知a=10,b=20,则!a

若x为int型,请以最简单的形式写出与逻辑表达 式!x等价的C语言关系表达式【1】. 答案:=======(答案1)=======x==0 第33题 (1.0分) 题号:526 表达式 !10! = 1的值是【1】. 答案:=======(答案1)=======1 第34题 (1.0分) 题号:520

若a为int型变量,则下面表达式的值为【1】.

(a=4*5,a*2),a+6

答案:=======(答案1)=======26 第35题 (1.0分) 题号:499

关系、算术、赋值三种运算符的运算优先顺序 由高到低为【1】、【2】、【3】.

答案:=======(答案1)=======算术=======(答案2)=======关系=======(答案3)======= 赋值

第36题 (1.0分) 题号:498

已知char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为【1】.

答案:=======(答案1)=======double 第37题 (1.0分) 题号:510

已知:a=1,b=2,表达式a>b?a:b+1的值是【1】. 答案:=======(答案1)======= ` 3 第38题 (1.0分) 题号:493

判断变量a、b的值均不为0的C表达式为【1】.

答案:=======(答案1)=======a*b!=0=========或=========a*b 第39题 (1.0分) 题号:507

以下十个运算符+ ! << != , ?: && = || %中优先级别最高和最低的分别 是【1】和【2】.

答案:=======(答案1)=======!=======(答案2)=======, 第40题 (1.0分) 题号:511 表达式3>2>1的值是【1】.

答案:=======(答案1)=======0 第41题 (1.0分) 题号:508

C语言中的表达式只能由三种字符组成,他们是字 母、数字和【1】.

答案:=======(答案1)=======下划线=========或=========_ 第42题 (1.0分) 题号:517

int a=2,b=3; 表达式 a>b?a++,++b的值为【1】. 答案:=======(答案1)=======4 第43题 (1.0分) 题号:519

执行语句序列\后,z的二进制值为【1】.

答案:=======(答案1)=======00011011 第44题 (1.0分) 题号:496 设有程序段 int x= 4,y=4;

t=++x||++y; 执行语句后y的值为【1】.

答案:=======(答案1)=======4 第45题 (1.0分) 题号:506

若有定义:int b=7;float a=2.5,c=4.7; 则表达

式a+(int)(b/3*(int)(a+c)/2)%4的值为【1】. 答案:=======(答案1)=======5.5 第46题 (1.0分) 题号:509

计算a、b中最小值的条件表达式为【1】. 答案:=======(答案1)=======a

设a和b均为int整型变量,且a=5,b=7,则以下 表达式的值为【1】.1.0+a/b

答案:=======(答案1)=======1.0=========或=========1 第48题 (1.0分) 题号:522

若x为int型变量,执行以下语句后x值是【1】. x=3;

x+=x-=x+x;

答案:=======(答案1)=======-6 第49题 (1.0分) 题号:513

条件\或x<-100\的C语言表达式是【1】.

答案:====(答案1)= ===((x>20)&&(x<30))||(x<-100) =====或====x>20&&x<30||x<-100 第50题 (1.0分) 题号:502

若a是int型变量,则执行表达式\后,a的值为【1】.

答案:=======(答案1)=======2 第51题 (1.0分) 题号:505

设a、b、c为整型数,且a=3,b=5,c=2,则执行 完以下语句:a*=16+(b++)-(++c);后, a的值是【1】.

答案:=======(答案1)=======54 第52题 (1.0分) 题号:495

设x,y,z均为int 型变量,请写出描述\和 z中有两个为负数\的表达式【1】. 答案:=======(答案1)=======

((x<0)&&(y<0))||((x<0)&&(z<0))||((y<0)&&(z<0)) 第53题 (1.0分) 题号:503 若有定义:int a=2,b=3; float x=3.5,y=2.5;

则表达式(float)(a+b)/2+(int)x%(int)y的 值为【1】.

答案:=======(答案1)=======3.5 第54题 (1.0分) 题号:521

当a=1,b=1,c=1时,表达式a

若a=1,b=4,c=3,则表达式a&&b+c||b-c的值 为【1】.

答案:=======(答案1)=======1 第56题 (1.0分) 题号:501

执行语句\后,变量a、c的值依次为【1】、【2】。 答案:=======(答案1)=======11======(答案2)=======6 第57题 (1.0分) 题号:497 如果a=1,b=2,c=3,d=4,则表达式 a>b?c:d的值为【1】.

答案:=======(答案1)=======4 第58题 (1.0分) 题号:523

设y为int型变量,请写出描述\为奇数\的表达式【1】。

答案:=======(答案1)=======y%2!=0=========或=========y%2==1 第59题 (1.0分) 题号:534

若执行以下程序时从键盘上输入9,则输出结果是【1】 A) 11 B) 10 C) 9 D) 8 Main0 { int n;

scanf(\

if(n++<10) printf(\else printf(\}

答案:=======(答案1)=======10 第60题 (1.0分) 题号:533 阅读以下程序: main() { int x;

scanf(\

if(x--<5) printf(\else printf(\}

程序运行后,如果从键盘上输人5,则输出结果是【1】 A)3 B) 4 C) 5 D) 6

答案:=======(答案1)=======4 第61题 (1.0分) 题号:536

当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为【1】 if(a if(c )else if(a if(b else x=3; else x=6; else x=7;

答案:=======(答案1)=======2 第62题 (1.0分) 题号:528

执行语句\后,变量n值为【1】. 答案:=======(答案1)=======6

第63题 (1.0分) 题号:549 以下程序输出的结果是【1】 . main()

{ int a=5,b=4,c=3,d; d=(a>b>c);

printf(\}

答案:======(答案1)=======0 第64题 (1.0分) 题号:529

若执行以下程序时从键盘上输入9,则输出结果是【1】 main() { int n;

scanf(\

if(n++<10)printf(\ else printf(\ }

答案:======(答案1)=======10 第65题 (1.0分) 题号:543

以下程序运行后的输出结果是 【1】 . main()

{ int p=30;

printf (\}

答案:=======(答案1)=======3 第66题 (1.0分) 题号:547

以下程序运行后的输出结果是【1】 . main()

{ int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(\}

答案:=======(答案1)=======20,0 第67题 (1.0分) 题号:546 若有以下程序 main()

{ int a=4,b=3,c=5,t=0;

if(a if(a printf(\}

执行后输出结果是 【1】

答案:=======(答案1)=======5 0 3 第68题 (1.0分) 题号:532 有以下程序

main()

{ int a=5,b=4,c=3,d=2; if(a>b>c)

printf(\ else if((c-1>=d)==1)

printf(\ else

printf(\}

执行后输出结果是 【1】。

答案:=======(答案1)=======3 第69题 (1.0分) 题号:535 以下程序输出结果是 【1】 A) 7 B) 6 C) 5 D) 4 main() { int m=5;

if(m++>5) printf(\esle printf(\}

答案:=======(答案1)=======6 第70题 (1.0分) 题号:538

若执行下面的程序时从键盘上输入5,则输出是 【1】 main() { int x;

scanf(\

if(x++>5) printf(\else printf(\答案:=======(答案1)=======6 第71题 (1.0分) 题号:531

下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空. main()

{int i, x, y=1; scanf(\

for(i=2; i<=x/2; i++) if【1】{ y=0; break;} printf(\}

答案:=======(答案1)=======((x%i==0)) 第72题 (1.0分) 题号:542 有以下程序 main( )

{ int n=0,m=1,x=2;

if(!n) x-=1; if(m) x-=2; if(x) x-=3;

printf(\}

执行后输出结果是【1】

答案:=======(答案1)=======-4 第73题 (1.0分) 题号:548

若从键盘输入58,则以下程序输出的结果是 【1】。 main() { int a;

scanf(\

if(a>50) printf(\ if(a>40) printf(\ if(a>30) printf(\}

答案:=======(答案1)=======585858 第74题 (1.0分) 题号:544

以下程序运行后的输出结果是【1】 . main()

{ int a=1, b=3, c=5;

if (c=a+b) printf(\else printf(\}

答案:=======(答案1)=======yes 第75题 (1.0分) 题号:539

以下程序运行后的输出结果是 【1】 . main()

{ int a=1,b=2,c=3;

if(c=a) printf(\else printf(\}

答案:=======(答案1)=======1 第76题 (1.0分) 题号:530

在下述程序中,判断i>j共执行的次数是【1】 main()

{int i=0, j=10, k=2, s=0; for (;;) {i+=k; if(i>j)

{printf(\break; }s+=i; }

}

答案:=======(答案1)=======6 第77题 (1.0分) 题号:537

假定所有变量均已正确说明,下列程序段运行后x的值是【1】 a=b=c=0;x=35; if(!a)x--; else if(b); if(c)x=3; else x=4;

答案:=======(答案1)=======4 第78题 (1.0分) 题号:541

以下程序运行后的输出结果是 【1】 main() {

int a,b,c

a=10;b=20;c=(a%b<1)||(a/b>1); printf(\}

答案:=======(答案1)=======10 20 0 第79题 (1.0分) 题号:527

执行语句\后,变量n值为【1】. 答案:=======(答案1)=======2 第80题 (1.0分) 题号:540

以下程序运行后的输出结果是【1】 main() {

int a=3,b=4,c=5,t=99;

if(b if(a printf(\}

答案:=======(答案1)=======4599 第81题 (1.0分) 题号:545 若有以下程序 main()

{ int p,a=5; if(p=a!=0)

printf(\ else

printf(\}

执行后输出结果是【1】。

答案:=======(答案1)=======1 第82题 (1.0分) 题号:550 有如下程序

main()

{ float x=2.0,y; if(x<0.0)y=0.0;

else if(x>10.0)y=1.0/x; else y=1.0;

printf(\

该程序的输出结果是【1】.

答案:=======(答案1)=======1.000000 第83题 (1.0分) 题号:552

只能在循环体中使用的语句是【1】. 答案:=======(答案1)=======continue 第84题 (1.0分) 题号:558 有以下程序

#include main()

{int c=0,k;

for(k=1;k<3;k++) switch(k)

{default:c+=k; case 2:c++;break; case 4:c+=2;break; }

printf(\}

程序运行后的输出结果是【1】. 答案:=======(答案1)=======3 第85题 (1.0分) 题号:553

break语句除了可以用于循环语句的循环体中,还可以用于【1】 _语句中. 答案:

=======(答案1)======= switch

第86题 (1.0分) 题号:566 下面程序的运行结果是【1】. #include ″stdio.h″ main()

{ int j,i,k=0;

for(k=50;j<=60;j++)

{ if(!(k))printf(″\\n″);

 for(i=2;i

if(i>=j-1){ printf(″%d″,j); k++;} } }

答案:=======(答案1)=======5359 第87题 (1.0分) 题号:559 有如下程序 main() {

int a=2,b=-1,c=2; if(a

printf(″%d\\n″,c); }

该程序的输出结果是【1】.

答案:=======(答案1)=======2 第88题 (1.0分) 题号:565 以下程序的输出结果是【1】. main()

{ int a,i;a=0; for(i=1;i<5;i++) { switch(i) { case 0:

case 3:a+=2; case 1:

case 2:a+=3; default:a+=5; } }

printf(\}

答案:=======(答案1)=======31 第89题 (1.0分) 题号:564 以下程序的输出结果是【1】. main()

{ int i,j,x=0; for(i=0;i<2;i++) { x++;

for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; }

printf(\″,x); }

答案:=======(答案1)=======x=8

第90题 (1.0分) 题号:556 执行语句段

for(s=0,i=1;i<11;i++) {if(i==6) continue; s+=i; }

后,s值为【1】.

答案:=======(答案1)=======49 第91题 (1.0分) 题号:568 下面程序的运行结果是【1】. #include main()

{ int a=1,b=10; do

{ b-=a;a++; }while(b--<0);

printf(\″,a,b); }

答案:=======(答案1)=======a=2,b=8 第92题 (1.0分) 题号:555

执行语句\后, 变量s、n值依次为【1】.

答案:=======(答案1)=======1,0 第93题 (1.0分) 题号:551

【1】语句,只能用在循环中,以中断某次 循环,继续下一次循环.

答案:=======(答案1)=======continue 第94题 (1.0分) 题号:557

设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为【1】. 答案:=======(答案1)=======0 第95题 (1.0分) 题号:562 下面程序段的执行结果是【1】. int x=3; do

{printf(\ }while (!x);

答案:=======(答案1)=======3 第96题 (1.0分) 题号:554

执行语句\后,变量s、i的当前值是【1】.

答案:=======(答案1)=======22,13 第97题 (1.0分) 题号:561

有如下程序 main()

{intx=l,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++; }

printf(\)

该程序的输出结果是【1】. 答案:

=======(答案1)======= a=2,b=1

第98题 (1.0分) 题号:563 有以下程序

#include main()

{int n=2,k=0;

while (k++&&n++>2);

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

程序运行后的输出结果是【1】. 答案:

=======(答案1)======= 1 2

第99题 (1.0分) 题号:567 有如下程序 main() { int n=9;

while(n>6){n--;printf(″%d″,n);} }

该程序的输出结果是【1】. 答案:

=======(答案1)======= 876

第100题 (1.0分) 题号:560

若int k=8;则执行下列程序后,变量k的正确结果是【1】. main() { int k=8; switch(k)

{ case 9:k+=1;  case 10:k+=1;

 case 11:k+=1;break;  default:k+=1; }

printf(″%d\\n″,k); }

答案:

=======(答案1)======= 9

第101题 (1.0分) 题号:569 有如下程序 main() {

int x=23; do

{ printf(\″,x--); } while(!x); }

该程序的执行结果是【1】. 答案:

=======(答案1)======= 23

第102题 (1.0分) 题号:581

若有定义:int a[2][3]={{1},{2,3}},则初始化后,元素a[0][1]得到的初值是【1】. 答案:

=======(答案1)======= 0

第103题 (1.0分) 题号:596

输入10个数据,对它们按从小到大的顺序进行选择排序. main( )

{ int a[11]; int i,j,t;

printf(\for(i=1; i<11;i++) scanf(\printf(\

for (j=1;j<=【1】;j++)

for(i= 【2】;i<=10;i++) if ( 【3】)

{t=a[i];a[i]=a[j];a[j]=t;}

printf(\for(i=1;i<11;i++) printf(\printf(\}

答案:

=======(答案1)======= 9

=======(答案2)======= j+1

=======(答案3)======= a[i]

第104题 (1.0分) 题号:591 下列程序的输出结果是【1】. #include void main( )

{ int i,j,a[4][4]; for(i=0;i<4;i++)

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

{ for(j=0;j<4;j++)

if(a[i][j]>0) printf(″=″,a[i][j]); putchar('\\n'); }

}

答案:

=======(答案1)======= 1 2 1 3 2 1 4 3 2 1

第105题 (1.0分) 题号:588

下面程序运行结果的最后一行为main( )

{ int i,f[10]; f[0]=f[1]=1;

for(i=2;i<10;i++) f[i]=f[i-2]+f[i-1]; for(i=2;i<10;i++)

{if(i%4==0) printf(\ printf(\ }

答案:

=======(答案1)======= 34 55

第106题 (1.0分) 题号:597

下面程序的功能是将字符数组a[6]={'a','b','c','d','e','f'}变为 a[6]= {'f', a','b','c','d','e'}.请填空. main()

{ char t,a[6]={'a','b','c','d','e','f'; int i; 【1】

for(i=5;i>0;i--) 【2】 a[0]=t;

for(i=0;i<=5;i++) printf(\}

答案:

1】.

【=======(答案1)======= t=a[5]

=======(答案2)======= a[i]=a[i-1]

第107题 (1.0分) 题号:574

若声明\″Windows-9x″;\语句\″%s″,a+8);\的输出结果为【1】. 答案:

=======(答案1)======= 9x

第108题 (1.0分) 题号:583

设int a[2][3] = {{2},{3}};则数组元素【1】的值为3. 答案:

=======(答案1)======= a[1][0]

第109题 (1.0分) 题号:598

设数组a包括10个整形元素.下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在

数组b中,按每行3个元素的形式输出.请填空. main( )

{ int a[10],b[10],i; for(i=0;i<10;i++) scanf(\

for(i=1;i<10;i++) 【1】 for(i=1;i<10;i++) { printf(\

if(【2】==0) printf(\ } }

答案:

=======(答案1)======= b[i]=a[i]+a[i-1]

=======(答案2)=======

i%3

第110题 (1.0分) 题号:587

下面程序的运行结果为【1】. #include main( )

{char ch[7]={\ int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf(\}

答案:

=======(答案1)======= 1

第111题 (1.0分) 题号:594 以下程序输出的结果是【1】. main( )

{ int i,k,a[10],p[3]; k=5;

for(i=0;i<10;i++) a[i]=i+1; for(i=0;i<3;i++) p[i]=a[i*(i+2)]; for(i=0;i<3;i++) k+=p[i];

printf(\}

答案:

=======(答案1)======= k=19

第112题 (1.0分) 题号:576 有程序 main( )

{ char a[ ]={'a','b','c','d','e','f','g','h','\\0'}; int i,j;

i=sizeof(a); j=strlen(a); printf(\ }

程序运行后,输出i的值是【1】,输出j的值是【2】. 答案:

=======(答案1)======= 9

=======(答案2)======= 8

第113题 (1.0分) 题号:573

先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出\标志. main( )

{int i,x,a[10];

for(i = 0;i<10;i ++ ) scanf(″﹪d″,【1】); scanf(″﹪d″,&x);printf(″﹪d″,x); for(i = 0;i<10;i ++) if(【2】) break;

if (i 【3】10) printf(″ position:﹪d \\ n″,i); else printf(″ Not found! \\ n″,x); }

答案:

=======(答案1)======= &a[i]

=======(答案2)======= a[i]==x

=======(答案3)======= !=

第114题 (1.0分) 题号:592 下面程序输出结果为【1】. #include void main( )

{ int i,j,a[3][3]; for(i=0;i<3;i++)

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

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

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

if(a[i][j]>0) printf(\ putchar('\\n');} }

答案:

=======(答案1)======= 1 2 1 3 2 1

第115题 (1.0分) 题号:593 以下程序运行后,输出结果是【1】. main( )

{int a[3][3]={1,2,3,4,5,6,7,8,9},i,j; for(i=0;i<3;i++) for(j=i;j<3;j++)

printf(\}

答案:

=======(答案1)======= 1 2 3 5 6 9

第116题 (1.0分) 题号:580

设a数组是m行n列的,则元素a[i][j]之前有【1】个元素. 答案:

=======(答案1)======= i*n+j

第117题 (1.0分) 题号:595 # define N 7 main( )

{int i,j,temp,a[N]={1,2,3,4,5,6,7}; for(i = 0;i

temp = a[i];a[i]=a[j];a[j]=temp; }

for(i = 0;i

程序输出结果是【1】.

答案:

=======(答案1)=======

7 6 5 4 3 2 1

第118题 (1.0分) 题号:600

以下程序运行后,输出结果的第一行为【1】,第二行为【2】. void main( )

{ char s[]=\ for(i=strlen(s)=strlen(t); i>=0;i--)

{ for(j=i,k=0;s[j]==t[k] && t[k]!='\\0';j++,k++); if(t[k]=='\\0') printf(\ } }

答案:

=======(答案1)======= 3

=======(答案2)======= 0

第119题 (1.0分) 题号:570

下面的程序打印杨辉三角形,其格式为: 1

1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 程序如下. #define N 11

main( )

{ int i,j,a[N+1][N+1]; for(i=1;i<=N;i++) { a[i][i]=1; a[i][1]=1; }

for(【1】;i

while(j>0) {printf(\ for(j=1;j<=i;j++)

printf(\ printf(\ }

printf(\}

答案:

=======(答案1)======= i=3

=======(答案2)======= j

=======(答案3)======= a[i-1][j-1]+a[i-1][j]

第120题 (1.0分) 题号:590 以下程序运行后的输出结果是【1】. main( )

{ int i,n[ ]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\}

答案:

=======(答案1)======= 1 3 7 15

第121题 (1.0分) 题号:579

输出数组a[10] 所有元素中的最大值. main ( )

{ int a[10]={1,2,3,4,5,6,7,8,9,10}; int j, max; 【1】 ;

for(j=1;j<10;j++) {if(a[j]>max) 【2】 ;}

printf(\

答案:

=======(答案1)======= max=a[0]

=======(答案2)======= max=a[j]

第122题 (1.0分) 题号:585 以下程序输出的结果是【1】. main( )

{ int i,k,a[10],p[3]; k=5;

for(i=0;i<10;i++) a[i]=i;

for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2;

printf(\}

答案:

=======(答案1)======= 21

第123题 (1.0分) 题号:586 以下程序的输出结果是【1】.

#include main( ) { int i=0;

char a[ ]=\ while(a[i]!='\\0'&& b[i]!='\\0') { if(a[i]>=b[i]) c[i]=a[i]-32; else c[i]=b[i]-32; ++i; }

c[i]='\\0'; puts(c); }

答案:

=======(答案1)======= AQM

第124题 (1.0分) 题号:584 以下程序输出的结果是【1】. #include main( )

{char a[20]=\ int i;

for(i=0;a[i]!='\\0'; i++ ) b[i]=a[i]; b[i]='\\0'; puts(b); }

答案:

=======(答案1)======= Good morning!

第125题 (1.0分) 题号:589 下面程序的运行结果是【1】. #include main( )

{char a[]=\ int i,j=0;

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

if(a[j]

答案:

=======(答案1)======= mo

第126题 (1.0分) 题号:572

本程序用改进的冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空. #define N 10 main( )

{int a[N]={10,7,43,1,9,6,3,8,5,2}; int j,k,jmax,temp; 【1】; do { k=0;

for(j=0;j

jmax=jmax-1;

} while(jmax>0&&k); for(j=0;j< N ;j++) printf(\ printf(\ }

答案:

=======(答案1)======= jmax=N-1

=======(答案2)======= a[j]>a[j+1]

=======(答案3)======= k++

=========或========= k=k+1

=========或========= k+=1

第127题 (1.0分) 题号:577 下列程序段的输出结果是【1】. main( )

{char b[ ]=\ b[5]=0;

printf(\}

答案:

=======(答案1)======= hello

第128题 (1.0分) 题号:578 下列程序的输出结果是【1】. main( )

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) printf(\ }

答案:

=======(答案1)======= 3,5,7

第129题 (1.0分) 题号:602

以下程序运行后输出结果中第一行为【1】,第二行为【2】,第三行为【3】. #include \#define N 3 main( )

{int a[N][N],b[N*N]={1,1},i,j; for(i=2;i

for(i=0;i

printf(\ printf(\ } }

答案:

=======(答案1)======= 1 3 13

=======(答案2)======= 1 5 21

=======(答案3)======= 2 8 34

第130题 (1.0分) 题号:575

若有说明\则数组a第一维的大小是【1】. 答案:

=======(答案1)======= 3

第131题 (1.0分) 题号:582

设char string[ ] =″This_is_a_book!″;则数组的长度应是【1】. 答案:

=======(答案1)======= 16

第132题 (1.0分) 题号:599

以下程序执行时,输出结果的第一行是【1】,第二行是【2】,第三行是【3】. #include #define N 20 main( )

{ int i,j,k,n,arr[N][N]; k=1,i=0;n=3; while(i

{ for(j=i;j

for(j=n-i-2; j>=i;j--) arr[n-i-1][j]=k++; for(j=n-i-2;j>=i;j--) arr[j][i]=k++; for(j=i+1;j<=n-i-2;j++) arr[i][j]=k++; i++; }

if(n%2) arr[j][i]=k; for(i=0;i

{ for(j=0;j

答案:

=======(答案1)======= 7 8 1

=======(答案2)======= 6 9 2

=======(答案3)======= 5 4 3

第133题 (1.0分) 题号:601

以下程序运行时,输出结果的第一行为【1】,第三行为【2】,第五行为【3】. #include #define N 8 void main( )

{ int i,j,pa[N]={1}; printf(\ for(i=1;i

for(j=i-1;j>0;j--) pa[j]=pa[j]+pa[j-1]; for(j=0;j<=i;j++) printf(\ printf(\ } }

答案:

=======(答案1)======= 1

=======(答案2)======= 1 2 1

=======(答案3)======= 1 4 6 4 1

第134题 (1.0分) 题号:571

下面程序的功能是将变量x的值转换成二进制数,所得二进制数的每一位数放在一维数组 a中的相应元素中,二进制数的最低位放在下标为0的元素中,其他依此类推.请填空. main()

{int x,i,a[10],k=0,r; clrscr();

printf(\ scanf(\ do

{r=【1】 ; a[k++]=r; x=【2】; } while(x);

for(i=k-1;i>=0;i--) printf(\}

答案:

=======(答案1)======= x%2

=======(答案2)======= x/2

第135题 (1.0分) 题号:614 下面程序输出结果为【1】. main()

{int a[3][3]={1,2,3,4,5,6,7,8,9},*p,**p1; p=a+5; p1=a;

printf(\}

答案:

=======(答案1)======= 6 8

第136题 (1.0分) 题号:625

执行下面的程序段后,ab的值为【1】. int *v,ab; ab=100; v=&ab; ab=*v+10;

答案:

=======(答案1)======= 110

第137题 (1.0分) 题号:608 下面程序的输出结果为【1】. #include main() {int i;

char *m=\

k[0]='A';k[1]='B';k[2]='C';k[3]='\\0'; for(i=0;i<3;i++)

printf(\ }

答案:

=======(答案1)======= abc,ABC,bc,BC,c,C

第138题 (1.0分) 题号:605 若有声明\a[3]=\char *p=a;\执行语句\后输出结果是【1】. 答案:

=======(答案1)======= 0

第139题 (1.0分) 题号:621

若要使表达式p=\无任何错误(包括语法错误和警告错误),p的声明形式应为【1】.

答案:

=======(答案1)======= char *p;

第140题 (1.0分) 题号:613

以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数.例如,输入的字符串为:556,则输出十进制整数366.请填空.  #include \ main()

 { char *p, s[6];  int n;  p=s;  gets(p);  n=*p-'0';

while( 【1】 !='\\0') n= 【2】 ;  printf(\ }

答案:

=======(答案1)======= *(++p)

=======(答案2)======= n*8+*p-'0'

第141题 (1.0分) 题号:615 下面程序的输出结果为【1】. #include

int x[2][3]={1,2,3,4,5,6}; main() {int *p;

for(p=&x[0][0];p<&x[0][0]+6;p++) { if((p-&x[0][0])%3==0) printf(\ } }

答案:

=======(答案1)=======

1 4

第142题 (1.0分) 题号:623 #include main()

{ int a[]={1,2,3,4,5,6},*p; p=a;

*(p+3)+=2;

printf(\}

结果为:【1】.

答案:

=======(答案1)======= 1,6

第143题 (1.0分) 题号:612 以下程序段的运行结果是【1】. char *p=\int a=11,b=10,c; c=a%b; p+=3;

printf(p,c,a,b);

答案:

=======(答案1)======= a=1,b=11

第144题 (1.0分) 题号:616 以下程序的运行结果是【1】. main()

{ int x[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p;

printf(\ printf(\}

答案:

=======(答案1)======= 2,4

第145题 (1.0分) 题号:620 当运行以下程序时,从键盘输入 apple<回车> cat<回车>

则以下程序的运行结果是【1】. #include \main()

{ char s[80],*p; p=s; gets(p);

while(*p!='\\0')

if(*p=='a') {p++; gets(p);} else break; puts(s); }

答案:

=======(答案1)======= acat

第146题 (1.0分) 题号:619 当运行以下程序时,从键盘输入 control<回车> cat<回车> bed<回车> -1<回车>

则以下程序的运行结果是【1】. #include \main()

{ char s[80],*p; p=s; gets(p);

while(*p!='-')

{ if(*p=='a'||*p=='b') puts(p); gets(p); } }

答案:

=======(答案1)======= bed

第147题 (1.0分) 题号:609

完成下列程序.求一个字符串的长度,用字符数组实现. main()

{int len=0;

char str[20],*p; scanf(\ p=str;

while(*p!='\\0') { 【1】;【2】;}

printf(\ }

答案:

=======(答案1)======= p++

=========或========= len++

=========或========= p+=1

=========或========= p=p+1

=========或========= len=len+1

=========或========= len+=1

=======(答案2)======= p++

=========或========= len++

=========或========= p+=1

=========或========= p=p+1

=========或========= len+=1

=========或========= len=len+1

第148题 (1.0分) 题号:618 以下程序段的运行结果是【1】. char a[ ]=\int i=0; p=a;

while(*p)

{ if(i%2==0) *p='*'; p++; i++; }

puts(a);

答案:

=======(答案1)======= *2*4*6*8*

第149题 (1.0分) 题号:604 以下程序的输出结果是【1】. main()

{ int a[]={1,2,3,4,5,6},*p=a; *(p+3)+=2;

printf(\ printf(\}

答案:

=======(答案1)======= 2,6

第150题 (1.0分) 题号:606 以下程序运行时输出结果是【1】. #include main()

{ char *s, *s1=\ s=s1;

while(*s1) s1++; printf(\

}

答案:

=======(答案1)======= 4

第151题 (1.0分) 题号:622 以下程序的输出结果是【1】. main()

{ int x[]={0,1,2,3,4,5,6,7,8,9}; int s,i,*p; s=0;

p=&x[0]; for(i=1;i<10;i+=2) s+=*(p+i);

printf(\}

答案:

=======(答案1)======= sum=25

第152题 (1.0分) 题号:624 main( )

{int num1,num2;

int *p1=&num1,*p2=&num2; int *pointer; scanf(\ scanf(\ if(*p1>*p2)

{pointer=p1;p1=p2;p2=pointer;}

printf(\若通过键盘输入了9和6,则: 上述程序的输出结果是【1】.

答案:

=======(答案1)======= min=6,max=9

第153题 (1.0分) 题号:603 下列程序的输出结果是【1】. main()

{char s[]=\ while (*p)

{ printf(\ if(*p) p++; } }

答案:

=======(答案1)======= ABCDECDEE

第154题 (1.0分) 题号:611 以下程序段的运行结果是【1】. char *p=\p+=3;

printf(\

答案:

=======(答案1)======= 4

第155题 (1.0分) 题号:626

执行程序段后,表达式*--p的值是【1】. static int a[]={63,20,30,28}; p=&a[2];

答案:

=======(答案1)======= 20

第156题 (1.0分) 题号:610 以下程序的运行结果是【1】. main()

{ char a[]=\ int s=0;

for(p=a; *p!='\\0';p++) s=10*s+ *p -'0'; printf(\}

答案:

=======(答案1)======= 12345

第157题 (1.0分) 题号:607

执行以下程序后,a的值为【1】,b的值为【2】. main()

{int a,b,k=4,m=6; int *p1=&k,*p2=&m; a=(p1==&m);

b=(-*p1)/(*p2)+7;

printf(\ }

答案:

=======(答案1)======= 0

=======(答案2)======= 7

第158题 (1.0分) 题号:617 以下程序段的运行结果是【1】. char *p=\int i,d;

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

if(isdigit(*(p+i))) printf(\

答案:

=======(答案1)======= 1*0*

第159题 (1.0分) 题号:702 下列程序的输出结果是【1】 int sum1 (int m) { int n=0; n++;

return(m+n); }

int sum2 (int m) {static int n=0; ++n;

return (m+n); } main() { int j;

for (j=0;j<3;j++) printf(\}

答案:

=======(答案1)======= 2 5 8

第160题 (1.0分) 题号:675 以下程序的输出结果是【1】. char *fun(char *s) { int i,j;

for(i=j=0;s[i]!='\\0';i++)

if(s[i]!='c') s[j++]=s[i]; s[j]='\\0'; return s; }

main()

{ printf(\

答案:

=======(答案1)======= hane

第161题 (1.0分) 题号:687

#include main()

{ int a=1,b=2,x1,x2,x3; x1=add(a,b);

x2=add(add(a,b),b); x3=add(a,b);

printf(\}int add(int x,int y) { static int z=1; z=x+y+z; return(z); }

程序输出的第一行是【1】,第二行是【2】,第三行是【3】.

答案:

=======(答案1)======= 4

=======(答案2)======= 16

=======(答案3)======= 19

第162题 (1.0分) 题号:680 以下程序的输出结果是【1】. fun(int x) {int p;

if(x==0 || x==1) return(3); return x-fun(x-2); }

main()

{printf(\

答案:

=======(答案1)======= 2

第163题 (1.0分) 题号:700 #include main()

{int k=4,m=1,p; p=func(k,m); printf(\ p=func(k,m);

printf(\ }

func(inta,intb)

{static intm,i=2; i+=m+1; m=i+a+b; return(m); }

结果为:【1】

答案:

=======(答案1)======= 8,17

第164题 (1.0分) 题号:682

以下binary函数的功能是利用二分查找法从数组a的10个元素中对关键字m进行查找,若找到,返回此元素的下标;若未找到,则返回值-1.请填空: binary(int a[10],int m) { int low=0,high=9,mid; while(low<=high) { mid=(low+high)/2;

if(m

else if(m>a[mid]) 【2】 else return(mid); }

return(-1); }

main()

{ int a[]={1,3,5,7,9,11,13,15,17,19},m,r; scanf(\

r=binary(【3】)

if(r==-1) printf(\ else printf(\}

答案:

=======(答案1)=======

high=mid-1

=======(答案2)======= low=mid + 1

=======(答案3)======= a,m

第165题 (1.0分) 题号:707 程序代码如下:

fun(int *s,int n1,int n2) { int t;

while(n1

*(s+n1)=*(s+n2); *(s+n2)=t; n1++;n2--; } } main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a; fun(p,0,3);fun(p+3,1,6); for(i=0;i<10;i++)

{ if(i%5= =0) printf(\ printf(\}

程序输出的第一行是【1】 ,第二行是【2】.

答案:

=======(答案1)======= 43210

=======(答案2)======= 98765

第166题 (1.0分) 题号:689 char *fun(char *s) { int i,j;

for(i=j=0;s[i]!='\\0';i++) if(s[i]!='c') s[j++]=s[i]; s[j]='\\0'; return s;}

main()

{ printf(\程序输出结果是【1】.

答案:

=======(答案1)======= hane

第167题 (1.0分) 题号:699 已知main函数中有声明\a[10];\若在main函数中出现语句\执行该函数调用语句时传递给fun函数对应位置形式参数的值是【1】. 答案:

=======(答案1)======= &a[0]

第168题 (1.0分) 题号:706 main( ) {int s,j;

for(j=0;j<=2;j++) {s=fun( );

printf(\printf(\fun( )

{static int i=4; i++;

return(i);}

上面程序的输出结果是【1】

答案:

=======(答案1)======= 5 6 7

第169题 (1.0分) 题号:701 下列程序的输出结果是【1】 int func(int n) {

if (n==0)return 0;

else if (n==1) return 1; else return n*n+func(n-2); }

main() {

printf(\ }

答案:

=======(答案1)======= 20 35

第170题 (1.0分) 题号:659

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是【1】. 答案:

=======(答案1)======= int

=========或========= 整型

第171题 (1.0分) 题号:674

函数f的功能是计算并返回F(x)的值.F(x)的计算公式如下:

计算级数F(x),当通项绝对值小于等于10-5时停止累加. #include #include double f(double x) {int n=1,sign=-1;

double term=【1】,sum=term; while(fabs(term)>1e-6) {term=term*sign*【2】; sum=sum+term; 【3】; }

sum=3.14159/2-cos(x)*sum/x; return sum; }

main()

{ double x=1;

printf(\}

答案:

=======(答案1)======= 1

=======(答案2)======= (x*x)/((2*n)*(2*n-1))

=======(答案3)======= n++

第172题 (1.0分) 题号:691 下面程序的运行结果是【1】. main()

{int a=2, i;

for(i=0;i<3;i++) printf(\}

f(int a)

{ int b=0;static int c=3; b++;c++;

return(a+b+c); }

答案:

=======(答案1)======= 7 8 9

第173题 (1.0分) 题号:697

以下程序实现将a数组中后8个元素从大到小排序的功能. void sort(int *x,int n); main()

{ int a[12]={5,3,7,4,2,9,8,32,54,21,6,43},k; sort(【1】 ,8);

for(k=0;k<12;k++)printf(\}

void sort(int *x,int n) { int j,t;

if(n= =1) return;

for(j=1;j

if(【2】)

{t=x[0];x[0]=x[j];x[j]=t; }

sort(x+1,n-1); }

答案:

=======(答案1)======= a+4

=======(答案2)======= x[0]

第174题 (1.0分) 题号:703 下列程序的输出结果是【1】 void f(int a[], int i, int j) { int t; if(i

{ t=a[i]; a[i]=a[j]; a[j]=t; f(a,i+1,j-1); } }

main()

{ int i, aa[5]={1,2,3,4,5}; f(aa,0,4);

for(i=0; i<5; i++) printf(\}

答案:

=======(答案1)======= 5,4,3,2,1

第175题 (1.0分) 题号:657

fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回.请填空. #include

#define N 100

int fun(int (*a)[N]) { int row,col,max,min; for(row=0;row

{

for(max=a[row][0],col=1;col

max=a[row][col]; if(row==0) min=max;

else if(【2】) min=max; }

return min; }

答案:

=======(答案1)======= a[row][col]>=max

=======(答案2)======= min>=max

第176题 (1.0分) 题号:678 下面程序输出结果为【1】 #include

void f(float a,float b,float* c) { static float x;float y; x=(y=a>b?a:b)>x?y:x; *c=x; }

void main()

{ float a[5]={2.5,-1.5,7.5,4.5},x; int i;

for(i=0;i<3;i++) { f(a[i],a[i+1],&x); printf(\} }

答案:

=======(答案1)======= 2.5 7.5 7.5

第177题 (1.0分) 题号:672

若一个函数不需要形式参数,则在定义该函数时,应使形式参数表为空或放置一个【1】. 答案:

=======(答案1)======= void

第178题 (1.0分) 题号:654

一个函数直接或间接地调用本身,称为【1】调用. 答案:

=======(答案1)======= 递归

第179题 (1.0分) 题号:656

以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果.请填空 int fun( int n) { int m=0,f=1,i; for(i=1; i<=n; i++) { m+=i*f; f= 【1】 ; }

return m; }

main()

{ printf(\

答案:

=======(答案1)======= -f

第180题 (1.0分) 题号:686

函数f的功能是从长度为n的一维数组a数组的元素中,查找与x值相同元素在数组中的下标值;假如a数组元素中的值不相同.若找到,返回下标值;找不到,返回0.请填空. int f(int a[],int x) { int i;

for(i=0;i

if ( 【1】 ) break; if ( 【2】 )

return i; else return 0; }

答案:

=======(答案1)======= a[i]==x

=======(答案2)======= i

第181题 (1.0分) 题号:693 #include void f(int *p1, int *p2) { int *t;

t=p1;p1=p2;p2=t; } main()

{ int a=10,b=20;

printf(\ f(&a,&b);

printf(\}

程序输出的第一行是【1】,第二行是【2】.

答案:

=======(答案1)======= 10 20

=======(答案2)======= 10 20

第182题 (1.0分) 题号:662

以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空. double fun(int n)

{double s=0.0,fac=1.0; int i; for(i=1;【1】;i++) { fac=fac*【2】; s=s+fac;