大学考试高级语言程序设计试题库及答案.docx
《大学考试高级语言程序设计试题库及答案.docx》由会员分享,可在线阅读,更多相关《大学考试高级语言程序设计试题库及答案.docx(140页珍藏版)》请在冰豆网上搜索。
![大学考试高级语言程序设计试题库及答案.docx](https://file1.bdocx.com/fileroot1/2023-1/29/d411144d-5e70-453f-817b-49ad38d99243/d411144d-5e70-453f-817b-49ad38d992431.gif)
大学考试高级语言程序设计试题库及答案
设有定义语句“struct{inta;floatb;charc;}abc,*p;”,则对结构体成员a的引用可以是()。
收藏
A.
(*p).a
B.
abc->a
C.
abc.a
D.
p->a
回答错误!
正确答案:
ACD
以下叙述中,正确的叙述是:
收藏
A.
预处理行不是c的可编译语句
B.
在程序中凡以#开始的语句都是预处理命令
C.
C程序在执行过程中对预处理命令进行处理
D.
预处理命令须以#开始
回答错误!
正确答案:
ABD
下列属于单字符输入输出函数的是()。
收藏
A.
getchar()
B.
printf()
C.
scanf()
D.
putchar()
回答错误!
正确答案:
AD
当一个函数为外部函数时,不正确的说法是()。
收藏
A.
该函数不能被本文件中函数调用
B.
该函数不能被其他文件调用
C.
该函数只能被main()调用
D.
该函数只能被非主函数调用
回答错误!
正确答案:
ABCD
不能将高级语言编写的源程序转换成目标程序的是:
收藏
A.
编译程序
B.
解释程序
C.
编程程序
D.
链接程序
回答错误!
正确答案:
BCD
下列选项中关于外部变量,正确的是()。
收藏
A.
main函数是主函数,不在main函数内部定义的变量都是外部变量
B.
外部变量必须定义在源程序的开始处
C.
定义外部变量时,可以进行初始化
D.
外部变量必须定义在所有函数的外面
回答错误!
正确答案:
CD
已知“inta=1;charb=65;floatc=2.0;doubled=3.5;”。
则下述赋值表达式结果为整型的是()。
收藏
A.
b=a+b;
B.
b=(int)(c+d);
C.
a=3.2;
D.
a=c+d;
E.
c=a+b;
F.
c=(int)3.2;
回答错误!
正确答案:
ABCD
已有chars[10][10]={0};inti=10;。
在下列表达式中,没有意义的表达式是:
收藏
A.
*(&(s+i)+i)
B.
*(*(s+i)+i)
C.
*(*(s+i-1)+i-1)
D.
s[i][i]
回答错误!
正确答案:
ABD
下列属于C语言标准库函数的为()。
收藏
A.
pow()
B.
sin()
C.
log10()
D.
isalpha()
E.
sqrt()
F.
ln()
回答错误!
正确答案:
ABCDE
已知inta[]={1,2,3,4,5,6,7,8,9},*p=a;则值为3的表达式是()
收藏
A.
p+=2,*(p++)
B.
p+=2,*p++
C.
p+=2,*++p
D.
p+=2,++*p
回答错误!
正确答案:
AB
在定义inta[2][3];之后,对数组a的引用错误的是()。
收藏
A.
a(1,2)
B.
a[1,3]
C.
a[1>2][!
1]
D.
a[2][0]
回答错误!
正确答案:
ABD
若有int*px;float*pf;char*pc;,下列关于指针的正确描述为()。
收藏
A.
px、pc与pf三个变量的存储单元长度都一样。
B.
px与pf存储单元长度一样。
C.
px与pc存储单元长度一样。
D.
pc与pf存储单元长度一样。
E.
px、pc与pf三个变量的存储单元长度互不相同。
回答错误!
正确答案:
ABCD
如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:
收藏
A.
局部变量优先
B.
出错
C.
全局的外部变量优先
D.
外部变量优先
回答错误!
正确答案:
BCD
当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是()。
收藏
A.
b=a=c;
B.
a&&(b=c);
C.
(a=c)‖(b=c);
D.
(a=c)&&(b=c);
回答错误!
正确答案:
AD
下列选项中关于变量的生存期,不正确的描述是()。
收藏
A.
auto型变量是静态存储的,其生存期等同于程序的运行期。
B.
static变量是动态存储的,函数调用结束时,static变量所占用的内存单元被释放
C.
register变量都是动态存储的
D.
外部变量都是静态存储的
回答错误!
正确答案:
AB
关于C语言程序的语句,正确的说法是()。
收藏
A.
语句的结束标识符是句号
B.
一行可以书写多条语句
C.
建议每条语句占一行
D.
一条语句只能占一行
回答错误!
正确答案:
BC
下列四条语句中,没有语法错误的语句是()。
收藏
A.
if(a=b<a)m=b;
B.
if((a=b)>=0)m=a;
C.
if((a=b)>=0)m=a;
D.
if(a>b)m=a;
回答错误!
正确答案:
ABCD
以下叙述中,不正确的叙述是()。
收藏
A.
未在定义语句中赋初值的auto变量和static变量的初值都是随机值
B.
静态(static)类别变量的生存期贯穿整个程序的运行期间
C.
函数的形参都属于全局变量
D.
全局变量的作用域不比局部变量的作用域范围大
回答错误!
正确答案:
ACD
有关结构化程序设计,正确的说法是()。
收藏
A.
三种基本结构可以相互嵌套
B.
三种基本结构可以交叉设计
C.
每个结构化的算法都可以归结为三种基本结构
D.
每个算法都必须包含三种基本结构
回答错误!
正确答案:
AC
如果想使下列数组a中5个元素的值全部为0,可以写成()。
收藏
A.
inta[5]={0:
5};
B.
inta[5]=0;
C.
inta[5]={0};
D.
inta[5]={0,0,0,0,0};
E.
inta[5]={5:
0};
回答错误!
正确答案:
CD
已有定义chars[10],*p=s;。
在下列表达式中,正确的表达式是:
收藏
A.
s=p+s
B.
s[2]=p[4]
C.
*p=s[0]
D.
p=s+5
回答错误!
正确答案:
BCD
函数中的形参若为指针,则调用时对应位置上的实参可以是()。
收藏
A.
指针变量
B.
地址
C.
简单变量的地址
D.
数组名
回答错误!
正确答案:
ABCD
若有程序段intk=5;,则下列执行后变量k的值是6的有()。
收藏
A.
++k;
B.
k++;
C.
k=(k++)+1;
D.
1+k++;
E.
k=(++k)+1;
F.
++k+1;
回答错误!
正确答案:
ABDF
若有intx=3,*px;floaty=3,*py;,则正确的赋值表达式是()。
收藏
A.
py=&x
B.
py=&y
C.
px=&y
D.
px=&x
回答错误!
正确答案:
BD
以下叙述中,错误的叙述是:
收藏
A.
函数的形参都属于全局变量
B.
未在定义语句中赋初值的auto变量和static变量的初值都是随机值
C.
全局变量的作用域不比局部变量的作用域范围大
D.
静态(static)类别变量的生存期贯穿整个程序的运行期间
回答错误!
正确答案:
ABC
下列选项中关于外部变量的作用域,正确的是()。
收藏
A.
外部变量若定义为静态的,其他源文件不能使用该外部变量
B.
外部变量的作用域是整个源程序
C.
可以通过extern,将一些外部变量的作用域扩展到多个源文件
D.
外部变量的作用域是所在的源文件
回答错误!
正确答案:
ABC
下列属于结构化程序设计基本结构的是:
收藏
A.
选择结构、循环结构
B.
顺序结构、选择结构
C.
顺序结构、选择结构、循环结构
D.
顺序结构、循环结构
回答错误!
正确答案:
ABCD
下列关于对二维数组a进行初始化的操作中,正确的写法是()。
收藏
A.
inta[][]={{3,2,1},{1,2,3}};
B.
inta[2][3]={{3,2,1},{1,2,3}};
C.
inta[][3]={{3,2,1},{1,2,3}};
D.
inta[][3]={3,2,1,1,2,3};
回答错误!
正确答案:
BCD
以下对C语言函数的有关描述中,不正确的描述是:
收藏
A.
C函数既可以嵌套定义又可以递归调用
B.
C程序中有调用关系的所有函数必须放在同一个源程序文件中
C.
函数必须有返回值,否则不能使用函数
D.
在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
回答错误!
正确答案:
ABC
若形参是简单变量形式,则对应的实参可以是:
收藏
A.
数组名
B.
常量
C.
简单变量
D.
数组元素
回答错误!
正确答案:
BCD
下列计算机语言中,CPU不能直接执行的是:
收藏
A.
机器语言
B.
高级语言
C.
自然语言
D.
汇编语言
回答错误!
正确答案:
BCD
以下不合法的赋值语句是:
收藏
A.
c=int(a+b);
B.
d+5=10;
C.
x+y=100;
D.
x=y=100;
回答错误!
正确答案:
ABC
不能正确表示条件x≥y≥z的C语言表达式是:
收藏
A.
(x>=y>=z)
B.
(x>=y).AND.(y>=z)
C.
(x>=y)&(y>=z)
D.
(x>=y)&&(y>=z)
回答错误!
正确答案:
ABC
设chars[10];inti=5;,下列表达式中,不正确的表达式是()。
收藏
A.
*(&s+i)
B.
*(s+i)
C.
s[i+6]
D.
*((s++)+i
回答错误!
正确答案:
ACD
设有说明语句:
chara=ˊ\72ˊ;,则变量a包含的字符数为:
收藏
A.
0个字符
B.
1个字符
C.
2个字符
D.
3个字符
回答错误!
正确答案:
ACD
下列选项中属于内部变量的是()。
收藏
A.
所有函数外部定义的变量
B.
函数的形式参数
C.
main函数内定义的变量
D.
复合语句内部定义的变量
回答错误!
正确答案:
BCD
下列属于字符串的是()
收藏
A.
“3”
B.
“3=y”
C.
“(x+y)=6”
D.
“y”
回答错误!
正确答案:
ABCD
对于16位系统中,C语言中整数-8在内存中的错误存储形式是:
收藏
A.
1000000000000000
B.
1000000000001000
C.
1111111111110111
D.
1111111111111000
回答错误!
正确答案:
ABC
C语言中的文件分类是:
收藏
A.
文本文件和数据文件
B.
顺序文件和随机文件
C.
文本文件和二进制文件
D.
数据文件和二进制文件
回答错误!
正确答案:
AB
已知“inta,b;scanf("%d%d",&a,&b);”。
若为a和b输入值,可以作为输入分隔符的是()。
收藏
A.
逗号
B.
回车
C.
空格
D.
Tab键
回答错误!
正确答案:
BCD
与汇编程序相比,C语言程序的优点包括()。
收藏
A.
能够进行位操作
B.
目标代码质量较高
C.
更容易移植
D.
更容易阅读
回答错误!
正确答案:
CD
下列描述中,不能正确给字符数组str定义和赋值的是()。
收藏
A.
charstr[]={"abcdefghijklmn"};
B.
charstr[10];strcpy(str,"abcdefghijklmn");
C.
charstr[10]={"abcdefghijklmn"};
D.
charstr[10];str={"abcdefghijklmn"};
回答错误!
正确答案:
BCD
若有定义floatw=1;inta=1,b=0;,则不合法的switch语句是:
收藏
A.
switch(a);{case1printf("*\n");case2printf("**\n");}
B.
switch(a+b);{case1:
printf("*\n");default:
printf("\n");}
C.
switch(w){case1.0:
printf("*\n");case2.0:
printf("**\n");}
D.
switch(b){case1:
printf("*\n");default:
printf("\n");}
回答错误!
正确答案:
AB
若有intx,*px=&x;floaty,*pf=&y;charc,*pc=&c;,下列正确的为()。
收藏
A.
px=(int*)pc;
B.
pf=(int*)px;
C.
px=(int*)pf;
D.
pf=(float*)pc;
E.
pc=(int*)px;
回答错误!
正确答案:
ACD
根据定义:
structperson{charname[9];intage;};structpersonc[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能打印出字母M的语句是:
收藏
A.
printf("%s",c[1].name[0]);
B.
printf("%s",c[2].name[1]);
C.
printf("%s",c[0].name);
D.
printf("%s",c[3].name[2]);
回答错误!
正确答案:
BD
下列对宏定义的描述中,正确的描述是:
收藏
A.
宏替换不占用运行时间
B.
宏不存在类型问题,宏名无类型,参数也无类型
C.
宏替换是先求出实参表达式的值,然后带入形参运算求值
D.
宏替换只不过是字符替代而已
回答错误!
正确答案:
ABD
以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:
收藏
A.
FILE*FP;FP=fopen("fil2","r");
B.
FILE*FP;FP=fopen("fil2","rb+");
C.
FILE*FP;FP=fopen("fil2","rb");
D.
FILE*FP;FP=fopen("fil2","wb+");
回答错误!
正确答案:
BD
下列关于C语言数据文件的叙述中,不正确的叙述是:
收藏
A.
文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
B.
文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
C.
文件由ASCII码字符序列组成,C语言只能读写文本文件
D.
文件由二进制数据序列组成,C语言只能读写二进制文件
回答错误!
正确答案:
BCD
下列对宏定义的描述中,正确的描述是:
收藏
A.
宏替换不占用运行时间
B.
宏替换只不过是字符替代而已
C.
宏替换是先求出实参表达式的值,然后带入形参运算求值
D.
宏不存在类型问题,宏名无类型,参数也无类型
回答错误!
正确答案:
ABD
设intx=1;chary=’A’;,那么在switch语句中,不能出现在case后面的是()。
收藏
A.
x>0
B.
x
C.
5
D.
‘a’
E.
y<=65
F.
y=’b’
回答错误!
正确答案:
CD
列四条语句中,没有语法错误的语句是:
收藏
A.
if((a=b)>=0)m=a;
B.
if(a>b)m=a;
C.
if((a=b;)>=0)m=a;
D.
if(a<b)m=b;
回答错误!
正确答案:
ABD
x、y、z被定义为int型常量,若从键盘给x、y、z输入数据,不正确的输入语句是:
收藏
A.
scanf(”%d%d%d”,x,y,z);
B.
read(”%d%d%d”,&x,&y,&z);
C.
scanf(”%d%d%d”,&x,&y,&z);
D.
inputx、y、z;
回答错误!
正确答案:
ABD
下列描述中,合法的数组定义是:
收藏
A.
chara[5]={’A’,’B’,’C’,’D’,’E’};
B.
chara[]="ABCDE";
C.
chara[]={65,66,67,68,69,70};
D.
chara[]={’A’,’B’,’C’,’D’,’E’};
回答错误!
正确答案:
ABCD
设有定义语句“intx=10,*p=&x”,则表达式的值为10的有()。
收藏
A.
p
B.
*&x
C.
x=*p
D.
*p=x
E.
*p
回答错误!
正确答案:
BCDE
题型描述:
多选题
下列常数中能作为C的常量的是:
收藏
A.
0x4
B.
03A
C.
33
D.
2.5e-2
回答错误!
正确答案:
ACD
下列关于局部变量的说法中,正确的说法是()。
收藏
A.
允许在不同的函数中使用相同的变量名
B.
不能在复合语句中定义变量
C.
局部变量是在函数内部定义说明的
D.
形参变量属于被调函数的局部变量
回答错误!
正确答案:
ACD
对于C语言的for循环来讲,下列正确的说法为:
收藏
A.
第一表达式不能放到循环前执行;
B.
第二表达式不能放到循环前执行;
C.
第三表达式不能放到循环体中执行。
D.
第三表达式不能放到循环前执行;
回答错误!
正确答案:
BD
下列关于C语言用户标识符的叙述中,不正确的叙述是:
收藏
A.
用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
B.
用户标识符中可以出现下划线和中划线(减号)
C.
用户标识符中不可以出现中划线,但可以出现下划线
D.
用户标识符中可以出现下划线,但不可以放在用户标识符的开头
回答错误!
正确答案:
ABD
下列说法中正确的是()。
收藏
A.
while循环完全可以用do{}while循环替代。
B.
while循环完全可以用for循环替代。
C.
do{}while循环和while循环均完全可以用for循环替代。
D.
for循环完全可以用while循环替代。
E.
do{}while循环完全可以用while循环替代。
回答错误!
正确答案:
ABCDE
以下合法的表达式是:
收藏
A.
5+(x=10)
B.
5+x=10
C.
y+x==10
D.
x=y=200
回答错误!
正确答案:
ACD
下列对C语言字符数组的描述中,正确的描述是:
收藏
A.
字符数组中的字符串可以整体输入、输出
B.
可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
C.
不可以用关系运算符对字符数组中的字符串进行比较
D.
字符数组可以存放字符串
回答错误!
正确答案:
ACD
在C语言中,存储类别包括()。
收藏
A.
浮点类型
B.
静态
C.
整型
D.
寄存器
回答错误!
正确答案:
BD
下列描述中,合法的数组定义是()。
收藏
A.
chara[]={0,1,2,3,4,5};
B.
chara[5]={0,1,2,3,4,5};
C.
chara[]="String";
D.
chara[]={"String"};
回答错误!
正确答案:
ABCD
以下正确的描述是:
收藏
A.
break语句不能用于循环语句和switch语句外的任何其它语句
B.
在循环语句中使用break语句是为了跳出循环体,提前结束循环
C.
在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环
D.
在switch语句中使用break语句将结束该语句
回答错误!
正确答案:
BCD
下列能输出字符B的是():
收藏
A.
putchar(ˊ\x41ˊ);
B.
putchar(ˊ\x42ˊ);
C.
putchar(ˊ\x41ˊ+1);
D.
putchar(66);
回答错误!
正确答案:
BCD
假定x和y均为double类型,则表达式x=2,y=x+3/2的不正确值是:
收藏
A.
2.000000
B.
3
C.
3.500000
D.
3.000000
回答错误!
正确答案:
ABC
下列描述中,错误的描述是:
收藏
A.
预处理是指完成宏替换和文件包含指定的文件调用
B.
预处理指令只能位于程序首部
C.
凡是C源程序中行首以#标示的控制行都是预处理指令
D.
预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备
回答错误!
正确答案:
ABD
正确的变量定义是()。
收藏
A.
floatnum1;intnum2;
B.
intnum1,num2;
C.
floatnum1,floatnum2;
D.
intnum1,floatnum2;
回答错误!
正确答案:
AB
以下叙述中,正确的叙述是:
收藏
A.
C程序在执行过程中对预处理命令进行处理
B.
预处理命令必须在程序编译前进行处理
C.
在程序中凡以#开始的语句都是预处理命令
D.
预处理行在编译阶段进行处理
回答错误!
正确答案:
BC
设inta=3,b=4,c=5;,则下面的表达式中,值为0的表达式是()。
收藏
A.
!
((a<b)&&!
c||b)
B.
(a||b)>c