C语言考试题库及答案解析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C语言考试题库及答案解析

一、选择题(共10题)

以下关于C语言标识符的说法,正确的是()

A.可以以数字开头B.只能包含字母、数字和下划线

C.可以包含空格D.关键字可以作为标识符

答案:B

解析:C语言标识符规则:首字符必须是字母或下划线,后续可跟字母、数字、下划线;关键字(如int、if)不能作为标识符,空格不属于合法字符。

若有定义inta=10,b=20;,执行a+=b;后,a的值为()

A.10B.20C.30D.40

答案:C

解析:a+=b等价于a=a+b,即10+20=30,赋值后a的结果为30。

以下循环语句中,循环体执行次数为5次的是()

A.for(inti=0;i5;i++)B.for(inti=1;i=5;i++)

C.for(inti=0;i=5;i++)D.for(inti=1;i5;i++)

答案:AB

解析:A选项i取0、1、2、3、4(5次);B选项i取1、2、3、4、5(5次);C选项执行6次,D选项执行4次。

指针变量int*p;的正确赋值方式是()

A.p=100;B.inta=5;p=a;C.p=5;D.*p=5;

答案:B

解析:指针变量存储的是变量地址,需通过取地址符赋值;A直接赋数值错误,C中5是常量无地址,D是给指针指向的变量赋值(需先让指针指向有效地址)。

以下关于数组的说法,错误的是()

A.数组名代表数组首元素的地址B.数组长度定义后不可修改

C.可以直接用赋值语句给数组整体赋值D.数组下标从0开始

答案:C

解析:C语言中不能直接用arr1=arr2给数组整体赋值,需通过循环逐个元素赋值。

函数调用时,实参和形参的传递方式默认是()

A.地址传递B.值传递C.引用传递D.双向传递

答案:B

解析:默认值传递时,形参是实参的副本,形参修改不影响实参;地址传递需显式使用指针。

若有structStudent{charname[20];intage;};,定义结构体变量的正确方式是()

A.Students;B.structStudents;C.structs;D.structStudent{...}s;

答案:BD

解析:C语言中定义结构体变量需加struct关键字(除非用typedef重定义);D选项是定义结构体类型的同时定义变量,合法。

以下能正确读取字符串的语句是()

A.charstr[10];scanf(%s,str);B.charstr[10];gets(str);

C.char*str;scanf(%s,str);D.charstr[10];scanf(%c,str);

答案:A

解析:B选项gets函数不安全(易缓冲区溢出),C选项指针未分配内存,D选项%c用于读取单个字符,不能读字符串。

以下程序的输出结果是()

#includestdio.h

intmain(){

intx=3;

if(x--3)printf(%d,x);

elseprintf(%d,x);

return0;

}

A.3B.2C.4D.1

答案:B

解析:x--是后置自减,先判断33为假,进入else,再执行x自减(3→2),输出x的值2。

以下关于文件操作的说法,正确的是()

A.打开文件后必须关闭B.fopen函数返回FILE类型的指针

C.用fscanf可以写入文件D.r模式打开不存在的文件会报错

答案:ABD

解析:C选项fscanf用于读取文件,写入文件用fprintf;r模式为只读,文件不存在则fopen返回NULL(报错)。

二、填空题(共5题)

若要定义一个常量PI,值为3.14159,应写语句:________

答案:#definePI3.14159

解析:宏定义常量用#define,无分号结尾。

数组intarr[5]={1,2,3};中,arr[3]的值是________

答案:0

解析:数组初始化时未赋值的元素默认初始化为0。

函数intadd(inta,intb){returna+b;}的函数原型声明是:________

答案:intadd(inta,intb);

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档