湖北汽车工业学院
C语言复习题
总分:【100分】考试时间:【90分钟】一、单项选择题(共20题,每题2分,共计40分)
()1、下列关于指针变量的描述,不正确的是________。
A、在没有对指针变量赋值时,指针变量的值是不确定的
B、同类指针类型可以进行相减操作
C、在使用没有赋值的指针变量时,不会出现任何问题
D、可以通过指针变量来取得它指向的变量值
【答案】C
【解析】
没有赋值的指针变量,可能指向任何地方,如果指向系统,那么使用该指针可能导致系统崩溃。
()2、若已定义x和y为int类型,若x=1,y=x+3/2,则y的值是________。
A、1
B、2
C、2.0
D、2.5
【答案】B
()3、若有定义语句:int a=3,b=2,c=1; 以下选项中错误的赋值表达式是______。
A、a=(b=4)=3;
B、a=b=c+1;
C、a=(b=4)+c;
D、a=1+(b=c=4);
【答案】A
【解析】
此题考查C语言中赋值表达式的概念。用一个赋值运算符“=”将一个变量和一个表达式连接起来的式子称为赋值表达式。选项A中缺少表达式。
()4、与"y=(x>0?1:x<0?-1:0)";的功能相同的if语句是________。
A、if(x>0)y=1;
B、if(x)
else if(x>0)y=1;
else y=0; else if(x%0)y=-1;
else y=0;
C、y=-1
D、y=0;
if(x) if(x>=0)
if(x>O)y=1; if(xi>=O)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
【答案】B
()5、下面不属于算法的控制结构的是______ 。
A、顺序结构
B、归纳结构
C、循环结构
D、选择结构
【答案】B
【解析】
顺序结构、循环结构和选择结构是算法的基本结构。
()6、以下正确的定义语句是________。
A、int A['B'];
B、int A[8,3];
C、int A[][9];
D、int A[5];
【答案】D
【解析】
本题主要考查的知识点为数组的定义。
[要点透析] 一维数组的定义格式为;
数据类型 数组名[长度];
二维数组定义格式为:
数据类型 数组名[行长度][列长度];
其中长度、行长度、列长度均为“整型常量表达式”,通常为整型常量,故A、B项错误。在二维数组中,若给所有元素赋初值,则行长度可以省略,故C项错误。
()7、整型变量x=1,y=3,经下列计算后,x的值不等于6的是________。
A、x=(x=1+2,x*2)
B、x=y>2?6:5
C、x=9-(--y)-(y--)
D、x=y*4/2
【答案】C
()8、若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是________。
int[3][3],*pt[3],k;
for(k=0;k<3;k++)
pt[k]-&t[k][0];
A、t[2]Eo]
B、t[2][2]
C、tell[2]
D、t[2][1]
【答案】C
()9、若变量a是int类型,并执行了语句:a=‘a'+1.6; ,则正确的叙述是________。
A、a的值是字符C
B、a的值是浮点型
C、不允许字符型和浮点型相加
D、a的值是字符‘A’的ASCII值加上1。
【答案】D
()10、按照c语言规定的用户标识符命名规则,不能出现在标识符中的是________。
A、大写字母
B、连接符
C、数字字符
D、下划线
【答案】B
【解析】
C语言的标识符要符合以下规定:
①标识符是个以字母或下划线开头的,由字母、数字、下划线组成的字符串:
②标识符不能与任意一个关键字同名:
③标识符中的字母区分大小写。
故本题应该选择B。
()11、static char str[10]="China";数组元素个数为()。
A、5
B、6
C、9
D、10
【答案】D
()12、有以下程序:
int *f(int *x, int *y) {
if (*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
printf ("%d,%d,%d\n",*p,*q,*r);
}
执行后输出结果是________。
A、7,8,8
B、7,8,7
C、8,7,7
D、8,7,8
【答案】B
【解析】
本题定义了一个返回值为指针的函数f(),此函数有两个指针型的形参x和y,该函数的功能,是
返回x和y指向的变量中值较小的那个指针变量。主函数中定义了两个指针变量p和q,并让它们
指向变量a和b,调用函数f(),返回指向的变量值较小的指针变量,r的值为指针变量p的值(变
量a的地址),因此最后输出的*p、*q和*r的值是7,8和7。所以,B选项为所选。
()13、若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b a:c<d c:d的值是________。
A、1
B、2
C、3
D、4
【答案】A
【解析】
本题考查的是条件表达式的嵌套。因为条件运算符的结合方向为“自右至左”,所以表达式a<ba:c<dc:d相当于a<ba:(c<dc:d)。由于a=1,b=4,所以a<b的结果为“真”,整个表达式的值为a的值1。所以,4个选项中选项A)符合题意。
()14、在c语言中,函数的数据类型是指( )
A、函数返回值的数据类型
B、函数形参的数据类型
字符串长度的正确表示C、调用该函数时的实参的数据类型
D、任意指定的数据类型
【答案】A
()15、以下程序的输出结果是
f(int b[],int m,int n)
{
int i,s=0;
for(i=m;i<n;i=i+2) s=s+b[i];
return s;
}
main()
{
int x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A、10
B、18
C、8
D、15
【答案】A
()16、c语言中下面哪个不是循环语句?
A、do while
B、if
C、while
D、for
【答案】B
()17、设有下面的定义:
struct st

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。