程序设计与数据结构练习题附答案

上传人:平*** 文档编号:13743417 上传时间:2017-10-26 格式:DOCX 页数:35 大小:96.02KB
返回 下载 相关 举报
程序设计与数据结构练习题附答案_第1页
第1页 / 共35页
程序设计与数据结构练习题附答案_第2页
第2页 / 共35页
程序设计与数据结构练习题附答案_第3页
第3页 / 共35页
程序设计与数据结构练习题附答案_第4页
第4页 / 共35页
程序设计与数据结构练习题附答案_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《程序设计与数据结构练习题附答案》由会员分享,可在线阅读,更多相关《程序设计与数据结构练习题附答案(35页珍藏版)》请在金锄头文库上搜索。

1、一、单项选择题1有下列程序段落:int i,a5;for(i=0;ix)&(b=yz) ;后 , a,b 的 值 为 ( D ) 。 A 1 和 1 B 0 和 0 C 4 和 2 D 0 和 2 &前一条件为假,无论后面什么情况结果都为假13定义如下变量关系,则下面语句的输出结果是( D ) 。int i;int x33=1,2,3,4,5,6,7,8,9; for(i=0;i2) n-; printf(“%d”,n); A 543 B432 C4321 D543217下列四种数组定义,合法的数组定义是( A ) 。 A char a =hello; B int a4=4,3,2,1,0;

