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

第29题 (1.0分) 题号:514

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

第30题 (1.0分) 题号:518 表达式 a=3,a++,--a的值为【1】. =======(答案1)======= 3

第31题 (1.0分) 题号:500 C语言中逻辑值'真'用【1】表示. =======(答案1)======= 1

第32题 (1.0分) 题号:494

若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】. 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

第47题 (1.0分) 题号:515

设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

第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

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

第55题 (1.0分) 题号:504

若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)======= t=a[5]

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

第107题 (1.0分) 题号:574

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

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

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=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

若有声明\执行语句\后输出结果是【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函数中有声明\若在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); }