C语言输入输出与顺序程序设计测试题

上传人:xt****7 文档编号:133288877 上传时间:2022-08-09 格式:DOC 页数:15 大小:44KB
收藏 版权申诉 举报 下载
C语言输入输出与顺序程序设计测试题_第1页
第1页 / 共15页
C语言输入输出与顺序程序设计测试题_第2页
第2页 / 共15页
C语言输入输出与顺序程序设计测试题_第3页
第3页 / 共15页
资源描述:

《C语言输入输出与顺序程序设计测试题》由会员分享,可在线阅读,更多相关《C语言输入输出与顺序程序设计测试题(15页珍藏版)》请在装配图网上搜索。

1、C语言输入输出与顺序程序设计测试题C语言输入输出与顺序程序设计测试题一一、单项选择题(共30题,每题2分,共60分)1. C语言中,一条语句可以写在多行上,用什么作续行符( )A. ; B. , C. . D. 2. 若有以下程序段,其输出是( ) int a=0, b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d ”,a,b,c);A.0,0,-10 B.0,0,5 C.-10,3,-10 D.3,3,-103. 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。A.charintlong int=floatdoubleB

2、.char=intlong int=floatdoubleC.charintlong int=float=doubleD.char=int=long int=floatdouble4. 下面四个选项中,均是不合法的转义字符的选项是。A.”xfB.1011aC.11fD.abc1011 xlf5. 下面四个选项中,均是不合法的整型常量的选项是。A. -0f1-0xffff0011 B.-0Xcdf01712,456C.-0189995e2 D.-0x48eg-06803f6. 有如下程序 main0 int y=3,x=3,z=1; printf(“%d %d ”,(+x,y+),z+2); 运

3、行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 37. 若变量已正确说明,要求语句:scanf(“a=%f,b=%f”,&a,&b);给a赋予3.12、给b赋予9.0,用 表示空格,用表示回车,则正确的输入形式是( )A、3.12 9.0 B、a= 3.12b= 9 C、a=3.12,b=9 D、a=3.12 ,b=9 8. 以下C语言常量中,错误的是( )A、0xFF B、1.2e0.5 C、2L D、729. 下列可以作为C语言赋值语句的是( )A、x=3,y=5 B、a=b=6 C、i- ; D、y=int(x);10. 假定x和y为double型,则表达式x=

4、2,y=x+3/2的值是A、3500000 B、3 C、2.000000 D、3.00000011. 设a,b,c,d,m和n均为int型变量,且a=5,b=6,c=7,m=2,n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为( )A、0 B、1 C、2 D、312. C语言表达式是按运算符的优先级来决定运算顺序的,下列运算符优先级最高是( )A、+ B、+ C、= = D、 ,13. 要将32768存入变量a中,a不可以定义成()类型A.intB.floatC.unsigned intD.long14. 在TURBOC2中,存储double型数据占用的字节数是( )A、1 B、

5、2 C、4 D、815. 执行int a=2,b=3,k; k=a+|b+; printf(“%d%d%d”,a,b,k);结果是( )A、3 4 1 B、3 3 1 C、3 4 5 D、2 3 116. 下列表达式中和x*=3+5等价的是( )A、(x*=3)+5 B、x=x*3+5 C、x=x*(3+5) D、x=x+(3+5)17. C程序的基本结构有( )A、选择、重复和模块 B、顺序、选择和模块C、顺序、选择和循环 D、逻辑、物理和程序18. 下列说法正确的是( )A、main()中()可以省略;B、注释语句只能放在语句后面;C、C语句以;结束,也可以,结束;D、main()主函数可

