1.下列选项中,说法正确的是(D)。
a.函数的形参可以是常量、变量或表达式
b.函数返回值的类型是由return语句中表达式类型决定
c.C程序中若未给变量赋初值,则变量的初值自动为0
d.调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递是单向值传递
2.下列选项正确的是(D)。
a.C语言编译时不检查语法(x,语法错误就无法编译成功)
b.结构体类型的变量,不能在声明结构体类型组成时一起定义(可以)
c.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名
d.C语言在定义函数时省略extern,则默认是外部函数
3.下列选项正确的是(A)。
a.C语言程序中注释部分可以出现在程序中任意合适的地方
b.结构体类型中的各个成分均不能是数组或指针(x)
c.C语言的函数可以嵌套定义
d.元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义(x)
4.下列选项正确的是(A)。
a.使用typedef定义新类型名后,新类型名与原类型名实际上是等价的
b.花括号“{“和”}”只能作为函数体的定界符
c.C语言的子程序有过程和函数两种
d.分号是C语句之间的分隔符,不是语句的一部分(X,分号是语句的一部分)
5.下列选项中错误的是(D)。
a.unsigned 和 void 在 C 中都是保留字
b.树形结构中元素之间存在一对多的关系(对)
c.C语言程序的基本组成单位是函数(对)
d.在C语言程序中,注释说明只能位于一条语句的后面(错,注释哪里都可以)
6.下列四种排序方法中,适合处理大量数据的是(D)。
a冒泡排序
b.直接插入排序
c.快速排序
d.堆排序
7.对序列[8 6 7 5 4]进行递减冒泡排序,则第三趟排序后的序列为(D)。
d.8 7 6 5 4
void solve()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<3;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(a[j]<a[j+1