没有合适的资源?快使用搜索试试~ 我知道了~
c语言程序设计形成性考核册对.docx
0 下载量 129 浏览量
2022-12-18
12:25:52
上传
评论
收藏 48KB DOCX 举报
温馨提示
试读
21页
c语言程序设计形成性考核册对.docx
资源推荐
资源详情
资源评论
C语言程序设计形成性作业一一、选择题
1 .在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. main B. MAIN C. name D. funtion. C语言原程序文件的缺省扩展名为(D)。
A. cppB. exeC. objD. C.由C语言Fl标文件连接而成的可执行的缺省扩展名为(B)。
A. cppB. exeC. objD. C.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D)符号
作为分隔符。
A.空格或逗号 B.逗号或回车C.回车或分号D.空格或回车.每个C语言程序的编译错误分为(B)
类。
A. 1 B. 2 C. 3 D. 4.设x和y均为逻辑值,那么x&&y为真的条件是(A)。
A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假.设有语句“inta=12;a+=a*a;",那么执
行结束后,a的值为(6
A. 12 B. 144 C. 156 D. 288. x>0&&xv=10的相反表达式为(A)o
A. x<=0 || X>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10.字符串“a+b=12”的长度为(B
)。
A. 6 B. 7 C. 8 D. 9.在以下符号常量定义中。错误的定义语句格式为(C)。
A. const MI = 10;B. const int M2=20; C. const M3 10 D. const char mark= * 3'.带有随机函数的表达式
rand()%20的值在(C)区间内,
A. 1~19 B. 1~20 C. 0~19 D. 0~20.当处理特定问题时的循环次数时,通常采用(A)循环来解决。
A. for B. while C. do-while D. switch.在switch语句的每个case块中,假定都是以break语句结束的,
那么此swilch语句容易 被改写为(B)语句。
A. for B. if C. do D. while. for语句能够被改写为(D)语句。
A.复合 B. if C. switch D. while.下面循环语句执行结束后输出的i值为(B)。
for(int i=0;i<n;i++)if(i>n/2){cout«i«endl;break;}A. n/2 B. n/2+1 C. n/2-1 D. n-l
14 .在下面循环w语句中内层循环体S语句的执行次数为(D)。
fbr(int i=0;i<n;i++)
for(int j=i:j<n;j++)S;A. n2 B. (n+|)/2 C. n(n-l)/2 D. n(n+l)/2
15 .在下面的do循环语句中,其循环体被执行的次数为(A )。
int i=0;do i++;while(i*i<10);A. 4 B. 3 C. 5 D. 2
二、填空题C语言中的每条简单语句以 作为结束符。
1. C语言中的每条复合语句以—}作为结束符。
#includc<stdio.h>const int M=2,N=3;
double Mcan(doublc a[M][N], int m,int n ){
double v=0;
for(int i=0;i<m;i++)for(int j=O;j<n;j++) v+=a[i]fjl;
return v/(m*n);}
/*void main()(
double a[2][3]={ 1,2,3,4,5,6);prinlf("%H”,Mean(a23)); }*/
2. 编写一个递归函数“int FF(int a[] , int n)”,求出数组a中所有元素n个元素之根并返回。
#include<stdio.h>int FF(int a[], int n){ in( mul=l;
if(n==l)niul*=a[O];else mul=a[n-l]*FF(a,n-l); return mul;
)/*void niain()
|
int a[6]={ 1,2,345,6};printf("%d\n",FF(a,6)); }*/
3. 编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+l/n>5的最 小n值。
#include<stdio.h>void main() (
double sum=0;
int n=l;while(true) (
if(sum + l/(double)n > 5)break;else
sum += l/(double)n;n++;
I
printf("%d, %lf\n",n,suin);)
5. 编写一个主函数,求满足不等式22+42+……+n2vl000的最大n值,假定分别用i 和s为取
偶数值和累加值的变量,并限定使用do循环编程。
#include<stdio.h> void inain() (int s=0,i=2; do (
s+=i*i;if(s+(i+2)*(i+2)>= 1 OOO)break;
else i+=2;
}while(true);
printf("i=%d,s=%d",i,s);}
6. 编写一个主函数,计算并输出n的值,其中n值由键盘输入。
#include<stdio.h>void main()
(
int s=0,n;
printf("请输入n的值:”);
scanf("%d'\&n);
for(int i=l;i<=n;i++)s+=i*i;
piintf("n=%d,s=%d",n,s);)
C语言程序设计形成性考核册参考答案作业三.在下面的(C)函数声明语句存在语法错误。
A. AA(int a,int b); B. AA(int ,int) C. AA(int a;int b) D. AA(int a,int).在下面的(C)不能作为函数的返回
类型。
A. void B. int C. new D. long.下面正确的函数原型语句是(B)。
A. int Funciion(void a); B. void Funclion(in();C. int Function(a);D. void int(double a);
4.函数调用func(expl.exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。
A. 1 B. 2 C. 4 D. 55.下面的标识符中,(C)是文件级作用域。
A.函数形参 B.语句标号C.[电脑商场特别版1]变量p的正确语句为(B )。
A. double p=&k;B. double *p=&k;C. double &p=*k;D. char *p=" Thank you!
w
;
13 .假定一条定义语句为“int a[10],x,*pa=a/;假设要把数组a中下标为3的元素赋值给x, 那么不正确
的语句为(DA. x=pa[3]; B. x=*(a+3); C. a=a[3]; D. x=*pa+3;
14 .假定有定义“intb[IO];inl*pb;",那么不正确的赋值语句为(C )。
A. pb=b; B. pb=&b[O]; C. pb=b+2; D. pb=b[5];.假定指针变量p定义为“int*p=ncwint(l(X));",要释放p
所指向的动态内存,应使用语 句(D )。
A. dclctc[p]; B. delete *p; C. delete &p; D. delete []p;16.假定指针变量p定义为“int
*p=calloc(30,sizeof(in。);",要释放p所指向的动态内存, 应使用语句(D )o
A. delete[p]; B. deldete(p); C. free[]p; D. free(p);.在C语言中,一个函数由函数头和—函数体 组成。
1 .在函数外定义的变最称为全局变显,假设没有被初始化那么系统隐含对它所赋的初值为 ―0 0.
如果一个函数只允许同一程序文件中的函数调用,那么应在访函数定义前加上的C保存字 为 为
static
。
2 .如果一个函数直接或间接地调用自身,这样的调用被称为—递归 调用。
3 .调用系统函数时,要先使用#由日同6命令包含该函数的原型语句所在_头_文件。
4 .函数形参的作用域是该函数的—内部—o.假定p所指对象的值为25, p+1所指对象的值为46,贝
U*p++的值为_25。
5 .假定p所指对象的值为25, p+1所指对象的值为46,那么*++p的值为_46。
6 .假定p所指对象的值为25, p+1所指对象的值为46,那么执行“*(p++);“语句后,p所指 对象的值为
_46 o.假定a是一个指针数组,那么a+1所指对象的地址比a地址大_4一字节。
7 .假设要把一个整型指针p转换为字符指针,那么采用的强制转换表达式为_(char*)p。
8 .假定一个数据对象为int*类型,那么指向该对象的指针类型为 o.假定p是一个指向整数对象的
指针,那么用_&p_表示指针变量p的地址。
9 .假设p指向x,那么*p与x的等价的。
10 . NULL是一个符号常量,通常作为空指针值,它值为_ ' \()' (ASCH码0)—。
三、写出以下每个程序运行后的输出结果#include<stdio.h>
void SB(char ch){
switch (ch){
case 'A':case 'a':
printf("WW");break;
case 'B':case 'b':
prinlf("GG");break;
case Cease 'c':
printf("PP");break;
default:printf("BB");break;
))
void main(){
charal='b',a2=Ca3=f;
SB(al);SB(a2); SB(a3);SB('A');
printf("\n");I
输出结果为:
GGPPBBWWPress any key to continue
1. #include<stdio.h>#includc<stdlib.h>
double SD(int a,in( b,char op){ double x;svvitch(op){ case '+':x=a+b;bieak; case
,
-
,
:x=a-b;break; case
**':x=a*b;break;
case 7":if(b)x=(doublc)a/b;else exit(1); break;
default:{("运算符错! \n");exit(l);) )return x;
}void main(){
int x=20.y=8;printf("%3.21f",SD(x,y, printf('
,
%3.21f",SD(x,y;*'));
printf("%3.2If",SD(x,y,'/'));)
输出结果为:
12.0() 160,(X) 2.50Press any key to continue
2. #include<stdio.h> void WF(in( x,inl y){ x=x+y;
y=x+y;
printf("subs:x,y=%d,%d\n",x,y);)
void main(){
int x=18,y=23;prinlf("main:x,y=%d,%d\n",x,y); WF(x,y);
x=2*x;
printf("main:x,y=%d.%d\n",x,y);)
输出结果为:
main:x,y= 18,23subs:x,y=41,64
niain:x,y=36,23Press any key to continue
3. #includc<stdio.h>#include<string.h> void fun(char ss[]); void main(){
char s[15]="567891234";
fun(s);
printf("%s\n",s);)
void fun(char ss[l){
int i,n=strlcn(ss);
for(i=0;i<n/2;i++){char c=ss[i]; ss[i]=ss[n-l-i];
ss[n-l-i]=c;
)}
输出结果为:
432198765Press any key to continue
4. #include<stdio.h> void InsertSort(int a[],int n) (
int i,j,x;
for(i=l;i<n;i++){〃进行 n 次循环x=a[i];
for(j=i-1 :j>=O;j-)//?9 x顺序向前寻找合适的插入位置 if(x>a[j])a[j+1]=a[j];else
break;
a[j+l]=x;
)) void main()
(
int i;
int a[6]={20,15,32,47,36,28);
Inser(Sorl(a,6);
for(i=0;i<6;i++)printf("%d ",a[i]);
printfC^n");}
输出结果为:
47 36 32 28 20 15Press any key to continue
5. #include<stdio.h>void main(){
int a[8]={3,5,7,9,11,13,15,17);int i,*p=a; for(i=0;i<8;i++){; printf("%5d ”,*p++);
if( (i+l)%4==0 )printf("\n"); ))
输出结果为:
3579
11131517Press any key to continue
6. #include<stdio.h>int LA(int *a.int n){ int i,s=0;
for(i=0;i<n;i++) s+=a1ij;
return s;I
void main(){
int a[]={ 5,10,15,20,25,30};
int b=LA(a,4);int c=LA(a+2,3); printf("%d %d\n
n
,b,c);
}输出结果为:50 60
Press any key to continue#include<stdio.h>
int LB(int *a,int n){ int i,s=l;for(i=0;i<n;i++)s*=*a++; return s;
}void main(){
int a[]={ 1,23,4,2,4,5,2};int b=LB(a,4)+LB(&a[3],4); piintf("b=%d\n",b);
)输出结果为:
b=184Press any key to continue 四、写出以下每个函数的功能
1. #include<stdio.h>int WB(int a[],int n,int x){
for(int i=O;i<n;i++)if(a[i]==x)rcturn 1;
return 0;)
函数功能为:根据整型数组元索中是否能找到整数x,返回I或0#include<stdio.h>
int WC(int a[]jnt n,int k){int c=0;for(int i=0;i<n;i++) if(ali]>=k)c++;
return c;}
函数功能为:返回数组中前n个其值大于等于k的元素之和#include<stdio.h>
#include<stdlib.h>#include<time.h>
const int N=l();int ff(int x,int y){
int z;
prinif(”%d + %d = *\x,y);
scanf("%d",&z);
if(x+y==z)return 1 ;else return 0;)
void main()(
int i,a,b,c=0;
srand(time(0)); 〃初始化随机数系列
for(i=0;i<N:i++){a=rand()%20+l; //rand90函数产生0-32767之间的一个随机数
b=rand()%20+l;c+=ff(a,b);
)
printf("得分:%d\n
M
,c*10);)
函数功能为:
函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两 个20以内
的随机整数,通过10次调用这个函数,算对一次得10分,计算所得分 4. int fun6(int in,int n,int b=2) (
if(m<b && n<b)rcturn m*n;
else if(m%b==0 && n%b==O)return b*fun6(m/b,n/b,b);
else return fun6(m,n,++b);函数功能为: 此函数带有一个默认参数,假设使用默认值,那么通
过递归调用,返回前2参数的最小公倍数; 不使用默认值时,假设最后一个参数不小于前2个参数,
剩余20页未读,继续阅读
资源评论
Mmnnnbb123
- 粉丝: 696
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 程序语言设计模式思路-结构型模式:组合模式:将对象组合成树形结构
- 毕业设计基于python矩阵分解的推荐算法研究源码+详细文档+全部数据资料 高分项目.zip
- 基于网络的入侵检测系统源码+数据集+详细文档(高分毕业设计).zip
- 微信小程序源码 旅行故事分享 - 面包旅行App界面设计与文本展示资源下载
- 微信小程序源码 创意互动游戏 - 你画我猜App下载
- 摸底考试_学生版20230305.py
- 课程设计基于FPGA数字钟课程设计源码+课设报告(95分以上).zip
- 基于Java的企业家申报系统设计源码
- Cesium案例,集成各种模型,推演,各种Cesium效果
- 基于Python的Struts2全漏洞扫描利用工具设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功