6、放在程序中任何位置,但程序总是从其开始执行。19. 下列关于C语言说法错误的是( )A、C语言运算较其它语言丰富B、C语言以函数为程序模块单元,实现程序模块化设计C、C语言不能直接访问物理地址,不能实现汇编语言的部分功能D、C语言程序的可移植性好,执行效率高。20. 若有x=1,y=2,z=3,则表达式( x10的C 语言表达式是 。4. 语句:x+;?+x: x=x+1;?x=l+x:x+ ;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)_。5. 设y是int型变量,请写出判断y为奇数的关系表达_。6. 以下程序运行后的输出结果是_。main()charm;m

7、=B+32;printf(%c ,m);7. 已知字符A的ACSII码值为65,以下语句的输出结果是_。?char ch=B;?printf(“%c %d ”,ch,ch);5.1 选择题 (346) 形参的缺省存储类别是_。 a. 自动(auto) b. 静态(static) c. 寄存器(register) d. 外部(extern) (a) (347) 下列程序的输出结果是_。 fun(int a, int b, int c) c = a*b; main( ) int c; fun(2, 3, c); printf(%dn, c); a. 0 b. 1 c. 6 d. 无法确定 (d)

8、(348) 在C程序中,若对函数类型未加说明,则函数的隐含类型为_。 a. int b. double c. void d. char (a) (349) 以下程序的输出结果是_。 # include main() printf(%dn,NULL); a. 不确定的(因变量无定义) b.0 c.-1 d.1 (b) (350) 简单变量做实参时,它相对应形参之间的数据传递方式是_。 a. 地址传递 b. 单向值传递 c. 由实参传给形参,再由形参传回给实参 d. 由用户指定传递方式 (b) (351) 以下四个程序中,_不能对两个整型变量的值进行交换。 a. # include main()

