ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:25.97KB ,
资源ID:7046583      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7046583.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(习题集.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

习题集.docx

1、习题集一、单选题 1、能将高级语言源程序转换成目标程序的是( C )。 )调试程序 )解释程序 )编译程序 )编辑程序2、设有以下定义:int x=10,y=3,z;则语句:printf(“%d”,z=(x%y,x/y);的结果是( D )。 )1 )0 )4 )33、若已定义x和y为整型,则表达式:x=1,y=x+3/2的值是( B )。 )1 )2 )2.0 )2.54、语言中 ( B )。 )不能使用 do - while 语句构成循环。 )do-while 语句, 当 while 语句中的表达式值为零时结束循环。 )do-while 语句, 当 while 语句中的表达式值为非零时结束

2、循环 )do-while 语句必须用 break 语句才能退出循环5、设有定义 int a =3;,则执行语句 a+ = a-=a*a 后,变量 a 的值是( C )。 )3 )0 )-12 )96、以下程序的输出结果是 ( A )。 # include main( ) int a,b,d=241; a=d/100%9; b=(-1)&(-1); printf (%d,%dn,a,b); )2 1 )1,-1 )2,1 )2 -17、以下程序的输出结果是 ( D )。 #include #include main( ) char str12=s,t,r,i,n,g; printf(%dn,st

3、rlen(str); )12 )7 )11 )68、以下的 for 循环( A )。 for (x=0,y=0;(y!=123)&(x4);x+);)执行4次 )是无限循环 )执行3次 )循环次数不定9、以下程序段的输出结果是( A ) char a=”Basic”;char *p=a;printf(“%s”,p); )Basic )B )asic )不确定10、以下说法中正确的是( C )。) 语言程序总是从第一个定义的)在C 语言程序中,要调用的函数必须在 main( ) 函数中定义)C 语言程序总是从 main( ) 函数开始执行)C 语言程序中的 main( ) 函数必须放在程序的开始

4、部分11、下述对 C 语言字符数组的描述中错误的是( D ) )字符数组可以存放字符串 )字符数组中的字符串可以整体输入、输出 )可以在赋值语句中通过赋值运算符“”对字符数组整体赋值 )不可以用关系运算符对字符数组中的字符串进行比较12、语言中最简单的数据类型包括(B)整型、实型、逻辑型)整型、实型、字符型)整型、字符型、逻辑型)整型、实型、逻辑型、字符型13、阅读程序: #include #define SUB(X,Y) (X)*Y main( ) int a=3,b=4; printf(%dn,SUB(a+,b+); 程序的输出结果是 ( B ) )15 )12 )16 )2014、为表示

5、关系xyz应使用C语言表达式( A ) )(x=y)&(y=z) )( x=y)and(y=z) ) (x=y=z) )( x=y)&( x=y)15、如下程序的运行结果是( A ) Main()int n=0; while(n+a) )(*p).a )(*p).data.a )p.data.a )p-data.a18、设有说明 int (*ptr)M; 其中的标识符 ptr 是( D ) )M 个指向整形变量的指针 )指向 M 个整形变量的函数指针 )一个指向具有 M 个整形元素的一维数组的指针 )具有 M 个指针元素的一维指针数组,每个元素都只能指向整形变量19、阅读程序,程序的输出结果为

6、( D )。 int x=3; do printf(“%3d”,x-=2); while(!(-x);)1 )30 )1 -2 )死循环 20、设有10个数据进行冒泡排序,最少进行的比较次数为( C )。 )0 )10 )9 )121、设有语句 char a=n; ,则变量 a( A )。 )包含个字符 )包含个字符 )包含个字符)说明不合法22、若有定义:double x,y;则表达式:x=1,y=x+3/2的值是( C )。 )1 )2 )2.0 )2.523、有以下程序:(注意:ch0 在低字节,ch1 在高字节。) # include union pwint i ;char ch2;a

