手机版

C语言程序设计教程第三章练习题题目

时间:2025-07-02   来源:未知    
字号:

单选题

1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为()。

A.3,4

B.4,3

C.3,3

D.4,4

2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。

A.a<>0

B.!a

C.a=0

D.a

3、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前尚未配对的最近的if

D.同一行上的if

4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式的值不合法

D.以上说法都不对

5、若有定义:int x ,i;则下列for循环语句:

for(i = 0,x = 0; i<= 9 && x!=876;i++)

scanf(“%d”,&x);

下列选项中,描述正确的是()

A.最多执行10次

B.最多执行9次

C.是无限循环

D.循环体一次也不执行

6、关于下面的for循环语句

int i,k;

for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”);

下列选项中,描述正确的是()

A.判断循环结束的条件非法

B.是无限循环

C.只循环一次

D.一次也不循环

7、C语言程序的三种基本结构是()。

A.顺序结构,选择结构,循环结构

B.递归结构,循环结构,转移结构

C.嵌套结构,递归结构,顺序结构

D.循环结构,转移结构,顺序结构

8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A.a<>0

B.!a

C.a=0

D.a

9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。

void main()

{

int x;

scanf("%d",&x);

if (x++ > 5)

printf("%d",x);

else

printf("%d\n",x--);

}

A.7和5

B.6和3

C.7和4

D.6和4

10、运行以下程序后,如果从键盘上输入china#,那么输出结果为()。

#include<stdio.h>

void main()

{

int v1=0,v2=0;

char ch;

while ((ch=getchar())!='#')

switch (ch)

{

case 'a':

case 'h':

default:

v1++;

case '0':

v2++;

}

printf("%d,%d\n",v1,v2);

}

A.2,0

B.5,0

C.5,5

D.2,5

11、有如下程序:

void main()

{

int x=1,a=0,b=0;

switch(x)

{

case 0:

b++;

case 1:

a++;

case 2:

a++;

b++;

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是()。

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

12、下面程序的输出是()。

void main()

{

char *a="12134211";

int v1=0,v2=0,v3=0,v4=0,k;

for (k=0;s[k];k++)

switch (s[k])

{

default:

v4++;

case '1':

v1++;

case '3':

v3++;

case '2':

v2++;

}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }

A.v1=4,v2=2,v3=1,v4=1

B.v1=4,v2=9,v3=3,v4=1

C.v1=5,v2=8,v3=6,v4=1

D.v1=8,v2=8,v3=8,v4=8

13、下列程序段的输出结果为()。

int y=1;

while(y--);

printf("y=%d\n",y);

A.y=-1

B.y=0

C.死循环

D.y=9

14、当输入数据:27 63 时,下面程序的运行结果是()。#include<stdio.h>

int gbs(int a, int b)

{

int c;

a=a>0?a:-a;

b=b>0?b:-b;

c=a*b;

if (c==0)

return 0;

while (a!=b)

if (a>b)

a-=b;

else

b-=a;

return c/a;

}

int gys(int a, int b)

{

if (a*b==0)

return 0;

a=a>0?a:-a;

b=b>0?b:-b;

while (a!=b)

if (a>b)

a-=b;

else

b-=a;

return a;

}

void main()

{

int a,b,c,d;

scanf("%d%d",&a,&b);

c=gbs(a,b);

d=gys(a,b);

printf("a=%d b=%d gbs=%d gys=%d\n",a,b,c,d);

}

A.a=30 b=63 gbs=189 gys=9

B.a=27 b=63 gbs=190 gys=10

C.a=27 b=63 gbs=189 gys=9

D.a=27 b=63 gbs=188 gys=10

15、假设有程序段:int k=0; while(k=1) k++; while语句的循环次数是()。

A.无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

16、执行下面程序片段的结果是()。

int x=23;

do

{

printf("%2d",x--);

} while (!x);

A.打印出321

B.打印出23

C.不打印任何内容

D.陷入死循环

17、在C语言程序中,若希望结束循环,则do-while语句构成的循环中的条件为()。

A.0

B.1

C.true

D.非

18、以下描述中正确的是()。

A.do-while语句构成的循环不能用其它语句构成的循环来代替

B.do-while语句构成的循环只能用break语句退出

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环

D.用do-while语句构成的循环,在while后的表达式为零时结束循环

19、以下循环体的执行次数是()。

void main()

{

int i,j;

for (i=0,j=1; i<=j+1; i+=2,j--)

printf("%d\n",i);

}

A.3

B.2

C.1

D.0

20、有如下程序:

void main()

{

int i,sum;

for(i=1;i<=3;sum++)

sum+=i;

printf("%d\n",sum);

}

该程序 …… 此处隐藏:6822字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计教程第三章练习题题目.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)