9、int a=10, b=20; swap(&a,&b); printf(%d %dn, a, b); swap(int *p, int *q) int *t; t=(int)malloc(sizeof(int); t=p; *p=*q; *q=*t; b. # include main() int a=10,b=20; swap(&a,&b); printf(%d %dn, a, b); swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; c. # include main() int *a,*b; *a=10,*b=20; swap(a,b); pr

10、intf(%d %dn, *a, *b); swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; d. # include main() int a=10,b=20; int x=&a,y=&b; swap(x,y); printf(%d %dn, a, b); swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; (a.c.d) (352) 不是建立函数的目的选项是_。 a. 提高程序的执行效率 b. 提高程序的可读性 c. 减少程序的篇幅 d. 减少程序文件所占内存 (a.c.d) (353) 下面关于递归的说

11、法正确的是_。 a. 每次当一个递归函数被调用时, 程序首先应该检查其些基本的条件是否满足了, 例如某个参数的值等于零, 函数应停止递归; b. 每次当函数被递归调用时, 传递给函数一个或多个参数, 应该以某种方式变得更简单; c. 一般情况下, 递归方法比迭代方法快; d. 递归函数的目的是执行一系列调用, 一直到达某一点, 序列终止。 (a.b.d) (354) 下面说法正确的是_。 a. 函数定义可以嵌套,但函数调用不能嵌套 b. 函数定义不可以嵌套,但函数调用可以嵌套 c. 函数定义和调用均不能嵌套 d. 函数定义和调用均可以嵌套 (b) (355) 有一函数 y= 以下程序段中不能根

12、据x的值正确计算出y的值的是_。 a. if(x0) y=1;else if(x=0) y=0;else y=-1; b. y=0;if(x0) y=1;else if(x=0)if(x0) y=1;else y=-1; d. if(x=0) if(x0) y=1;else y=0;else y=-1; (c) (356) 若定义了以下函数: void f(.) *p=(double *)malloc(10*sizeof(double); p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是_。 a. double *p c. float *p c. do

13、uble *p d. float *p (c) (357) 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。 a. 函数调用可以作为独立的语句存在 b. 函数调用可以作为一个函数的实参 c. 函数调用可以出现在表达式中 d. 函数调用可以作为一个函数的形参 (d) (358) 已定义以下函数 fun(int *p) return *p; 该函数的返回值是_。 a. 不确定的值 b. 形参p中存放的值 c. 形参p所指存储单元中的值 d. 形参p的地址值 (c) (359) 下列函数定义中,会出现编译错误的是_。 a. max(int x,int y,int *z) b. int

14、 max(int x,y) *z=xy ? x:y; int z; z=xy ? x:y; return z; c. max(int x,int y) d. int max(int x,int y) int z; return(xy?x:y); z=xy?x:y; return(z); (b) (360) 已定义以下函数 fun(char *p2, char *p1) while(*p2=*p1)!=0) p1+; p2+; 函数的功能是_。 a. 将p1所指字符串复制到p2所指内存空间 b. 将p1所指字符串的地址赋给指针p2 c. 对p1和p2两个指针所指字符串进行比较 d. 检查p1和p

15、2两个指针所指字符串中是否有0 (a) (361) 函数调用语句 func(a1,a2,a3),(a4,a5); 的参数个数是_。 a. 2 b. 5 c. 1 d. 调用方式不合法 (a) (362) 下列程序的输出结果是_。 fun(int a, int b, int c) c = a*b; void main( ) int c; fun(2,3,c); printf(%dn, c); a. 0 b. 1 c. 6 d. 无法确定 (d) (363) 在C程序中,若对函数类型未加说明,则函数的隐含类型为_。 a. int b. double c. void d. char (a) (364

16、) 数组名作为参数传递给函数,作为实在参数的数组名被处理为_。 a. 该数组的元素个数 b. 该数组中各元素的值 c. 该数组的首地址 d. 以上答案均不对 (c) (365) 以下说法正确的是_。 a. 用户若需调用标准函数,调用前必须重新定义 b. 用户可以重新定义系统标准库函数,若如此,原系统标准库函数将失效 c. 允许用户重新定义标准函数 d. 要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 (b.c) (366) 以下关于说法正确的是_。 a. 实参和与其对应的形参各占用独立的存储单元 b. 实参与其对应的形参共占用一个存储单元 c. 实参

17、和与其对应的形参同名时才共占用存储单元 d. 形参虚拟的,不占用存储单元 (d) (367) 若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是_。 a. 无返回值 b. 返回若干个系统默认值 c. 能返回一个用户所希望的函数值 d. 返回一个不确定的值 (a) (368) 在c语言中以下不正确的说法是_。 a. 实参可以是常量、变量、或表达式 b. 形参可以是常量、变量或表达式 c. 实参可以为任意类型 d. 形参应与其对应的实参类型一致 (b) (369) 若使用一位数组名作函数实参,则以下正确的说法是_。 a. 必须在主调函数中说明此数组的

18、大小 b. 实参数组类型与形参数组类型可以不匹配 c. 在被调用函数中,不需要考虑形参数组的大小 d. 实参数组名与形参数组名必须一致 (a.c) (370) 函数调用strcat(strcpy(str1,str2),str3)的功能是_。 a. 将串str1复制到串str2中后在连接到串str3之后 b. 将串str1连接到串str2之后再复制到串str3之后 c. 将串str2复制到串str1中后再将串str3连接到串str1之后 d. 将串str2连接到串str1中后再将串str1复制到串str3中 (c) (371) 下面说法正确的是_。 a. C语言中函数名直接对应于函数生成的指令代

19、码在内存中的地址,因此函数名可以直接赋给指向函数的指针; b. 调用函数实际上等同于调转指令参数传递处理回归位置入栈; c. 函数调用最核心的操作是将函数生成的目标代码的首地址赋给CPU的PC寄存器; d. 函数调用的本质是跳转到某一个地址单元的code去执行。 (a.b.c) 显示打印版本1.下列程序的输出结果是main()inta,b,c,x;a=b=c=0;x=35;if(!a)x-;elseif(b);if(c)x=3;elsex=4;print(%d ,x);A)34B)4C)35D)32.下列程序的输出结果是#includemain()floatx,y;scanf(%f,&x);i

