(程序设计与数据结构练习题附答案.docx
文本预览下载声明
一、单项选择题1.有下列程序段落:int i,a[5];for(i=0;i5;i++) scanf(“%d”,a[i]);若要使数组元素的值分别为1,2,3,4,5,应从键盘输入( B )。A.1,2,3,4,5↙ B. 1 2 3 4 5↙ C.12345↙ D. 1;2;3;4;5↙2.数组名作为函数参数进行传递时,形参获得的是( D )。 A.该数组第一个元素的值 B.该数组所有元素的值 C.该数组所有元素的地址 D.该数组的首地址3.设有如下宏定义:#define A 3+2#define B A*A则表达式“B*B”的值为 ( A )。A.23 B. 5C. 25 D.6254.在下列说明中,结构类型变量x 所占用内存字节数为( D )。 struct exp { int i; float j; double k; }x;A.8个 B.7个 C.14个 D.随计算机而定5.设有定义:int k=3,*p=k; 则表达式 *p的值是 ( D )。A.1B.0C.2D.36. 下列程序的输出结果为 ( A )。 main() { int i=3,b; b=(i--)+(i--); printf(“%d”,b); }A.6B.2C.3D.47.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( D )。 A.c=b=a B. (a=c)||(b=c) C. a=c=bD. (a=c)(b=c)8.下列叙述不正确的是( A )。A.函数定义可以嵌套 B.宏定义可以嵌套 C.函数调用可以嵌套 D.循环结构可以嵌套9.设 char *p=“abcde”,则printf(“%s”, p ) 的输出结果为( D )。A.cB.cdeC.bD.abcde10.p1,p2 为指向浮点的指针变量,下列运算没有意义的是( D )。A.*p1-*p2B.p1++ C.*p1+*p2D.p1+p211.设有 int i=010,j=10; 则printf( “%d,%d\n”,++i,j--);的输出是( B)。A. 11,10 B. 9,10 C. 010,9 D.10,912.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=wx)(b=yz) ;后,a,b的值为( D)。 A. 1和1 B. 0和0C. 4和2D. 0和2 前一条件为假,无论后面什么情况结果都为假13.定义如下变量关系,则下面语句的输出结果是( D )。 int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i3;i++) printf( %d,x[0][ 2-i]);A. 1 5 9B. 1 2 3C. 3 5 7D. 3 2 114.已知数组float b[3][2];该数组行下标的范围是( D )。A. 1—3 B. 0—3 C. 1—2 D. 0—215.下列语句中,正确的是( D )。 A. #define PI=3.14159 B. include “stdio.h” C. define M 3 D. #define PI 3.1415916.有如下程序,该程序段的输出结果是( B)。 void main(void) { int n=5; while(n2) { n--; printf(“%d”,n);} } A. 543B.432C.4321D.543217.下列四种数组定义,合法的数组定义是( A)。 A. char a[ ]=hello; B. int a[4]={4,3,2,1,0}; C. char a=hello ; D. char a[4]= hello;18.设p1和p2均为指向int型的指针变量, k为int型变量,下列不正确的赋值语句是( C )。 A.k=*p1+*p2; B.k=*p1*(*p2) C.p2=k D.p1=p219.有如下程序 ,该程序的输出结果是( C )。 void main(void) { char s[]=“ABCD”,*p; for( p=s+1;p=s+3;p++) printf(“%c\n”,*p); } A. ABC B.A C.BD.BCD BC B C CD C C D D20.对于C程序的函数,下列叙述中正确的是( A )。 A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用均可以嵌套 D
显示全部