- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
大一c语言考试题及答案
一、单项选择题(每题2分,共10题)
1.以下关于C语言标识符的说法,正确的是()
A.标识符只能由字母和数字组成
B.标识符可以包含下划线但不能以数字开头
C.标识符能与关键字同名
D.标识符中字母区分大小写
答案:B
解析:标识符由字母、数字和下划线组成,且必须以字母或下划线开头,不能与关键字同名,字母区分大小写。
2.若有定义:inta=5;执行语句a+=a-=aa;后,a的值是()
A.-40
B.0
C.5
D.-100
答案:D
解析:先算aa=25,再算a-=25,a变为-20,最后算a+=-20,a变为-40。
3.以下能正确定义一维数组的选项是()
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara=ABCDE;
D.inta[5]=0123;
答案:B
解析:A选项数组越界;C选项定义字符数组不能用赋值字符串方式;D选项赋值类型不匹配。
4.设x、y均为float型变量,则以下不合法的赋值语句是()
A.++x;
B.y=(x%2)/10;
C.x=y+8;
D.x=y=0;
答案:B
解析:%运算符要求两侧均为整型数据。
5.若有定义:inta=10,b=9,c=8;执行下列语句后,变量b中的值是()
if(ab)a=b;
if(bc)b=c;
elsec=b;
c=a;
A.10
B.9
C.8
D.7
答案:C
解析:第一个if不成立,第二个if成立,b变为8,最后c变为10,b不变还是8。
6.以下程序段的输出结果是()
intk,s=0;
for(k=1;k4;k++)
{
switch(k)
{
case1:
case3:s+=k;break;
case2:
case4:s-=k;break;
}
}
printf(%d\n,s);
A.0
B.-1
C.-2
D.-3
答案:B
解析:k=1时,s=s+k=1;k=2时,s=s-k=-1;k=3时,s=s+k=2;k=4时,s=s-k=-2,最终输出-1。
7.以下函数的功能是()
voidfun(chara,charb)
{
while((b=a)!=\0)
{
a++;
b++;
}
}
A.将a所指字符串赋给b所指空间
B.使指针b指向a所指字符串
C.将a所指字符串和b所指字符串合并
D.检查a和b所指字符串是否相等
答案:A
解析:通过循环将a所指字符串逐个字符赋给b所指空间。
8.有以下程序:
includestdio.h
main()
{
inta=1,b=2,c=3;
if(ab)
if(bc)
printf(%d,c);
else
printf(%d,b);
printf(%d\n,a);
}
程序的运行结果是()
A.1
B.2
C.3
D.无输出
答案:A
解析:ab不成立,直接执行printf(%d\n,a);输出1。
9.以下关于C语言文件的叙述中正确的是()
A.文件由一系列数据依次排列组成,只能构成二进制文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由字符序列组成,其类型只能是文本文件
答案:C
解析:文件由数据序列组成,数据可以以二进制或文本形式存储。
10.若有定义:inta[2][3];以下选项中对a数组元素正确引用的是()
A.a[2][!1]
B.a[2][3]
C.a[0][3]
D.a[1][2]
答案:D
解析:二维数组下标从0开始,a[2][3]和a[0][3]下标越界,a[2][!1]中!1为0,下标合法但a[2][0]也越界,只有a[1][2]正确。
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()
A.int
B.float
C.double
D.char
答案:ABCD
解析:C语言基本数据类型包括整型(int)、浮点型(float、double)、字
文档评论(0)