C 练习题分析
C语言竞赛练习题(答案)

C语言竞赛练习题目录一、穷举1、求最大数2、高次方数的尾数3、借书方案知多少6、抓交通肇事犯12、平分七筐鱼13、有限5位数14、除不尽的数15、一个奇异的三位数16、位反序数17、求车速18、阿姆斯特朗数19、完全数20、亲密数21、自守数22、回文数23、求具有abcd=(ab+cd)2性质的四位数24、求素数25、歌德巴赫猜想26、要发就发27、素数幻方28、百钱百鸡问题29、斯坦的数学题31、换分币32、三色球问题33、马克思手稿中的数学题34、分数比较、分数之和35、将真分数分解为埃及分数36、列出真分数序列37、计算分数的精确值38、谁是窃贼39、黑与白40、迷语博士的难题41、哪个大夫哪天值班42、区分旅客国籍43、谁家孩子跑最慢44、拉丁方45、填表格46、1~9分成1:2:3的三个3位数47、1~9组成三个3位的平方数48、由8个整数形成奇特的立方体49、减式还原50、乘式还原51、九位累进可除数52、魔术师的猜牌术53、约瑟夫问题、邮票组合54、和数能表示1~23的5个正整数55、可称1~40磅的4块砝码56、10个小孩分糖果57、小明买书61、四方定理63、尼科彻斯定理65、自动发牌66、黑白子交换67、常胜将军二、计算4、数制转换5、打鱼还是晒网7、该存多少钱8、怎样存钱利最大9、捕鱼和分鱼10、出售金鱼11、分数四则运算30、年龄几何58、波松瓦酒的分酒趣题59、波松瓦酒的分酒趣题60、角谷猜想62、卡布列克常数64、回文数的形成1.求最大数问555555的约数中最大的三位数是多少?*问题分析与算法设计根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。
因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。
本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。
*程序说明与注释#include<stdio.h>void main(){long i;int j;printf("Please input number:");scanf("%ld",&i);for(j=999;j>=100;j--)if(i%j==0){printf("The max factor with 3 digits in %ld is:%d,\\n",i,j);break;}*运行结果输入:555555输出:The max factor with 3 digits in 555555 is:7772.高次方数的尾数求13的13次方的最后三位数*问题分析与算法设计解本题最直接的方法是:将13累乘13次方截取最后三位即可。
C语言——顺序结构程序设计练习题

顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言——顺序结构程序设计练习题

顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: 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 )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:cA.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
C语言数组百道练习题含答案

