C语言开发基础(习题卷11)
第1部分:单项选择题,共73题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]若有以下说明语句:static int i,a[2][3]={1,3,5,7,9,11};int m,n;且0≤m≤1,0≤n≤2,则以下( )是对数组元素的正确引用。
A)a[m]+n
B)*(a+5)
C)*(*(a+m)+3)
D)*(*(a+m)+n)
答案:D
解析:
2.[单选题]运行下面程序时, 若从键盘输入"3,5<CR>" ,则程
序的输出结果是___( )___.
#include <stdio.h>
void main( )
{
int x,y;
scanf("%d,%d",&x,&y);
if (x==y)
printf("x==y");
else if (x>y)
printf("x>y");
else
printf("x<y");
}
A)3<5
B)5>3
C)x>y
D)x<y
答案:D
解析:
3.[单选题]如下程序段的输出结果是().
#include<stdio.h>
void main()
{ int n=9;
while(n>6)
{n--;printf("%d",n);} }
A)987
B)876
C)8765
D)9876
答案:B
解析:
4.[单选题]以下可用作用户自定义标识符的一组是( )。
A)void、return、if
B)printf、include、fabs
C)Max、_abc、Main
D)2abc、pay$、sum-10
答案:C
解析:
5.[单选题]已有定义int i, a[10], *p;,则合法的赋值语句是( )。
A)p=100;
B)p=a[5];
C)p=a[2]+2;
D)p=a+2;
答案:D
解析:
6.[单选题]关于“while(条件表达式)循环体”,以下叙述正确的是
A)条件表达式的执行次数总是比循环体的执行次数多一次
B)循环体的执行次数总是比条件表达式的执行次数多一次
C)条件表达式的执行次数与循环体的执行次数一样
D)条件表达式的执行次数与循环体的执行次数无关
答案:A
解析:
7.[单选题]下列关于for循环说法正确的是()
A)for循环是先执行循环体,后判断表达式2
B)for循环只能用于循环次数已经确定的情况
C)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
D)在for循环中,不能用break语句跳出循环体
答案:C
解析:
8.[单选题]已知各变量说明如下,则符合C 语言语法规定的表达式
是。
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
A)a+=a-=(b=4)*(a=3)
B)a=a*3=2
do while语句流程图C)x%(-3)
D)y=float(i)
答案:A
解析:
9.[单选题]下列说法正确的是()
A)使用循环结构时,不需要避免死循环
while语句结尾的分号可以省略
while语句中do后面的大括号{}可以省略
while语句的循环体至少执行1次
答案:D
解析:
10.[单选题]设有以下说明语句 struct stu{int a; float b;}stutype;,则下面的叙述不正确的是( ).
A)struct是结构体类型的关键字
B)struct
C)stutype是用户定义的结构体类型名
D)a和b都是结构体成员名
答案:C
解析:
11.[单选题]()是构成C语言程序的基本单位.
A)函数
B)变量
C)子程序
D)语句
答案:A
解析:
12.[单选题]程序流程图中带有箭头的线段表示的是( )。
A)图元关系
B)数据流
C)控制流
D)调用关系
答案:C
解析:在程序流程图中:①标有名字的带箭头线段表示控制流;②矩形表示加工步骤;③菱形表示逻辑条件。答案选择C选项。
13.[单选题]在传统流程图中,用来表示分支的图形是()。
A)椭圆形
B)长方形
C)菱形
D)平行四边形
答案:D
解析:
14.[单选题]整型变量X和Y的值相等,且为非0值,则以下选项中结果为0的表达式是______。
A)X||Y
B)X|Y
C)X&Y
D)X^Y
答案:D
解析:
15.[单选题]已知有定义和声明:
Struct student
{ int num;
Char name[20];
Struct {int year, month, day;}birth;
}stu;
若要求将日期“2018年5月12日”保存到变量stu的birth成员中,则能实现这一功能的程序段是_________。
A)Year=2018; month=5; day=12;
ar=h=5; stu.day=12;
ar=2018; h=5; birth.day=12;
D)ar=2018; h=5; stu.birth.day=12;
答案:D
解析:
16.[单选题]设有下列二叉树: 对此二叉树前序遍历的结果为( )。
A)ZBTYCPXA
B)ATBZXCYP
C)ZBTACYXP
D)ATBZXCPY
答案:B
解析:二叉树的前序遍历是指首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用, 故该二叉树的前序遍历结果为:ATBZXCYP。答案选择B选项。
17.[单选题]关于C语言中数的表示,以下叙述中正确的是( )。
A)只有整型数在允许范围内能精确无误地表示,实型数会有误差
B)只要在允许范围内整型和实型都能精确表示
C)只有实型数在允许范围内能精确无误地表示,整型数会有误差
D)只有八进制表示的数才不会有误差
答案:A
解析:实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的 存储长度,从而导致有效数字丢失而产生误差。在整型数允许范围之内,二进制可以表示任意一个整数。答案选择A选项。
18.[单选题]若有定义int tmp='5';,则执行下列选项的赋值语句后,tmp的值不等于5的是
A)tmp=tmp-'0';
B)tmp=tmp-0x30;
C)tmp=tmp-49;
D)tmp=tmp-'\060';
答案:C
解析:
19.[单选题]阅读以下程序,当输入数据的形式为:25,13,10 <CR>,正确的输出结果为( )。
#include<stdio.h>
Void main( )
{ int x,y,z;
scanf(“%d,%d,%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48
B)x+y+z=35
C)x+z=35
D)不确定值
答案:A
解析:
20.[单选题]所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。
A)7
B)8
C)6
D)2
答案:B
解析:
21.[单选题]若有说明语句int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a;,那么不能表示a数组元素的表达式是( )。
A)*p
B)a[10]
C)*a
D)a[p-a]
答案:B
解析:
22.[单选题]若定义int m=7,n=12; 则能得到值为3的表达式是( )。
A)n%=(m%=5)
B)n%=(m-m%5)
C)n%=m-m%5
D)(n%=m)-
答案:D
解析:
23.[单选题]下面程序的运行结果( )。
main( )
{ unsigned a=3,b=10;5
printf(''%d\n''a << 2|b>> 1=;
}
A)3
B)10
C)13
D)14
答案:C
解析:
24.[单选题]表达式x&&1等价于_________。
A)X==0
B)X==1
C)X!=0
D)X!=1
答案:C
解析:
25.[单选题]char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是( )。
A)strcat(a1,a2);
B)strcat(a2,a1);
C)strcpy(a2,a1);
D)strcpy(a1,a2);
答案:B
解析:题号:55775
26.[单选题]阅读以下函数
Fun(char *sl,char *s2)
{ int i=0;
While(sl[i]==s2[i]&&s2[i]!='\0') i++;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论