20、f(x0.0)y=0.0;elseif(x5.0)&(x!=2)y=1.0/(x+2.0);elseif(x10.0)y=1.0/x;elsey=10.0;printf(%f ,y);A)0.000000B)0.250000C)0.5000000D)1.0000003.下列程序的输出结果是main()intx=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(a=%d,b=%d ,a,b);A)a=2,b=1B)a=1,b=1C)a=1b=0D)a=2,b=24.若有定义floatw;inta,b;那一个正确A)switch(w)c

21、ase1.0:printf(* );case2.0:printf(* );B)switch(a);case1:printf(* );case2:printf(* );C)switch(a)case1:printf(* );default:print( );case1+2:printf(* );D)switch(a+b);case1:printf(* );case2:printf(* );default:( );5.下列程序运行结果#includemain()intx=23!doprintf(%2d,x-);while(!x);A)321B)23C)无D)死循环6.下列程序运行结果#includ

22、emain()intxfor(x=3;x6;x+)printf(x%2)?(*%d):(#%d ),x);A)*3#4B)#3C)#3*4D)*3#4*5*4#5*5#57.下列程序的输出结果是main()inti=0,a=0;while(i20)for(;)if(i%10=0)break;elsei-;i+=11;a+=i;printf(%d ,a);A)21B)32C)33D)118.以下程序的输出结果是main()inti,k,a10,p3:K=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;pr

23、intf(%d ,k);A)20B)21C)22D)239.有以下程序main()inti,j;for(j=10;j11;j+)for(i=9;i=j-1)printf(%d,j);输出结果是A)11B)10C)9D)101110.若有说明:inta34;则对数组元素的非法引用是。A)a02*1B)a04C)a4-20D)a1311.若二维数组a有m列,则在aij前的元素个数为A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+112.下面程序段是输出两个字符串中对应相等的字符。请选择填空charx=”programming”;chary=”Fortran”;inti=0;while

24、(xi!=&yi!=)if(xi=yi)printf(“%c”,);elsei+;A)xi+B)y+iC)xiD)yi13.有以下程序main()intk=4,n=0;for(;nk;)n+;if(n%3!=0)continue;k-;printf(%d,%d ,k,n);程序运行后的输出结果是A)1,1B)2,2C)3,3D)4,414.定义如下变量和数组:intk;inta33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是。for(k=0;k3;k+)printf(%d,ak2-k);A)357B)369C)159D)14715.若有以下程序段:.inta=4,0,2,3,1

25、;i,j,t;for(i=1;i=0&taj)aj+1=aj;j-;.则该程序段的功能是_.A对数组a进行插入排序(升序)B对数组a进行插入排序(降序)C对数组a进行选择排序(升序)D对数组a进行选择排序(降序)16.计算机中的信息都是用()形式来表示的。A模拟B数字C动态D静态17.)是构成信息编码的最小单位A码元B码字C数字信号D模拟信号18.)是两个实体之间的数据传输和交换.A数据通信B传输介质C资源共享D*作系统19.在7位ASCII码中,字母A的码字是()A1000001B1000010C1000011D100000020.()是数据的电编码或电磁编码,它可以分为两种,模拟信号和数字

26、信号。A数据B数值C信号D编码21.在一定数值范围内连续内连续变化的电信号是()A模拟信号B数字信号C文本信息D逻辑信号22.()不是衡量信道传输性能好坏的技术指标A带宽B数据传输率C信道容量D通信介质23.文本信息属于()数据A模拟B数字C低速D高速24.数据传输速率在数值上等于每秒传输构成数据代码的二进制比特率,他的单位为比特/秒,通常记做()AB/SBbpsCbpersDbaud25.数据传输以()传输为基础。A信号B编码C数据D消息26.比特率的单位是()AbpsBkbpsCbaudDB/s27.误码率是衡量传输()的指标A可靠性B速率C容量D吞吐量28.如图采用差分曼彻斯特编码,它表