2、C char a=hello ; D char a4= hello;18设 p1 和 p2 均为指向 int 型的指针变量, k 为 int 型变量,下列不正确的赋值语句是( C ) 。 Ak=*p1+*p2; Bk=*p1*(*p2) Cp2=k Dp1=p219有如下程序 ,该程序的输出结果是( C ) 。 void main(void) char s=“ABCD”,*p;for( p=s+1;pa C p-ab.a D p.ab.a25. 若要对 E 盘上的一个非空文件“w1.dat”进行修改,正确的打开语句是( D ) 。A fp=fopen(“w1.dat”,“r+”); B fp=

3、fopen(“w1.dat”, “w+”); C fp=fopen(“E:w1.dat”,“r+”); D fp=fopen(“E:w1.dat”,“w+”);26语言程序的三种基本结构是 ( A ) 。顺序结构,分支结构,循环结构 递归结构,循环结构,转移结构嵌套结构,循环结构,顺序结构 递归结构,分支结构,顺序结构27能正确表达逻辑关系“0=a . a%=a30定义如下变量和数组,则下面程序段落的输出结果是 ( A ) 。int i; int x33=0,1,2,3,4,5,6,7,8;for (i=0;i=A& cha& ch=A| ch=A & cha & ch=A | chx) |

4、(b=yz);后,a, b 的值为 ( C ) 。 A1 和 1 B. 0 和 0 C1 和 2 D. 4 和 248若有定义语句 int a=1,2,3,4,5,6,7,8,9,10,*p=a; 值为 8 的数组元素的正确表示为( D ):A. a8 B. a+7 C. p+7 D. *(p+7)49下列程序运行结果是( A ) 。#define A 2#define AA A+A/2void main(void)printf(“%d, ”,AA);printf(“%dn”,5*AA);A3, 11 B3 ,15 C2,10 D8,4050若有如下定义,则对 ex 中的 a 成员的正确引用是

5、( B ) 。 struct sk int a; float b; ex, *p = &ex;A. (*p).ex.a B. p-a C. p-ex.a D. p.ex.a二、填空题1在内存中存储一个字符 a 占用_1_个字节,而存储字符串 ”abcdef” 则占用_7_个字节。2表达式 4/5 的值为_0_。3设 x=4.5,a=7,y=3.4, 表达式 x+a%3*(int)(x+y)%2/4 的值为_ 4.500000_。4设 a=14, 执行 a+=a=a*=a 后,a=_0_。5设 x=y=z=6, 执行 x=(yz)?x+2:x-2; 后,x=_4_。 。6getchar( )函数

6、用于输入 _字符_, 而 gets( )函数则用于输入_字符串_。7设有定义语句:char ww20=” twabn”; 则表达式 :strlen(ww) 的值是_6 。8设有定义语句:char str7=”abcdef”, 则数组元素 str2中的字符是_c_,数组元素 str6中的字符是_0_。9函数中的形参和调用时的实参都是变量时,传递方式为_值传递_; 都是数组名时,传递方式为_地址传递_。10设有 char *p=”12345”, 则 printf(“%s”,p)的输出是_12345_ ;而 printf(“%c”,*p)的输出则是_1_ 。11若 s 是 int 型变量,且 s=7

7、,则表达式: s/2+(s+1)%2 的值为_ 3_。12C 语言中,以 0x_打头的 int 常数是十六进制。13有说明语句 char s=102; S 包含了_1_个字符。14有数学表达式 sinx+ -6x,x写出其对应的 C 语言的表达式 _sin(x)+sqrt(x)-6*x_。15有定义语句:int a3= 0,1,2 ; 则数组元素 a12的值是 0 。16若程序中使用了函数 strlen(),则必须包含的头文件名为 _string.h_。17有如下程序,该程序的输出结果是 a=2,b=1 。void main(void) int x=1,a=0,b=0;switch(x) ca

8、se 0:b+;case 1:a+;case 2: a+,b+;printf(a=%d,b=%dn,a,b);18. 若 a 函数中调用了 b 函数,而 b 函数又调用了 a 函数,这种调用称为_递归_调用。19函数调用时,若形参和实参均为数组名时,传递方式为 _地址传递_。20若有以下定义语句,则输出的结果是_4_。 char s1 =“abcdef”, *s2=“1234”;printf(“%dn”, strlen(strcpy(s1,s2); 21若宏定义为:#define y(x) 2+x 则表达式 a=4+3*y(2)的值为 12 。22设有以下语句:static int a42=1

9、,2,3,4,5,6,7,8;int (*p)2;p=a;则 *(*(p+2)+1)的值为 6。23在 turbo C 中,int 型数据占 2 字节,则定义struct node char x10;int y;union float a;long b;ab;t;后,sizeof(t)= 16 。24.设有一个名为“ww1.c”的 C 程序,其主函数为 main(int argc,char *argv),如果在执行时,输入的命令行为: ww1 aa bb cc则形式参数 argc 的值是_4_ _。25. 执行下列程序段后,(*q-1)的值为 _99_。int a,*p,*q;a=100; p

10、=&a; q=&p;26C 语言源程序中主函数名由系统规定为 _main_ ,程序员是不能改变的。27有数学表达式: -3,其 C 语言表达式为 _sqrt(x)-3_。x28已知函数定义为:int stat(int a , float *p) . 则此函数的两个参数类型分别是整型 、 指向浮点型指针 。29设有数组 a10;则首地址可以写成 _a 或&a0_数组元素 a3的地址可以写成_ &a3或 a+3 _。30要使以下程序段中的函数调用语句 printf(“*”);执行 10 次,应在 处填入整数 _19 或 20_。for( i=1;ivoid main( ) int a,b,c,d;

11、a=4; b=6;c=+a;d=( cvoid fun (int x, int y) int a, b;float d; a = x+14;b = y-4;d = (float)(b/a);printf (d=%fn, d);void main(void) int b=9, a=6, c;c = b/a;printf (c=%dn, c);fun( a, b );3设从键盘上输入 Hello World! 下面程序的运行结果为 hello world! #include void main( void ) char ss20; int i;gets(ss);for( i=0; ssi!=0;

12、i+)if( ssi=A & ssiint i=1;void other( void );void main(void) int b = -10;printf(b=%dn, b);other( );i = i+10;other( ); void other( ) static int b;i=i+32;printf(i=%d, b=%dn, i, b);b = i;5下面程序的运行结果为 6, 45 2, 98 #include void main(void) int a10=78,89,98,66,54,76,45,82,62,95 ;int ka, ki, j;ka = ki = 0;fo

13、r(j=1; jaj ) ki=j ;if (aka void main(void ) int i ,a 10 ;int *p;p = a; for (i=0 ; ivoid main(void) int a=10,b=11;int c=0,d=0;printf(%5d,%5dn,a+,-b);printf(%5d,a&b);printf(%5d,!a);printf(%dn,!c);printf(%5d,d+=a);8下面程序的运行结果为 1+1=2 1+2=3 1+3=4 2+2=4 2+3=53+3=6 #include void main(void) int i,j;for(i=1;iint a=1,b;void fun(void);void main(void) static int c;int b=-5;printf(a=%d,b=%d,c=%dn,a,b,c);fun();a+=1;c+=2;printf(a=%d,b=%d,c=%dn,a,b,c);void fun() int c=1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号