1、设a<b,且a、b均为实数,则区间[a,b)中包含的整数个数为____。
- A: └ b ┘ − └ a ┘ \llcorner{b}\lrcorner - \llcorner{a}\lrcorner └b┘−└a┘
- B: └ b ┘ − ┌ a ┐ + 1 \llcorner{b}\lrcorner - \ulcorner{a}\urcorner+1 └b┘−┌a┐+1
- C: ┌ b ┐ − └ a ┘ − 1 \ulcorner{b}\urcorner - \llcorner{a}\lrcorner-1 ┌b┐−└a┘−1
- D: ┌ b ┐ − ┌ a ┐ \ulcorner{b}\urcorner - \ulcorner{a}\urcorner ┌b┐−┌a┐
解析
对于区间[a,b)的整数个数问题,如果a与b都是整数,则正好是b-a,比如3-2=1,区间[2,3)正好一个整数;
如果a为整数,而b不为整数,则b向下取整的整数是在区间里的,因此可以考虑 └ b ┘ − a + 1 \llcorner{b}\lrcorner - a+1 └b┘−a+1或者 ┌ b ┐ − a \ulcorner{b}\urcorner -a ┌b┐−a;
如果a不为整数,而b为整数,则a向下取整的整数不在区间里,且b不在区间内,因此可以考虑 b − └ a ┘ − 1 b- \llcorner{a}\lrcorner-1 b−└a┘−1或者 b − ┌ a ┐ b- \ulcorner{a}\urcorner b−┌a┐;
如果a与b都不为整数,则需要考虑a向下取整的整数不在区间里,而b向下取整的整数在区间里,因此 └ b ┘ − └ a ┘ \llcorner{b}\lrcorner - \llcorner{a}\lrcorner └b┘−└a┘或者 ┌ b ┐ − ┌ a ┐ \ulcorner{b}\urcorner - \ulcorner{a}\urcorner ┌b┐−┌a┐都可以;
综上所述,选择D选项最合适。
答案:D
2、下列关于C语言结构体变量定义不正确的是____。
A
struct Student{
int ID;
char name[20];
};
struct Student s;
B
struct Student{
Int ID;
char name[20];
}STU;
STU s;
C
type struct{
int ID;
char name[20];
}STU;
STU s;
D
struct{
int ID;
char name[20];
}s;
解析
C应该用typedef定义结构体变量。
答案:C
3、若要打开D盘ex目录下的a.txt文本文件进行读和写操作,则函数fopen调用格式是_____。
- A:fopen(“D:\ex\a.txt”,“r”)
- B:fopen(“D:\ex\a.txt”,“rw”)
- C:fopen(“D:\ex\a.txt”,“r+”)
- D:fopen(“D:\ex\a.txt”,“rb”)
解析
r+打开文件并读写。
文件存在,打开文件,文件指针定位到文件开始位置;
文件不存在,则报错文件不存在。
答案:C
4、如果一个类至少有一个纯虚函数,则这个类称为____。
- A:虚基类
- B:基类
- C:派生类
- D:抽象类
解析
抽象类是指至少有一个纯虚函数的类。
答案:D
5、下列关于C语言函数描述正确的是____。
- A:每个C语言函数必须有返回值
- B:在C语言函数中,不能定义另一个函数
- C:所有C语言函数之间都可以相互调用,与函数所在位置无关
- D:在一个C语言程序中,可以有多个main函数
解析
void类型函数不需要返回值。
main函数不能被调用。
在一个C语言程序中,只能有1个main函数。
答案:B
6、下列选项不属于C语言字符常量的是____。
- A:‘A’
- B:‘\’
- C:‘\89’
- D:‘\x2a’
解析
字符常量是用单引号括起来的一个字符。有两种表示方法:一种是用该字符的图形符号,如’b’、‘y’、‘*’,另外还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法。
答案:B
7、下列关于C语言赋值语句定义不正确的是____。
- A:a+=1;
- B:a=b=2;
- C:a=b+2=2;
- D:a=1+(b=2);
解析
C选项中b+2=2不属于赋值语句,属于运算式。
答案:C
8、在嵌套使用if语句时,C语言规定else总是____。
- A:与之前最近的if配对
- B:与之前具有相同缩进位置的if配对
- C:与之前第一个if配对
- D:与之前尚未配对且最近的if配对
解析
在C语言中,如果出现if–else的嵌套结构,则if和最近的尚未配对else配对。
答案:D
9、若有C语言定义语句;int a, *b=&a;则输入语句合法的是_____。
- A:scanf(“%d”,*a);
- B:scanf(“%d”,a);
- C:scanf(“%d”,*b);
- D:scanf(“%d”,b);
解析
scanf需要提供变量地址,b是地址,A,B,C提供的不是地址。
答案:D
10、C语言开发的四个步骤是编辑、____、和。
解析
- 编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到1步对代码进行修改,直到没有错误为止。
- 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回1步修改代码。指导没有错误。
- 运行。这个是最后一步,也是C语言的最终目的。
在运行结果与期望不符时,需要检查原因,修改代码,重新执行1,2,3直到程序没有问题。