27、示二进制信号() A01101B0001C01011D0011129.信道容量是指信道传输信息的()能力,通常用信息速率来表示A最小B一般C处理D最大30.单位时间内整个信道能够处理的信息总量是()A比特率B吞吐量C波特率D误码率多项选择题31.以下属于数据通信技术指标的是()A比特率B波特率C误码率D带宽32.数据通信系统包括()A发送端B传输系统C目的系统D接收端33.信道按传输介质可以分为()信道A有线B无线C卫星D模拟34.计算机中的信息的载体可以是()A文字B语音C图形图像D视频35.决定信道带宽的因素主要有()A传输介质B接口部件C传输协议D传输信息的特性36.已有以下定义,int

28、a8;下列可以表示元素地址的是()A&a8;Ba7Ca+3Da37.已有以下定义,下列可以表示地址的量是()intb34;AbBb+1Cb2+4D(b+1)038.下列赋值方式正确的是:inta8;Afor(i=0;i=0;i+)scanf(“%d”,&ai);scanf(“%d”,a+i);Cfor(i=0;i8;i+)Dscanf(“%s”,a);ai=getchar();39.已有定义chara320;下列对字符串赋值正确的是()Achara320=“string”,“good”;Bchara320=a,b,c,d;Cchara320=“string”,a,b;Dchara320=”st

29、ring”;40.下列程序的功能是逆序存放数组a,并按每行4个元素的格式输出,有错的行号是()1#include“stdio.h”2main()3inta30=23,15,i,j;4for(i=0;i30;i+)5scanf(“%d”,a+i);6for(i=0,j=sizeof(a);ij;i+,j-)7t=ai;ai=aj;aj=t;8for(i=0;i30;i+)9if(i+1)%4=0)printf(“ ”);10printf(“%d ”,ai);11A9B3C5D6三、填空题:1.波特率是一种,也称,单位是。2.是对客观事务的反映,数字化后称为。3.通常调制数字数据用三种载波特性、之

30、一来表示。4.在数据传输系统中,主要采用的数据编码技术是、。5.在数字数据通信中,最基本的要求是以某种方式保持同步,接收端必须知道它所接收的数据流每一位的开始时间和结束时间,以确保数据接收的正确性。6.与电路交换不同,报文交换采取的是方式交换数据。7.是提高数据传输质量减少差错的一个重要方法。8.ATM技术吸取了高效率和高速率,其模型分为三个功能层、。9.运行下面程序时,若输入:172386554796123452210,则运行结果为#includemain()intb30,x,i,j=0,n=1;scanf(“%d”,&x);while(x!=0)bn+=x;scanf(“%d”,&x);f

31、or(i=1;i=n;i+)if(bi%2=0)b+j=bi;for(i=1;i=j;i+)printf(“p=%-6d”,bi);puts(“ ”);10.若给a数组输入1197531共6个数,数据从a1元素开始存放,阅读下列程序,并完成以下填空:1,若给x输入20,以下程序的输出结果是2。若给x输入10,以下程序的输出结果是3。若给x输入10,以下程序的输出结果是main()inta20,x,i,n=6;for(i=1;iai)ai+1=ai-;ai+1=x;n+;for(i=1;i=n;i+)printf(“%5d”,ai);puts(“ ”);四、简答题与编程题:1.列举数据通信系统的评价指标。2.利用数组实现下列功能:从键盘上输入不多于30个值在1到4(包括4与1)之间的数,但不存于数组内。其个数存在数组a中,并以下列格式输出:1:62:133:44:23.已知整型数组a,元素值为12,23,2,8,14,16,34,29。数组b中存入相邻两个元素的商。即b0=a1/a0;b1=a2/a1.。并以每行4个元素的格式输出。作者:cylxm 阅读全文 评论(0) 收藏 推荐 浏览量(239)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!