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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

非计算机专业计算机等级考试C语言练习题.docx

1、非计算机专业计算机等级考试C语言练习题C语言笔试练习题 一、单选题:(请选择一个正确结果 )1下列语句的输出为( )int x=1;printf(%d,%u,%O,x,x,x,);A)1,65535,177777 B)1,1,1C)1,32767,17777 D)1,32768,1777772若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式( C )A)x= =y; B)xy= =0;C)fabs(xy) 1e8; D)abs(xy)1e-8;3若有以下的定义、说明和语句,则值为101的表达式是( )。struct cwint a ;int *b; *p;int x0=11,

2、12,x1=31,32;static struct cw x2=100,x0,300,x1;p=x;A)*pb B)pa C)+ +(pa) D)(p+ +)a4若有以下定义和语句,则输出结果是( B )。char *sp=tb0Englishn;printf(%d, strlen(sp);A) 12 B)3 C)17 D)135有如下程序void main() int x=23;do printf(%d,x);while(!x);该程序的执行结果是( B )A)321 B)23 C)不输出任何内容 D)陷入死循环6若已定义x和y为double类型,则表达式x=2, y=x+10/4的值是(

3、C )A)2 B)4 C)4.0 D)4.57要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是( )字节。A)5和2 B)2和5 C)2和2 D)5和58对于类型相同的两个指针变量之间,不可进行的运算是( )A)= = B)= C)+ D)9sizeof(a+10.4)的值为( )类型。A)int B)float C)double D)char10若有定义int a=3; 则执行完printf(%d,a);语句后a的值为( B )A)3 B)2 C)2 D)311若有float x=2.5;y=4.7;int a=7; 则表达式x+a%3*(int)

4、 (x+y)%2/4的值为( D )A)4.0 B)3.0 C)2.75 D)2.512语句prin tf(s=%5.3s,computer); 的输出结果是( B )A)s= com B)s=com C)s= ter D)s=ter13int a=3,b=4,c=5; 执行完表达式a+ +b&b+c&+c后,a,b,c的值分别为( )A)3 4 5 B)4 3 5 C)4 4 4 D)4 4 514int x=3,y=1; 则条件表达式xy?1:2.3的值为( A )A)1 B)1.0 C)2.3 D)215若有定义int i=2,a10,*p=&ai:则与*p+等价的是( A )A)ai+

5、 + B)ai+ + C)ai D)a+ +i16以下程序的输出结果是( C ):void main( ) int a=5,*p1,*p2;p1=&a,p2=&p1;(*p1)+ +;printf(%dn,*p2);A)5 B)4 C)6 D)不确定17以下程序的输出结果是( )int x=3,y=4;void main( ) int x,y=5;x=y+ +;printf(%d,x);A)3 B)4 C)5 D)618若#include后面的文件名用双引号括起来,寻找被包含文件的方式是( A )A)先按系统设定的标准方式查找,再在当前目录中查找B)先在当前目录中查找,再按系统设定的标准方式查

6、找C)只在当前目录中查找D)只按系统设定的标准方式查找19程序设计的步骤一般分为:分析问题、构造模型、设计与描述算法、编写程序、调试程序和( )A)数据设计 B)算法分析C)编制程序说明文档 D)编译20表达式11&10的结果用十进制表示为( )。A)11 B)3 C)1 D)1021结构化程序语言的三种基本结构是( A )(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构(C)嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构22若有以下说明和语句,请选出哪个是对c数组元素的正确引用( D )int c45,(*cp)5;cp=c;(A)cp+1 (B)(cp+

7、3) (C)*(cp+1)+3 (D)*(*cp+2)23设有如下的程序段:char str =hello;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为( B )。(A)o (B) 0 (C)不确定的值 (D) o的地址24执行下面的程序段后,B的值为( )。int x=35;char z=A;int B;B=(x&15)&(za);(A)0 (B)1 (C)2 (D)325以下程序的输出结果为( C )。#includemain() int i;for(i=0;i10;i+);printf(%d,i);(A)0 (B)123456789 (C)0123456

8、789 (D)1026以下程序的输出结果是( B )。#includemain() int i=010,j=10;printf(%d,%d,+i,j-);(A)11,10 (B)9,10 (C)010,9 (D)10,927表达式k=(120)b=1;else b=0;该程序所表示的数学函数关系是( )(A) (B) (C) (D) 29在下列程序中,调用f(8)的值是( )int f(int n) if(n= =1)return(1);else if(n= =2) return(2);else return(f(n-1)+f(n-2);(A)13 (B)21 (C)55 (D)3430在执行

9、程序china.exe时,若输入的命令行为:china enlish Beijing,则程序执行结果为( )。#includevoid main(int argc, char *argv) while(argc1)printf(%c,*+argv); argc-; (A)eB (B)ceB (C)china enlish Beijing (D)enlish Beijing31如a为int型,则与表达式a等价的C语言关系表达式是( )(A)a0 (B)a!=0 (C)a= =0 (D)a032循环语句for(a=0,b=0;(b!=45)|(a=x&(x=5) y*=x;后变量x、y的值应分别为

10、( )。(A)2、4 (B)5、2 (C)5、10 (D)执行时报错45若N为整型变量,则for(N=10;N=0;N-);循环里的循环体被( )。(A)无限循环 (B)执行10次 (C)执行一次 (D)一次也不执行46在位运算中,操作数每左移一位,其结果相当于( )A)操作数乘以2; B)操作数除以2;C)操作数除以4; D)操作数乘以4;47已有定义int k=2;int *ptrl,*ptr2,且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )A)k=*ptrl+*ptr2; B)ptr2=k;C)ptrl=ptr2; D)k=*ptrl*(*ptr2);49下面程序

