成都信息工程学院答案程序设计与数据结构复习题.doc

上传人:h**** 文档编号:167331 上传时间:2018-07-13 格式:DOC 页数:40 大小:247.50KB
下载 相关 举报
成都信息工程学院答案程序设计与数据结构复习题.doc_第1页
第1页 / 共40页
成都信息工程学院答案程序设计与数据结构复习题.doc_第2页
第2页 / 共40页
成都信息工程学院答案程序设计与数据结构复习题.doc_第3页
第3页 / 共40页
成都信息工程学院答案程序设计与数据结构复习题.doc_第4页
第4页 / 共40页
成都信息工程学院答案程序设计与数据结构复习题.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、1 一、 单项选择题 1 以下叙述错误的是 ( ) 。 一个 C 源程序可由一个或多个函数组成 B 一个 C 源程序必须包含一个 main 函数 C C 程序的基本组成单位是函数 D 在 C 程序中,注释说明只能位于一条语句的后面 2 C 语言中运算对象必须是整型的运算符是 ( ) 。 A %= B / C = D = 3 有 如 下程序 ,程序运行后的输出结果是 ( ) 。 main() unsigned int x=0xffff; printf(“%u n”,x ); A -1 B 65535 C 32767 D 0xFFFF 4若有代数式 xx en (其中 e 仅代表自然对数的底数,不

2、是变量),则以下能够正确代表该代数式的 C 语言表达式是 ( ) 。 A sqrt(abs(nx+ex) B sqrt(fabs(pow(n,x)+pow(x,e) C sqrt(fabs(pow(n,x)+exp(x) D sqrt(fabs(pow(x,n)+exp(x) 5字符串 “ t12x42abcd” 的长度是 ( ) 。 A 14 B 9 C 15 D 20 6以下叙述中错误的是 ( ) 。 A 计算机不能直接执行用 C 语言编写的源程序 B C 语言经 C 编译程序编译后,生成后缀为 .obj 的文件是二进制文件 C 后缀为 .obj 的文件,经连接 后 生成后缀为 .exe

3、的文件是二进制文件 D 后缀为 .obj 和 .exe 的二进制文件都可以直接运行 7 以下选项中,与 k=x+;完全 等价的表达式是 ( ) 。 A x=x+1;k=x; B k=x;x=x+1; C k=x+1; D k+=x+1; 8 以下叙述中正确的是 ( ) 。 A break 语句只能用于 switch 语句中 B continue 语句的作用是 : 使程序的执行流程跳出包含它的所有循环 C break 语句只能用在循环体内和 switch 语句体内 D 在循环体内使用 break 语句 和 continue 语句的作用相同 9 判断字符型变量 ch 是否为大写英文字母的表达式为

4、( ) 。 A A = A 后, a,b 的值为 ( ) 。 A 1 和 1 B 0 和 0 C 4 和 2 D 0 和 2 13定义如下变量关系 , 则 下面语句的输出结果是 ( ) 。 int i; int x33=1,2,3,4,5,6,7,8,9; for(i=0;i2) n-; printf(“%d”,n); A 543 B 432 C 4321 D 5432 17下列四种数组定义 ,合法的数组定义是 ( ) 。 A char a =“hello“; B int a4=4,3,2,1,0; C char a=“hello“ ; D char a4= “hello“; 18设 p1 和

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

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

7、果是 ( ) 。 #define A 2 #define AA A+A/2 void main(void) printf(“ %d, ” ,AA); printf(“ %dn” ,5*AA); A 3, 11 B 3, 15 C 2, 10 D 8, 40 50 若有如下定义,则对 ex 中的 a 成员的正确引用是 ( ) 。 struct sk int a; float b; ex, *p = A. (*p).ex.a B. p-a C. p-ex.a D. p.ex.a 二、填空题 1 在内存中存储一个字符 a 占用 _1_个字节 , 而存储字符串 ” abcdef” 则占用 _7_个字节

8、。 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_。 6 5 设 x=y=z=6, 执行 x=(yz)?x+2:x-2; 后, x=_4_。 6 getchar( )函数用于输入 _字符 _, 而 gets( )函数则用于输入 _字符串 _。 7 设有定义语句: char ww20=” twabn” ; 则表达式 :strlen(ww) 的值是 _7_。 8 设有定义语句: char str7=” abcdef” ,

9、 则数组元素 str2中的字符是 _c_,数组元素str6中的字符是 _0_。 9 函数中的形参和调用时的实参都是变量时,传递方式为 _值传递 _; 都是数组名时,传递方式为 _。 10 设有 char *p=” 12345” , 则 printf(“ %s” ,p) 的 输 出 是 _12345_ ;而 printf(“ %c” ,*p)的输出则是 _1_。 11 若 s 是 int 型变量,且 s=7,则表达式 : s/2+(s+1)%2 的值为 _1_。 12 C 语言中,以 ox 或 oX _打头的 int 常数是十六进制。 13有说明语句 char s= 102 ; S 包含了 _1

10、_个字符。 14有数学表达式 sinx+ x -6x, 写出 其对应的 C 语言的表达式 _sinx+sqrt(x)-6*x;_。 15有定义语句: int a3= 0,1,2 ; 则数组元素 a12的值是 0 。 16若程序中使用了函数 strlen(),则必须 包含的头文件名为 _。 17有如下程序 , 该程序的输出结果是 a=2,b=1 。 void main(void) int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2: a+,b+; printf(“a=%d,b=%dn“,a,b); 18. 若 a 函数中调用了 b 函数

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

12、urbo C 中 , int 型数据占 2 字节,则定义 struct node char x10; int y; union float a; long b; ab; t; 后 ,sizeof(t)= 20 。 24.设有一个名为 “ ww1.c” 的 C 程序, 其主函数为 main(int argc,char *argv),如果在执行时,输入的命令行为 : ww1 aa bb cc 则形式参数 argc 的值是 _。 25. 执行下列程序段后, (*q-1)的值为 _99_。 int a,*p,*q; a=100; p= q= 26 C 语言源程序中主函数名由系统规定为 _main_ ,

13、程序员是不能改变的。 27有数学表达式: x -3,其 C 语言表达式为 _sqrt(x)-3_ _。 28已知函数定义为: int stat(int a , float *p) . 则此函数的两个参数类型分别是 整型变量 、 字符型指针变量 。 29设有数组 a10;则首地址可以写成 _ a=4; b=6; c=+a; d=( c void 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

14、; 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; i+) if( ssi=A void other( void ); void main(void) int b = -10; printf(“b=%dn“, b); other( ); 9 i = i+10; other( ); void other( ) static

15、 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; for(j=1; jaj ) ki=j ; if (aka void main(void ) int i ,a 10 ; int *p; p = a; for (i=0 ; i 10 void main(void) 输出: int a=10,b=11; int c=

16、0,d=0; printf(“%5d,%5dn“,a+,-b); printf(“%5d“,a printf(“%5d“,!a); printf(“%dn“,!c); printf(“%5d“,d+=a); 01020304050第一季度 第三季度西部北部8 下面程序的运行结果为 #include void main(void) int i,j; for(i=1;i int 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=10; _10,_10 _1 _01 _11 a=1,b=-5,c=0 a=2,b=2,c=10 a=3,b=-5,c=2 1+1=2 1+2=3 1+3=4 2+2=4 2+3=5 3+3=6

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

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。