用C语言c语言汉诺塔递归算法法,求第50项的值,题如图,写出程序,谢谢啦

C语言中递归算法的实现--《数字技术与应用》2015年07期
C语言中递归算法的实现
【摘要】:递归是c语言中经常使用的将复杂问题简单解决的方法。递归作为一种算法在程序设计语言中广泛应用,其最基本的特点是自身调用自身,实现层次结构的查询和访问。在很多情况下,递归为我们解决复杂问题提供的简单清晰的方法,但是有些初学者在使用时可能会感到迷惑。本文通过举例简单介绍了递归的使用和求解,在使用递归时应遵循的原则,以及使用递归的优缺点。
【作者单位】:
【关键词】:
【基金】:
【分类号】:TP312.1【正文快照】:
C语言中常常会遇到在调用一个函数时又要直接或间接调用该函数本身的情况,这被称为函数的递归调用。允许函数的递归调用是c语言的特点之一,其基本思想是将原问题转化为规模缩小了的同类问题的子问题,然后递归调用该函数来表示问题的解。一般情况下递归可以代替循环语句使用,且
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
杜津玲;郁红蕾;;[J];电脑学习;2009年03期
刘冲;张玮炜;;[J];黑龙江科技信息;2012年29期
顾荣杰;范剑波;;[J];宁波工程学院学报;2012年04期
王凤英;[J];山东工程学院学报;1997年03期
,岐艳芳;[J];微计算机信息;2004年10期
郝强;肖仁锋;;[J];济南职业学院学报;2008年02期
朱正国;;[J];电子科技;2013年07期
麦智祥;[J];电脑编程技巧与维护;1994年03期
吕强;[J];计算机与现代化;1999年06期
祝玲;;[J];计算机光盘软件与应用;2012年14期
中国重要会议论文全文数据库
田晓萌;;[A];第一次全国计算机安全技术交流会论文集[C];1986年
胡运发;何伟;;[A];第十一届全国数据库学术会议论文集[C];1993年
冯莎莎;张永刚;孙吉贵;;[A];2005全国计算机程序设计类课程教学研讨会论文集[C];2005年
苏波;陶宁;;[A];年教育部高等学校光电信息科学与工程专业教学指导分委员会及协作委员会2010年全体会议论文集[C];2010年
苏波;;[A];中国光学学会2010年光学大会论文集[C];2010年
华西艳;王立民;;[A];增强自主创新能力 促进吉林经济发展——启明杯·吉林省第四届科学技术学术年会论文集(上册)[C];2006年
朱俊杰;;[A];第三届全国结构工程学术会议论文集(上)[C];1994年
刘华昌;李东杰;谈效华;;[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
王留奇;;[A];第二届中国航空学会青年科技论坛文集[C];2006年
中国重要报纸全文数据库
记者 连晓东;[N];中国电子报;2005年
陈智罡;[N];中国电脑教育报;2003年
广东 张则;[N];电子报;2010年
广东 张则;[N];电子报;2010年
H[N];电脑报;2003年
磁动力工作室
明浩;[N];电子报;2005年
广东 张则;[N];电子报;2010年
磁动力工作室
明浩;[N];电子报;2005年
磁动力工作室
明浩;[N];电子报;2005年
磁动力工作室
明浩;[N];电子报;2005年
中国硕士学位论文全文数据库
张壹;[D];华中科技大学;2013年
陈文渊;[D];山东师范大学;2011年
高攀;[D];电子科技大学;2005年
郭邦财;[D];武汉理工大学;2011年
景俊士;[D];电子科技大学;2002年
崔凯;[D];南京航空航天大学;2006年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号问题十:用递归算法设计函数,求1*3*5*7*…*(2n-1)。
/***************************************************************&&&&&&&&&&&&& C语言&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& AUTHOR:liuyongshui&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATE:********&&***************************************************************//*&&& 问题十:用递归算法设计函数,求1*3*5*7*&*(2n-1)。*/#include &stdio.h&&&&long fac(int n);& //原函数声明,求奇数相乘int main(){&&&&&&&&&&&&&&&& printf(&请输入一个整数(不能太大):&);&&&& scanf(&%d&, &m);&&&& result=fac(m);&&& //把m代入fac()&&&&&&&& printf(&%ld/n&, result);&&&& return 0;}// 函数的定义long fac(int n){&&&&&&&& int sum=1;&&&&&&&& for(i=1; i&=2*n-1; i+=2)&&&&&& {&&&&&&& sum*=i;&&&& }&&&&}&
最新教程周点击榜
微信扫一扫满分答案北理工16秋《C语言程序设计》在线作业
北理工16秋《C语言程序设计》在线作业
需要答案加QQ
一、单选题(共 40 道试题,共 80 分。)
&若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
2. &下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
3. &已知: struct{ }
则sizeof(test)的值是( )。
4. &下面描述中,不正确的是( )。
A. 递归法的关键是必须有一个递归终止的条件。
B. 递归算法要求语言具有反复自我调用子程序的能力。
C. 对于同一个问题,递推算法比递归算法的执行时间要长。
D. 递推算法总可以转换为一个递归算法。
5. &执行下面的语句后x的值为( )。int a=14,b=15,x;char
c='A';x=((a&b)&&(c&'a'));
6. &若有以下定义和语句:struct student{int
num,};struct student
stu[3]={{1001,20},{1001,19},{1003,21}};struct student
*p=则以下错误的引用是( )。
A. (p++)-&num
C. (*p).num
D. p=&stu.age
7. &指出程序结束时,j、i、k的值分别是( )。main(){int
a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a&b;++b)i++;while(a&
++c)j++;do k++;while(a&d++);}
A. j=5,i=4,k=6;
B. i=5,j=4,k=6;
C. j=6,i=5,k=7
D. j=6,i=6,k=6;
8. &C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(
A. 地址传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
9. &若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
10. &已知:int
x=1,y=2,z;则执行z=x&y?++x:++y;则z的值为( )。
11. &执行以下程序段后,a,b,c的值分别是( )。int
a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x&9)
b=x++;c=y;
D. 1,11,10
12. &下列对字符串的定义中错误的是( )。
A. char str[7]="FORTRAN"
B. char str[ ]=" FORTRAN"
C. char *str="FORTRAN"
D. char str[ ]={'F','O','R','T','R','A','N','
13. &已知:int a,*p=&a; 则下列函数调用中错误的是(
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
14. &以下( )不是C语言的特点。
A. 语言的表达能力
B. 语言定义严格
C. 数据结构系统化
D. 控制流程结构化
&在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(
A. 称为函数的直接递归
B. 称为函数的间接递归
C. 称为函数的递归定义
D. C语言中不允许这样的递归形式
16. &下列程序段(
)。x=3;do{y=x--;if(!y){printf(“x”);}printf(“#”);}while(1&=x&=2);
C. 输出##x
D. 是死循环
E. 有语法错
17. &if语句的控制条件( )。
A. 只能用关系表达式
B. 只能用关系表达式或逻辑表达式
C. 只能用逻辑表达式
D. 可以是任何表达式
18. &下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
19. &下列程序执行的结果是( )。A=1;b=2;c=3;While(b
20. &以下程序的输出是( )。main(){char
a[2][5]={“6937”,”8254”};int
i,j,s=0;for(i=0;i&2;i++)for(j=0;a[i][j]&'0'&&a[i][j]&='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d
21. &以下正确的数组定义语句是( )。
A. int y[1][4]={1,2,3,4,5};
B. float x[3][ ]={{1},{2},{3}};
C. long s[2][3]={{1},{1,2},{1,2,3}};
D. double t[ ][3]={0};
22. &已知“int
a=4,b=5,c;”,则执行表达式“c=a=a&b”后变量a的值为( )。
23. &说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
24. &main(argc,argv)中形式参数argv的正确说明形式应当为(
A. char *argv[ ]
B. char argv[ ][ ]
C. char argv[ ]
D. char *argv
25. &在以下对C语言的描述中,正确的是( )。
A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B. C语言函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
&C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是(
A. 编辑和编译
B. 编译和连接
C. 连接和运行
D. 编辑和运行
27. &以下程序的输出结果是( )。main(){int
i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)printf(“%d,”x[i][2-i]);}
28. &C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
29. &要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A. 0&=m&&m&=9
B. '0'&=m&&m&='9'
C. “0”&=m&&m&=“9”
D. 前3个答案都是错误的
30. &执行以下程序段后,c3的值是()。int c1=1,c2=2,c3;
31. &下面程序的输出结果是( )。main(){int i,j;float
s;for(i=6;i&4;i--){s=0.0; for(j=i;j&3;j--)s=s+i*j;
}printf(“%f ”,s);}
A. 135.000000
B. 90.000000
C. 45.000000
D. 60.000000
32. &以下对C语言中联合类型数据的正确叙述是( )。
A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B. 一个联合变量中可以同时存放其所有成员
C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
33. &若int x;则执行下列程序段后输出是(
)。for(x=10;x&3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
34. &已知:char s[10],*p=s,则在下列语句中,错误的语句是(
C. s[2]=p[4];
D. *p=s[0];
35. &以下程序的输出结果是( )。main(){int
i,k,a[10],p[3];k=5;for(i=0;i&10;i++)a[i]=i;for(i=0;i&3;i++)p[i]=a[i*(i+1)];for(i=0;i&3;i++)k+=p[i]*2;printf(“%d”,k);
36. &执行下列程序段后,x、y和z的值分别是( )。int
x=10,y=20,z=30;if(x&y)z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
37. &若int a,b,c;则为它们输入数据的正确的语句是( )。
A. read(a,b,c);
B. scanf("%d%d%d",a,b,c);
C. scanf("%D%D%D",&a,&b,&c);
D. scanf("%d%d%d",&a,&b,&c);
38. &利用fseek函数可以( )。
A. 改变文件的位置指针
B. 实现文件的顺序读写
C. 实现文件的随机读写
D. 以上答案均正确
39. &已知:struct sk{
}data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A. (*p).data.a
C. p-&data.a
D. p.data.a
40. &不能正确为字符数组输入数据的是( )。
A. char s[5];scanf(“%s”,&s);
B. char s[5];scanf(“%s”,s);
C. char s[5];scanf(“%s”,&s[0]);
D. char s[5];gets(s);
北理工16秋《C语言程序设计》在线作业
二、判断题(共 10 道试题,共 20 分。)
1. &设有变量定义char s[]=”hello”,则数组中有6个元素。
2. &结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。
3. &在标准C语言中,所有函数在调用之前都要进行声明。
4. &在C语言中,逻辑表达式中只允许出现逻辑型数据。
5. &在C语言中,for语句后的三个表达式必须都出现。
6. &"A"是一个字符常串量。
7. &“%”运算两侧的数据可以是任意类型的数据。
&在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
9. &在C语言中,以“r”方式不能打开并不存在的文件。
10. &在标准C语言中,在定义带参数的宏时也要定义参的类型。
北理工16秋《C语言程序设计》在线作业
一、单选题(共 40 道试题,共 80 分。)
&C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是(
A. 编辑和编译
B. 编译和连接
C. 连接和运行
D. 编辑和运行
2. &不能正确为字符数组输入数据的是( )。
A. char s[5];scanf(“%s”,&s);
B. char s[5];scanf(“%s”,s);
C. char s[5];scanf(“%s”,&s[0]);
D. char s[5];gets(s);
3. &要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A. 0&=m&&m&=9
B. '0'&=m&&m&='9'
C. “0”&=m&&m&=“9”
D. 前3个答案都是错误的
4. &已知:char s[10],*p=s,则在下列语句中,错误的语句是(
C. s[2]=p[4];
D. *p=s[0];
5. &下列对字符串的定义中错误的是( )。
A. char str[7]="FORTRAN"
B. char str[ ]=" FORTRAN"
C. char *str="FORTRAN"
D. char str[ ]={'F','O','R','T','R','A','N','
6. &C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(
A. 地址传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
7. &以下程序的输出是( )。main(){char
a[2][5]={“6937”,”8254”};int
i,j,s=0;for(i=0;i&2;i++)for(j=0;a[i][j]&'0'&&a[i][j]&='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d
8. &已知: struct{ }
则sizeof(test)的值是( )。
9. &若int x;则执行下列程序段后输出是(
)。for(x=10;x&3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
10. &以下程序的输出结果是( )。main(){int
i,k,a[10],p[3];k=5;for(i=0;i&10;i++)a[i]=i;for(i=0;i&3;i++)p[i]=a[i*(i+1)];for(i=0;i&3;i++)k+=p[i]*2;printf(“%d”,k);
11. &以下程序的输出结果是( )。main(){int
i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)printf(“%d,”x[i][2-i]);}
12. &执行下列程序段后,x、y和z的值分别是( )。int
x=10,y=20,z=30;if(x&y)z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
13. &已知:int a,*p=&a; 则下列函数调用中错误的是(
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
&若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
15. &以下( )不是C语言的特点。
A. 语言的表达能力
B. 语言定义严格
C. 数据结构系统化
D. 控制流程结构化
16. &下面程序的输出结果是( )。main(){int i,j;float
s;for(i=6;i&4;i--){s=0.0; for(j=i;j&3;j--)s=s+i*j;
}printf(“%f ”,s);}
A. 135.000000
B. 90.000000
C. 45.000000
D. 60.000000
17. &下列程序执行的结果是( )。A=1;b=2;c=3;While(b
18. &执行以下程序段后,a,b,c的值分别是( )。int
a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x&9)
b=x++;c=y;
D. 1,11,10
19. &利用fseek函数可以( )。
A. 改变文件的位置指针
B. 实现文件的顺序读写
C. 实现文件的随机读写
D. 以上答案均正确
20. &执行以下程序段后,c3的值是()。int c1=1,c2=2,c3;
21. &已知“int
a=4,b=5,c;”,则执行表达式“c=a=a&b”后变量a的值为( )。
22. &下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
23. &若有以下定义和语句:struct student{int
num,};struct student
stu[3]={{1001,20},{1001,19},{1003,21}};struct student
*p=则以下错误的引用是( )。
A. (p++)-&num
C. (*p).num
D. p=&stu.age
24. &若int a,b,c;则为它们输入数据的正确的语句是( )。
A. read(a,b,c);
B. scanf("%d%d%d",a,b,c);
C. scanf("%D%D%D",&a,&b,&c);
D. scanf("%d%d%d",&a,&b,&c);
25. &下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
26. &已知:struct sk{
}data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A. (*p).data.a
C. p-&data.a
D. p.data.a
27. &下列程序段(
)。x=3;do{y=x--;if(!y){printf(“x”);}printf(“#”);}while(1&=x&=2);
C. 输出##x
D. 是死循环
E. 有语法错
28. &为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时(
29. &下面描述中,不正确的是( )。
A. 递归法的关键是必须有一个递归终止的条件。
B. 递归算法要求语言具有反复自我调用子程序的能力。
C. 对于同一个问题,递推算法比递归算法的执行时间要长。
D. 递推算法总可以转换为一个递归算法。
30. &main(argc,argv)中形式参数argv的正确说明形式应当为(
A. char *argv[ ]
B. char argv[ ][ ]
C. char argv[ ]
D. char *argv
31. &C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
32. &若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
33. &在以下对C语言的描述中,正确的是( )。
A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B. C语言函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
34. &以下对C语言中联合类型数据的正确叙述是( )。
A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B. 一个联合变量中可以同时存放其所有成员
C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
35. &指出程序结束时,j、i、k的值分别是( )。main(){int
a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a&b;++b)i++;while(a&
++c)j++;do k++;while(a&d++);}
A. j=5,i=4,k=6;
B. i=5,j=4,k=6;
C. j=6,i=5,k=7
D. j=6,i=6,k=6;
36. &已知:int
x=1,y=2,z;则执行z=x&y?++x:++y;则z的值为( )。
37. &说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
38. &if语句的控制条件( )。
A. 只能用关系表达式
B. 只能用关系表达式或逻辑表达式
C. 只能用逻辑表达式
D. 可以是任何表达式
39. &执行下面的语句后x的值为( )。int a=14,b=15,x;char
c='A';x=((a&b)&&(c&'a'));
&在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(
A. 称为函数的直接递归
B. 称为函数的间接递归
C. 称为函数的递归定义
D. C语言中不允许这样的递归形式
北理工16秋《C语言程序设计》在线作业
二、判断题(共 10 道试题,共 20 分。)
&在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
2. &“%”运算两侧的数据可以是任意类型的数据。
3. &在标准C语言中,在定义带参数的宏时也要定义参的类型。
4. &"A"是一个字符常串量。
5. &在C语言中,逻辑表达式中只允许出现逻辑型数据。
6. &在标准C语言中,所有函数在调用之前都要进行声明。
&在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。
8. &在C语言的scanf(
)中可用”%m.nf”形式的格式字符指定输入数据的精度。
9. &在C语言中,以“r”方式不能打开并不存在的文件。
10. &设有变量定义char s[]=”hello”,则数组中有6个元素。
北理工16秋《C语言程序设计》在线作业
一、单选题(共 40 道试题,共 80 分。)
1. &C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(
A. 地址传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
2. &若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
3. &执行以下程序段后,c3的值是()。int c1=1,c2=2,c3;
4. &main(argc,argv)中形式参数argv的正确说明形式应当为(
A. char *argv[ ]
B. char argv[ ][ ]
C. char argv[ ]
D. char *argv
5. &若int a,b,c;则为它们输入数据的正确的语句是( )。
A. read(a,b,c);
B. scanf("%d%d%d",a,b,c);
C. scanf("%D%D%D",&a,&b,&c);
D. scanf("%d%d%d",&a,&b,&c);
6. &以下程序的输出结果是( )。main(){int
i,k,a[10],p[3];k=5;for(i=0;i&10;i++)a[i]=i;for(i=0;i&3;i++)p[i]=a[i*(i+1)];for(i=0;i&3;i++)k+=p[i]*2;printf(“%d”,k);
7. &已知: struct{ }
则sizeof(test)的值是( )。
8. &若int x;则执行下列程序段后输出是(
)。for(x=10;x&3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
9. &执行以下程序段后,a,b,c的值分别是( )。int
a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x&9)
b=x++;c=y;
D. 1,11,10
10. &下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
11. &下面描述中,不正确的是( )。
A. 递归法的关键是必须有一个递归终止的条件。
B. 递归算法要求语言具有反复自我调用子程序的能力。
C. 对于同一个问题,递推算法比递归算法的执行时间要长。
D. 递推算法总可以转换为一个递归算法。
12. &已知“int
a=4,b=5,c;”,则执行表达式“c=a=a&b”后变量a的值为( )。
13. &以下程序的输出是( )。main(){char
a[2][5]={“6937”,”8254”};int
i,j,s=0;for(i=0;i&2;i++)for(j=0;a[i][j]&'0'&&a[i][j]&='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d
14. &要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A. 0&=m&&m&=9
B. '0'&=m&&m&='9'
C. “0”&=m&&m&=“9”
D. 前3个答案都是错误的
15. &已知:struct sk{
}data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A. (*p).data.a
C. p-&data.a
D. p.data.a
16. &不能正确为字符数组输入数据的是( )。
A. char s[5];scanf(“%s”,&s);
B. char s[5];scanf(“%s”,s);
C. char s[5];scanf(“%s”,&s[0]);
D. char s[5];gets(s);
17. &下列程序段(
)。x=3;do{y=x--;if(!y){printf(“x”);}printf(“#”);}while(1&=x&=2);
C. 输出##x
D. 是死循环
E. 有语法错
18. &执行下列程序段后,x、y和z的值分别是( )。int
x=10,y=20,z=30;if(x&y)z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
19. &为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时(
20. &下列对字符串的定义中错误的是( )。
A. char str[7]="FORTRAN"
B. char str[ ]=" FORTRAN"
C. char *str="FORTRAN"
D. char str[ ]={'F','O','R','T','R','A','N','
21. &在以下对C语言的描述中,正确的是( )。
A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B. C语言函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
22. &执行下面的语句后x的值为( )。int a=14,b=15,x;char
c='A';x=((a&b)&&(c&'a'));
23. &说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
24. &if语句的控制条件( )。
A. 只能用关系表达式
B. 只能用关系表达式或逻辑表达式
C. 只能用逻辑表达式
D. 可以是任何表达式
25. &若有以下定义和语句:struct student{int
num,};struct student
stu[3]={{1001,20},{1001,19},{1003,21}};struct student
*p=则以下错误的引用是( )。
A. (p++)-&num
C. (*p).num
D. p=&stu.age
26. &已知:char s[10],*p=s,则在下列语句中,错误的语句是(
C. s[2]=p[4];
D. *p=s[0];
&在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(
A. 称为函数的直接递归
B. 称为函数的间接递归
C. 称为函数的递归定义
D. C语言中不允许这样的递归形式
28. &以下对C语言中联合类型数据的正确叙述是( )。
A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B. 一个联合变量中可以同时存放其所有成员
C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
29. &以下( )不是C语言的特点。
A. 语言的表达能力
B. 语言定义严格
C. 数据结构系统化
D. 控制流程结构化
30. &利用fseek函数可以( )。
A. 改变文件的位置指针
B. 实现文件的顺序读写
C. 实现文件的随机读写
D. 以上答案均正确
31. &下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
32. &C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
33. &下面程序的输出结果是( )。main(){int i,j;float
s;for(i=6;i&4;i--){s=0.0; for(j=i;j&3;j--)s=s+i*j;
}printf(“%f ”,s);}
A. 135.000000
B. 90.000000
C. 45.000000
D. 60.000000
34. &以下正确的数组定义语句是( )。
A. int y[1][4]={1,2,3,4,5};
B. float x[3][ ]={{1},{2},{3}};
C. long s[2][3]={{1},{1,2},{1,2,3}};
D. double t[ ][3]={0};
35. &下列程序执行的结果是( )。A=1;b=2;c=3;While(b
&C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是(
A. 编辑和编译
B. 编译和连接
C. 连接和运行
D. 编辑和运行
&若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
38. &以下程序的输出结果是( )。main(){int
i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)printf(“%d,”x[i][2-i]);}
39. &已知:int a,*p=&a; 则下列函数调用中错误的是(
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
40. &已知:int
x=1,y=2,z;则执行z=x&y?++x:++y;则z的值为( )。
北理工16秋《C语言程序设计》在线作业
二、判断题(共 10 道试题,共 20 分。)
&在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
2. &若函数的返回值与return表达式类型不一致时,以return
表达式类型为准。
3. &switch(表达式)中的表达式可以是任意类型的表达式。
4. &“%”运算两侧的数据可以是任意类型的数据。
5. &在标准C语言中,所有函数在调用之前都要进行声明。
6. &设有变量定义char s[]=”hello”,则数组中有6个元素。
7. &结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。
8. &"A"是一个字符常串量。
9. &在C语言中,逻辑表达式中只允许出现逻辑型数据。
10. &在C语言中,以“r”方式不能打开并不存在的文件。
北理工16秋《C语言程序设计》在线作业
一、单选题(共 40 道试题,共 80 分。)
1. &说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
2. &下面程序的输出结果是( )。main(){int i,j;float
s;for(i=6;i&4;i--){s=0.0; for(j=i;j&3;j--)s=s+i*j;
}printf(“%f ”,s);}
A. 135.000000
B. 90.000000
C. 45.000000
D. 60.000000
3. &main(argc,argv)中形式参数argv的正确说明形式应当为(
A. char *argv[ ]
B. char argv[ ][ ]
C. char argv[ ]
D. char *argv
4. &以下对C语言中联合类型数据的正确叙述是( )。
A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B. 一个联合变量中可以同时存放其所有成员
C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
5. &以下( )不是C语言的特点。
A. 语言的表达能力
B. 语言定义严格
C. 数据结构系统化
D. 控制流程结构化
6. &已知:struct sk{
}data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A. (*p).data.a
C. p-&data.a
D. p.data.a
7. &下列对字符串的定义中错误的是( )。
A. char str[7]="FORTRAN"
B. char str[ ]=" FORTRAN"
C. char *str="FORTRAN"
D. char str[ ]={'F','O','R','T','R','A','N','
8. &不能正确为字符数组输入数据的是( )。
A. char s[5];scanf(“%s”,&s);
B. char s[5];scanf(“%s”,s);
C. char s[5];scanf(“%s”,&s[0]);
D. char s[5];gets(s);
9. &已知: struct{ }
则sizeof(test)的值是( )。
10. &为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时(
11. &if语句的控制条件( )。
A. 只能用关系表达式
B. 只能用关系表达式或逻辑表达式
C. 只能用逻辑表达式
D. 可以是任何表达式
&C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是(
A. 编辑和编译
B. 编译和连接
C. 连接和运行
D. 编辑和运行
&若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
14. &若有以下定义和语句:struct student{int
num,};struct student
stu[3]={{1001,20},{1001,19},{1003,21}};struct student
*p=则以下错误的引用是( )。
A. (p++)-&num
C. (*p).num
D. p=&stu.age
15. &以下程序的输出结果是( )。main(){int
i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)printf(“%d,”x[i][2-i]);}
16. &利用fseek函数可以( )。
A. 改变文件的位置指针
B. 实现文件的顺序读写
C. 实现文件的随机读写
D. 以上答案均正确
17. &下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
18. &以下程序的输出是( )。main(){char
a[2][5]={“6937”,”8254”};int
i,j,s=0;for(i=0;i&2;i++)for(j=0;a[i][j]&'0'&&a[i][j]&='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d
19. &指出程序结束时,j、i、k的值分别是( )。main(){int
a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a&b;++b)i++;while(a&
++c)j++;do k++;while(a&d++);}
A. j=5,i=4,k=6;
B. i=5,j=4,k=6;
C. j=6,i=5,k=7
D. j=6,i=6,k=6;
20. &下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
21. &C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
22. &要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A. 0&=m&&m&=9
B. '0'&=m&&m&='9'
C. “0”&=m&&m&=“9”
D. 前3个答案都是错误的
23. &执行以下程序段后,c3的值是()。int c1=1,c2=2,c3;
24. &执行下列程序段后,x、y和z的值分别是( )。int
x=10,y=20,z=30;if(x&y)z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
25. &已知:int
x=1,y=2,z;则执行z=x&y?++x:++y;则z的值为( )。
26. &执行下面的语句后x的值为( )。int a=14,b=15,x;char
c='A';x=((a&b)&&(c&'a'));
27. &已知:int a,*p=&a; 则下列函数调用中错误的是(
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
28. &执行以下程序段后,a,b,c的值分别是( )。int
a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x&9)
b=x++;c=y;
D. 1,11,10
29. &C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(
A. 地址传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
30. &下列程序段(
)。x=3;do{y=x--;if(!y){printf(“x”);}printf(“#”);}while(1&=x&=2);
C. 输出##x
D. 是死循环
E. 有语法错
31. &已知:char s[10],*p=s,则在下列语句中,错误的语句是(
C. s[2]=p[4];
D. *p=s[0];
32. &若int x;则执行下列程序段后输出是(
)。for(x=10;x&3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
33. &若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
34. &已知“int
a=4,b=5,c;”,则执行表达式“c=a=a&b”后变量a的值为( )。
35. &以下程序的输出结果是( )。main(){int
i,k,a[10],p[3];k=5;for(i=0;i&10;i++)a[i]=i;for(i=0;i&3;i++)p[i]=a[i*(i+1)];for(i=0;i&3;i++)k+=p[i]*2;printf(“%d”,k);
36. &以下正确的数组定义语句是( )。
A. int y[1][4]={1,2,3,4,5};
B. float x[3][ ]={{1},{2},{3}};
C. long s[2][3]={{1},{1,2},{1,2,3}};
D. double t[ ][3]={0};
37. &在以下对C语言的描述中,正确的是( )。
A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B. C语言函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
38. &若int a,b,c;则为它们输入数据的正确的语句是( )。
A. read(a,b,c);
B. scanf("%d%d%d",a,b,c);
C. scanf("%D%D%D",&a,&b,&c);
D. scanf("%d%d%d",&a,&b,&c);
39. &下列程序执行的结果是( )。A=1;b=2;c=3;While(b
&在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(
A. 称为函数的直接递归
B. 称为函数的间接递归
C. 称为函数的递归定义
D. C语言中不允许这样的递归形式
北理工16秋《C语言程序设计》在线作业
二、判断题(共 10 道试题,共 20 分。)
1. &在C语言的scanf(
)中可用”%m.nf”形式的格式字符指定输入数据的精度。
&在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
3. &在C语言中,函数中只能有一个return 语句。
4. &在标准C语言中,在定义带参数的宏时也要定义参的类型。
5. &"A"是一个字符常串量。
6. &在C语言中,以“r”方式不能打开并不存在的文件。
7. &若函数的返回值与return表达式类型不一致时,以return
表达式类型为准。
8. &结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。
&在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转换为较高的数据类型。
10. &“%”运算两侧的数据可以是任意类型的数据。
北理工16秋《C语言程序设计》在线作业
一、单选题(共 40 道试题,共 80 分。)
1. &下列程序执行的结果是( )。A=1;b=2;c=3;While(b
2. &已知“int
a=4,b=5,c;”,则执行表达式“c=a=a&b”后变量a的值为( )。
3. &若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
4. &在以下对C语言的描述中,正确的是( )。
A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
B. C语言函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C语言程序中有定义关系的所有函数都必须放在同一源文件中
5. &C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是(
A. 地址传递
C. 由实参传给形参,并由形参传回给实参
D. 由用户指定传递方式
6. &执行以下程序段后,c3的值是()。int c1=1,c2=2,c3;
7. &C语言结构类型变量在程序执行期间( )。
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
8. &若int x;则执行下列程序段后输出是(
)。for(x=10;x&3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }
9. &以下正确的数组定义语句是( )。
A. int y[1][4]={1,2,3,4,5};
B. float x[3][ ]={{1},{2},{3}};
C. long s[2][3]={{1},{1,2},{1,2,3}};
D. double t[ ][3]={0};
10. &利用fseek函数可以( )。
A. 改变文件的位置指针
B. 实现文件的顺序读写
C. 实现文件的随机读写
D. 以上答案均正确
11. &main(argc,argv)中形式参数argv的正确说明形式应当为(
A. char *argv[ ]
B. char argv[ ][ ]
C. char argv[ ]
D. char *argv
12. &下列程序段(
)。x=3;do{y=x--;if(!y){printf(“x”);}printf(“#”);}while(1&=x&=2);
C. 输出##x
D. 是死循环
E. 有语法错
13. &已知: struct{
} 则sizeof(test)的值是( )。
14. &已知:struct sk{
}data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。
A. (*p).data.a
C. p-&data.a
D. p.data.a
15. &说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
16. &若int a,b,c;则为它们输入数据的正确的语句是( )。
A. read(a,b,c);
B. scanf("%d%d%d",a,b,c);
C. scanf("%D%D%D",&a,&b,&c);
D. scanf("%d%d%d",&a,&b,&c);
17. &若有以下定义和语句:struct student{int
num,};struct student
stu[3]={{1001,20},{1001,19},{1003,21}};struct student
*p=则以下错误的引用是( )。
A. (p++)-&num
C. (*p).num
D. p=&stu.age
18. &下面描述中,不正确的是( )。
A. 递归法的关键是必须有一个递归终止的条件。
B. 递归算法要求语言具有反复自我调用子程序的能力。
C. 对于同一个问题,递推算法比递归算法的执行时间要长。
D. 递推算法总可以转换为一个递归算法。
19. &以下程序的输出结果是( )。main(){int
i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i&3;i++)printf(“%d,”x[i][2-i]);}
&在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则(
A. 称为函数的直接递归
B. 称为函数的间接递归
C. 称为函数的递归定义
D. C语言中不允许这样的递归形式
21. &指出程序结束时,j、i、k的值分别是( )。main(){int
a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a&b;++b)i++;while(a&
++c)j++;do k++;while(a&d++);}
A. j=5,i=4,k=6;
B. i=5,j=4,k=6;
C. j=6,i=5,k=7
D. j=6,i=6,k=6;
22. &为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时(
23. &下列对字符串的定义中错误的是( )。
A. char str[7]="FORTRAN"
B. char str[ ]=" FORTRAN"
C. char *str="FORTRAN"
D. char str[ ]={'F','O','R','T','R','A','N','
24. &已知:char s[10],*p=s,则在下列语句中,错误的语句是(
C. s[2]=p[4];
D. *p=s[0];
25. &以下对C语言中联合类型数据的正确叙述是( )。
A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员
B. 一个联合变量中可以同时存放其所有成员
C. 一个联合变量中不能同时存放其所有成员
D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中
26. &执行下面的语句后x的值为( )。int a=14,b=15,x;char
c='A';x=((a&b)&&(c&'a'));
27. &下面程序的输出结果是( )。main(){int i,j;float
s;for(i=6;i&4;i--){s=0.0; for(j=i;j&3;j--)s=s+i*j;
}printf(“%f ”,s);}
A. 135.000000
B. 90.000000
C. 45.000000
D. 60.000000
28. &执行下列程序段后,x、y和z的值分别是( )。int
x=10,y=20,z=30;if(x&y)z=x; x=y; y=z;
A. 10,20,30
B. 20,30,30
C. 20,30,10
D. 20,30,20
29. &执行以下程序段后,a,b,c的值分别是( )。int
a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x&9)
b=x++;c=y;
D. 1,11,10
30. &下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
31. &已知:int
x=1,y=2,z;则执行z=x&y?++x:++y;则z的值为( )。
32. &以下程序的输出是( )。main(){char
a[2][5]={“6937”,”8254”};int
i,j,s=0;for(i=0;i&2;i++)for(j=0;a[i][j]&'0'&&a[i][j]&='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d
33. &要判断char型变量m是否是数字字符,可以使用下列表达式( )。
A. 0&=m&&m&=9
B. '0'&=m&&m&='9'
C. “0”&=m&&m&=“9”
D. 前3个答案都是错误的
&若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是(
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
35. &下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
36. &以下( )不是C语言的特点。
A. 语言的表达能力
B. 语言定义严格
C. 数据结构系统化
D. 控制流程结构化
37. &以下程序的输出结果是( )。main(){int
i,k,a[10],p[3];k=5;for(i=0;i&10;i++)a[i]=i;for(i=0;i&3;i++)p[i]=a[i*(i+1)];for(i=0;i&3;i++)k+=p[i]*2;printf(“%d”,k);
38. &不能正确为字符数组输入数据的是( )。
A. char s[5];scanf(“%s”,&s);
B. char s[5];scanf(“%s”,s);
C. char s[5];scanf(“%s”,&s[0]);
D. char s[5];gets(s);
39. &已知:int a,*p=&a; 则下列函数调用中错误的是(
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
40. &if语句的控制条件( )。
A. 只能用关系表达式
B. 只能用关系表达式或逻辑表达式
C. 只能用逻辑表达式
D. 可以是任何表达式
北理工16秋《C语言程序设计》在线作业
二、判断题(共 10 道试题,共 20 分。)
&在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。
2. &switch(表达式)中的表达式可以是任意类型的表达式。
3. &在C语言中,函数中只能有一个return 语句。
4. &在C语言中,以“r”方式不能打开并不存在的文件。
&在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。
6. &“%”运算两侧的数据可以是任意类型的数据。
&在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。
8. &在标准C语言中,在定义带参数的宏时也要定义参的类型。
9. &在C语言中,逻辑表达式中只允许出现逻辑型数据。
10. &在C语言的scanf(
)中可用”%m.nf”形式的格式字符指定输入数据的精度。
需要答案加QQ
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 c语言 递归 分治算法 的文章

 

随机推荐