11、的输出是( )main()int x=l0,y=3;printf(“%dn”,y=x/y); A)0 B)1 C)3 D)不确定的值49已知:char s4=cba;char *p;执行语句序列p=s; printf(%cn,*p+1);后,其输出为( )。A)字符c B)字符b C)字符a D)字符d50enum colorred,green,yellow=5,white,black;定义了一枚举类型编译程序为枚举值表中各标识符分配的枚举值依次为( )A)1、2、3、4、5 B)0、1、5、2、3C)0、l、5、6、7 D)3、4、5、6、751运行完下列程序后,在屏幕上的内容是( )。ma

12、in() int a=0;a+=(a=12);printf(%dn,a);A)0 B)6 C)12 D)2452运行下列程序并用键盘输入53,48,32后,在屏幕上的内容是( )。main( ) int i,j,k;scanf(%d,%d,%d,&i,&j,&k);if(i50)printf(%d,i);else if(i40)printf(%d,j);eles if(i30)printf(%d,k);else printf(Error);A)53 B)48 C)32 D)Error53设有下列语句typedef struct int n;char ch8;Stt;则下面叙述正确的是( )。A

13、)Stt是结构体变量 B)Stt是结构类型名C)typedef struct是结构体类型 D)swuct是结构体类型名54函数strcat(strl,str2)的功能是( )A)将字符串strl连接到字符串str2之后。B)将字符串str2连接到字符串strl之后。C)将str2复制到字符串strl中。D)将strl复制到字符串str2中。55若要用fopen函数打开一个新的二进制文件,该文件要既能读又能写,则文件读写方式字符串应是( )A)4 B)r+ C)wb+ D)ab56已知:int a34,*p=a0;p+=6;那么与*p的值相同的是( )。A)*(a+6) B)*(&a0+6) C

14、)*(a1+2) D)*( a00+6)57以下程序的输出结果是( )(注:备选答案中, 代表空格)main()printf(n*s1=%15s*,chinabeijing);printf(n*s2=%-5s*,chi);A)*s1=chinabeijin * *s2=chi *B)*s1=chinabeijing *s2=*chi*; C)*s1=* chinabeijing* *s2=chi *; D)*s1=_chinabeijing*s2= chi; 58如下程序运行台m的值为( )#include void main( ) int m,n,k;m=(n=4)+(k=l0-7);pri

15、ntf(m=%dn,m);A)4 B)3 C)7 D)1459下面程序运行情况是( ).#includevoid main( )int x=3,y=0,z=0;if(x=y+z) printf(“*”);else printf(“#”);A)有语法错误不能通过编译 B)输出*C)可以通过编译,但不能通过连接,因而不能运行 D)输出#60执行下面的程序后,a的值是( )#define SQR(x) x*xmain( ) int a=10,k=2,m=3;a/=SQR(m)/SQR(k);printf(“%dn”a);A)10 B)1 C)5 D)061在C程序中,同一程序中的各函数之间( )。A