6.5 以下能对一维数组 a 进行正确初始化的语句是 B 。????? A)int a[10]=(0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]={10*1}; 6.6 以下对二维数组 a 的正确说明是 C 。 A)int a[3][]; B)float a(3,4); C)double a[1][4]; D)float a(3)(4); 6.7 若有说明:int a[3][4];则对 a 数组元素的正确引用是 C 。 A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) 6.8 若有说明:int a[3][4];则对 a 数组元素的非法引用是 D 。 A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[0][4] 6.9 以下能对二维数组 a 进行正确初始化的语句是 B 。 A)int a[2][]={{1,0,1},{5,2,3}}; B)int a[][3]={{1,2,3},{4,5,6}}; C)int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][3]={{1,0,1}{},{1,1}}; 6.10 以下不能对二维数组 a 进行正确初始化的说明是 C 。 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6}; 6.11 若有说明:int a[3][4]={0};则下面正确的叙述是 D 。 A)只有元素 a[0][0]可以得到初值 0 B)此说明语句不正确 C)数组中各元素都可以得到初值,但其值不一定为 0 D)数组中每个元素均可得到初值 0 6.12 若有说明:int a[][4]={0,0};则下面不正确的叙述是 A)数组 a 的每个元素都可得到初值 0 B)二维数组 a 的第一维大小为 1 C)因为二维数组 a 中第二维大小的值除初值个数的商为 0,故数组 a 的行数为 1 D)只有元素 a[0][0]和 a[0][1]可得到初值 0,其余元素均得不到初值 0 6.13 若有说明:static int a[3][4];则数组中各元素 A)可在程序的运行阶段得到初值 0 B)可在程序的编译阶段得到初值 0 B 。 D 。
2022年中考部编人教语文二轮标点符号专项练习题及参考答案解析答案
2022年中考部编人教语文二轮标点符号专项练习题及参考答案解析答案答案解析部分1.【答案】C【解析】【分析】此题考查的是句子顺序的排列。
做题时要仔细阅读句子,抓住每一句的关键字,如开头词语:首先,其次;表时间的词语;表方位的词语等,就能顺利解答此题。
注意本句内容的衔接(抓住关键词语)和句式的一致。
【点评】语言表达要简明、连贯、得体。
2.【答案】B【解析】【分析】本题考查标点符号的相关知识。
A并列动词性短语之间应用逗号。
C概数之间不能用顿号。
D选择问的第一个分句不能用问号,因为话还没有说完。
故答案为:B。
【点评】正确熟练地掌握标点符号的运用。
3.【答案】B【解析】【分析】B冒号改为逗号。
故选B。
【点评】此题考查学生对标点符号的运用。
4.【答案】A【解析】【分析】本题考查的是标点的正确使用与修改能力。
标点符号是书面语言的有机组成部分,是书面语言不可缺少的辅助工具。
它帮助人们确切地表达思想感情和理解书面语言。
要做到结合语境,准确规范地使用标点。
A项使用错误,“飞流直下三千尺,疑是银河落九天”这是引用的完整的诗句,句号应放在后引号的里面。
故答案为:A【点评】要了解标点符号的基本用法,重点掌握每一种标点符号的特殊用法,能正确使用标点符号。
5.【答案】D【解析】【分析】判断句中分句间的关系,辨析易混标点符号。
本题是选择题,可以采用反选排除法,把明显错的先排除,比如第一处“放他”后面的回答是“行!”,那前面肯定是问号,可以排除AB 两项,再对剩下下的两项进行判断。
6.【答案】B【解析】【分析】A“如果困难出现,就要战斗到底”“如果训练有素,你就会生还”“若疏于训练,大自然将把你收为己有”属于并列的分句,中间应该用分号,应把“生还”后面的句号改为分号。
B 使用正确。
C这是一个选择问句,选择问句中间的应该为逗号。
D省略号和等作用相同,不能同时使用,应把省略号删去。
故答案为:B【点评】本题考查使用标点符号的能力。
标点符号是平时学习和考试中经常涉及到的,因此必须熟练掌握常用的标点符号及其用法。
国家开放大学C语言程序设计课程期末练习题
C语言程序设计课程期末练习题一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
A A. warning B. error C. warn D. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
计算机基础C语言46章练习题目
【程序1】题目:有1、2、3、4个数 字,能组成多少个互不相同且无重复 数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都 是1、2、3、4。组成所有的排列后再去掉不满 足条件的排列
#include<stdio.h>
printf("%d",j) ; } }
有以下程序:
D
有以下程序:
D
有以下程序:
D
有以下程序:
D
有以下程序:
D
有以下程序:
D
有以下程序:
D
2、若有程序段如下: a=b=c=0;x=35; if(!a)x--; else if(b);if(c)x=3; else x=4; 执行后,变量x的值是( ) A.34 B.4 C.35 D.3
表达式(a=i<j)&&(b=j>k)||(c=a+b)后,b
值是 0 , C值是 1 . 2、下列运算符中,结合方向为自左向右的是 A
(A)?: (B), (C)+ = (D)+ +
3、在条件结构if(m)中,表达式m相当于:C
A.和(M==0)等价
B.和(M==1)等价
C.和(M!=0)等价
D.和(M!=1)等价
# include <stdio.h> void main ( ) {
int n,i=1; long sum=0; 应改为 long sum=1; printf ("输入一个正整数:"); scanf ("%d",&n); while (i<n)
高三英语代词常见题型及答题技巧及练习题(含答案)含解析
高三英语代词常见题型及答题技巧及练习题(含答案)含解析一、单项选择代词1.Miss Green thought __________ a great honor to be invited to speak to all of us. A.that B.this C.it D.her【答案】C【解析】试题分析:考查形式宾语用法。
it 是形式宾语,后面的to be invited to speak to all of us是真正的宾语,great honor是宾补。
句意:格林小姐认为被邀请为我们所有人演讲是一件很光荣的事情。
故选C。
考点:考查it用法。
2.The English spoken in the United States is only slightly different from spoken in England. A.which B.what C.that D.the one【答案】C【解析】【详解】考查代词。
句意:在美国说的英语与在英国说的英语略有一点不同。
由spoken in England可知,此处不是从句,不能使用which/what。
在比较级中,为了避免重复,要用that代替前面出现的同一事情,但此处English为不可数名词,要用that, 而不用the one,the one代替可数名词时,可与that互换。
故选C。
3.I’m as big as human. In fact, I look like ______ too.A.the one B.thatC.it D.one【答案】D【解析】考查不定代词。
句意:我同人一样大,事实上,我看起来像一个人。
此处用one代替前面的human,故选D。
4.If I have ever feared death before, it was ______ compared to how I felt as the roller coaster that moved faster and faster.A.anything B.something C.nothing D.everything【答案】C【解析】考查代词。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1[简答题]学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。
注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序:参考解析:【参考答案】【考点分析】本题考查:结构体数组操作;用循环判断结构查找数组中的最大值。
【解题思路】该程序使用两个循环判断语句,第1个循环判断语句的作用是找出最大值;第2个循环判断语句的作用是找出与max相等的成绩(即最高成绩)的学生记录,并存入b中。
【解题宝典】’对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。
如何对结构体数组进行类似操作呢?掌握以下语句:2[单选题] 下列定义数组的语句中,正确的是( )。
参考答案:A参考解析:数组说明的一般形式为:类型说明符数组名[常量表达式]。
B选项中N是变量,不能用变量定义数组长度。
c选项中数组长度是非法的一串数字。
定义数组时必须为其指明长度,D选项中数组长度为空,所以非法。
3[单选题] 若有以下程序段则以下选项中值为6的表达式是A.P->nB.(*p).nC.p->n++D.++(P->n)参考答案:D参考解析:本题考查结构体变量的引用,其中a为定义的结构体数组,D选项中P->n为5,++(P->11)为6,所以D选项正确。
4[单选题] 有以下程序程序运行后的输出结果是A.4B.8C.9D.6参考答案:B参考解析:本题考查宏定义,宏定义只是做个简单的替换,执行NUM=(N+l+1)*N+1/2=8,选项B正确。
5[单选题] 有以下程序程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是A.a.aB.*P.aC.P->aD.(*p).a参考答案:B参考解析:本题考查结构体变量的引用,题目中要求输出结构体中成员a的数据,P为指针,* P为结构体变量,那么*P.a可以表示为结构体中成员a的数据。
6[单选题] 若有定义语句:double a,*P=&a;以下叙述中错误的是( )。
A.定义语句中的*号是-个间址运算符B.定义语句中的木号是-个说明符C.定义语句中的P只能存放double类型变量的地址D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P参考答案:A参考解析:在变量定义double a,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。
7[单选题] 设有以下程序段:以下叙述正确的是( )。
A.只有变量c的定义是合法的B.只有变量a,b,c的定义是完全合法的C.所有变量的定义都是完全合法的D.只有变量a,b的定义是完全合法的参考答案:D参考解析:float“8]={1.0,2.0};定义了一个包含8个float型元素的数组,并初始化了数组的前2项,其他项是随机数。
int b[1]={0},定义了只有一个int型元素的数组,并初始化为0。
char c[]={¨A”,”B¨};定义一个char型数组,大小有初始化元素决定,但初始化值是字符串,类型不兼容,编译出错。
char d=…1’;定义一个char型变量,但是初始化赋值字符串,类型不兼容,编译出错。
因此只有a,b定义和初始化正确。
故答案为D选项。
8[单选题] 有以下程序:程序运行后的输出结果是( )。
A.1002,ZhangDa,1202.0B.1002,ChangRon9,1202.0C.1001,ChangRon9,1098.0D.1001,ZhangDa,1098.0参考答案:D参考解析:本题考查结构体的相关操作以及传值、传址的区别,该题中调用f函数后,会生成参数a的一个副本,而不会改变a的值,所以a值维持原值,选项D正确。
9[单选题] 有以下程序:则以下函数调用语句错误的是( )。
A.k:f(a,B.;B.k:add(a,B.;C.k=(*f)(a,B.;D.k=*(a,B.;参考答案:D参考解析:D选项中+f(a,b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,所以不能将其赋值给整形变量k。
10[单选题] 程序调试的任务是( )。
A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误参考答案:D参考解析:程序调试的任务是诊断和改正程序中的错误。
1[填空题]下列给定程序中,函数fun的功能是进行数字字符转换。
若形参ch中是数字字符‘0’~‘9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,…,‘9’转换成‘0’;若是其他字符则保持不变;并将转换后的结果作为函数值返回。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】(1)char(2)ch<=~9 (3)’O’【考点分析】本题考查:函数定义,注意函数定义的一般形式以及有参函数和无参函数的区别;if语句条件表达式,本题的条件表达式是判断数字字符;函数返回值,其一般形式为“return表达式;”。
【解题思路】填空l:函数定义时,类型标识符指明了函数的类型,函数的类型实际上是函数返回值的类型,所以此处应该填入char。
填空2:通过if条件语句判断字符串中字符是否为数字字符,即大于等于字符‘0’,同时小于等于字符‘9’。
填空3:return语句完成函数返伺操作,要实现字符转换,完整语句为return~9一(ch一~0)。
【解题宝典】.有参函数定义,其一般形式为:类型标识符函数名(形式参数列表){ 声明部分语句}在形参列表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号分隔。
在进行函数调用时,主调函数将赋予这些形式参数实际的值。
形参也是变量,必须在形参列表中给出类型说明。
2[单选题] 以下叙述中错误的是( )。
A.gets函数用于从终端读人字符串B.getehar函数用于从磁盘文件读人字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件参考答案:B参考解析:本题考查字符处理函数和文件操作函数。
属于基础知识,其中B选项9etchar函数是用于从终端读人一个字符。
3[单选题] 以下选项中合法的实型常量是()A.0B.3.13e-2.1C..914D.2.0*10参考答案:C参考解析:A选项为整型数据。
B选项中e后面必须为整数。
D 选项是表达式,不是常量,所以选择C。
4[单选题] 有以下程序段:以下选项中不能正确引用字符串的是( )。
A.3B.p[3]C.str[2]D.*P参考答案:A参考解析:t p[3]一p[3][0]是一个字符,不是字符串,选项A错误。
P[3]和str[2]和+P分别代表了ddd,eec,flaa。
答案为A选项。
5[单选题] 有以下程序(strcpy为字符串复制函数,streat为字符串连接函数)程序运行后的输出结果是A.a12xyzB.bc2yzC.a2yzD.12yz参考答案:C参考解析:本题考查字符串处理函数strcpy和streat,执行完str cpy(a+1,b+2);后,a变为a2,执行完strcat(a,c+1)后,a变为a2yz,所以答案为C选项。
6[单选题] 在软件开发中,需求分析阶段产生的主要文档是( )。
A.软件集成测试计划B.软件详细设计说明书C.用户手册。
D.软件需求规格说明书参考答案:D参考解析:需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。
所以选择D。
7[单选题]若有以下程序则程序的输出结果是A.1,2,3,4B.2,1,2,-1C.5,1,2,-1D.2,2,2,4参考答案:参考解析:第一个if语句的判断条件中是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前面的已经为真,后面的表达式不再进行执行判断。
执行第一个if判断条件时a的值为2,整个表达式的值为真,b的值不变,c的值为2。
判断第二个if条件为逻辑与表达式。
只有两个运算对象均非零,才为真,第一个表达式c ==3,不成立,不再判断第二个运算对象,所以不执行d=-1操作和a =5操作。
所以结果为选项D。
8[单选题] 下面选项中的程序段,没有编译错误的是参考答案:A参考解析:本题考查字符数组的初始化以及指向字符串的指针,B选项不能直接将字符串赋值给数组名,C选项不能将两个字符数组直接互相赋值,D选项中不能这样定义charmark[],必须指定长度或者直接初始化。
9[单选题] 以下选项中关于程序模块化的叙述错误的是( )。
A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.把程序分成若干相对独立的模块,可便于编码和调试D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序参考答案:A参考解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法。
所以选项A中“自底向上”的说法是错误的。
10[单选题] 已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
A.C=(。
A’+C.%26一"a"B.c=c+32C.c=c一"A"+"a"D.c=(c一’A")%26+-a"参考答案:A参考解析:根据题意可知,小写字母比与之对应的大写字母的A SCⅡ码大32。
A选项中字符A加上c表示的大写字符再对字母个数26取余,本身这个表达式没有任何含义,所以选择A选项。
1[单选题]以下叙述中正确的是A.如果函数带有参数,就不能调用自己B.所有函数均不能接受函数名作为实参传入C.函数体中的语句不能出现对自己的调用D.函数名代表该函数的入口地址参考答案:B参考解析:本题考查函数调用相关知识,B选项中函数可以接受函数名作为实参传人,引用函数名也是指针,C、A选项是错误的,因为递归函数就能调用自己。
2[单选题] 有以下程序:程序运行时,输入的值在哪个范围才会有输出结果( )。
A.小于3的整数B.不等于10的整数C.大于3或等于10的整数D.大于3且不等10的整数参考答案:D参考解析:根据代码可知如果x的值小于等于3,执行空语句,不进行打印操作。
如果x的值大于3,再判断x的值是否不等于l0,如果不等于l0就打印X的值,所以选择D选项。