C语言笔试模拟题8.docx
- 文档编号:24450557
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:16
- 大小:21.64KB
C语言笔试模拟题8.docx
《C语言笔试模拟题8.docx》由会员分享,可在线阅读,更多相关《C语言笔试模拟题8.docx(16页珍藏版)》请在冰豆网上搜索。
C语言笔试模拟题8
一、选择题
(1)在深度为5的满二叉树中,叶子结点的个数为
A)32
B)31
C)16
D)15
正确答案:
B
(2)若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A)bdgcefha
B)gdbecfha
C)bdgaechf
D)gdbehfca
正确答案:
D
(3)一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。
而实现递归
调用中的存储分配通常用
A)栈
B)堆
C)数组
D)链表
正确答案:
A
(4)软件工程的理论和技术性研究的内容主要包括软件开发技术和
A)消除软件危机
B)软件工程管理
C)程序设计自动化
D)实现软件可重用
正确答案:
B
(5)开发软件时对提高开发人员工作效率至关重要的是
A)操作系统的资源管理功能
B)先进的软件开发工具和环境
C)程序人员的数量
D)计算机的并行处理能力
正确答案:
B
(6)在软件测试设计中,软件测试的主要目的是
A)实验性运行软件
B)证明软件正确
C)找出软件中全部错误
D)发现软件错误而执行程序
正确答案:
D
(7)数据处理的最小单位是
A)数据
B)数据元素
C)数据项
D)数据结构
正确答案:
C
(8)索引属于
A)模式
B)内模式
C)外模式
D)概念模式
正确答案:
B
(9)下述关于数据库系统的叙述中正确的是
A)数据库系统减少了数据冗余
B)数据库系统避免了一切冗余
C)数据库系统中数据的一致性是指数据类型一致
D)数据库系统比文件系统能管理更多的数据
正确答案:
B
(10)数据库系统的核心是
A)数据库
B)数据库管理系统
C)模拟模型
D)软件工程
正确答案:
B
(11)C语言规定,在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
正确答案:
C
(12)下列数据中,不合法的C语言实型数据的是
A)0.123
B)123e3
C)2.1e3.5
D)789.0
正确答案:
C
(13)下面四个选项中,均是不合法的用户标识符的选项是
A)A P_0 do
B)float la0 _A
C)b-a goto int
D)_123 temp int
正确答案:
C
(14)设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A)int
B)float
C)double
D)不确定
正确答案:
C
(15)能正确表示逻辑关系:
"a≥10或a≤0"的C语言表达式是
A)a>=10ora<=0
B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10‖a<=0
正确答案:
D
(16)设以下变量均为int类型,表达式的值不为7的是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
正确答案:
C
(17)若有说明:
int*p,m=5,n;以下正确的程序段是
A)p=&n;scanf("%d",&p);
B)p=&n;scanf("%d",*p)
C)scanf("%d",&n);*p=n;
D)p=&n;*p=m;
正确答案:
D
(18)以下程序段的输出结果是
inta=1234;
printf("%2d\n",a);
A)12
B)34
C)1234
D)提示出错、无结果
正确答案:
C
(19)若变量a是int类型,并执行了语句:
a=′A′+1.6;,则正确的叙述是
A)a的值是字符C
B)a的值是浮点型
C)不允许字符型和浮点型相加
D)a的值是字符′A′的ASCII值加上1
正确答案:
D
(20)有如下程序
main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是
A)0
B)1
C)2
D)3
正确答案:
C
(21)有如下程序
main()
{intx=23;
do
{printf("%d",x--);}
while(!
x);
}
该程序的执行结果是
A)321
B)23
C)不输出任何内容
D)陷入死循环
正确答案:
B
(22)执行语句for(i=1;i++<4;);后变量i的值是
A)3
B)4
C)5
D)不定
正确答案:
C
(23)有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,请选择填空。
#include
main()
{inti;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if(_______)
printf("%d",i);
}
A)i%9=5
B)i%9!
=5
C)(i-5)%9!
=0
D)(i-5)%9==0
正确答案:
D
(24)已有定义inta=-2;和输出语句printf("%8lx",a);以下正确的叙述是
A)整型变量的输出形式只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
正确答案:
D
(25)若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)
D)(c>=′a′)&&(c<=′z′)
正确答案:
D
(26)以下正确的说法是
A)用户若需调用标准库函数,调用前必须重新定义
B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C)系统根本不允许用户重新定义标准库函数
D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用
正确答案:
B
(27)以下正确的函数头定义形式是
A)doublefun(intx,inty)
B)doublefun(intx;inty)
C)doublefun(intx,inty);
D)doublefun(intx,y);
正确答案:
A
(28)下面程序段的运行结果是
chara[]="lanuage",*p;
p=a;
while(*p!
=′u′){printf("%c",*p-32);p++;}
A)LANGUAGE
B)language
C)LAN
D)langUAGE
正确答案:
C
(29)下面程序段的运行结果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A)67
B)0
C)字符′C′的地址
D)字符′C′
正确答案:
B
(30)若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A)EOF
B)-1
C)1
D)NULL
正确答案:
C
(31)在C语言中,char型数据在内存中的存储形式是
A)补码
B)反码
C)原码
D)ASCII码
正确答案:
D
(32)若有说明:
inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是
A)2
B)3
C)4
D)无确定值
正确答案:
B
(33)以下不正确的定义语句是
A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5.3]={0,1,3,5,7,9};
C)charc1[]={′1′,′2′,′3′,′4′,′5′};
D)charc2[]={′\x10′,′\xa′,′\x8′};
正确答案:
B
(34)有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]
B)*(&a[i])
C)p[i]
D)*(*(a+i))
正确答案:
D
(35)当说明一个结构体变量时系统分配给它的内存是
A)各成员所需内存量的总和
B)结构中第一个成员所需内存量
C)成员中占内存量最大者所需的容量
D)结构中最后一个成员所需内存量
正确答案:
A
(36)有以下程序
fun(intx,inty,intz)
{z=x*y;}
main()
{inta=4,b=2,c=6;
fun(a,b,c);
printf("%d",c);
}
程序运行后的输出结果是
A)16
B)6
C)8
D)12
正确答案:
B
(37)函数fun的返回值是
fun(char*a,char*b)
{intnum=0,n=0;
while(*(a+num)!
=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
returnnum;
}
A)字符串a的长度
B)字符串b的长度
C)字符串a和b的长度之差
D)字符串a和b的长度之和
正确答案:
D
(38)以下叙述中不正确的是
A)预处理命令行都必须以#号开始
B)在程序中凡是以#号开始的语句行都是预处理命令行
C)宏替换不占用运行时间,只占编译时间
D)在以下定义是正确的:
#definePI 3.1415926;
正确答案:
D
(39)调用gets和puts函数时,必须包含的头文件是
A)stdio.h
B)stdlib.h
C)define
D)以上都不对
正确答案:
A
(40)利用fseek函数可以实现的操作是
A)改变文件的位置指针
B)文件的顺序读写
C)文件的随机读写
D)以上答案均正确
正确答案:
D
(41)下列程序的输出结果是
main()
{inta[5]={2,4,6,8,10},*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
}
A)4
B)22
C)24
D)46
正确答案:
C
(42)若有以下结构体,则正确的定义或引用的是
structTest
{intx;
inty;
}vl;
A)Test.x=10;
B)Testv2;v2.x=10;
C)structv2;v2.x=10;
D)structTestv2={10};
正确答案:
D
(43)下面程序段的运行结果是
char*p="abcdefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"ABCD")));
A)8
B)12
C)4
D)7
正确答案:
C
(44)下面判断正确的是
A)char*a="china";等价于char*a;*a="china";
B)charstr[5]={"china"};等价于charstr[]={"china"};
C)char*s="china";等价于char*s;s="china";
D)charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
正确答案:
C
(45)下列函数的运行结果是
main()
{inti=2,p;
intj,k;
j=i;
k=++i;
p=f(j,k);
printf("%d",p);
}
intf(inta,intb)
{intc;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
return(c);
}
A)-1
B)1
C)2
D)编译出错,无法运行
正确答案:
A
(46)在位运算中,操作数左移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数除以4
D)操作数乘以4
正确答案:
A
(47)若调用fputc函数输出字符成功,则其返回值是
A)EOF
B)1
C)0
D)输出的字符
正确答案:
D
(48)已知函数的调用形式:
fread(buf,size,count,fp),参数buf的含义是
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
正确答案:
C
(49)有如下程序:
#define N 2
#define M N+1
#define NUM 2*M+1
main()
{
inti;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是
A)5
B)6
C)7
D)8
正确答案:
B
(50)以下定义中,标识符prtint(*prt)[3]
A)定义不含法
B)是一个指针数组名,每个元素都是一个指向整数变量的指针
C)是一个指针,它指向一个具有三个元素的一维数组
D)是一个指向整型变量的指针
正确答案:
D
二、填空题
(1)在树形结构中,树根结点没有【1】。
正确答案:
1.(前件)
(2)Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【2】的设计方法。
正确答案:
1.(数据结构)
(3)面向对象的模型中,最基本的概念是对象和【3】。
正确答案:
1.(类)
(4)软件设计模块化的目的是【4】。
正确答案:
1.(降低复杂性)
(5)数据模型按不同应用层次分成3种类型,它们是概念数据模型、【5】和物理数据模型。
正确答案:
1.(逻辑数据模型)
(6)以下程序段的输出结果是【6】。
main()
{inta=2,b=3,c=4;
a*=16+(b++)-(++c);
printf("%d",a);
}
正确答案:
1.(28)
(7)若变量n中的值为24,则print()函数共输出【7】行,最后一行有【8】个数。
voidprint(intn,intaa[])
{inti;
for(i=1; i<1;i++)
{printf("%6d",aa[i]);
if(!
(i%5))printf("\n");
}
printf("\n");
}
正确答案:
1.(5)2.(4)
(8)调用C语标准库函数时要求用【9】命令。
正确答案:
1.(include)
(9)stract函数的作用是【10】。
正确答案:
1.(连接两个字符数组中的字符)
(10)C语言程序的注释可以出现在程序中的任何地方,一个注释以【11】作为开始和结束。
正确答案:
1.(/* */)
(11)设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是
【12】。
正确答案:
1.(11110000)
(12)若已知a=10,b=20,则表达式!
a
正确答案:
1.
(1)
(13)设i,j,k均为int型变量,则执行完下面的for语句后,k的值为【14】。
for(i=0,j=10;i<=j;i++,j--)k=i+j;
正确答案:
1.(10)
(14)下面函数的功能是:
找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。
数组元素中的值已在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
请填空。
#include
#include
voidfun(inta[],intn,int*max,int*d)
{inti;
*max=a[0];
*d=0;
for(i=0;【15】;i++)
if(*max<【16】)
{*max=a[i];*d=i;}
}
main()
{inti,x[20],max, index,n=10;
randomize();
for(i=0;i { x[i]=rand()%50;printf("%4d",x[i]); } printf("\n"); fun(x,n,&max,&index); printf("Max=%5d,Index=%4d\n",max,index); } 正确答案: 1.(i (15)以下程序的输出结果是【17】。 voidfun() {staticinta=0; a+=2;printf("%d",a); } main() {intcc; for(cc=1;cc<4;cc++)fun(); printf("\n"); } 正确答案: 1.(246) (16)以下程序的输出结果是【18】。 #defineMAX(x,y)(x)>(y)? (x): (y) main() {inta=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf("%d\n",t); } 正确答案: 1.(7) (17)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。 st=(char*)【19】; 考生答案: 1.() 正确答案: 1.(malloc(11)或malloc(sizeof(char)*11)) (18)以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 FILE*myf;longf1; myf=【20】("test.t","rb"); fseek(myf,0,SEEK_END);f1=ftell(myf); fclose(myf); printf("%d\n",f1); 正确答案: 1.(fopen)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 笔试 模拟