结构化程序设计考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年《结构化程序设计》考试试题
班级:姓名:成绩:
一、单项选择(每题2分,共40分)
1.下列常量中不是字符型常量的是 _______D__ 。
(A) '\x44' (B) '\t' (C) '\\' (D) " m "
2.下列选项中合法的变量名为 ____C__ 。
(A) #define (B) float (C) a12_3 (D) sqrt(x)
3.若有 int x=13 , y=5 ;则表达式 x++ , y+=2 , x/y 的值为 __B_____ 。
(A) 1 (B) 2 (C) 0 (D) 13
4.设整型变量 m, n, a, b, c, d 均为数值 1 ,表达式 (m=a>b)&&(n=a>b) 运算后,m、n 的值是 ____A_____ 。(A) 0, 0 (B) 0, 1 (C) 1, 0 (D) 1, 1
5.设有定义语句: int a=3, b, *p=&a; 要将变量 a 的值赋给变量 b ;下列语句中不正确的赋值方式是____A____ 。
(A) b=*&a; (B) b=*p; (C) b=a; (D) b=*a;
6.为了避免嵌套的 if else 语句的二义性, C 语言规定 else 总是与 C 组成配对关系。
(A)缩排位置相同的 if (B)在其之前未配对的 if
(C)在其之前未配对的最近的 if (D)同一行上的 if
7.若有定义 int a=7 ; 则下列语句组对应的输出结果是___D_____ 。
switch(a%5)
{
case 0 : printf(“%d”,a++);
case 1 : printf(“%d”,++a);
case 2 : printf(“%d”,a--);
case 3 : printf(“%d”, --a);
default : printf( “其他值”) ;
}
(A)其他值(B) 5 (C) 7 (D) 7 5 其他值
8. 以下程序段中循环体执行的次数为____C____。
for(m=4; m; m-=2)
for(n=1;n<4;n++)
{…..}
(A) 16 (B) 12 (C) 6 (D) 8
9. 执行下面程序段后,变量 k 的值为___C_____ 。
for(int k=0,m=1;m<4;m++)
{
for(int n=1;n<5;n++)
{
if(m*n%3==0)
continue;
k++;
}
}
(A) 1 (B) 3 (C) 6 (D) 12
10. 如下数组定义语句, _C_______正确。
(A) int a[3,4]; (B) int n=3,m=4,int a[n][m];
(C) int a[3][4] ; (D) int a(3)(4);
11.要使字符数组 str 具有初值 "Lucky" ,正确的定义语句是__C _____。
(A)char str[]={‘L','u','c','k','y'}; (B) char str[5]={‘L','u','c','k','y'}; (C) char str []="Lucky";(D) char str [5]="Lucky";
12.下面的函数定义正确的是 ______D___ 。
(A) float f(float x;float y) (B) float f(float x,y)
{ return x*y;} { return x*y;}
(C) float f(x,y) (D) float f( int x, int y)
{ int x,y ; { return x*y;}
return x*y;}
13.在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; printf("%d",ch); 输出为_____B____。
(A) 不能确定(B) 68 (C) C (D) D
14. void fun(int *x, int *y) { *x=3; *y=4; }
void main()
{
int x=1,y=2;
printf("%d %d ",x, y);
fun(&y,&x);
printf("%d %d",x, y);
}
上面的C程序段的输出结果是____C_____。
(A) 2 1 4 3 (B) 1 2 1 2 (C) 1 2 4 3 (D) 2 1 1 2
15. 执行下面程序片段的结果是___B_____。
分析下面的C语言程序:
int x=23;
do
{printf(“%2d”,x--);}
while(!x);
(A)打印出321 (B) 打印出23 (C) 死循环(D) 其它结果
16. 若有以下定义和语句
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是_________
(A) *p (B) a[10] (C) *a (D) a[p-a]
17、下面程序段执行后,a的值是 B 。
int a;
printf (“%d\n”,(a=3*5,a*4,a+5));
(A) 60 (B) 20 (C) 15 (D)10
18、下列程序段的输出是 B 。
int x=023 ;