二级C语言-2-1
(总分:84.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:35,分数:52.00)
1.数据库系统的核心是______。
A. 数据模型
B. 数据库管理系统
C. 数据库
D. 数据库管理员

(分数:2.00)
 A.
 B. 
 C.
 D.
解析:[解析] 数据库管理系统是负责数据库中的数据组织和数据操纵数据维护、控制及保护的数据服务。它是一种系统软件,是数据库系统的核心。
2.有以下程序
#include<stdio.h>
#include<string.h>
typedef struct{char name[9];char sex;float score[2];)STU;
STU f(STU a)
{ STU b={"Zhao",'in',85.0,90.0);int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
return a;
}
main()
{ STU c={"Qian",'f',95.0,92.0},d;
d=f(c);printf("%s,%c,%2.0f,%2.0f",d.name,d.sex,d.score[0],d.score[1]);
}
程序的运行结果是{{U}} {{/U}}。
A.qian,f,95,92
B.qian,m,85,90
C.ZhaO,m,85,90
D.Zhao,f,95,92

(分数:1.00)
 A.
 B.
 C. 
 D.
解析:[解析] f()函数的功能是对形参a的各个成员用结构体变量b的各个成员进行赋值后,返回变量a。
3.已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是 ______。
main()matlab代码免费下载
{unsigned int a=32,b=66;
printf("%c/n",a|B) ;
}
A. 66
B. 98
C. b
D. B

(分数:2.00)
 A.
 B.
 C. 
xml声明格式
 D.
解析:[解析] 位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有一个为1,该
位的结果值为1。最后以字符型输出,98对应的字符“b”。
4.当输入为"quert?"时,下面程序的执行结果是
#include<stdio.h>
main()
{ char c;
c=getchar();
while(c!='?')
{
putchar(c);
c=getchar();
}
}
putchar函数∙ A. quert
B. Rvfsu
C. quert?
D. rvfsu?

(分数:1.00)
 A. 
 B.
 C.
 D.
解析:[解析] 本题考查的是字符的输入输出函数getchar和putchar。本题程序段实现的功能是:从键盘上逐个的输入字符,直到遇到‘?’则结束输入,并把除‘?’以外输入的每个字符输出到屏幕上。
5.若有以下程序
#include<stdio.h>
typedef struct stu{
char name[10],gender;
int score;
}STU;
void f(STU a,STU b)
{ b=a;
printf("%s,%c,%d,",b.der,b.score);
{
main()
{ STU a={"Zhao",'m',290},b={"Qian",'f',350};
f(a,b);
printf("%s,%c,%d/n",b.der,b.score};
}
则程序的输出结果是______。
A.Zhao,m,290,Qian,f,350
B.Zhao,m,290,Zhao,m,290
C.Qian,f,350,Qian,f,350
D.Zhao,m,290,Zhao,f,350

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:[解析] f函数将结构体a赋值给b,然后输出,注意这是值传递,不会改变main中结构
体b值,所以答案选择A。
6.有以下程序:
main()
{ unsigned int a;
int b=-1;
a=b;
printf("%u",a);
}
程序运行后的输出结果是( )。
A. -1
B. 65535
C. 32767
D. -32768

(分数:1.00)
 A.
 B. debugger怎么读
 C.
 D.
解析:[解析] 程序中定义了一个无符号整型变量a和一个整型变量b,并且给它赋初值为-1,整型在计算机中都以二进制表示,-1在内存中表示为1111111111111111,所以当表示为无符号整数时转换为十进制数65535,故最后输出的无符号型a的值为65535。所以,4个选项中选项B符合题意。
7.以下程序的输出结果是______。
#include<stdio.h>
main()
{ int a=5,b=4,c=6,d;
printf("%d/n",d=a>b?(a>c?a:c):(b));
}
A. 5
B. 4
C. 6
D. 不确定

(分数:1.00)
 A.
 B.
 C. 
 D.
解析:
8.假定已建立以下链表结构,且指针P和q已指向如下图所示的结点:

则以下选项中可将q所指向结点从链表中删除并释放该结点的语句组是
A. (*p).next=(*q).next;free(p);
B. p=q->next;free(q);
C. p=q;free(q);
typedef定义函数指针类型D. p->next=q->next;free(q);

(分数:2.00)
 A.
 B.
 C.
 D. 
解析:[解析] 要从链表中删除b,只需要将c结点的地址赋给p->next即可。c结点的地址存放在q->next中,因此,p->next=q->next即可,然后用free(q)释放指针q的空间。
9.在Windows中,启动应用程序的正确的方法是 ( )
A.用鼠标指向该应用程序图标
B.将该应用程序窗口最小化成图标
C.将该应用程序窗口还原
D.用鼠标双击该应用程序图标

(分数:1.00)
 A.
 B.
 C.
 D. 
解析:
10.以下叙述中正确的是
A. C语言程序将从源程序中第一个函数开始执行
B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C. C语言规定必须用main作为主函数名,程序从此开始执行,在此结束
D. main作为用户标识符,用以命名任意一个函数作为主函数

(分数:1.00)
 A.
 B.
 C. 
 D.
解析:[解析] 一个C语言源程序至少包含一个main函数。无论main函数在程序中的位置如何,它都是C语言程序的主函数,是程序执行的入口和出口。
11.有以下程序
#include<stdio.h>
#include<string.h>
void fun(char*w,int m)
{char s,*p1,*p2;
evocationp1=w;p2=w+m-1;
while(p1<p2){s=*p1;*p1=*p2;*p2=s;p1++;p2--;}
}
main()
{char a[]="123456";
fun(a,strlen(a));puts(a);
}
程序运行后的输出结果是{{U}} {{/U}}。
A.654321
B.116611
C.161616
D.123456

(分数:2.00)
 A. 
 B.
 C.
 D.
解析:[解析] 函数fun的功能是将字符串w中的元素从大到小进行排列,所以在主函数中调用函数fun后,字符串a的元素从大到小进行了排列。
12.有以下程序
  main( )
  { int i;
   for(i=0;i<3;i++)
    switch(i)
    { case 1: printf("%d",i);
     case 2: printf("%d",i);
     default: printf("%d",i);
    }
  }
  执行后输出的结果是
A. 011122
B. 012
C. 012020
D. 120

(分数:1.00)

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