西安交通大学程序设计基础选择题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(60分)
1、关于建立函数的目的,以下正确的说法是()。
A、提高程序的执行效率
B、提高程序的可读性
C、減少程序的篇幅
D、减少程序文件所占内存
正确答案:B
学生答案:Bv
2、下列程序段的输出结果为()。
Int x=3.y=2.printf("%d".(x-=y.x*=y+8/5));
A、1
B、7
C、3
D、5
正确答案:C
学生答案:CV
3、fgets(str.n.fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A、字符串读入后不会自动加入".0'
B、fp是file类型的指针
C、fgets函数将从文件中最多读入n-1个字符
D、fgets函数将从文件中最多读入n个字符
正确答案:C
学生答案:CV
4、若有说明.int lj=2,"p=&1',则能完成=赋值功能的语句是()。
A、i="p;
B."p=*&);
C、i=&j;;
D、I=**p;
正确答案:B
学生答案:Bv
5、以下正确的说法是()。
A、用户若需调用标准库函数,调用前必须重新定义
B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C、系统根本不允许用户重新定义标准库函数
D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
正确答案:B
学生答案:Bv
6、C语言中,定义结构体的保留字是()。
A、union
B、struct
C、enum
D、typedef
正确答案:B
学生答案:Bv
7、以下语句中,不能实现回车换行的是()。
A、printf("n");
B、putchar("n");
c、tprintf(stdout,"in");
D、fwrite("n",1.1.stdout);
正确答案:B
学生答案:Bv
8、若有inta[10]=10.1.2,3.4,5,6,7.8.9)."p=a.则输出结果不为5的语句为()。
A、printf("%d","(a+5));
B、printf("%d",p[5]);
C、printf("%d"."(p+5)):
D、printf("%d"."p[5]);
正确答案:D
学生答案:DV
9、下列程序的输出结果为()。
main((int m=7.n=4jfloata=38.4,b=6.4.x.x=m/2+n*a/b+1/2.printf%n".x);j
A、27
B、27.5
C、28
D、28.5
正确答案:A
学生答案:AV
10、在C语言中,能代表逻辑值“真”的是()。
A、True
B、大于0的数
C、非0整数
D、非0的数
正确答案:D
学生答案:DV
11、以下叙述中错误的是()。
A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B、在程序结束时,应当用fclose函数关闭已打开的文件
C、在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D、不可以用FILE定义指向二进制文件的文件指针
正确答案:D
学生答案:DV
12、经过下列的语句int j,a[10],*p定义后,下列语句中台法的是()。
A、p=p+2;
B、p=a[5]:
C、p=a[2]+2;
D、p=&(j+2);
正确答案:A
学生答案:Av
13、以下错误的描述是:函数调用可以()。
A、出现在执行语句中
B、出现在一个表达式中
C、做为一个函数的实参
D、做为一个函数的形参
正确答案:D
学生答案:Dv
14、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(tp)的返回值是()。
A、EOF
B、0
C、非零值
D、NULL
正确答案:C
学生答案:CV
15、若k为int型变量,则以下程序段的执行结果是()。
k=-8567;printf(7%06D/".k);
A、格式描述符不合法,输出无定值
B、输出为1%06D|
C、输出为|0-8567|
D、输出为|-8567|
正确答案:B
学生答案:Bv
16、以下对C语言函数的描述中,正确的是()。
A、C程序必须由一个或一个以上的函数组成
B、C函数既可以嵌套定义又可以递归调用
C、函数必须有返回值.否则不能使用函数
D、C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:A
学生答案:AV
17、若x=2,y=3则x&y的结果是()。
A、0
B、2
C、3
D、5
正确答案:B
学生答案:Bv
18、用户定义的函数不可以调用的函数是()
A、非整型返回值的
B、本文件外的
C、main函数
D、本函数下面定义的
正确答案:C
学生答案:CV
19、以下程序的运行结果是().main((int j=1,sum=0;while(i<10)sum=sum+1;j++;printf["
A、i=10,sum=9
B、i=9,sum=9
C、i=2,sum=1
D、运行出现错误
正确答案:D
学生答案:DV
20、C语言中,要求运算数必须是整型的运算符是()。
A、n
8、%
C、!
D、>
正确答案:B
学生答案:BV
21、函数的形式参数隐含的存储类型说明是()。
A、extern
B、static
C、register
D、auto
正确答案:D
学生答案:DV
22、要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的图
A、fopen("A.\userlabc.txt","r")
B、fopen("A.lluserllabc.txt","r+")
C、fopen("A.luserlabc.txt","rb")
D、fopen("A_\luserllabc.txt","w")
正确答案:A
学生答案:Av
23、下列程序的输出结果是().main((intx=1.y=0,a=0.b=0;switch(x)(case1.switch(y)(ca
A、a=1,b=0
B、a=2,b=1
C、a=1,b=1
D、a=2,b=2
正确答案:B
学生答案:BV
24、执行以下程序段后,输出结果和a的值是()。
Inta=10;printf(%d"剔,a++);
A、10和10
B、10和11
C、11和10
D、11和11
正确答案:B
学生答案:Bv
25、C语言中的文件类型只有()。
A、索引文件和文本文件两种
B、ASCII文件和二进制文件两种
C、文本文件一种
D、二进制文件一种
正确答案:B
学生答案:Bv
26、static struct [int a1;float a2;char a3:ja[10]=(1,3.5.’A];说明数组a是地址常量,它有
A、a[1]
B、a[-1]
C、a[0]
D、a[10]
正确答案:C
学生答案:CV
27、若执行fopen函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF
正确答案:B
学生答案:Bv
28、函数rewind的作用是()。
A、使位置指针重新返回文件的开头
B、将位置指针指向文件中所要求的特定位置
C、使位置指针指向文件的末尾
D、使位置指针自动移至下一个字符位置
正确答案:A
学生答案:AV
29、若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为
A、scanf("%d",p);
B、scanf("%d",&p);
C、scanf("%d","p);
D、scanf("%d",**p);
正确答案:A
学生答案:AV
30、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
正确答案:A
学生答案:AV
31、若有inti=3.*p;p=&l;下列语句中输出结果为3的是()。
A、printf["%d",&p);
B、printf("%d".*);
C、printf("%d"."p);
D、printf("%d".p);
正确答案:C
学生答案:CV
32、int a[10]:台法的数组元素的最小下标值为().
A、10
B、9
C、1
D、0
正确答案:D
学生答案:DV
33、下列程序的输出结果是().main()(char c1=97,c2=98.printf("%d%c",c1,c2);j
A、9798
B、97b
C、a98
D、ab
正确答案:B
学生答案:Bv
34、若有下列定义和语句,则对a数组元素的非法引用是()。
Int a[2][3].(*pt)[3].pt=a;
A、pt[o][0]
B、*(pt+1)[2]
C、*(pt[1]+2)
D、"(a[0]+2
正确答案:B
学生答案:Bv
35、在C语言中,形参的缺省存储类是()。
A、auto
B、register
C、static
D、extern
正确答案:A
学生答案:AV
36、已知x=43,ch=*A',y=0,则表达式(x>=y&&ch<'B'&&ly)的值是()。
A、0
B、语法错
C、1
D、假
正确答案:C
学生答案:CV
37、下列四个选项中,均是C语言关键字的选项是()。
A、auto、enum、include
B、switch、typedef、continue
C、signed、union、scanf
D、if、struct、type
正确答案:B
学生答案:Bv
38、语句while(IE);中的表达式IE等价于(妄)。
B、El=1
C、El=0
D、E==1
正确答案:A
学生答案:AV
39、下列标识符中,不合法的C语言用户自定义标识符是()。
A、printf
B、enum
C、_
D、sin
正确答案:B
学生答案:Bv
40、若用数组名作为函数的实参,传递给形参的是()。
A、数组的首地址
B、数组第一个元素的值
C、数组中全部元素的值
D、数组元素的个数
正确答案:A
学生答案:AV
41、可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A、内存
C、文件
D、寄存器
正确答案:C
学生答案:CV
42、逻辑运算符两侧运算对象的数据类型()。
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据
正确答案:D
学生答案:DV
43、下列程序段的输出结果为()。
Float k=0.8567:printf"%06.10%%",k*100);
A、0085.6%%
B、0085.7%
C、0085.6%
D、857
正确答案:B
学生答案:Bv
44、设C语言中,Int类型数据占2个字节,则short类型数据占()。
A、1个字节
B、2个字节
D、8个字节
正确答案:B
学生答案:Bv
45、以下程序的输出结果是().main()(chars[]=*123°*p.p=s.printf("%c%c%cin".*p++."p++."p++),
A、123
B、321
C、213
D、312
正确答案:B
学生答案:BV
46、以下选项中合法的实型常数是()·
A、5E2.0
B、E-3
C、0.2
D、1.3E
正确答案:C
学生答案:CV
47、以下的选择中,正确的赋值语句是().
A、a=1,b=2
B、j++
C、a=b=5;
D、y=int(x)
正确答案:C
学生答案:CV
48、若有以下的定:int t[3][2];能正确表示t数组元素地址的表达式是
A、&t[3][2]
B、t[3]
C、&Ⅱ[1]
D、t[2]
正确答案:D
学生答案:DV
49、若二维数组a有m列,则在a[们前的元素个数为()。
A、j'm+l
B、i'm+j
C、i'm+j-1
D、i'm+j+1
正确答案:B
学生答案:Bv
50、以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A、auto和static
B、auto和register
C、register和static
D、extern和register
正确答案:B
学生答案:Bv
51、以下数值中,不正确的八进制数或十六进制数是()。
A、0x16
B、16
C、-16
D、Oxaaaa
正确答案:C
学生答案:CV
52、在位运算中,操作数每右移一位,其结果相当于()。
A、操作数乘以2
B、操作数除以2
C、操作数乘以16
D、操作数除以16
正确答案:B
学生答案:Bv
53、若使用一维数组名作函数实参,则以下正确的说法是()。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调用函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
学生答案:AV
54、double x.scanf(%1r.&x),不可以赋值給x变量的常量是()。
A、123
B、100000
C、A'
D、abc
正确答案:D
学生答案:DV
55、设intx=1.y=1;表达式(Xjly--)的值是()。
A、0
B、1
C、2
D、-1
正确答案:B
学生答案:BV
56、变量的指针,其含义是指该变量的()。
A、值
B、地址
C、名
D、一个标志
正确答案:B
57、设有说明.char w,intxfloat ydoublez则表达式w*x+z-y值的数据类型为()。
A、float
B、char
C、int
D、double
正确答案:D
学生答案:DV
58、应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A、fclose()
B、close()
C、fread()
D、fwrite
正确答案:A
学生答案:Av
59、char a[="Thisisaprogram.";输出前5个字符的语句是()。
A、printf("%.5s",a);
B、puts(a);
C、printf("%s",a);
D、a[5*2]=0;puts(a);
正确答案:A
学生答案:Av
60、已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A、一个整数,代表要读入的数据项总数
B、一个文件指针,指向要读的文件
C、一个指针,指向要读入数据的存放地址
D、一个存储区,存放要读的数据项
正确答案:C
学生答案:CV
一、单选题(60分)
1、要打开A盘上user子目录下名为abc.bxt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
A、fopen("A.luserlabc.txt","r")
B.fopen("Alluserllabc.txt"."r+")
C、fopen("Aluserlabc.txt","rb")
D、fopen("A luserllabc.txt"."w”)
正确答案:A
学生答案:Av
2、应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A、fclose()
B、close()
C、fread()
D、fwrite
正确答案:A
学生答案:Av
3、double xscanf("%I'.&x);不可以赋值给x变量的常量是()。
A、123
B、100000
C、A'
D、abc
正确答案:D
学生答案:DV
4.以下正确的说法是()。
A、用户若需调用标准库函数,调用前必须重新定义
B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C、系统根本不允许用户重新定义标准库函数
D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
正确答案:B
学生答案:Bv
5、在位运算中,操作数每右移一位,其结果相当于()。
A、操作数乘以2
B、操作数除以2
C、操作数乘以16
D、操作数除以16
正确答案:B
学生答案:B×
6、已x=43,ch='A',y=0;则表达式(x>=y88ch<B'8&ly)的值是()·
A、0
B、语法错
C、1
D、假
正确答案:C
学生答案:CV
7、int a[10]=(1,2,3,4,5,6,7.8];int "p.p=&a[5].p[-3]的值是().
A、2
B、3
C、4
D、不一定
正确答案:B
学生答案:BV
8、经过下列的语句int ja[10],*p.定义后,下列语句中合法的是()。
A、p=p+2;
B、p=a[5];
C、p=a[2]+2;
D、p=&(j+2):
正确答案:A
学生答案:AV
9、若有说明.intLj=2."p=&,则能完成=j赋值功能的语句是().
A、i=p;
D、i=**p;
正确答案:B
学生答案:Bv
10、以下叙述中错误的是()。
A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B、在程序结束时,应当用fclose函数关闭已打开的文件
C、在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D、不可以用FILE定义指向二进制文件的文件指针
正确答案:D
学生答案:DV
11、若使用一维数组名作函数实参,则以下正确的说法是()。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调用函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
正确答案:A
学生答案:AV
12、已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A、一个整数,代表要读入的数据项总数
B、一个文件指针,指向要读的文件
C、一个指针,指向要读入数据的存放地址
D、一个存储区,存放要读的数据项
正确答案:C
学生答案:CV
13、逻辑运算符两侧运算对象的数据类型()
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据
正确答案:D
学生答案:Dv
14、以下叙述中不正确的是()。
A、一个好的程序应该有详尽的注释
B、在C程序中,賦值运算符的优先级最低
C、在C程序中,j++;是一条赋值语句
D、C程序中的#include和#define均不是C语句
正确答案:B
学生答案:BV
15、C语言中的文件类型只有()。
A、索引文件和文本文件两种
B、ASCII文件和二进制文件两种
C、文本文件一种
D、二进制文件一种
正确答案:B
学生答案:BV
16、下列程序的输出结果为()。
main(X(int m=7,n=4floata=38.4.b=6.4.xx=m/2+n*a/b+1/2.printf("%n".x);)
A、27
B、27.5
C、28
D、28.5
正确答案:A
学生答案:Av
17、下面有关for循环的正确描述是()。
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环循环体语句,后刺断表达式
C、在for循环中,不能用break语句跳出循环体
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
正确答案:D
学生答案:DV
18、int a[10]:台法的数组元素的最小下标值为()。
A、10
B、9
C、1
D、0
正确答案:D
学生答案:Dv
19、对以下说明语句int a[10]=(6,7,8,9、10];的正确理解是().
A、将5个初值依次赋给a[1]至a[5
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10]
D、因为数组长度与初值的个数不相同,所以此语句不正确
正确答案:B
学生答案:BV
20、设有如下定义:structsk(int a.1loat b.Jdata.*p.若要使p指向data中的a域,正确的赋值语句是()。
A、p=(structsk")&data.a;
B、p=(structsk*)data.a;
C、p=&data.a;
D、"p=data.a;
正确答案:A
学生答案:AV
21、若有int "p=(int *)malloc(sizeof(int)):则向内存申请到内存空间存入整数123的语句为()。
A、scanf("%d".p);
B、scanf("%d",&p);
C、scanf("%d","p);
D、scanf("%d",**p);
正确答案:A
学生答案:Av
22、下列程序的输出结果是().main()(char c1=97,c2=98;printf("%d%c*,c1.c2),}
A、9798
B、97b
C、a98
D、ab
正确答案:B
学生答案:Bv
23、C语言中,定义结构体的保留字是()。
A、union
B、struct
C、enum
D、typedef
正确答案:B
学生答案:By
24、若x=2.y=3则x&y的结果是()
A、0
B、2
C、3
D、5
正确答案:B
学生答案:BV
25、若有下列定义和语句,则对a数组元素的非法引用是()。
Inta[2][3].pt)[3]pt=a;
A、pt[0][0]
B、"(pt+1)[2]
C、*(pt[1]+2)
D、*(a[0]+2
正确答案:B
学生答案:Bv
26、关于建立函数的目的,以下正确的说法是()。
A、提高程序的执行效率
B、提高程序的可读性
C、减少程序的篇幅
D、减少程序文件所占内存
正确答案:B
学生答案:Bv
27、函数的形式参数隐含的存储类型说明是()。
A、extern
B、static
C、register
D、auto
正确答案:D
学生答案:DV
28、执行以下程序段后,输出结果和a的值是()。
Inta=10;printf("%d".a++);
A、10和10
B、10和11
C、11和10
D、11和11
正确答案:B
学生答案:Bv
29、fgets(str,n.fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A、字符串读入后不会自动加入"\0'
B、fp是file类型的指针
C、fgets函数将从文件中最多读入n-1个字符
D、fgets函数将从文件中最多读入n个字符
正确答案:C
学生答案:CV
30、以下标识符中,不能作为合法的C用户定义标识符的是()。
A、putchar
B、_double
C、_123
D、INT
正确答案:A
学生答案:AV
31、变量的指针,其含义是指该变量的()。
A、值
B、地址
C、名
D、一个标志
正确答案:B
学生答案:BV
32、可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A、内存
B、缓冲区
C、文件
D、寄存器
正确答案:C
学生答案:CV
33、设C语言中,int类型数据占2个字节,则short类型数据占()。
A、1个字节
B、2个字节
C、4个字节
D、8个字节
学生答案:BV
34、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
正确答案:A
学生答案:AV
35、以下语句中,不能实现回车换行的是()。
A、printf"An");
B、putchar("In");
C、fprintf(stdout,"In");
D、fwrite("n",1,1,stdout);
正确答案:B
学生答案:BV
36、以下选项中合法的实型常数是()。
A、5E2.0
B、E-3
C、0.2
D、1.3E
正确答案:C
37、用户定义的函数不可以调用的函数是()。
A、非整型返回值的
B、本文件外的
C、main函数
D、本函数下面定义的
正确答案:C
学生答案:CV
38、以下程序的运行结果是()。
main((int j=1.sum=0;while(i<10)sum=sum+1;j++.printf(=%d.sum=%d"i.sum).)
A、i=10,sum=9
B、1=9,sum=9
C、j=2,sum=1
D、运行出现错误
正确答案:D
学生答案:Dv
39、static struct [int a1;oat a2;char a3.jJa[10]=(1.3.5;A];说明数组a是地址常量,它有10个结构体型的下标变量,采月
A、a[1]
B、a[-1]
C、a[0]
D、a[10]
学生答案:Cv
40、设有说明.char w,int x.floaty.doublez,则表达式w*x+z-y值的数据类型为()。
A、float
B、char
C、int
D、double
正确答案:D
学生答案:Dv
41、以下叙述中正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参的宏时,参数的类型应与宏定义时的一致
C、宏普换不占用运行时问,只占编译时问
D、在以下定义中CR是称为"宏名”的标识符#defineCR045
正确答案:C
学生答案:Cv
42、以下运算符中,优先级最高的运算符是()。
A. W
8、%
C、1
D、==
正确答案:C
43、C语言中要求对变量作强制定义的主要理由是()。
A、便于移植
B、便于写文件
C、便于编辑预处理程序的处理
D、便于确定类型和分配空间
正确答案:D
学生答案:DV
44、以下叙述不正确的是()。
A、一个C源程序可由一个或多个函数组成
B、一个C源程序必须包含一个main函数
C、C程序的基本组成单位是函数
D、在C程序中,注释说明只能位于一条语句的后面
正确答案:D
学生答案:Dv
45、下列程序的输出结果是().main()(intx=1.y=0,a=0.b=0;switch(x)(case1.switch(y)(case0.a++,break;d
A、a=1,b=0
B、a=2,b=1
C、a=1,b=1
D、a=2,b=2
正确答案:B
46、语句while(IE);中的表达式JE等价于()。
A、E==0
B、El=1
C、El=0
D、E==1
正确答案:A
学生答案:Av
47、函数rewind的作用是()。
A、使位置指针重新返回文件的开头
B、将位置指针指向文件中所要求的特定位置
C、使位置指针指向文件的末尾
D、使位置指针自动移至下一个字符位置
正确答案:A
学生答案:Av
48、下列程序段的输出结果为()。
Intx=3.y=2;printf(["%d".,(x-=y.x*=y+8/5)); A1
B、7
C、3
D、5
正确答案:C
学生答案:CV
49、设变量a是整型,[是实型,I是双精度型,则表达式10+*a'+i值的数据类型为()
A、int
B、float
C、double
D、不确定
正确答案:C
学生答案:CV
50、若有以下的定:int +[3][2];能正确表示(数组元素地址的表达式是()。
A、&t[3][2]
B、t[3]
C、&t[1]
D、t[2]
正确答案:D
学生答案:DV
51、下列程序段的输出结果为()。
Floatk=0.8567printf"%06.1d%%",K*100);
A、0085.6%%
B、0085.7%
C、0085.6%
D、857
正确答案:B
学生答案:Bv
52、下列四个选项中,均是C语言关键字的选项是()。
A、auto、enum、include
B、switch、typedef、continue
c、signe
d、union、scanf
D、if、struct、type
正确答案:B
学生答案:B×
53、以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A、auto和static
B、auto和register
C、register和static
D、extern和register
正确答案:B
学生答案:BV
54、若执行fopen函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF
正确答案:B
学生答案:Bv
55、设intx=1.y=1:表达式(Ix]ly--)的值是()。
A、0
B、1
C、2
D、-1
正确答案:B
学生答案:BV
56、以下错误的描述是:函数调用可以()。
A、出现在执行语句中
B、出现在一个表达式中
C、做为一个函数的实参
D、做为一个函数的形参
正确答案:D
学生答案:DV
57、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定
正确答案:B
学生答案:Bv
58、若有inti=3,*p.p=&i;下列语句中输出结果为3的是()。
A、printf("%d",&p);
B、printf("%d".");
C、printf(%d"."p);
D、printf("%d",p);
正确答案:C
学生答案:CV
59、若二维数组a有m列,则在a[[]前的元素个数为()。
A、j"m+l
B、i'm+j
C、im+j-1
D、i'm+l+1
正确答案:B
学生答案:BV
60、以下程序的输出结果是().main(chars[="123°,"p.p=s.printf (%c%c%cin"."p++;"p++."p++).
A、123
B、321
C、213
D、312
正确答案:B
学生答案:BV
一、单选题(60分)
1、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是().
A、EOF
B、0
C、非零值
D、NULL
正确答案:C
学生答案:CV
2、在位运算中,操作数每右移一位,其结果相当于()。
A、操作数乘以2
B、操作数除以2
C、操作数乘以16
D、操作数除以16
正确答案:B
学生答案:Bv
3、以下选项中,与k=n++完全等价的表达式是()。
A、k=n,n=n+1
B、n=n+1.k=n
C、K=++n
D、k+=n+1
正确答案:A
学生答案:AV
4、下列程序段的输出结果为().Float k=0.8567:printf("%06.10%%",K*100);
A、0085.6%%
B、0085.7%
C、0085.6%
D、857
正确答案:B
学生答案:Bv
5、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
正确答案:A
学生答案:Av
6、经过下列的语句int j.a[10].*p.定义后,下列语句中合法的是()。
A、p=p+2;
B、p=a[5];
C、p=a[2]+2;
D、p=&(j+2);
正确答案:A
学生答案:Av
7、若用数组名作为函数的实参,传递给形参的是()。
A、数组的首地址
B、数组第一个元素的值
C、数组中全部元素的值
D、数组元素的个数
正确答案:A
学生答案:AV
8、若有int a,=(【1.2).(3.4));则“(a+1),"(*a+1)的含义分别为()。
A、非法.2
B、&a[1][0],2
C、&a[0][1],3
D、a[0][0].4
正确答案:B
学生答案:BV
9、若有inti=3.*p;p=&l;下列语句中输出结果为3的是()。
A、printf("%d",&p);
B、printf("%d",“1);
C、printf("%d".*p);
D、printf("%d",p);
正确答案:C
学生答案:CV
10、int a[10]=(1,2,3,4,5,6,7,8];int "p.p=&a[5];p[-3]的值是().
A、2
B、3
C、4
D、不一定
正确答案:B
学生答案:Bv
11、C语言中,要求运算数必须是整型的运算符是()。
A、^
8、%
C、!
D、>
正确答案:B
学生答案:BV
12、设有说明.char w,int x:foat y:double z;则表达式w*x+z-y值的数据类型为()
A、float
B、char
C、int
D、double
正确答案:D
学生答案:DV
13、以下错误的描述是:函数调用可以().
A、出现在执行语句中
B、出现在一个表达式中
C、做为一个函数的实参
D、做为一个函数的形参
正确答案:D
学生答案:DV
14、以下选项中台法的实型常数是()。
A、5E2.0
B、E-3
C、0.2
D、1.3E
正确答案:C
学生答案:CV
15、可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A、内存
B、缓冲区
C、文件
D、寄存器
正确答案:C
学生答案:CV
16、逻辑运算符两侧运算对象的数据类型()。
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据
正确答案:D
学生答案:DV
17、char a[="Thisisaprogram.”;输出前5个字符的语句是()。
A、printf("%.5s",a);
B、puts(a);
C、printf["%s",a);
D、a[5*2]=0;puts(a);
正确答案:A
学生答案:Av
18、int a[10]:合法的数组元素的最小下标值为()。
A、10
B、9
C、1
D、0
正确答案:D
学生答案:DV
19、若二维数组a有m列,则在a[团前的元素个数为()。
A、j'm+l
B、i'm+j
C、i'm+j-1
D、i"m+j+1
学生答案:Bv
20、C语言中的文件类型只有()
A、索引文件和文本文件两种
B、ASCII文件和二进制文件两种
C、文本文件一种
D、二进制文件一种
正确答案:B
学生答案:Bv
21、若执行fopen函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF
正确答案:B
学生答案:B×
22、以下叙述正确的是()。
A、在C程序中,main函数必须位于程序的最前面
B、C程序的每行中只能写一条语句
C、C语言本身没有输入输出语句
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误正确答案:C
23、下列四个选项中,均是C语言关键字的选项是()。
A、auto、enum、include
B、switch、typedef、continue
c、signe
d、union、scanf
D、if、struct、type
正确答案:B
学生答案:Bv
24、若有说明inta[3][4]:则a数组元素的非法引用是()。
A、a[0][2*1]
B、a[1][3]
C、a[4-2][0]
D、a[0][4]
正确答案:D
学生答案:DV
25、变量的指针,其含义是指该变量的()
A、值
B、地址
C、名
D、一个标志
正确答案:B
学生答案:BV
26、以下运算符中,优先级最高的运算符是()。
A、I
8、%
C、1
D、==
正确答案:C
学生答案:CV
27、若有下列定义和语句,则对a数组元素的非法引用是()。
Int a[2113].("pt( pt-a;
A、pt[o][0]
B、"(pt+1)[2]
C."(pt[1]+2)
D、"(a[0]+2
正确答案:B
学生答案:Bv
28、关于建立函数的目的,以下正确的说法是()
A、提高程序的执行效率
B、提高程序的可读性
C、減少程序的篇幅
D、减少程序文件所占内存
正确答案:B
学生答案:Bv
29、以下程序的运行结果是().main()(int
j=1.sum=0;while(i<10)sum=sum+1;i++;printf("=%d.sum=%d",i.sum);]
A、i=10,sum=9
B、j=9,sum=9
C.j=2.sum=1
D、运行出现错误
正确答案:D
学生答案:D×
30、设变量a是整型,f是实型,i是双精度型,则表达式10+a'+i值的数据类型为()
A、int
B、float
C、double
D、不确定
正确答案:C
学生答案:CV
31、以下的选择中,正确的赋值语句是()。
A、a=1,b=2
B、j++
C、a=b=5;
D、y=int(x)
正确答案:C
学生答案:CV
32、若x=2,y=3则x&y的结果是()。
A、0
B、2
C、3
D、5
正确答案:8
学生答案:Bv
33、若有inta[10]=(0,1,2,3,4,5,6,7,8,9)."p=a;则输出结果不为5的语句为()
A、printf("%d","(a+5));
B、printf("%d".p[5]);
C、printf(=%d","(p+5));
D、printf("%d",*p[5]);
正确答案:D
学生答案:DV
34、int a=1,b=2,c=3.if(a>b)a=b.f(a>c)a=c:则a的值为().
A、1
B、2
C、3
D、不一定
正确答案:A
学生答案:AV
35、以下叙述中正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行。