当前位置:
文档之家› C语言-程序设计基础试题五及答案
C语言-程序设计基础试题五及答案
4.为表示关系X≥Y≥Z,应使用C语言表达式( )
A. (X≥Y)&&(Y≥Z) B. X>=Y>=Z
C. (X>=Y)‖(Y>=Z) D. (X>=Y)&&(Y>=Z)
5.设有一分段函数: x=1 a<b且c=d
x=2 a>=b
则下列程序段哪个是正确的( )
A. if(a<b) B. if (a<b) C. if (a>b) D. if (a>=b)
A. 24 B. 26 C. 20 D. 30
union uarea
{ int x;
long y;};
struct str
{ char s[20];
union uarea z;};
main()
{printf(“%d\n”,sizeof(struct str));}
17.下列关于switch和break语句的讨论中,只有( )是正确的。
注:下列每小题有一个错误,找出并改正
1. #i nclude "stdio.h"
main()
{ char c,*ch=&c;
while((c=getchar())!=’\n’)
{ if(ch>=’a’&&ch<=’z’)
putchar(*ch-’a’+’A’);
else
putchar(*ch);
}
}
《程序设计基础》考试试卷五
班级姓名学号____________
题号
一
二
三
四
五
总得分
评卷人
审核人
得分
一、选择题(每题1分,共20分)
1.以下叙述中正确的是( )
A. C程序中注释部分可以出现在程序中任意合适的地方
B. 花括号"{"和"}"只能作为函数体的定界符
C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名
A. break语句是switch 语句的一部分
B. 在switch语句中可以根据需要使用或不使用break语句
C. switch语句中必须使用break语句
D. 以上三种说法都不正确。
18.以下不能正确定义二维数组的选项是 ( )
A. int a[2][2]={{1},{2}}; B. int a[2][]={{1,2},{3,4}};
}
4. 计算 1+1/2+1/3+…+1/10
main()
{ double t=1.0;
14.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )
A.c=b=a; B.(a=c)‖(b=c); C. (a=c)&&(b=c); D. a=c=b;
15.在C语言中,不正确的int类型的常数是( )
A .32768 B. 0 C. 037 D. 0xAF
16.若有以下说明语句(已知int占2个字节,long 占4个字节),则下面printf的输出结果是( )
2.求100以内的正整数中为13的倍数的最大值。
main()
{ int i;
for(i=100;i>=0;i--);
if(i%13==0) printf("%d",i);
}
3. 求1+2+3+…+100
main()
{ int i=1;
do
{ sum+=i; i++;
}while(i <=100);
printf("%d",sum);
C. int a[2][2]={{1},2,3}; D. int a[][2]={1,2,3,4};
19.执行以下程序后,输出结果是( )
A.–1 B. 1 C. 8 D. 0
main()
{ int y=11;
while(--y)
{ y--;}
printf(“%d\n”,y--);
}
20.main()
10.C语言中,运算对象必须是整型的运算符是( )
A. % B. / C. %和/ D. >=
11.以下说法正确的是( )
A.C语言程序总是从第一个定义函数开始执行;
B.在C语言程序中,要使用的函数必须在main()函数中定义;
C.C语言程序总是从main()函数开始执行;
D.C语言程序的main()函数必须在程序的开始部分。
{ int a=5,*b,**c;
c=&b; b=&a;
……
}
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是( )
A. 变量a的地址 B. 变量b中的值
C. 变量a中的值 D. 变量b的地址
二、写出下列程序的执行结果(每题5分,共20分)
1. 2.
3.4.
三、程序改错题(每题5分,共20分)
if(c= =d) {if (c= =d) if (c= =d) x=2;
x=1; x=1; x=1; else
else x=2; else x=2;} else x=2; {if(c= =d) x=1;}
6.若有两条语句:static char x[]=”abcde”;
static char y[]={‘a’,’b’,’c’,’d’,’e’};
则下列说法中正确的是( )
A. x数组和y数组长度相同 B. x数组长度大于y数组长度
C. x数组长度小于y数组长度 D. 以上三种说法均错误。
7.返回值为void的函数,其含义是( )
A.调用函数之后,被调用的函数没有返回值;
B.调用函数之后,被调用的函数不返回
C.调用函数之后,被调用的函数返回值为任意类型
D. 以上三种说法均不正确。
8.指出下列程序段中那个语句是不正确的( )(int x,y,z[1பைடு நூலகம்],*px,*py)
A.px=&x,py=pxB. px=x C. py=&y D. px=z
9.在printf语句中按字符串输出的格式是( )
A. “%s” B. “%c” C. “%f” D. “%d”
12.已定义以下函数
fun(int *p)
{ return *p; }
该函数的返回值是( )
A. 不确定的值 B. 形参p中存放的值
C. 形参p所指存储单元中的值 D. 形参p的地址值
13.对于scanf(“A=%d”,&a)语句,输入10的正确的输入形式是( )
A. a=10 B.A=10 C. 10 D. =10
D. 分号是C语句之间的分隔符,不是语句的一部分
2.在一个C语言程序中( )
A.main函数必须出现在所有函数之前
B.main函数可以在任何地方出现
C.main函数必须出现在所有函数之后
D.main函数必须出现在固定位置
3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )
A. a-b B. #abd C. typedef D. _max