7、; main( ) a.ch0=0 ;a.ch1=13 ; printf(%dn,a.i); 程序的输出结果是( C )。 )13 )14 )3328 )32824、以下程序的输出结果是 ( B )。 #include main( ) char str12=a,b,c,d,f,g,f; printf(%dn,strlen(str); )12 )7 )11 )625、设有以下语句: struct stint n;struct st *next; static struct st a3=5,&a1,7,&a2,9,0,*p; p=&a0; 则表达式( )的值是6。 )p+-n )+(p-n) )(

8、*p).n+ )p-n+26、对于程序段float f1(int a)int b;main( ) int m,n;m=f1(n);char f2(int x,int y) int a; 变量m,n的作用范围是( )(A)整个程序段 (B)main函数(C)main函数和f2函数 (D)mian函数和f1函数27、若p1、p2都是指向整型的指针,p1已经指向数量x,要使p2也指向x,正确的是(D)(A)p2=p1; (B)p2=*p1;(C)p2=&p1; (D)p2=*p1;28、算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为(B)(A)算术运算、赋值运算、关系运算(B)算术运

9、算、关系运算、赋值运算(C)关系运算、赋值运算、算术运算(D)关系运算、算术运算、赋值运算29、语言中,运算对象必须是整型数的运算符是( A) ) )/ )% 和 / )*30、若数组定义为int a10;则下列哪个表达式是错误的?()(A)*a (B)a_(C)&a_ (D)+a31、表达式10%2值是(A)(A)0 (B)1(C)5 (D)5.032、设有说明 int (*ptr)M; 其中的标识符 ptr 是( D ) )M 个指向整形变量的指针 )指向 M 个整形变量的函数指针 )一个指向具有 M 个整形元素的一维数组的指针 )具有 M 个指针元素的一维指针数组,每个元素都只能指向整形

10、变量33、初始化一维数组a正确的语句是( C )(A)int a10=(0,0,0,0,0); (B)int a10= ;(C)int a =10 ; (D)int a10=10*1;34、下列程序执行后输出的结果是 ( A ) int d = 1 ;fun ( int p ) int d = 5 ; d + = p + + ; printf( %d , d ) ;main( )int a = 3 ; fun ( a ) ; d + = a + + ; printf( %d n , d ) ; )8 4 )9 6 )9 4 )8 535、函数调用语句“f(e1,e2),(e3,e4,e5)”中

11、参数的个数是()(A)1 (B)2(C)3 (D)536、执行下列语句中,sum变量的值是(A) int I,sum=0; for(i=0;i10;i+,sum+=i);(A)45 (B)55 (C)0 (D)编译错误37、以下c语言函数声明中,不正确的是(C)(A)void fun (int x, int y); (B)fun (int x, int y);(C)int fun (int x,y); (D)char *fun (char *s);38、以下关于typedef的叙述中错误的是 (C)(A)用typedef可以增加新的类型(B)用typedef可以定义各种类型名,但不能用来定义变

12、量(C)用typedef只是将已有的类型用新的标识符来代表(D)使用typedef有利于程序的通用和移植39、 假设指针p已经指向某个整型变量x,则*p相当于 (A)(A)&x (B)&p (C)x (D)*x40、组成C语言程序的是( B )(A)过程 (B)函数(C)子程序 (D)主程序和子程序41、不用第三个变量,将变量a和b的值进行互换的操作是( C )(A)a+=b; b-=a; a-=b; (B)a+=b; b=a-b; a-=b;(C)b-=a; a-=b; a-=b; (D)b-=a; a=b-a; a+=b;42、对do-while语言错误的说法是( C )(A)可构成多重循

