C语言期中开放2 2Word下载.docx
- 文档编号:22492136
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:20KB
C语言期中开放2 2Word下载.docx
《C语言期中开放2 2Word下载.docx》由会员分享,可在线阅读,更多相关《C语言期中开放2 2Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
A、1
B、3
C、0
D、2
5.下列运算符中是C语言关系运算符的是(C)。
A、&
B、~
C、!
=
D、!
6.语句while(!
E);
中的表达式!
E等价于(D)。
A、E==1
B、E!
=0
C、E!
=1
D、E==0
7.以下正确的描述是(A).
A、只能在循环体内和switch语句内使用break语句
B、continue语句的作用是终止整个循环的执行(终止循环体的本次执行,继续执行判定)
C、从多层嵌套的外层循环中退出时,只能使用goto语句
D、在循环体内使用break和continue语句的作用相同
8.下面各语句中,能正确进行赋字符串操作的语句是(B).D?
?
A、chars1[5][]={"
ABCDE"
};
B、chars2[6]={'
'
B'
C'
D'
E'
C、charst[][]={"
D、chars[5]={'
9.若有说明:
inta[3][4]={0};
则下面正确的叙述是(A)。
A、数组a中每个元素均可得到初值0
B、只有元素a[0][0]可得到初值0
C、数组a中各元素都可得到初值,但其值不一定为0
D、此说明语句不正确
10.若有说明inta[3][4];
则a数组元素的非法引用是(B)。
A、a[1][3]
B、a[0][4]
C、a[0][2*1]
D、a[4-2][0]
11.执行下面程序后,输出结果是(D)。
{inta,b,c;
a=45,b=27,c=0;
c=max(a,b);
printf("
%d\n"
c);
intmax(intx,inty)
{intz;
if(x>
y)z=x;
elsez=y;
return(z);
}
A、72
B、18
C、27
D、45
12.以下正确的描述是:
在C语言程序中(B)。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均可以嵌套
D、函数的定义和函数的调用均不可以嵌套
13.在C语言的函数中,下列正确的说法是(B)。
A、形参可以是常量和变量
B、可以有也可以没有形参
C、数组名不能作形参
D、必须有形参
14.设有宏定义#definePI3.14和#defineS(r)PI*r*r,则S
(2)的值为(B).
A、6.28
B、12.56
C、3.14
D、9.42
15.inta[10]={1,2,3,4,5,6,7,8};
int*p;
p=&
a[5];
p[-3]的值是(D)。
A、4
B、2
C、不一定
D、3
16.若有以下程序段,则使用错误的选项是(C).?
structstudent
{
intnum;
intage;
structstudentstu[3]={{1001,20},{1002,19},{1004,20}};
main();
structstudent*p;
p=stu;
…
;
A、(*p).num
B、(p++)->
num
C、p=&
stu.age
D、p++
17.若以"
a+"
方式打开一个已存在的文件,则以下叙述正确的是(A)。
A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B、以上各种说法皆不正确
C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作
D、文件打开时,原有文件内容被删除,只可作写操作
二、判断
1.#define和printf都不是C语句。
Y
3.语句if(a>
b)printf("
%d"
a);
elseprintf("
b);
可以用条件表达式a>
b?
a:
b取代.N
8.数组的首地址一定是第一个数组元素的地址.Y
10.数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.N
11.在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错误.N?
1544
12.在一个函数中定义的静态局部变量不能被另外一个函数所调用.Y
13.计算机编译系统对宏定义在编译时进行语法检查.N
14.指向某一变量的指针,就是该变量的内存地址.Y
15.对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。
16.在打开文件时,必须说明文件的使用方式,"
r"
表示以只读方式打开一个文件.Y
三、填空
1.intx=2;
z=x++-1;
则x的值为__3___.3
2.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____.2.5
3.设x=62,表达式x>
=60&
x<
70||x==1的值为___1__.1
4.c语言表达式5>
2>
7>
8的值是__0___.0
5.字符串比较的库函数是_strcmp____,只写函数名即可.strcmp
6.从函数的形式上看,函数分为无参函数和_youc____两种类型.有参函数
7.设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。
16
unionstud{charnum[6];
floats[4];
doubleave;
}a,*p;
8.在C语言中,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和_____文件.二进制
四、程序设计
1./*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
用函数求N个[10,60]上的整数中能被5整除的最大
的数,如存在则返回这个最大值,如果不存在则
返回0。
------------------------------------------------*/
#include"
stdio.h"
stdlib.h"
#defineN30
intfind(intarr[],intn)
{
intm=0;
/*********Begin**********/
inti;
for(i=0;
i<
n;
i++)
if(arr[i]%5==0&
arr[i]>
m)
m=arr[i];
/**********End**********/
return(m);
inta[N],i,k;
voidTestFunc();
N;
a[i]=rand()%50+10;
{
%5d"
a[i]);
if((i+1)%5==0)printf("
\n"
);
k=find(a,N);
if(k==0)
NOFOUND\n"
else
themaxis:
k);
TestFunc();
voidTestFunc()
FILE*IN,*OUT;
intn;
inti[5];
into;
IN=fopen("
in.dat"
"
if(IN==NULL)
ReadFileError"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
WriteFileError"
for(n=0;
n<
5;
n++)
{
fscanf(IN,"
i[n]);
o=find(i,5);
fprintf(OUT,"
o);
fclose(IN);
fclose(OUT);
2./*------------------------------------------------
根据整型参数n,计算如图公式的值。
conio.h"
doublefun(intn)
doublea=1;
for(i=1;
a=1.0/(1+a);
returna;
main()
intm;
Enterm:
"
&
m);
\nTheresultis%f\n"
fun(m));
}
ints;
intt;
doubleo;
}
for(s=1;
s<
=5;
s++)
t);
o=fun(t);
%f\n"
五、程序改错
1./*------------------------------------------------------
【程序改错】
--------------------------------------------------------
实现3行3列矩阵的转置,即行列互换。
------------------------------------------------------*/
voidfun(inta[3][3],intn)
inti,j,t;
for(j=0;
j<
j++)
/**********ERROR**********/
a[i][j]);
a[i][j]);
%4d"
j++)for(j=0;
i;
a[i][j]=t;
t=a[i][j];
a[i][j]=a[j][i];
t=a[j][i];
a[j][i]=t;
main()
intb[3][3];
fun(b,3);
2./*------------------------------------------------------
从键盘输入10个字符,统计其中数字字符的个数。
#include<
stdio.h>
intmain()
inti,sum=0;
charc;
for(i=11;
i>
=2;
i--)
c=gets();
c=getchar();
if(c<
'
0'
||c>
9'
)
break;
continue;
++sum;
sum=%d"
sum);
return0;
}
六、程序填空
1./*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
从键盘上输入2名学生4门课成绩,求每个学生的平均成绩,并统计不及格门次。
-------------------------------------------------------*/
math.h"
intmain()
inti,j,n=0;
floatx,sum,avg;
for(i=1;
/***********FILL***********/
____________;
sum=0
for(j=1;
=4;
%f"
x);
if(x<
60)n++;
/***********FILL***********/
___________;
sum=sum+x或sum+=x
avg=sum/4.0;
\navgofNO.%dis%5.2f"
i,avg);
\n%d"
n);
2./*-------------------------------------------------------
【程序填空】
设数组a中的元素均为正整数,以下程序是求a中偶数的个数
和偶数的平均值。
inta[10]={1,2,3,4,5,6,7,8,9,10};
intk,s,i;
floatave;
for(k=s=i=0;
10;
if(a[i]%2!
=0)_______;
continue
s+=________;
a[i]
k++;
if(k!
=0)
ave=s/k;
printf("
%d,%f\n"
k,ave);
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言期中开放2 语言 期中 开放