国家二级C语言机试(选择题)模拟试卷282
选择题
1.执行下列程序的输出结果是( )。
#include<stdio.h>
main()
{ int i,j,x=0,y=0;
for(i=0;i<2,i++)
{ for=j=0.j<3;j++)
x++;x-=j;
}
y=i+j;
printf(\\(B)
A. x=0,y=3
B. x=0,y=5
C. x=1,y=3
D. x=1,y=5
解析:本题考查C语言中for循环结束后循环变量的取值。第一次执行外循环时i=0,退出内层循环时j=3,x=3,再执行x-=j时得x=0;第二次执行外循环时i=1,退出内层循环时i=3,x=3,执行x-=j时得x=0,退出外层循环时i=2,j=3,执行y=i+j得y=5。
2.以下叙述中正确的是(A)
A. 赋值语句是一种执行语句,必须放在函数的可执行部分
B. scanf和printf是C语言提供的输入和输出语句
C. 由printf输出的数据都隐含左对齐
D. 由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
解析:C语言本身没有提供输入输出语句,但是可以通过调用标准库函数中提供的输入和输出函数来实现输入和输出,选项B错误;采用pfintf输出数据,输出数据都默认为右对齐,若要左对齐.可以在格式控制中的“%”和宽度之间加一个“-”号来实现,选项C错误:printf的输出精度由变量的类型决定,与域宽无关,选项D错误。
3.以下数据结构中,属于非线f生数据结构的是( )。(D)
A. 栈
B. 线性表
C. 队列
D. 二叉树
解析:二叉树属于非线性结构。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作;队列可看作是插入在一端进行,删除在另一端进行的线性表。
4.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)( )。(B)
A. printf(\\
B. pfintf(\\
C. prinff(\\
D. pfintf(\\
解析:B选项输出的格式为%d,即为整型格式,所以输出字符A的ASCII码值65,而不是字符A。由于大写字母比和其对应的小写字母的ASCII码值小32,所以A选项正确。字符A的ASCII码值就是65,所以以%c格式输出可以输出字符A,所以C选项正确。由于字符A的ASCII码值比字符B的小1,所以D选项正确。
5.“商品”与“顾客”两个实体集之间的联系一般是(D)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:实体集间的联系的个数可以是单个也可以是多个。两个实体集之间的联系实际上是实体集间的函数关系,这种关系有三种:一对一的联系,简记为1:1;一对多或多对一联系,简记为1:m或m:1;多对多联系,简记为m:n。本题中“商品”与“顾客”两个实体集之间的联系是多对多联系。因为一种“商品”可以被多个“顾客”购买,而一个“顾客”也可以购买多个“商品”。
6.以下叙述中错误的是(C)
A. 算法正确的程序最终一定会结束
B. 算法正确的程序可以有零个输入
C. 算法正确的程序可以有零个输出
D. 算法正确的程序对于相同的输入一定有相同的结果
解析:算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法应该具有以下5个特征:
①有穷性。一个算法包含的操作步骤应该是有限的。也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。
②确定性。算法中的每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。
③可行性。算法中指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现。
④有零个或多个输入。在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些对象需要通过输入来得到。
⑤有一个或多个输出。算法的目的是为了求“解”,这些“解”只有通过输出才能得到。
7.有以下程序:
#include
int fun(char P[][10])
{
int n=0,i;
for(i m=0;i<7;i++)
if(P[i][0]==一’T’)n++;
return n;
}
main()
{
char str[][10]={ItMort“,”Tue”,“Wed”,“Thu”,“Fri,“Sat”,“Sun”};
printf(“%d\n”,fun(str));
}
程序的运行结果是( )。(B)
A. 1
B. 2
C. 3
D. 0
解析:此程序是统计一周7天中英文名称首字母为“T”的个数。P[i][0]是字符串的首字符,一共有两个“T”,所以n=2,因此B选项正确。
8.已知函数的调用形式“fread(buffer,size,count,fp);”其中buffer代表的是( )。(C)
A. 一个整型变量,代表要读入的数据项总数
B. 一个文件指针,指向要读的文件
C. 一个指针,是指向的输入数据放在内存中的起始位置
D. 一个存储区,存放要读的数据项
解析:数据块输入/输出函数的调用形式为:fread(buffer,size,count,fp)。fread函数参数说明:“buffer”是一个指针,对fread来说,它是读入数据的存放地址;“size”是要读写的字节数;“count”是要进行读写多少个size字节的数据项;“fp”是指文件型指针。
9.以下选项中正确的定义语句是( )。(A)
A. double a=7, b=7;
B. double a=b=7;
C. double a; b;
D. double, a, b;
解析:选项B)错误,定义时不能连续赋值;选项C)错误,分号表明一句语句的结束,所以变量b没有正确定义;选项D)错误,在定义变量的时候,类型后面不能跟逗号。所以答案选A)。
10.以下叙述中正确的是(C)
A. break语句不能用于提前结束for语句的本层循环
B. continue语句使得整个循环终止
C. 使用break语句可以使流程跳出switch语句体
D. 在for语句中,continue与break的效果是一样的,可以互换
解析:用break语句可以使程序流程跳出switch语句体,也可用break语句在循环结构中终止循环体,从而提前结束循环,而continue语句的作用是结束本次循环,即跳过本次循环体中continue语句后面的语句,立刻进行下一次的循环条件判断,可以理解为仅结束本次循环。
11.下列关于C语言文件的叙述中正确的是( )。(C)
A. 文件由一系列数据依次排列组成,只能构成二进制文件
B.
本文档预览:3600字符,共8023字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载