C程序练习题及答案

更新时间:2023-11-17 21:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内蒙古机电职业技术学院信息与管理工程系 C程序设计练习题 hantiancheng

数据类型与基本运算部分

一、选择题

1. 若t 已定义为double类型,表达式t=1,t++,t+5的值是( )。

A. 1 B. 7.000000 C. 2.000000 D. 1.000000

2. 若题中各变量已正确定义并赋值,下面符合C语言语法的表达式是( )。

A. a%=7.6 B. a++,a=8+b+c C. int(12.3)%4 D. a=c+b=a+8

3. 已有定义语句 int a=1,b=2,c=3; float d=4;,以下能正确表示数学式的C语言表达是( )。

A. a/(b+c)*d B. a/(b+c)*1/d C. a/(b+c)/d D. a/d/(b+c)

4. 若k,g均为int型变量,则下列语句的输出为( )。 k=017; g=17;

printf(〝%d,%d\\n〞,++k,g++);

A. 15,17 B. 15,18 C. 16,17

D. 16,18

5. 运行下列程序,其输出结果为( )。 main()

{ int a=1,b=2;

printf(〝%d\\n〞,(a=a+1,a+b,b+1));

}

A. 2 B. 3 C. 4 D. printf函数

中输出项不合格

6. 若x为int型变量, x=6;则执行以下语句后,x的值为( )。 x+=x-=x*x;

A. 36 B. -60 C. 60 D. -24

7. 若,x,y,z,m,n均为int型变量,则执行以下语句后x,y,z的值为( )。 m=10;n=5;

x=(--m==n++)?--m:++n; y=m++; z=n;

A. 7,9,7 B. 5,6,10 C. 11,6,9 D.

5,10,6

8. 下述正确的语句是( )。

内蒙古机电职业技术学院信息与管理工程系 C程序设计练习题 hantiancheng

A.int x=y=z=0; B.int

z=(x+y)++; C.x=+3==2; D.d%=2.5; 9. 表达式(a=5,b=10+a++,a+b)的值( )。 A. 5 B. 6 C. 20 D. 21 10. 以下不正确的常量书写形式是( )。

A. 0.3e2 B. 0x2f C. 0768 D. -1

11. 若 int a=2,b=8; float x=10;以下不符合语法的表达式是( )。

A. a-=a+=a+b B. x=(a++,x+=a+b,a) C. -10%x D. a=b=0

12. 设 int a=6,b=18;float f=8; 以下值为0的表达式是( )。 A. a%b*f B. a/b*f C. f*a/b D. (float)a/b*f 二、填空题

1. 设a,b;计算表达式a+=a+=(b=5)*(a=2)后,a的值是 24 。 2. 如果a=3,b=5,表达式a+++(++b)的值是 9 。 3. 如果a=3,b=5,表达式a+++b的值是 8 。 4. 如果a=3,表达式--a+(++a)的值是 5 。

