二级C语言21Word文件下载.docx
- 文档编号:22278457
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:22
- 大小:26.77KB
二级C语言21Word文件下载.docx
《二级C语言21Word文件下载.docx》由会员分享,可在线阅读,更多相关《二级C语言21Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
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)
B.
C.
[解析]f()函数的功能是对形参a的各个成员用结构体变量b的各个成员进行赋值后,返回变量a。
3.已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是______。
{unsignedinta=32,b=66;
%c/n"
a|B);
}
∙A.66
∙B.98
∙C.b
∙D.B
[解析]位运算符“|”的作用是按位或,即两个二进制数的相应位中只要有一个为1,该位的结果值为1。
最后以字符型输出,98对应的字符“b”。
4.当输入为"
quert?
"
时,下面程序的执行结果是
{charc;
c=getchar();
while(c!
='
?
'
)
{
putchar(c);
∙A.quert
∙B.Rvfsu
∙C.quert?
∙D.rvfsu?
A.
[解析]本题考查的是字符的输入输出函数getchar和putchar。
本题程序段实现的功能是:
从键盘上逐个的输入字符,直到遇到‘?
’则结束输入,并把除‘?
’以外输入的每个字符输出到屏幕上。
5.若有以下程序
typedefstructstu{
charname[10],gender;
intscore;
}STU;
voidf(STUa,STUb)
{b=a;
%s,%c,%d,"
b.name,b.gender,b.score);
{STUa={"
'
m'
290},b={"
350};
f(a,b);
%s,%c,%d/n"
b.name,b.gender,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
[解析]f函数将结构体a赋值给b,然后输出,注意这是值传递,不会改变main中结构体b值,所以答案选择A。
6.有以下程序:
{unsignedinta;
intb=-1;
a=b;
%u"
a);
程序运行后的输出结果是()。
∙A.-1
∙B.65535
∙C.32767
∙D.-32768
[解析]程序中定义了一个无符号整型变量a和一个整型变量b,并且给它赋初值为-1,整型在计算机中都以二进制表示,-1在内存中表示为1111111111111111,所以当表示为无符号整数时转换为十进制数65535,故最后输出的无符号型a的值为65535。
所以,4个选项中选项B符合题意。
7.以下程序的输出结果是______。
{inta=5,b=4,c=6,d;
%d/n"
,d=a>b?
(a>c?
a:
c):
(b));
∙A.5
∙B.4
∙C.6
∙D.不确定
8.假定已建立以下链表结构,且指针P和q已指向如下图所示的结点:
则以下选项中可将q所指向结点从链表中删除并释放该结点的语句组是
∙A.(*p).next=(*q).next;
free(p);
∙B.p=q->next;
free(q);
∙C.p=q;
∙D.p->next=q->next;
D.
[解析]要从链表中删除b,只需要将c结点的地址赋给p->next即可。
c结点的地址存放在q->next中,因此,p->next=q->next即可,然后用free(q)释放指针q的空间。
9.在Windows中,启动应用程序的正确的方法是()
∙A.用鼠标指向该应用程序图标
∙B.将该应用程序窗口最小化成图标
∙C.将该应用程序窗口还原
∙D.用鼠标双击该应用程序图标
10.以下叙述中正确的是
∙A.C语言程序将从源程序中第一个函数开始执行
∙B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
∙C.C语言规定必须用main作为主函数名,程序从此开始执行,在此结束
∙D.main作为用户标识符,用以命名任意一个函数作为主函数
[解析]一个C语言源程序至少包含一个main函数。
无论main函数在程序中的位置如何,它都是C语言程序的主函数,是程序执行的入口和出口。
11.有以下程序
voidfun(char*w,intm)
{chars,*p1,*p2;
p1=w;
p2=w+m-1;
while(p1<p2){s=*p1;
*p1=*p2;
*p2=s;
p1++;
p2--;
{chara[]="
123456"
;
fun(a,strlen(a));
puts(a);
程序运行后的输出结果是{{U}}{{/U}}。
∙A.654321
∙B.116611
∙C.161616
∙D.123456
[解析]函数fun的功能是将字符串w中的元素从大到小进行排列,所以在主函数中调用函数fun后,字符串a的元素从大到小进行了排列。
12.有以下程序
main( )
{ inti;
for(i=0;
i<3;
i++)
switch(i)
{ case1:
printf("
%d"
i);
case2:
default:
}
}
执行后输出的结果是
∙A.011122
∙B.012
∙C.012020
∙D.120
[解析]当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。
若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。
13.下面函数的功能是{{U}}{{/U}}。
sss(s,t)
char*s,*t;
{while((*s)&
&
(*t)&
(*t++==*s++));
return(*s-*t):
∙A.将字符串s复制到字符串t中
∙B.比较两个字符串的火小
∙C.求字符串的长度
∙D.将字符书s接续到字符串t中
[解析]*s-*t的输出实际是比较两个字符的ASCII码值,比较两个字符串的大小。
14.按通信距离划分,计算机网络可以分为局域网和广域网。
下列网络中属于局域网的是()
∙A.Internet
∙B.CERNET
∙C.Novell
∙D.CHINANET
15.有以下程序:
#include<stdio.h>
voidfun(intp)
{intd=2;
p=d++;
p);
{inta=1;
fun(a);
程序运行后的输出结果是
∙A.32
∙B.12
∙C.21
∙D.22
[解析]程序运行后,首先输出的是p的值,然后输出a的值。
p=d++,得到p的值为d的初始值2;
a的值不变,仍为1。
16.有以下程序
{chars[]="
159"
,*p;
p=s;
printf("
%c"
,*p++);
程序运行后的输出结果是______。
∙A.15
∙B.16
∙C.12
∙D.59
17.数据厍系统的核心是{{U}}{{/U}}。
∙B.软件开发
∙C.数据库设计
∙D.数据库管理系统
[解析]数据库管理系统DBMS是数据库系统的核心。
DBMS是负责数据库的建立、使用和维护的软件。
DBMS建立在操作系统之上,实施对数据库的统一管理和控制。
用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。
另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。
18.设有程序段:
intk=12;
while(k=1)k=k-1;
则下列描述中正确的是{{U}}{{/U}}。
∙A.while循环执行10次
∙B.循环是无限循环
∙C.循环体语句一次也不执行
∙D.循环体语句执行一次
[解析]本题考查while循环。
while循环的控制表达式k=1是个赋值表达式而不是逻辑表达式,所以循环体一次也不执行。
19.若有以下程序段
charstr[4][12]={"
aa"
"
bbb"
ccccc"
d"
},*strp[4];
inti;
for(i=0;
i<4;
i++)strp[i]=str[i];
不能正确引用字符串的选项是______。
∙A.strp
∙B.str[0]
∙C.strp[3]
∙D.*strp
[解析]strp是字符串指针数组,不能作为字符串的引用。
20.若有说明:
inta[][3]={1,2,3,4,5,6,7};
,则a数组第一维的大小是
∙A.2
∙B.3
∙C.4
∙D.无确定值
[解析]本题考查二维数组的定义方式。
第一维的大小由以下方法判断:
①当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;
②当初值的个数不能被第二维的常量表达式的值除尽时,则第一维的大小=所得的商数+1。
21.在C语言中,运算对象必须是整型数的运算符是
∙A.%
∙B./
∙C.%和/
∙D.**
[解析]在C语言中,“%”运算符两侧的运算数必须是整型。
22.有以下程序:
{intc;
while((c=getchar{{U}}{{/U}})!
/n'
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
case4:
}}
/n"
);
从第一列开始输入以下数据,↙代表一个回车符。
2743↙
程序的输出结果是{{U}}{{/U}}。
∙A.66877
∙B.678966
∙C.6677877
∙D.6688766
[解析]本题主要考查了字符输入输出函数getchar和putchar的使用。
getchar函数用来从标准输入设备上读入一个字符,putchar(c)函数是将字符变量c中的字符输出到标准输出设备上,并且字符可以看作整数参与运算。
23.有以下程序:
voidfun(int*a,inti,intj)
{intt;
if(i<j)
{t=a[i];
a[i]=a[j];
a[j]=t;
fun(a,++i,--j);
{inta[]={1,2,3,4,5,6},i;
fun(a,0,5);
i<6;
a[i]);
执行后的输出结果是______。
∙A.654321
∙B.432156
∙C.456123
∙D.123456
[解析]本题考查指针变量作函数形参的问题。
指针变量作函数的形参,实现的是地址传递,形参的改变可以影响实参。
fun由数的功能是将a所指数组中的内容逆置。
在main函数中调用fun函数后,实参数组s中元素的值变为:
a[0]=6、a[1]=5、a[2]=4、a[3]=3、a[4]=2、a[5]=1。
24.软件开发的结构化生命周期方法将软件生命周期划分成______。
∙A.定义、开发、运行维护
∙B.设计阶段、编程阶段、测试阶段
∙C.总体设计、详细设计、编程调试
∙D.需求分析、功能定义、系统设计
25.表达式~0x11的值是{{U}}{{/U}}。
∙A.0xFFEE
∙B.0x71
∙C.0x0071
∙D.0xFFE1
[解析]本题主要考查按位求反运算和整型常量的表示:
①十六进制整型常量的形式是以数字0x或OX开头的十六进制字符串;
②按位求反运算的规则是将二进制表示的运算对象按位取反,即将1变0,将0变1。
“0x11”即0000000000010001,进行按位求反运算“~0x11”后为1111111111101110,即0xFFEE。
26.以下对枚举类型名的定义中正确的是()。
∙A.enuma={one,two,three};
∙B.enuma{one=9,two=-1.three=200};
∙C.enuma={"
one"
,"
two"
four"
};
∙D.enuma{"
nine"
three"
[解析]枚举类型的定义类似于结构体和共用体,所以选项A和C不正确。
大括号中的枚举元素应该使用合法标识符来定义,而不是字符串常量,所以选项D不正确。
故应该选择B。
27.下列选项中,不是一个算法的基本特征的是{{U}}{{/U}}。
∙A.完整性
∙B.可行性
∙C.有穷性
∙D.拥有足够的情报
[解析]作为一个算法,一般应该具有下列4个特征:
①可行性,即考虑到实际的条件能够达到一个满意的结果:
②确定性,算法中的第一个步骤都必须是有明确定义的;
⑧有穷性,一个算法必须在有限的时间内做完;
④拥有足够的情报。
28.有以下程序:
29.设有定义:
floata=2,b=4,h=3;
以下C语言表达式中与代数式
(a+b)h计算结果不相符的是
∙A.(a+b)*h/2
∙B.(1/2)*(a+b)*h
∙C.(a+b)*h*1/2
∙D.h/2*(a+b)
[解析]将简单的数学表达式表示成合法的C程序的语句。
选项B中由于1和2都是整型,其1/2的运算结果为0,故整个表达式的值为0,所以它的结果和题目中要求的代数式的计算结果不相符。
30.有以下程序
#include
typedefstruct{charname[9];
charsex;
floatscore[2];
}STU;
85.0,90.0};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
i,2;
i++)a.score[i]=b.score[i];
returna;
95.0,92.0},d;
d=f?
%s,%c,%2.0f%2.0f/n"
d.name,d.sex,d.score[0],d.score[1]);
程序的运行结果是______。
∙A.Qian,f,95,92
∙B.Qian,85,90
∙C.Zhao,m,85,90
∙D.Zhao,f,95,92
31.字符串"
///'
abcd/123/xAB/t"
的长度是()。
∙A.8
∙B.17
∙C.9
∙D.10
[解析]本题中的字符串出现了5个转义字符//、//'
、/123、/xAB、/t和4个字符‘a’、‘b’、‘c’、‘d’,所以字符串的长度是9,选项C符合题意。
32.在深度为5的满二叉树中,叶子结点的个数为_______。
∙B.31
∙C.16
∙D.15
[解析]所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。
也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2k-1个结点,且深度为m的满二叉树有2m个结点在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。
33.下列程序的运行结果为{{U}}{{/U}}。
群include<stdio.h>voidabc(char*str){inta,b,i,j;
for(i=0;
str[i]!
/0;
i++)if(str[i]!
==:
a'
)str[j++]=str[i];
str[j]='
/0'
;
}voidmain(){charstr[]="
abcdef"
abc(str);
str[]=%s"
,str);
}
[解析]本题考查函数调用是的参数传递。
通过函数abc的执行,将字符串中的字母a去掉,保留剩下的,由于是通过指针调用,所以改变字符串的结果。
34.若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是()
∙A.s->next=NULL;
p=p->next;
p->next=s;
∙B.p=p->next;
s->next=p->next;
∙C.p=p->next;
s-next=p;
p->next=s;
∙D.p=(*p).next;
(*s).next=(*p)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 21