13、环结构 (B)循环次数不可能为0(C)循环次数可能为0 (D)先执行后判断43、函数调用时,若实参是一个数组名,则向形参传递的是(C)(A)数组的长度 (B)数组的每一个元素的地址 (C)数组的首地址(D)数组元素的值二、填空题 、下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值。 int add(int x,int y, int z ) z =x+y;2、以下定义和语句,则使指针 P 指向值为 17 的数组元素的表达式是p+3 。int a10=19,23,44,17,37,28,49,36 ,*p; p=a;、设有定义:int i,j,k;则执行语句 for(i=0,j=10

14、; i=j;i+,j-) k=i+j;后,k 的值为 。、以下两条 if 语句可合并成一条 if 语句为 。 if (ab) printf(y=%dn,y); else printf( x=%dn,x);、C 语言程序的函数之间可通过函数名返回数据外,还可通过 进行。、int *p4的意义是 ,int (*p)4的意义是 。、设有以下定义和语句: int a32=10,20,30,40,50,60,(*p)2; p=a;则 *(*(p+1)+1) 的值为_ _。、若有以下定义和语句: structint x;char y;int z;a,*b; b=&a;则 sizeof(a) 的值是_ _,

15、而 sizeof(b) 的值是 。、以下程序的输出是_ _。 main( ) int a10=19,23,44,17,37,28,49,36,*p; p=a; printf( %dn,(p+=3)3); 10、若有以下说明和定义语句,则变量 w 在内存中所占的字节数是 union aa floa x,y;char c6; struct stunion aa v;float m5;double ave;w ;11、以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。 exchange(int *x,int *y) int t; t=*y; *y= ;*x= ;12、设有字符串

16、STR,如下程序段用于确定其长度。int num=0; while( ) num+;return( );13、设单链表的结点含两个域:data 是数据域,next是指针域,请填空。 struct link char data ; struct link *next node ;14、下面程序的输出是 。 main( ) int a=1,2,3,4,*p=a,i;for(i=0;i4;i+)ai=*(+p);printf(“%d”,a2); 15、如下程序的运行结果是 。Main()int n=0; while(n+=1)printf(“%3d”,n); printf(“%3dn”,n);16、

17、设for(k=0;kmax) max=aIj;return(max);23、设单链表的结点含三个域:data1和data2 是数据域,next是指针域,请填空。struct link int data1;char data2; ;node; 24、字符串ABCDt123的长度是 。25、表达式a = 1,a + 1,a + + 的值是 。27、被调函数在执行结束时,这个函数中定义的 类型的变量不被释放。28、设int a23 = 2,3;则数组元素-的值为3。29、下列程序int x=3;doprintf(%d,-x); while(!x);循环执行的次数是 。30、若函数定义为int dat

18、a( ) float x=9.9;return(x); 则调用后函数返回的值是 。三、阅读如下程序,其功能是求出数组S中的最大元素,请简述其算法的基本思想,画出程序流程图;修改该算法,使其更高效。 Main()int s10,I,m;for(I=0;I10;I+) scanf(“%d”,&sI);for(I=1;Is0) m=s0;s0=sI;sI=m;printf(“%d”,s0);四、简述如下程序的功能,画出程序流程图,并对其进行修改,使其符合结构化程序的要求。 程序1:main()int n; for(n=100;n=200;n+) if (n%3=0) continue; printf

19、(“%d”,n); 程序2:main()int n=1;while(n100) break; printf(“%d”,n+); 五、阅读如下程序:#include int main(void) int i;char *name3=David,JaneWang,TomLee; for(i=0;iy z=x;else z=y;return(z);十三、设有30个学生数据,每个学生数据包括学号、姓名、成绩三项;请编写函数input输入学生数据,函数sort完成按成绩由高到低的顺序排列数据,主控函数main完成调用控制与输出结果。十四、判断题1、函数可以分为两个部分:函数说明部分和函数体。(T )2、

20、函数的定义和函数的调用均可以嵌套。(F )3、在C语言中,当我们定义了数组int a5;则数组元素的下标从1到5。(F )4、在C语言中,“A”占两个字节,而A占一个字节。(T )5、程序中定义的整型变量的初值都为0。( F)6、若有说明int c;则while (c=getchar();是错误的C语句。(T)7、C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中。 (F)8、在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。(F)9、C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。(T)10、使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。(T)十五、程序改错题从键盘输入m和n两个整数,输出时先输入较大者,后输入较小者。main( ) int m,n,*pm=m,*pn=n,*p; if(ab) *p=*pm;*pm=*pn;*pn=*p; printf(max=%d,min=%dn,a,b);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1