16、)既允许直接递归调用也允许间接递归调用B)既不允许直接递归调用也不允许间接递归调用C)允许直接递归调用但不允许间接递归调用D)功允许间接递归调用但不允许直接递归调用62C语言中,以下叙述错误的是( )。A)函数被调用时,系统才为形参分配内存B)实参和对应形参的数据类型必须一致C)实参可以是变量、常量或表达式D)形参可以是变量、常量或表达式63C语言中,函数调用时若实参是数组名,则被调函数对应形参( )。A) 可以是相应类型简单变量B) 必须是相应类型的指针变量C) 必须是相应类型数组名 D) 可以是相应类型的指针变量64一个数据类型为void的函数中可以没有return语句,那么函数被调用时(

17、 )A)没有返回值 B)返回一个系统默认值C)返回只有用户临时决定 D)返回一个不确定的值65有定义:float y,*p=&y;,假定变量y在内存中所占地址为100103。那么p的值为( )。A)100 B)101 C)102 D)10366有定义:int a1010,*p=a0,j,k;,其中j和k表示数组元素下标并在数组允许范围内,那么能够正确引用元素ajk值的是( )。A)*(aj+k) B)*(p+j)+k C)*(pj+k) D(a+j)+k二、判断题(正确的选,错误的选)l在C语言中,变量的初始化都是在编译阶段完成的。2如果一个函数只能被本文件中的其他函数所调用,则该函数为外部函

18、数。3若x为整型变量、j为实型变量,当执行语句:x-(int)j;后,j也变为整型变量。4递归函数在实现过程中,要使用“堆栈”这种数据结构来保存递归调用过程中的值。5在C语言中,所有函数之间都可以相互调用。6在同一源文件中,全局变量与局部变量同名,在局部变量作用范围内,全局变量的值等于局部变量的值。7C语言是一种面向过程的语言。8用C语言编写的程序是一种需要经过编译和连接才能运行的程序。9语句for(;)循环体和 while(1)循环体是等价的。10如果被定义函数的返回值是整型或字符型,使用前可以不必进行说明。11语句while(!E);中的条件!E等价于E= =0。12格式字符%md中的m不

19、能为负。13若某自定义函数中无return语句,则该函数一定没有返回值。14fclose函数顺利执行关闭操作则返回值为1。15C语言的编译系统对宏命令的处理是在对源程序中其他成份正式编译之前进行的。16在C语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。17如果strcmp(s1,s2)的返回值为一个负数,则表明字符串s1一定小于字符串s2。18表达式1282的值是32。19若有宏定义:#defineM(x,y,z) x*y+z则宏引用M(2+3,4+5,6+7)通过宏展开后的表达式应为(2+3)*(4+5)+6+7。20C语言程序中,任何英语单词均可以作标识符。21一个计算

20、机系统中寄存器数目有限,不能定义任意多个寄存器变量。22函数fseek(fp,10L,1)的作用是将fp指向的文件内部指针从当前位置后移10个字节的位置。23在C程序中,函数调用不能出现在表达式语句中。24表达式(1b) max=a;else max=b;功能等价的赋值语句是 。2、下列程序的功能是对某班的某科的学生成绩x进行分段统计。要求将0,60,60,70,70,80,80,90,0,100这五个分数段的人数分别统计在a5-a9中。学生成绩采用百分制。当非法输入时,结束统计。#includevoidmain() float x; int i,k; static int a10; scan

21、f(f,&x);k= ;while(k=0&k10) if(k6) k=5;ak=ak+1;scanf(%f,&x);k=_;for(i=5;i10;i+ +)printf(%d%,ai);3.下面的函数用以验证命题:100以内的奇数的平方被8整除,余数均为1,若命题成立,则返回1,否则返回0请填空完成该函数。int func( ) int a, flag=1;for(a=1;a100;a+=2)if(_) flag=0;return(flag);4以下函数creatlist用来建立一个带头节点的单项链表,新产生节点总是插在链表的末尾。单项链表的头指针作为函数值返回。函数中以换行符作为链表建立

22、的结束标志。请填空。#includestruct node char data; struct node *next;struct node * creatlist( ) struct node *h,*p,*q;char ch;h=(struct node*)malloc(sizeof(struct node);p=q=h;ch=getchar( );while(_) p=(struct node*)malloc(sizeof(struct node);p-data=ch;q-next=p;q=p; ch=getchar( );p-next=0;return h;5下述程序将磁盘中的一个文件

23、复制到另一个文件中,文件名来自命令行。请填空。void main(int argc,char *argv) FILE *fin,*fout;if(argc3) puts(参数丢失1)return;if(fin=fopen(argv1,r)=NULL|(fout=fopen(argv2,w)=NULL) puts(无法打开文件!);return;while(_)fputc(fgetc(fin),fout);fclcse(fin);fclose(fout);6以下程序是输出Fibonacci数列前20个数,这个数列有如下特点:第1,2两个数为1,1,从第三个数开始,该数是其前面两个数之和。#includevoid main( ) int f20=1,1,i;for(i=2;i20;i+ +)fi= _;for(i=0;i20;i+ +) if(i%5= =0) printf(n)

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

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