5. 已有定义float x=4.6;,表达式x+++1的运算结果是 5.6 。 6. 若已有定义语句 int k=7;,k+=k%=k-3的运算结果是 6 。 7. 语句printf(\的输出结果为 9.00 。 8. main( )

{ int k = 10 ;

printf(〝%d,%d,%d \\n〞,k,k++ ,--k) ; }

结果是 10,9,9 。

选择结构程序设计部分

提示:

逻辑运算符的优先级别:

逻辑非(!)>算术运算符>关系运算符>逻辑与(&&)>逻辑或(||)>赋值运算符

一、选择题

1. 正确描述当a小于b,b小于c,所以a必小于c为真的表达式是( )。

A. a

内蒙古机电职业技术学院信息与管理工程系 C程序设计练习题 hantiancheng

a<=b&&b<=c

2. 设x、y、z、t均为int型变量,则执行完下面语句后,y的值是( )。 x=y=z=1;

t=++x||++y&&++z; A. 不定值 B. 2 C. 1 D. 0

3. 已有定义语句: int x=3,y=0,z=0;,则值为0的表达式是( )。

A. x&&y B. x||z C. x||z+2&&y--z D. !((x

A. !(x%2==1) B. x%2==0 C. x%2 D. !(x%2)

5. 已有定义语句:int m=0,n=1;执行表达式(m=5<3)&&(n=7>9)后,n的值是( )。

A. 0 B. 1 C. 2 D. 3 6. 以下结构不正确的if语句是( )。

A. if(x>y && x!=y); B. if(x=4) x+=t; C. if(x!=y) D. if(0){x++;y++;} 7. 已有定义语句:int x=6,y=4,z=5;,执行语句:if(x

A. x=4,y=5,z=6 B. x=4,y=6,z=6 C. x=4,y=5,z=5 D. x=5,y=6,z=4 二、填空题 1. 已有定义语句:int a=0,b=1,c=1,d;,执行语句d=--a||++b&&--c;后,a的值 -1 ,b的值 2 ,

c的值 0 , d的值 1 。

2. 以下程序的运行结果是 1,3,2,3 。

main()

{ int x=1,y=2;

Printf(〝%d,〞,x>y ? y++ :x++); Printf(〝%d,〞,x<=y ? ++y :++x); Printf(〝%d,%d〞,x,y); }

3. 以下程序运行的结果是 a=2,b=1 。

#include main ( )

{ int x=1, y=0, a=0, b=0; switch (x)

{ case 1: switch (y)

{ case 0: a++; break; case 1: b++; break;

内蒙古机电职业技术学院信息与管理工程系 C程序设计练习题 hantiancheng

}

case 2: a++; b++; break; }

printf (“a=%d, b=%d\\n”,a, b); }

4. 条件“2<x<3或x<-10”的C表达式是 x>2 && x<3 || x<-10 。

5. 程序段int x=5,y=8,m; m=(x>y)?x:y; printf(\的输出结果是 8 。

6. 用C语言描述:“a是大于整数b的偶数”的表达式是: a>b && a%2 = = 0 。

循环结构程序设计部分

一、选择题

1. 以下While循环中,循环体执行的次数是( ) 。 k=1;

while(--k) k=10;

A. 10次 B. 无限次 C. 一次也不执行 D. 1次

2. 执行以下程序段后,n的值是( ) 。 int n=2;

while(n--); printf(\ A. 2 B. 10 C. –1 D. 0 3. 若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是( ) 。 A. i=1;s=1; do {s=s+i;i++;} while (i<5); B. i=0;s=0; do{i++;s=s+i;} while(i<5);

C. i=1;s=0; do{ s=s+i;i++;}while(i<6); D. i=1;s=0; do {s=s+i;i++;} while(i<=5);

4. 有以下程序段,其中x为整型变量:

x=-1;do {;}while(x++); printf(\ 以下选项中叙述正确的是( ) 。 A. 该循环没有循环体,程序错误 B. 输出:x=1 C. 输出:x=0 D. 输出:x=-1

5. 若 int i; 则以下循环语句的循环执行次数是( )。 for(i=2;i==0;)printf(\

A. 无限次 B. 0次 C. 1次 D. 2次 6. 有以下程序段,其中x为整型变量:

内蒙古机电职业技术学院信息与管理工程系 C程序设计练习题 hantiancheng

x=0;

while(!x!=0) x++;

以下选项中叙述正确的是( )。

A. 退出while循环后,x值为0 B. 退出while循环后,x值为0

C. while的控制表达式是非法的 D. while循环执行

无限次

7. 有以下程序段,其中x、y为整型变量

for(x=0,y=0;(x<=1)&&(y=1);x++,y--);

printf(\ 输出结果为( )。

A. x=2,y=0 B. x=1,y=0 C. x=1,y=1 D.

x=0,y=0

8. int a=1, x=1; 循环语句while(a<10) x++; a++; 的循环执行( )。

A. 无限次 B. 不确定次 C. 10次 D.

9次

二、填空题

1. 如下程序执行结果是 s=3 。 main( )

{ int s,i;

for(s=0,i=1;i<3;i++,s+=i) ;

printf(\,s); }

2. 如下程序执行结果是 30 。 main()

{ int i,n=0;

for(i=10;i>=1;i--) if(i%2==0) n+=i; printf(“n=%d\\n”,n); }

3. 以下程序段执行后 s 的值为 2 。

int i=1, s=0; while(i++)

if(!(i%3)) break ; else s+=i ;

数组部分

一、选择题

1. 以下定义数组的语句中正确的是( ) 。

本文来源:https://www.bwwdw.com/article/g0vv.html

Top