C语言复习题库Word格式.docx
- 文档编号:21601734
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:172
- 大小:103.50KB
C语言复习题库Word格式.docx
《C语言复习题库Word格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题库Word格式.docx(172页珍藏版)》请在冰豆网上搜索。
x;
printf(“%c\n”,x);
A、A
B、Z
C、a
D、z
10,以下叙述中正确的是(A)。
A、构成C程序的基本单位是函数
B、所有被调用的函数一定要在调用之前进行定义
C、可以在一个函数中定义另一个函数
D、main()函数必须放在其它函数之前
11,putchar函数可以向终端输出一个(B)。
A、字符串
B、字符或字符型变量值
C、实型变量值
D、整型变量表达式值
12,执行下列程序后,其输出结果是(b)。
{inta=9;
a+=a-=a+a;
%d\n"
a);
}
A、18
B、-18
C、-9
D、9
13,以下程序的执行结果是_A
main()
{intnum=0;
while(num<
=2){num++;
printf("
%d,"
num);
}}
A、1,2,3,
B、1,2,3,4,
C、1,2,
D、0,1,2
14,以下程序的输出结果是D
{intx=10,y=3;
printf(“%d\n”,y=x/y);
A、不确定的值
B、0
C、1
D、3
15,C语言规定,在一个源程序中,main函数的位置(D)。
A、必须在最开始
B、必须在系统调用的库函数的后面
C、必须在最后
D、可以任意
16,不合法的八进制数是D
A、01
C、07700
D、028
17,若有宏定义如下:
#defineMOD(x,y)x%y
则执行以下程序段的输出为C。
intz,a=15,b=100;
z=MOD(b,a);
printf(“%d\n”,z++);
A、11
B、6
C、10
D、5
18,若int类型占两个字节,则以下程序段的输出是D
inta=-1;
printf(“%d,%u\n”,a,a);
A、-1,-1
B、-1,32767
C、-1,32768
D、-1,65535
19,假定所有变量均已正确定义,下列程序段运行后x的值是(D)。
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1)x--;
elseif(k2)x=4;
elsex=3;
A、15
B、14
C、3
D、4
20,C语言中,逻辑"
真"
等价于C
A、非零的整数
B、大于零的整数
C、非零的数
D、大于零的数
填空
1.组成C程序的基本单位是__函数___,其组成部分包括_函数首部_和__函数体。
2.以下程序的输出结果是__itis。
#include“string.h”
#include“ctype.h”
voidfun(charstr[])
{inti,j;
for(i=0,j=0;
str[i];
i++)
if(isalpha(str[i]))
str[j++]=str[i];
str[j]=‘\0’;
{charss[80]=“itis!
”;
fun(ss);
printf(“%s\n”,ss);
3.有以下宏定义和赋值语句,宏置换后的赋值语句的形式是_____。
#defineA3+5
……
p=A*A;
【参考答案】
p=3+5*3+5
p=3+5*3+5;
4.为了建立如图所示的存储结构,请填空。
structslink
{chardata;
_____;
}node;
structnode*link
5.若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据的形式是_____。
charc1,c2,c3;
scanf(“%4c”,&
c1);
c2);
scanf(“%4c”,&
c3);
AAAABBBBCCCC
AAAABBBBCCCC↙
6.以下程序的输出结果是_____。
doublesub(doublex,doubley,doublez)
{y-=1.0;
z=z+x;
returnz;
main()
{doublea=2.5,b=9.0;
printf(“%f\n”,sub(b-a,a,b));
15.500000
7.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
空1】错误
65535
-32768
1111111111111111,1000000000000000
8.以下程序的输出结果是_____。
{intx=100,a=10,b=20,ok1=5,ok2=0;
if(a<
b)if(b!
=15)if(!
ok1)x=1;
elseif(ok2)x=10;
elsex=-1;
printf("
%d\n"
x);
-1
9.若有定义:
inta=8,b=5,c执行语句c=a/b+0.4后,c的值为_____
【参考答案】1
10.表达式s=10应当读做“_____”。
将10赋给变量s
程序大题
1./*请编写一个函数fun,它的功能是:
求出一个2×
M整型二维数组中最大元素的值,并将此值返回调用函数。
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
*/
#defineM4
#include<
stdio.h>
fun(inta[][M])
{
/**********Begin**********/
/**********End***********/
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*wf;
intarr[][M]={5,8,3,90,76,-4,12,82};
wf=fopen("
bc08.out"
"
w"
);
fprintf(wf,"
max=%d\n"
fun(arr));
fclose(wf);
{intarr[2][M]={5,8,3,90,76,-4,12,82};
fun(arr));
NONO();
【参考代码】
inti,j,base;
base=a[0][0];
for(i=0;
i<
2;
i++)
for(j=0;
j<
M;
j++){
if(base<
a[i][j])
base=a[i][j];
}
returnbase;
2./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
请编一个函数voidfun(inttt[M][N],intpp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最大元素,并依次放入pp所指一维数组中。
二维
数组中的数已在主函数中赋予。
------------------------------------------------*/
#include<
conio.h>
#defineM3
#defineN4
voidbky();
voidfun(inttt[M][N],intpp[N])
/**********Begin**********/
/**********End**********/
intt[M][N]={{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
intp[N],i,j,k;
Theoriginaldatais:
\n"
);
{
N;
j++)
%6d"
t[i][j]);
fun(t,p);
\nTheresultis:
for(k=0;
k<
k++)printf("
%4d"
p[k]);
bky();
voidbky()
{
inti,j,array[3][4],p[4];
FILE*rf,*wf;
rf=fopen("
in.dat"
"
r"
out.dat"
for(i=0;
i<
3;
i++)
for(j=0;
j<
4;
j++)
fscanf(rf,"
%d"
&
array[i][j]);
fun(array,p);
%7d"
p[j]);
fclose(rf);
inti,j;
pp[j]=tt[0][j];
for(i=1;
if(tt[i][j]>
pp[j])
pp[j]=tt[i][j];
程序填空
1./*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
将一个字符串中的前N个字符复制到一个字符数组中去,
不许使用strcpy函数。
-------------------------------------------------------*/
main()
charstr1[80],str2[80];
inti,n;
/**********FILL**********/
gets(_____);
scanf("
&
n);
_____;
_____
%s\n"
str2);
【空1】【参考答案】
str1
【空2】【参考答案】
n
n>
i
=n-1
n-1>
=i
【空3】【参考答案】
str2[i]=str1[i]
*(str2+i)=*(str1+i)
*(str2+i)=str1[i]
str2[i]=*(str1+i)
【空4】【参考答案】
str2[n]='
\0'
str2[i]='
str2[n]=0
str2[i]=0
*(str2+n)='
*(str2+i)='
*(str+n)=0
*(str2+i)=0
2.
以下程序的功能如(图1)。
#include"
stdio.h"
/***********FILL***********/
doublef(_____)
/***********FILL***********/
if(_____)
y=2.0*x*x+3.0*x+4.0;
else
y=-2.0*x*x+3.0*x-4.0;
floatx
doublex
doubley
floaty
x<
=2
2>
=x
【空4】【参考答案】
returny
return(y)
3.
分别求出一批非零整数中的偶数、奇数的平均值,用零作
为终止标记。
intx,i=0,j=0;
floats1=0,s2=0,av1,av2;
x);
while(_____)
if(x%2==0)
s1=s1+x;
i++;
s2=s2+x;
j++;
if(i!
=0)
av1=s1/i;
else
av1=0;
if(j!
av2=0;
oushujunzhi:
%7.2f,jishujunzhi:
%7.2f\n"
av1,av2);
【空1】【参考答案】
x!
=0
x
else
elseif(x%2==1)
elseif(x%2!
=0)
if(x%2)
scanf("
x)
【空4【参考答案】
av2=s2/j
选择
1.若int类型占两个字节,则以下程序段的输出是D
2.运行以下程序后,输出的结果是A
{intk=-3;
if(k<
=0)
printf(“****\n”),
elseprintf(“&
\n”);
A、****
B、有语法错误不能通过编译
C、&
D、****&
3.当运行以下程序时,在键盘上从第一列开始,输入9876543210<
CR>
(此处<
表示Enter),则程序的输出结果是D
{inta;
floatb,c;
scanf(“%2d%3f%4f”,&
a,&
b,&
c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c);
A、a=10,b=432,c=8765
B、a=98,b=765.0,c=4321.0
C、a=98,b=765,c=4321
D、a=98,b=765.000000,c=4321.000000
4.在C语言中,要求运算数必须是整型或字符型的运算符是(B)。
A、||
B、&
D、!
5.C语言中用于结构化程序设计的三种基本结构是(B)。
A、for、while、do-while
B、顺序结构、选择结构、循环结构
C、if、switch、break
D、if、for、continue
6.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与(B)配对。
A、其之后最近的if
B、其之前最近的if
C、缩排位置相同的if
D、同一行上的if
7.以下程序的执行结果是___A_.
8.一个C程序的执行是从(B)。
A、本程序文件的第一个函数开始,到本程序main函数结束
B、本程序的main函数开始,到main函数结束
C、本程序的main函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
9.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(C)。
A、c="
a"
;
B、C='
97'
C、c='
a'
D、c="
97"
10.从循环体内某一层跳出,继续执行循环外的语句是A
A、break语句
B、return语句
C、continue语句
D、空语句
11.以下程序段的输出结果是C
12.为表示关系x≥y≥z,应使用C语言表达式C
A、(x>
=y>
=z)
B、(x>
=y)AND(y>
C、(x>
=y)&
(y>
D、(x>
=z)&
13.以下正确的字符串常量是D
A、'
abc'
B、'
A'
C、OlympicGames
D、"
\\\"
14.以下叙述中错误的是B
A、用户所定义的标识符应尽量做到"
见名知意"
B、用户所定义的标识符允许使用关键字
C、用户定义的标识符中,大、小写字母代表不同标识
D、用户所定义的标识符必须以字母或下划线开头
15.inta=1,b=2,c=3;
if(a>
b)a=b;
c)a=c;
则a的值为(A)。
A、1
B、不一定
D、2
16.执行下列程序后,其输出结果是(B)。
17.以下程序的输出结果是C
inti;
for(i=1;
5;
if(i%2)
putchar(‘<
’);
continue;
putchar(‘>
putchar(‘#’);
A、<
>
<
#
B、>
C、<
#
D、>
18.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达
式的值为“假”,则以下不能满足要求的表达式是(A)。
(A%2)
B、A%2
C、A%2==1
(A%2==0).
19.当定义一个结构体变量时,系统分配给它的内存是(D)。
A、结构中最后一个成员所需内存量
B、结构中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、各成员所需内存量的总和
20.下列关于单目运算符++、--的叙述中正确的是__C_。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量
B、它们的运算对象可以是任何变量和常量
C、它们的运算对象可以是char型变量、int型变量和float型变量
D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量
1.结构化程序由_____、_____、_____三种基本结构组成。
【空1】顺序【空2】条件分支选择【空3】【参考答案】循环
2.在算法正确的前提下,评价一个算法的两个标准是_____
时间复杂度和空间复杂度
空间复杂度和时间复杂度
3.当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
【空1】【参考答案】65535【空2】-32768
【空3】【参考答案】1111111111111111,1000000000000000
4.以下fun函数的功能是将一个字符串的内容逆置。
请填空。
voidfun(charstr[])
{inti,j,k;
for(i=0,j=_____;
j;
i++,_____)
{k=str[i];
str[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习 题库