版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单选(本大题共31小题,每小题1分,共31分)
1.程序运行中需要从键盘输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
A.空格或逗号
B.逗号后回车
C.逗号或分号
D.空格或回车
2.逻辑表达式(x>0&&xv=10)的相反表达式为(A)。
A.x<=0||x>10
B.x<=0&&x>10
C.x<=0||x<=10
D.x>0&&x>10
3.当处理一个问题时的循环次数已知时,最好采用(A)语句来解沃。
A.for
B.while
C.do-while
D.switch
4.假定i的初值为0,则在循环语句中“while(ivn){s+=i*i;i++;}"中,其循环体被执行的次数为(B).
A.n-I
B.n
C.n+1
D.n/2
5.假定一个二维数组的定义语句为“inia[3H4]={{3.4},{2,8,6)};”,则元素的值为(D)。
A.2
B..4
C.6
D.8
6.在下列选项中,不正确的函数原型格式为(C
A.intFunction(inta);
B.voidFunction(char);
C.intFunction(a*b);
D.voidini(double*a);
7.假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据地址大(C)个字节。
A.1
B..2
C.4
D.8
8.假定指针变量p定义为“血本p=malloc[sizeof(int));,要释放p所指向的动态存储空间,应调用的函数为(A)。
A.free(p)
B.delete(p)
C.free(*p)
D.free(&p)
9.C语言中的系统函数fopen。是(D)一个数据文件的函数。
A.读取
B.写入
C.关闭
D.打开
10.由C语言源程序文件编译而成的目标文件的默认扩展名为(D)>
A.cpp
B.c
C.exe
D.obj
11.设x和y其中均为逻辑值,则x||y为假的条件是x和y(C)。
A.均为真
B.其中一个为真
C.均为假
D.其中一个为假
12.枚举类型中的每个枚举常量值都是一个(A)。
A.整数
B.浮点数
C.字符
D.记录
13.循环语句"for(i=0;i<=n;i++)S;”中循环体S被执行的次数为(D)。
A.1
B.n-1
C.n
D.n+1
14.假定有语句为“inta[4][5]=({l,2,3},{2,8));",Ma[l]⑴的值为(C)。
A3
B..5
C.8
D.2
6假定有语句“intb[10『pb;”,则不正确的赋值为(B)。
A.pb=b
B.pb=b[5]
C.pb=b+2
D.pb=&b[OJ
16.标准输入设备的文件流标识符是(B工
A.stderr
B.stdin
C.stdout
D.stdio
17.由C语言目标文件连接而成的可执行文件的默认扩展名为(B)0
A.cpp
B.exe
C.obj
D.c
18.带有随机函数调用的表达式rand()%20的值在(C)区间内。
A.1-19
B.1-20
C.0-19
D.0-20
19.在for循环语句“for(i=0;ivn;i++)S;"中,循环体S被执行的次数为(A)。
A.n
B.n+1
C.n-1
D.n-2
20.下列的字符数组定义中,存在语法错误的是(D)o
A.chara[20]="abcdefg"
B.charaU="x+y=55";
C.chara[l5]={'l,;2,};
D.chara[IOJ='5';
21.若有一个函数原型语句为“double*function。;”,则此函数的返回值类型
为(B)。
A.实数型
B.实数指针型
C.函数指针型
D.数组型
22.在C语言中,所有预处理命令都是以(B)符号开头的。
A.*
B.#
C.&
D.@
23.若要使p指向二维整形数组a[10Jl20],Mp的类型为(D)。
A.int*
B.int**
C.int*[20]
D.int(*)[20]
24.表示文件结束符的符号常量为(C)„
A.eof
B.Eof
C.EOF
D.fcof
25.逻辑表达式(x<0||y==5)相反表达式为(B)。
A.x<=0||y!=5
B.x<=0&&y!=5
C.x>0||y!=5
D.x>0&&y==0
26.循环体至少被执行一次的循环语句为(C)。
A.for
B.while
C.do-while
D.任一种循环
27.假定n的值为6,则表达式++n的值为(D)。
A.6
B.5
C.4
D.7
28.假定一个二维数组定义为“inta[3H4]={{3,4},[2,8,6});”,则元素的值为(B)。
A.8
B..2
C.4
D.6
29.假定有语句为"int*p=calloc(20,sizeof(int));",Mp所指向的动态数组中所包含的元素个数为(V)。
A.10
B..40
C.20
D.80
30.十进制数5()表示成符合C语言规定的八进制数为(D)o
A.20
B..32
C.62
D.062
31.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符
串为(C)。
A.r+
B.ab+
C.rb+
D.wb+
二、填空(本大题共16小题,每小题1分,共16分)
1.假定x的值为5,则执行“a=(x>6?3:8);”语句后a的值为(—8—)。
2.假定一个字符指针数组的定义为“char*则该数组占用的存储空间的字节数为(_5—)。
3.假定二维数组的定义为“doublea[M][N];”,则数组元素的行下标的最大值为
4.若p指向x,则(_*p—)与x的表示是等价的。
5.一个空字符串的长度为(1)。
6.在include命令中所包含的文件,可以是头文件,也可以是(一程序一)文件。
7.假定x=8,则表达式2+X++的值为(—10—)。
8.对于“for(i=0;i<10;i++)S”语句,循环体S被执行的次数为(—10—)。
9.若x-5,y-8,则执行“if(x〉y)c-2⑻sec-3;”语句后,c的值为(―3—
10.假定二维数组的定义为“inta[3][5];“则该数组所包含的元素个数为(—15—)。
ll.strcat。函数用于(_链接)两个字符串。
12.若要把一个指针p强制转换为字符指针,则采用的强制转换表达式为(_(char*)p_)o
13.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则此包含命令的标识符为(―include—
14.用于从键盘上为变量输入值的标准输入函数的函数名为(―scanf_)o
15.执行"intx=45,y=8;printf("%d",x/y);“语句序列后得到的输出结果为(—5—)。
16.把表达式x=x+y转换成符合赋值表达式为(_x+=y___)。
三、问答(本大题共26小题,每小题1分,共26分)
l.#inlude"stdio.h"
voidinain()
{inti,s=0;
fbr(i=l;s<15;i++)
if(i%2==0)s+=i;
printf("s=%d\n,,,s);
)
输出结果:s=20
2.#includs"stdio.h"
voidmain()
{inta[9]={36,25,48,24,55,40,18,66,20);
inti=0,k=-1,x=40;
while(a[i]!=x&&i<9)i++;
if(a[i]==x)k=i;
printf("k=%d\n,,,k);
)
输出结果:k=5
3.#include"stdio.h”
structworker{charnamefl51;inlage;floatpay;}
voidrnain(){
structworkerx={"wangke",30,4G00);
structworkery,*p;
y=x;p=&x;
printf("%d%7.2f\n,,,y.age+p->age,p->pay+60);
输出结果:962560.00
4.#include"stdio.h"
voidSB(charch){
switch(ch){
case'A':case'a':printf("1");break;
caseB:caseb,:printf("2");break;
default:printf("3");break;
)
voidmain()
{
charal='a,,a2='B',a3='f;
SB(al);SB(a2);SB(a3);
printf(H\n");
)
输出结果:123
5.#include"stdio.h"
#defineM6
voidmain()
{inti,xl=0,x2=0;
inta[M]={10,15,22,24,12,30);
for(i=0;i<M/2;i++)
{xl+=a[il;x2+=a[M-i-ll;}
printf(',%d%d\n,\xl,x2);
)
输出结果:4766
6.#include"stdio.h"
voidmain()
{inti,s=0;
for(i=l;s<10;i++)
if(i%2==0)
s+=i;
printf(os=%d\n",s);
)
输出结果:s=12
7.#include"stdio.h"
voidmain()
{inta[6]={36,25,48,24,55,40}:
inti=0,x=24;
while(a[i]!=x&&i<6)i++;
if(i<6)
piintf("%d\n",i);
)
输出结果:_______________
3
8.#include"stdio.h"
#defineM6
voidmain()
{inti,xI=0,x2=0;
inta[M]={2,5,8,4,6,9);
fbr(i=0;i<M/2;i++)
{xl+=a(il;x2+=a[M-i-H;}
printf("%d%d\n",xLx2);
)
输出结果:1519
9.#include"stdio.h"
voidSB(charch){
switch(ch){
case'A':printf(,'l");break;
caseB:printf("2");break;
defaull:primf("3");break;
)
voidmain()
{charal='a,,a2=,B\a3='A";
SB(al);SB(a2);SB(a3);
I
输出结果:321
IO.#include"stdio.h"
voidmain()
{intx=20,i=2;
whilc(i<=x)
{if(x%i==0)
{printf("%d",i);x/=i;}
elsei++;
}}
答案;225
11.#include"stdio.h"
intWF(intx,inty)
{x=x+y;
y+=x;
returnx+y;
voidmain()
{inix=3,y=5;
printf(n%d\n",WF(x,y));
}
答21
12.#include"stdioJi"
intLA(int*a,intn)
{inti,s=0;
for(i=0;i<n;i++)s+=a[i];
returns;
)
voidinain()
{inta[5]={1,2,345};
intb=LA(2,3)+LA(a+2,3);
printf('b=%d\n'\b);
}
答b=18
13.#include"stdio.h"
voidmain()
{
inti,s=O:
for(i=l;i<10;i++)
if(i%2==0)s+=i;
printf("s=%d\nH,s);
)
输出结果:s=20
14.#include"stdio.h"
voidmain()
(
inta[6]={36,25,48,24,55,40};
inti=0,x=24;
while(a[i]!=x&&i<6)
i++;
if(i<6)printf("%d\n",i);
)
输出结果:—3
15.#include"stdio.h"
voidSB(charch)
{switch(ch)
{case'A':printf("「');break;
case'B':printf("2");break;
default:printf("3");break;
)
)
voidmain()
{charal="a',a2='B',a3="A';
SB(al);SB(a2);SB(a3);
I
输出结果:—321
I6.#include"stdio.h"
structworker{charname[15];
intage;
floatpay;};
voidmain()
(
structworkerx={"wangri",48,2500);
structworkery,*p;
y=x;p=&x;
printf("%d\n",y.age+p->age>);
)
输出结果:—96
17.intSC(intaJntb,intc){
if(a>=b&&a<=c)returna;
if(b>=a&&b>=c)returnb;
returnc;
)
函数功能:求出a,b,c三个参数中的最大值并返回。
18.int*LI(intn){
inii;
int*a=malloc(n*sizcof(int));
fbr(i=0;i<n;i++)scanf("%d",a+i);
returna;
}
函数功能:建立一个动态整形数组a[n],接着从键盘上输入n个整数到a[n]中,最后返回数组a[n]的首地址。
19.假定使用$F(20)调用下面函数,则得到的输出结果为(252工
voidSF(intx){
inti=2;
while(x>=i){
if(x%i==O)
{printf("%d'\i);x/=i;)
i++;
I
printf("%d\n”,x);
)
20.假定结点的结构类型为intnode,它的数值域为data,链接指针域为next,请指出下面函数的功能。
voidQC(structintnode*f){
whilc(f){
printf("%d",f->data);
f=f->next;
)
)
函数功能:一遍历输出由表头指针f所指向的单链表中每个结点的data域的值。
21.假定结构体类型structworker的定义体为:
{charname[15];intage;floatpay;}o
voidQA(structworkera[]jntn)
(
inti;
for(i=0;i<n;i++)
scanf("%s%d%f',a[i].name,&a[i].age,&a[i].pay);
)
函数功能:从键盘上为具有structworker类型的数组a[n]输入n个记录。
22.按照“intFF(intaU,intn)”的函数声明,编写出递归函数的定义,求出数组a中所有n个元素之积并返回。
intFF(inta[],intn)
(
if(n<=0){prir.tf("n值非法\n"),exit(1);)
if(n==l)
returna[0];
else
returna[n-l]*FF(a,n-l);
23.补充完整下面的函数定义,计算l+l*3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大队干部竞选演讲稿(合集15篇)
- 垃圾分类活动总结5篇
- 2025工程(瓷砖采购)合同
- 工单生产作业操作规范及规定
- 译林版英语三年级下册Unit 5 Fruit 作业单1
- 2025年期货从业资格《期货法律法规》模拟试题及答案
- 山西2026年一级建造师《市政公用工程》真题及答案解析
- 2026年行车应急车道占用安全禁止事项
- 2026年校园饮用水安全管理规范
- 通信设备事故应急预案
- 2025年南京市国有企业晨星托育招聘托育工作人员考试试题
- QGDW11499-2025直升机吊挂运输输电线路物资施工导
- 南水北调(遵义)水网有限公司招聘笔试题库2025
- 2023年南山中学和南山中学实验学校自主招生考试数学试题
- 智慧树知到《中医与诊断-学做自己的医生(暨南大学)》2025章节测试附答案
- 实验室意外事故应急处置和应急预案课件
- 北京玉渊潭中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
- 《电力可靠性管理办法》参考试题库(含答案)
- 知识竞赛模板(含有计时器)
- 南方少数民族传统合唱精讲智慧树知到期末考试答案章节答案2024年四川音乐学院
- 清酒知识讲座
评论
0/150
提交评论