C语言第二章习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.以下叙述中错误的是( )。
A) 使用三种基本结构构成的程序只能解决简单问题
B) 结构化程序由顺序、分支、循环三种基本结构组成
C) C语言是一种结构化程序设计语言
D) 结构化程序设计提倡模块化的设计方法
2.以下可以将任意一个两位整数n的个位数与十位数对换的表达式为()
A) (n-n/10*10)*10+n/10
B) n-n/10*10+n/10
C) n/10+(n-n/10)
D) (n-n/10)*10+(n/10)
3.以下叙述中错误的是
A) 算法正确的程序可以有零个输入
B) 算法正确的程序最终一定会结束
C) 算法正确的程序可以有零个输出
D) 算法正确的程序对于相同的输入一定有相同的结果
4.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y
++)中的条件表达式(x-y) 等价的是( )。
A) (x-y<0||x-y>0)
B) (x-y<0)
C) (x-y>0)
D) (x-y==0)
5.有以下程序
#include
main()
{ int a;
a = (int)1.99*3;
printf("%d\n", a);
}
程序的运行结果是()
A) 3
B) 5
C) 6
D) 结果不确定
6.请选出合法的C语言赋值语句:()
A) a=b=58 B) i++;
C) a=58,b=58 D) k=int(a+b)
7.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表
示代数式 1/abc 的表达式是:()
A) 1/a*b*c
B) 1/(a*b*c)
C) 1/a/b/(float)c
D) 1.0/a/b/c
8.请选出以下语句的输出结果:()
printf("%d\n",strlen("\t\"\065\xff\n"));//srelen()为求字符串长度的函数,返回字节数。
A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出
9.请选出以下语句的输出结果:()
printf("%d\n",strlen("\xffff"));
A) 1 B) 2 C) 3 D)5
10.有如下程序段,其输出结果是什么:(
{int a=1,b=3,c=5;
if (c=a+b)
printf ("yes\n");
elseprintf("no\n"); }
A) yes
11. 以下说法中正确的是( )
A) C语言程序总是从第一个的函数开始执行
B) 在C语言程序中,要调用的函数必须在main()函数中定义
C) C语言程序总是从main()函数开始执行
D) C语言程序中的main()函数必须放在程序的开始部分
12.逻辑运算符两侧运算对象的数据类型()
A) 只能是0和1
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
13. 以下叙述中错误的是()
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
14.已知a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c A) 2 B) 0 C) 1 D) -1 15.设变量已正确定义并赋值,以下正确的表达式是( ) A) x=y+z+5,++y B) int(15.8%5) C) x=y*5=x+z D) x=25%5.0 16.若有定义语句:int x=10;,则表达式x-=x+x的值为( ) A) 0 B) -20 C) -10 D) 10 17.有以下程序 #include main( ) { int c, d; c = 10^3; d = 10+3; printf("%d,%d\n", c, d); } 程序运行后的输出结果是() A) 13,13 B) 9,13 C) 10,13 D) 103,13 18.若有定义:int a=7;float x=2.5,y=4.7;则表达式:x+a%3*(int)(x+y)%2/4的值是:() A)2.500000 B)2.7500000 C)3.500000 D)0.000000 19.已知x=43,ch=’A’,y=0,则表达式(x>=y&&ch<’B’&&!y)的值是:() A)0 B)语法错误 C)1 D)”假” 20. 若有以下定义和语句: Inta,b; printf(“%d”,(a=2)&&(b=-2)); 则输出的结果是() A)无输出 B)结果不确定 C)1 D)-1 21. 以下语句的输出结果是() int a=2,b=3; printf(a>b?”***a=%d”:”###b=%d”,a,b); A)输出结果格式错误 B)***a=2 C)###b=2 D)###b=3 22. 下列运算符中,结合方向为自左向右的是() (A)?:(B),(C)+ = (D)+ + 23. 设x、y、z均为int型变量,则执行以下语句后,x、y、z的值为() x=1;y=0;z=2; y++&&++z||++x; A)2、1、3 B)2、0、3 C)2、1、3 D)2、1、2 24.若有以下定义和语句: int y=10; y+=y-=y-y; 则y的值是() A)10 B)20 C)30 D)40