c语言模拟试题及答案

2025-01-07 版权声明 我要投稿

c语言模拟试题及答案(精选10篇)

c语言模拟试题及答案 篇1

1.在C语言中,下列类型属于构造类型的是(D)A.整型 B.字符型 C.实型 D.数组类型 2.下列字符串不是标识符的是(D)A.sum B.Average C.Day_night D.M.D.JOHN 3.在C语言中,回车换行符是(A)A.n B.t C.v D.b 4.在C语言中,语句和数据定义是用(C)作为结束标记的 A.句号 B.逗号 C.分号 D.括号 5.设有如下定义: int x=10,y=5,z;则语句printf(“%dn”,z=(x+=y,x/y));的输出结果是(C)A.0 B.1 C.3 D.4 6.10.以下程序的输出结果是(B)main(){char c1=’8’,c2=’2’;

printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);} A.因输出格式不合法,输出出错信息 B.8,2,6,106 C.8,2,6,10 D.8,2,5,9 7.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(A)main(){int x;scanf(“%d”,&x);

if(x++>5)printf(“%dn”,x);else printf(“%dn”,x--);} A.7和5 B.7和4 C.6和4 8.表达式(int)2.1416的值时(A)A.2 B.2.1 C.0 D.3 9.下列运算符优先级最高的是(B)A.> B.+ C.&& D.!= 10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B)A.float型 B.Int型 C.Long 型 D.Double型

11、C程序的基本构成单位是(C)A、子程序 B、过程 C、函数 D、文件

12、C语言中要求操作数都为整型数据的算术符是(C)A、/ B、!C、% D、= =

13、若int x=1,y=1;则表达式(!x||y--)的值是(B)。A、0 B、1 C、2 D、-1

14、能正确表示逻辑关系:a≥10或a≤0的C语言表达式(D)A、a>=10 or a<=0 B、a>=0|a<=10 C、a>=10 && a<=0 D、a>=10||a<=0

15、double x,y;表达式x=1,y=x+3/2的值是(C)。A、1 B、2 C、2.0 D、2.5

16、运行C源程序的命令是(D)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9

17、运行完C程序后,查看C程序运行结果的命令是(A)A、ALT+F5 B、ALT+F9 C、CTRL+F5 D、CTRL+F9 18.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是:(D)A、3,2 B、4,3 C、3,3 D、4,2 19设 int a=12;表达式a+=a-=a*=a的值是(C)。A 12 B 144 C 0 D 132 20、若给定条件表达式(M)?(a++):(a--),则其中表达式M和(D)等价。A M==0 B M=1 C M!=1 D M!=0

21、在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为(D)。A 只能是逻辑表达式 B只能是关系表达式

C 只能是逻辑表达式或关系表达式 D可以是任意表达式

22、下列选项中,(A)给变量赋初值是错误的。

A int a=b=3;B int a,b,c=5;C int a=3,b,c=a;D float f=3.56;

23、在C语言中,一个字符变量在内存中占用(A)个字节。A 1 B 2 C 3 D 4

24、int a=12,b=13,c;c=(a

25、设有int i;则表达式i=1,++i,++i||++i,i的值为(C)A.1 B.2 C.3 D.4 30以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是(A)A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1 else k=0;C)if(a<=b)k=0;D)if(a>b)k=1;else if(b<=c)k=1;else if(b>c)k=1;else k=0;

31、算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性 32以下选项中可作为C语言合法常量的是(A)(A)-80.(B)-080(C)-8e1.0(D)-80.0e

33、以下叙述中正确的是(C)

(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出

33、以下选项中,不能作为合法常量的是(B)(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0

34、有以下程序

B)(main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d %d %dn”,i,j,k);} 程序运行后的输出结果是(D)(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 3

35、判断变量ch中的字符是否为数字字符,正确表达式是____D___。

A)ch>=0&&ch<=9 B)’0’<=ch<=’9’ C)ch>=’0’||ch<=’9’ D)ch>=’0’&&ch<=’9’

36、若执行以下程序时从键盘上输入9,则输出结果是__B_____ A)11 B)10 C)9 D)8 main()

{ int n; scanf(“%d”,&n); if(n++<10)printf(“%dn”,n); else printf(“%dn”,n--); }

37、若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y

38、以下非法的赋值语句是(C)A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;

39、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)A)6.500000 B)6 C)5.500000 D)6.000000 40、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为

1、j的值为

2、k的值为3,以下选项中正确的输入语句是(C)A)scanf(“---”,&i,&j,&k);B)scanf(“%d %d %d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

41、若有以下程序: main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);} 执行后的输出结果是(C)A)8,6 B)8,3 C)6,4 D)7,4 

42、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是(D)A)6 B)0 C)2 D)1

43 以下选项中,与k=n++完全等价的表达式是(A)A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1

39、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是B A)i= *P;B)*P=*&J;C)i=&j;D)i=* *p;40、若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是C A)*p+6 B)*(p+6)C)*p+=5 D)p+5

二、填空题

1.C语言是通过 库函数 来进行输入和输出的。

2.C语言的数据类型有四大类,他们是 基本类型、构造类型、指针类型和 空类型。

4.下面程序的运行结果是 3.600000,3 main(){float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);} 5.数组名定义规则和变量名相同,遵守 标识符 命名规则。

6、main(){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%cn”,c1,c2,c3);} 程序的运行结果是: b,99,d

7、main(){int a=5,b=6,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“c=%dn”,c);} 程序的运行结果是:-1 11.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为 0。12.设 int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是 9。14.求100~200间的全部素数。# include main(){ int m,k,i,n=0;for(m=101;m<=200;m+=2){ if(n==0)printf(“n”);k=sqrt(m);for(i= 2;i<=k;i++)if(m%i==0)break;if(i== k){ printf(“%d ”,m);n++;} } }

15、main(){ int x,y=1,z=10;if(y!=0)x=5; printf(“x=%dt”,x);x=1;if(z<0)if(y>0)x=3;else x=5;printf(“x=%dn”,x);if(z=y<0)x=3;else if(y==0)x=5;else x=7;printf(“x=%dt”,x);printf(“z=%dn”,z);} 写出程序的运行结果:x=5 x=1 x=7 z=0

16、百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹? main(){ int hb,hm,hl,n=0;for(hb=0;hb<=100;hb+= 3)for(hm=0;hm<=100-hb;hm+= 2){ hl=100-hb-hm;if(hb/3+hm/2+2* hl ==100){ n++;printf(“hb=%d,hm=%d,hl=%dn”,hb/3,hm/2,2*hl);} } printf(“n=%dn”,n);}

17、写出程序运行结果,并简述功能(运行结果5分,功能描述3分,共8分)#include main(){ int i,t;int a[10]={2,4,6,8,10,1,3,5,7,9};for(i=0;i<=4;i++){ t=a[i];a[i]=a[9-i];a[9-i]=t;} for(i=0;i<=9;i++)printf(“%d ”,a[i]);} 运行结果: 7 5 3 1 10 8 6 4 2 功能描述:

将整型数组a以逆序形式显示出来

18、有以下语句段 int n1=10,n2=20;printf(“ n1=%dnn2=%d ”,n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10 n2=20

19、有以下程序 main(){ int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);} 执行后输出结果是-4。

21、.以下程序运行后的输出结果是____ main(){ int a,b,c;a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d %d %dn”,a,b,c);} 答案:10 20 0

22、任意输入三条边(a,b,c)后,若能构成三角形且为等腰、等边和直角,则分别输出DY、DB和ZJ,若不能构成三角形则输出NO。main(){ float a,b,c,a2,b2,c2 scanf(“%f%f%f%,&a,&b,&c);printf(”%5.1f,%5.1f,%5.1f“,a,b,c);if(a+b>c&&b+c>a&&a+c>b){ if(a==b || b==c || a==c)printf(”DY“);if(a==b && b==c)printf(”DB“);a2=a*a;b2=b*b;c2=c*c;if((a2+b2==c2)||(a2+c2==b2)||(b2+c2==a2))printf(”ZJ“);printf(”n“);} else printf(”NOn“);}

23、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是___x=2______ if(a

24、以下程序运行后的输出结果是 20,0。 main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d n”,x,y);}

三、程序题

1、在购买某物品时,若所花的钱x在下述范围内,所付钱y按对应折扣支付:

x x<1000 0.9x 1000≤x<2000 0.8x 2000≤x<3000 0.7x x.≥3000 y=

2、编一程序根据上网时间计算上网费用,计算方法如下:

费用= 30元基数 <10小时 每小时3元 10 ~50 每小时2.5元 ≥50小时

同时为了鼓励多上网,每月收费最多不超过150元。

3、已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下:

c语言模拟试题及答案 篇2

1 C语言的文件类型

在计算机的处理系统中, 文件类型的区分方法有许多种。在C语言的执行系统中对文件的类型能够根据输入与输出方式以及存放在存储介质的具体形式来执行。

(1) 根据输入输出方式类型, 能够分成顺序存取文件与直接存取文件两种。顺序存取文件的优势表现在:如果“打开”这种类型的文件, 在进行读或者写的具体操作过程中, 一般都是从文件的开始执行读或者写操作。直接存取文件的优势表现在:如果“打开”这种类型的文件, 在进行读或者写的过程中, 能够调用C语言的库函数指定开始读或者写操作的字节号, 接着是直接对在这个位置上的数据进行读操作, 或者将数据写到这个位置上。

(2) 根据存放于存储介质上的类型, 能够区分为文本类型文件与二进制类型文件。文本类型文件的特征为:根据文件内容字符的ASCII形式存储在磁盘介质中, 这种类型的文件, 通过Windows系统的记事本能够直接打开, 也能够直接在终端屏幕输出。二进制类型文件的特征为:文件中的数据是根据二进制形式存储到磁盘介质中, 数据类型由字节大小所决定, 同时在存储过程中不会产生变化。这种类型的文件无法在终端屏幕直接输出, 然而在输入、输出过程中因为不发生转换, 因此速度相对较快。

2 C语言的文件操作

C语言的文件操作是根据定义一个特殊形式的变量:即为文件类型指针变量来达到功能的实现目的, 如果根据FILE说明符对文件类型指针变量进行定义之后, 使用fopen () 功能, 能够赋予文件类型指针变量打开文件的文件名, 使用fclose () 功能能够关闭当前打开的文件。对于打开文件命令功能的fopen () , 其中的参数需要进行选择, 能够控制文件的执行方式, 执行的方式主要分为:“读”、“写”、“读写”、“二进形式”以及“添加数据”等。

3 C语言的文件操作应用

3.1 文件输入输出应用

在C语言的程序设计过程中, 程序的运行结果是否有效, 主要是通过程序的调试功能实现的。然而在程序的实际调试过程中, 如果一次性输入原始数据之后, 程序在执行过程中存在错误需要改正的, 改正错误后再进行调试, 同时需要再输入一次原始数据完成调试功能。在这个调试过程中对于输入数据量较少的运行程序而言还是简单, 然而对于输入原始数据量大的程序而言, 上述的运行过程就显得非常烦琐, 同时数据是一样的, 只能够重复地进行输入操作。

(1) 根据文件为程序执行功能提供输入数据。通过调用文件的原始数据, 能够防止在程序的反复调试过程中循环输入数据, 不但能够确保数据的正确性, 而且能够简化输入过程。在C语言的程序设计过程中, 假如程序中涉及到数组变量与结构体变量, 在程序调试过程中输入的数据量相对比较大。根据文件为二维数组变量提供输入数据, 首先在记事本下输入二维数组形式的数据元素, 输入的具体形式为行列形式, 各个数据之间使用逗号进行分开, 各行最后的数字也要用逗号, 同时使用相应的文件名存盘。

(2) 根据文件保存程序输出结果。程序的调试方式正确。程序运行结束后输出的结果, 假如使用普通的输出方式, 只能再输出屏幕上显示一次, 如果在下一次程序运行之后再输出结果后, 上一次的输出结果就会消失了。如果部分输出结果具有一定的作用, 然而可以继续使用时, 就会显得非常不便捷。假如使用文件操作, 对程序运行的结果进行保存, 就可以充分地解决这个实际问题。

3.2 文件比较应用

在计算机辅助C程序设计的过程中, 假如需要对某种测试结果进行计算机自动评分, 对于客观题型中的选择题、填空题以及判断题的评分是非常容易实现的, 然而对程序设计题型的自动评分功能就难以实现。主要原因是程序设计的实现方法灵活度较高, 无法使用统一的一个标准来判别编写的程序。然而无论设计出何种形式的运行程序, 程序的执行结果都是固定唯一的。根据程序运行结果的唯一特性, 通过对运行程序输出到文件的结果与事先准备的运行程序输出结果的文件进行对比, 能够实现程序设计的自动评分功能。这种评分标准的存在问题时, 缺少过程的体现, 仅仅重视结果。为了能够确保程序设计的通用性, 应该设置某些参数, 通过对参数进行调整来验证程序的通用性特征。

4 结束语

在C语言程序中文件的实际应用形式多种多样, 尤其是在程序调试过程中需要的特殊数据形式。比如在对存储复杂结构形式的二叉树、图等具体程序进行输入数据的过程中, 数据文件格式的表示, 数据文件读取功能的指令, 都应当进行详细的具体设计。在C语言程序中的文件应用仍然有很多内容需要进行研究与探索, 这样才可以充分地体现出程序设计的应用价值。

参考文献

[1]颜盟盟.Visual C++从入门到精通[M].北京:化学工业出版社, 2009.

[2]田淑清.全计算机等级考试二级教程-C语言程序设计[M].北京:高等教育出版社, 2013.

[3]程海, 黄春光, 杨自恒等.C语言在电子信息专业中的发展[J].中国科技信息, 2013 (10) .

[4]针对嵌入式的C语言学习——内存处理[J].济南职业学院学报, 2008 (02) .

c语言模拟试题及答案 篇3

2. 【示例】 旭日阳刚:他们离开故乡,是为了更深情地回望故乡;他们告别青春,是为了纪念一代人的美好青春。不是绝望,是痛苦的希望;不是漂泊,是执著的坚守。他们是都市洪流里感动生命的美好春天。

3. 【示例】 眼睛很宽容,能装下整个世界;它又很苛刻,容不得一粒沙尘。

4. 【示例】 猪:一生所有的时间/慷慨地分配给吃和睡/没有思想的脑袋/结局只能是/挨宰!

5. 流感防控关键靠预防。

6. 崔永元建“口述历史博物馆”并将捐献给国家。

7. 科技创新为文化创新(或“全新的文化产业”)提供了载体(或“工具”)。

8. 逃避现实并不能真正解决问题。

9. 微博是一种基于用户关系的、可以即时发布到用户首页的、能被全体用户浏览且能被搜索的有较严格字数限制的信息的平台。

10. 【示例1】 赞同“数字写诗词”。它拉近了诗词与普通读者之间的距离,使高高在上的诗词走进寻常百姓家,对普及诗词、增强人们阅读诗词的兴趣有帮助。“数字写诗词”仅仅是一次语言的娱乐性尝试,并不会动摇诗词深厚的文化根基,认为这种现象将“破坏文化”不免有杞人忧天之嫌。

【示例2】 不赞同“数字写诗词”。这样创作的诗词虽然在形式上接近传统的诗词,但是古人写诗词主要是为了表情达意,失去了情感的诗词只是词句的堆砌,没有感人的力量。诗词讲究节奏、押韵,具有音乐性,是艺术,“数字写诗词”充其量是技术而已。诗词有着深厚的文化根源,仅凭数字写诗词是对这种文化的漠视和亵渎。

11. 第三个裁缝的广告最好。前两个裁缝的广告太浮夸,给人不切实际之感。第三个裁缝的广告除了体现诚实的态度,更有含而不露的“借力”艺术,“本街最好”囊括甚至压倒了“伦敦最好”和“英国最好”。

12. ②⑤④①③

13. ⑤④①②③⑥

14. 【示例】 (1) 你明明知道我是瞎子,还给我打个灯笼照路,不是嘲笑我吗?

(2) 思考问题不能只从自己的角度出发,应就整体环境作系统思考。

15. 【示例】 (1) 我也同样毁灭自己,照亮别人,却为何无人赞美

(2) 却播下了罪恶的种子,同时还污染了清洁的空气

16. 【示例】 我虽然飞得没你那么高,可是我想飞到哪儿就飞到哪儿,不像你总被别人用线牵着,一点儿自由也没有

17. 标题:进步与倒退(或“科技的两面性”“科技是双刃剑”)

理由:科技虽能满足人们的需求,给生活带来便利,为人类造福,具有正面价值,但它同时也会给人类带来一定的危机、隐患,产生负面影响。

18. 宣传语:关注孩子,不要关住孩子。

理由:家长应多关注孩子的身心健康,了解孩子真正渴求的东西;不要一味注重孩子的学习,一味强调不让孩子输在起跑线上。

19. 【示例】 2003、2004两年,我国城乡居民投资储蓄的比例最大。相较2003年,2004年我国城乡居民投资国债、股票、保险的比例有所增加。

20.(1)①多数学生有了文明就餐的意识,但还没有真正做到文明就餐。

②就餐时浪费粮食和自来水的现象还比较突出。

(2) 【示例】 天地“粮”心,浪费何忍。

《本杰明·巴顿奇事》

返老还童也许是很多人的梦想,但如果这事儿降临在你的身上,你可曾想过,该如何用自己日渐年轻的容颜面对亲人与爱人的老去?

步履蹒跚的老太太牵着年幼孩童的手,缓缓走在落叶纷飞的路上。老太太俯下身,亲了亲小男孩的脸。你以为他们是祖孙俩?不,他们其实是彼此的爱人。

一生下来便是耄耋老人模样的本杰明被父亲遗弃在养老院。他逐渐长大,却越长越年轻。当他与青梅竹马的黛西相爱后,如何厮守成了一个无解的难题。尤其是在女儿出生后,他们该如何向她解释父亲日渐年轻的问题?

C语言编程期末试题答案 篇4

一、单选题(每小题2分,共30分)

1.、A2、.B3、.D4、.A5、A6、A7、C8、.C9、.A.10、A11、.A12、C13、D14、A15、D

二、填空题(每小题1分,共20分)

1、把10赋值给变量S2、基本型、短整型、长整型、无符号型,int、short、long、unsigned3、字母、数字、下划线4、3.55、36、a=a*b7、a=a/b8、19、3.510、字母、下划线

三.判断题(每小题2分,共10分)

1、正确

2、错误

3、错误

4、错误

5、正确

四、简答题;(每小题5分,共20分)

1、字符常量是由单引号引起的单个字符、字符串常量是由双引号引字节起的字符序列,字符常量的存储单元是一个字节而字符串常量所占的存储单元比它实际的字符个数多一个

2、基本的输入输出一般分为三种:一是单字符的输入与输出,即getchar()和putchar()函数;二是格式化的输入与输出,即scanf()和printf();三是字符串的输入与输出,即gets()和puts()函数3、1)C语言具有中级语言的特性2)C语言结构性能强3)功能齐全4)适用范围广泛

4、编辑、编译、连接、执行

五、程序改错题(每小题4分、共8分)

1、错误:scanf(“%d ”,i);正确:scanf(“%d ”,&i);

2、错误:main正确;main()

六、编程题(第6分,共12分)、main()

{printf(“**********n”);

printf(“Very Good!n”);

printf(“**********n”);

}

2、main()

{inta=15, b=5,sum;

sum=a+b;

printf(“%d”,sum);

C笔试题及答案 篇5

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

答案:C

评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构 B)栈与队列是非线性结构

C)线性链表是非线性结构 D)二叉树是线性结构

答案:A

评析:一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值

B)可能缺少若干个左右叶子结点

C)完全二叉树一般不是满二叉树

D)具有结点的完全二叉树的深度为[log2n]+1

答案:B

评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模 B)程序的易读性

C)程序的执行效率 D)程序的可移植性

答案:B

评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

A)概要设计 B)详细设计 C)可行性分析 D)需求分析

答案:D

评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

(6)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列 图符名标识的图符不属于数据流图合法图符的是_________。

A)控制流 B)加工 C)数据存储 D)源和潭

答案:A

评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。

(7)软件需求分析一般应确定的是用户对软件的__________。

A)功能需求 B)非功能需求 C)性能需求 D)功能需求和非功能需求

答案:D

评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。

(8)下述关于数据库系统的叙述中正确的是________。

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型的一致

D)数据库系统比文件系统能管理更多的数据

答案:A

评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

(9)关系表中的每一横行称为一个________。

A)元组 B)字段 C)属性 D)码

答案:A

评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。

(10)数据库设计包括两个方面的设计内容,它们是________。

A)概念设计和逻辑设计 B)模式设计和内模式设计

C)内模式设计和物理设计 D)结构特性设计和行为特性设计

答案:A

C级(物业)经理竞聘试题及答案 篇6

(工程设备类)

一、选择题:

1.设施设备日常运行管理第一责任人:

A:公司总经理B:副总经理(区域)C:服务中心主任D:服务中心工程主管 E:公司工程部

答案:C

2.住宅区维修基金包括:

A:公共部位设备维修资金,住房本体维修基金

B:电梯专项维修基金

C:应收物业服务费

答案:A

3.项目竣工验收合格后应由:

A:承建施工单位移交服务中心

B:承建项目公司移交服务中心

C:物业公司移交服务中心

答案:B

4.服务中心特种设备为:

A:消防系统设备

B:智能化系统设备

C:电梯

D:路灯及景观照明

答案:C

5.物业服务费收缴内容包括:

A:经营性房屋租贷款费

B:广告租贷费

C:物业服务费和电梯运行费

D:公共设施维修资金

答案:C

6.哪种类型的维修质保期为五年:

A:屋面外墙渗漏(有防水要求的室内外相关地漏)

B:住宅单体内装饰装修

C:各类设施设备

D:硬质铺装及景观绿化

答案: A

7.二次供水及小区道路路灯交付后,由承建商将维修、运行等专业管理单位和设备产权应归属:

A:承建商(开发公司)

B:专业管理单位

C:物业服务中心

D:开发小区内全体业主

答案:D

8.服务中心内供电

A:国家电网所管辖区域

B:承建开发公司

C:服务中心

答案:C

二、填空题:

1.物业设备的分类为给排水系统设备和电气工程设备类系统。

2.消防设备系统类包括设备、烟(温)杆设备、水枪、水带设施、灭火器设施等。

3.弱电智能化设备系统包括监控录像设备周界防越设备车辆管理设备门禁对讲设备家居三防设备巡更设备和背景音响设备。

4.服务中心使用公共设施维修基金时,须经审议通过,报所辖市管局审核批准安排使用。

5.物业服务,是指业主通过选聘物业服务企业,由业主和物业服务企业按照物业服务合同约定,对房屋及配套的设施设备和相关场地进行维修、养护、管理,维护相关区域内的环境卫生和秩序的活动。

三、是非题:

1.开发商产权车位销售后,其车位的清洁、管理,相关设施设备的运行维护成本由物业服务费支出。(×)

2.电梯每年的年检费由电梯专项运行费支出。(√)

3.水电维修工,无特种行业上岗作业证都可以操作,维修包括:高配、强电、电梯等。

(×)

C语言指针与数组关系研究及应用 篇7

指针和数组在C语言中被广泛运用, 是C语言中功能很强的编程手段。由于两者之间关系复杂难懂, 在程序设计过程中, 易将指针和数组的关系混淆。针对这个问题, 本文对C语言中指针和数组的关系进行了透彻分析。

2、指针与数组关系

指针是用于存放另一个变量地址的变量。数组是有序数据的集合, 其中每个数据都有相同的数据类型。指针变量中保存了另外一个变量的地址, 实现对变量的间接访问。而在数组中保存了相同类型的数据, 可以通过数组的下标法对数组中元素进行直接访问。当指针指向一串连续的存储单元时, 并且连续的存储单元存放相同类型的数据, 可以通过指针和数组名对存储单元存放的数据进行访问。

2.1 指针与一维数组关系

指针与一维数组可通过指向数组元素的指针进行关联, 即通过定义数组元素类型的指针, 并将指针指向一维数组的首元素。假定p为已定义的一个指向整型数据的指针变量, 并已给它赋了一个整型数组a的首地址, 使它指向该数组的首个元素a[0]。按C语言规定, 如果变量p已指向一个数组元素, 则p+1指向同一数组中的下一个元素, 则指针p与一维数组a有图1所示关系。

2.2 指针与多维数组关系

指针与多维数组的关系比较复杂, 使用起来更为灵活, 可以增加程序编写的灵活性。现以二维数组为例, 详细介绍指针与多维数组关系。假定程序中有数组定义:int a[3][4]={{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}}。由于二维数组在C语言中被认为是一个由多个一维数组组成的一维数组, a数组包含3行, 因此可被认为包含了三个元素a[0]、a[1]、a[2]的一维数组, 每个元素又是一个一维数组, 分别包含四个元素。此外, 二维数组在内存中按行主序方式占据一串连续的存储单元, 所以C语言建立指针与二维数组a的关联, 除了指向数组元素的指针, 还可采用以下两种方法。

1、数组指针。

数组指针是一个指向一维或者多维数组的指针。通过定义数组指针, 并给其赋值, 可实现数组与指针的关联。假定程序中有语句:int (*p) [4]=a, 定义p为数组指针, 并将二维数组名a赋给p。由于a数组可以被认为包含了三个元素的一维数组, 每个元素又是一个一维数组, 因此p指向一维数组a[0], p+i指向一维数组a[i], 可得出关系1:* (p+i) ==a[i]。

a[i]既然是一维数组名, 而C语言又规定了数组名代表数组首元素地址, 因此a[i]代表一维数组a[i]中第0列元素的地址, a[i]+j代表一维数组a[i]中j列元素的地址, 即&a[i][j], 可得出关系* (a[i]+j) ==a[i][j], 又从关系1可推出:* (* (p+i) +j) ==* (a[i]+j) , 所以* (* (p+i) +j) ==a[i][j]。即实现通过数组指针表示数组元素, 其关系如图2所示:

2、指针数组。

一个数组, 若其元素均为指针类型数据, 称为指针数组, 也就是说指针数组中的每一个元素都相当于一个指针变量。假定程序中有语句:int*p[3]={a[0], a[1], a[2]}, 表示定义了包含3个整型指针的数组, p的三个整型指针分别指向数组a[0], a[1], a[2]的首元素, 因此二维数组第0行第0个元素可表示为*p[0], 第0行第j个元素可表示为* (p[0]+j) , 第i行第j个元素可表示为* (p[i]+j) , 其关系如图3所示:

指针与高于二维的数组也可采用上述方法进行关联, 具体实现过程由于理解其来比较抽象, 在实际编程过程中也较少使用, 在这里不再做进一步说明。以上介绍了指针与数组关联的三种方式, 阐述了C语言中指针和数组密切关系。

3、数组与指针关系应用

在C语言程序设计中, 为了优化程序, 提高程序的运行效率, 可利用指针和数组的关系, 通过指针对数组元素的访问。如编程求一个3*3的矩阵转置。C语言中对矩阵进行处理需将矩阵中数据存放在二维数组中, 可采用相关算法对二维数组中元素进行交换求出原矩阵的转置矩阵。用指针引用数组元素, 首先要建立指针和数组的关联, 可通过指向数组元素的指针、数组指针和指针数组实现, 在这里由于篇幅有限, 仅采用数组指针建立关联。具体程序如下:

4、总结

指针及数组的使用是C语言的核心内容之一, 是C语言学习的难点。不能充分理解指针、数组及两者之间的关系, 就不能充分发挥C语言的效能。通过以上对C语言指针与数组关系的阐述, 应能正确使用指针与数组编写和分析C语言程序。

摘要:在C语言中指针和数组的关系密不可分, 本文通过探讨指针与数组关联的方法, 论述了C语言程序设计中指针与数组的几种常见关系, 最后给出了一个通过指针访问数组的实例, 很好的体现了指针与数组的关系。

关键词:指针,数组,C语言,程序设计

参考文献

[1].Kenneth A.Reek.C和指针[M].北京:人民邮电出版社, 2003.

[2].Brian W.Kernighan.C程序设计语言[M].北京:机械工业出版社, 2004年.

[3].谭浩强.C程序设计[M].北京:清华大学出版社, 2008.

[4].Eri R.Hanly.C语言详解[M].北京:人民邮电出版社, 2007.

c语言模拟试题及答案 篇8

1.相比较来讲,下列各学科与工程地质学联系不大的是(D)

A.土力学B.岩土工程 C.水力学D. 材料力学

2.地球的内部圈层构造包括地壳、地幔、地核三部分,其中处于中间的圈层是(C)

A.地壳B.地核C.地幔D.不能确定3.岩石按生成原因可以分为(B)A.岩浆岩、石灰岩、变质岩B.岩浆岩、沉积岩、变质岩C.沉积岩、石灰岩、变质岩

D.岩浆岩、石灰岩、沉积岩

4.碎屑物质被胶结物胶结以后所形成的结构称为(A)

A.碎屑结构B.斑状结构C.沉积结构

D.碎裂结构

5.在垂直压力作用下,岩石抵抗剪切破坏的最大能力称为岩石的(D)

A.抗剪断强度B.抗切强度C.抗拉强度D.抗剪强度

6.可以用来表示岩石抗冻性能指标的是(A)A.强度损失率 B.孔隙率C.饱水系数

D.饱水率

7.下列不是地质年代单位的是(B)

A.宙

B.统C.纪D.代

8. 沉积岩与岩浆岩之间的接触关系有(D)

A.平行不整合接触和侵入接触B.整合接触和侵入接触

C.角度不整合接触和平行不整合接触D.沉积接触和侵入接触

9.岩层走向与坡面走向一致,岩层倾向与坡面倾向相反时,岩层分界线与地形等高线的关系是(D)A.平行B.弯曲方向相反

C.弯曲方向一致,但岩层界线的弯曲度大于地形等高线的弯曲度D.弯曲方向一致,但岩层界线的弯曲度小于地形等高线的弯曲度 10.组成地壳的岩层,受构造应力的强烈作用,使岩层形成一系列波状弯曲而未失去其连续性的构造,称为(A)A.褶皱B.向斜C.断层D.节理 11.形成冲积土的地质作用是(C)

A.雨、雪水的地质作用B.洪流的地质作用C.河流的地质作用D.风化作用

12.在潜水流向上,相邻两等水位线的高程与水平距离之比称为该距离段内潜水的(A)

A.水力梯度B.埋藏深度C.含水层厚度 D.潜水水压

13.天然地震按成因可划分为(A)

A.激发地震、构造地震、火山地震、陷落地震、B.形变地震、构造地震、激发地震、陷落地震C.强震、构造地震、火山地震、陷落地震D.海洋地震、构造地震、火山地震、激发地震

14.地下洞室位置选择主要考虑的因素包括(D)

A.洞口形状、出洞山体、洞轴线位置B.出洞山体、洞口位置、洞轴线位置C.洞口尺寸、洞口位置、洞口形状 D.进洞山体、洞口位置、洞轴线位置15.标准贯入试验中,重锤的质量为(A)

A.63.5kgB.80kgC. 65.7kgD. 73kg

二、判断题(正确者在题后括号内填“√”,错误者填“×”,每小题2分,共计20分)

1.工程地质学的研究对象是复杂的地质体。(√)

2.地壳是莫霍面以上固体地球的表层部分,平均厚度约为33Km。(√)

3.地壳中造岩矿物的主要成分是硫酸盐。(×)

4.与不整合接触面上的底砾岩岩性一致的岩层形成时间相对较晚。(×)

5.地质图是反映一个地区各种地质条件的图件。(√)6.埋藏在地表以下,第一个完整隔水层之上具有自由水表面的重力水即潜水。(√)

7.流动的水体是岩溶发育的必要条件之一。(√).围岩压力的大小与岩土的物理性质、岩体结构、支护结构有关,与支护时间无关。(×)

9.按分级变形量,膨胀土地基的胀缩等级可分为四级。(×)10.勘察一般分为选址勘察、初步勘察、详细勘察三阶段。(√)

三、简答题(每小题8分,共计40分)

以下是各个简答题的要点,可根据具体情况酌情给分

1.工程地质学及其研究内容?

答:研究工程活动与地质环境相互作用的学科称为工程地质学。工程地质学探讨工程地质勘察的手段及方法,调查研究岩土体的工程地质性质、地质构造、地貌等工程地质条件及其发展变化规律,分析研究与工程有关的工程地质问题,并提出相应的处理方法及防治措施。为工程的选址、规划、设计、施工提供可靠的依据。2.断层的类型及组合形式有哪些?

答:根据两盘相对移动的特点,断层的基本类型有上盘相对下降,下盘相对上升的正断层;上盘相对上升,下盘相对下降的逆断层;两盘沿断层走向相对水平移动的平移断层。断层的组合类型有阶梯状断层、地堑和地垒、叠瓦状断层等多种形式。

3.坡积土的稳定性是否能以其表面坡度来判断?为什么? 答:不能。因为坡积土的稳定性与基岩表面的坡度有关,基岩表面的坡度越大,坡积土的稳定性就越差。坡积土的表面坡度仅与生成的时间有关。时间越长,搬运、沉积在山坡下部的坡积土越厚,表面倾斜度越小。

4.工程地质测绘图的用途是什么?

答:工程地质测绘图是在地形地质图上填绘出测区的工程地质条件,作为工程地质勘探、取样、试验、监测的主要依据。通过绘制工程地质测绘可大大减少勘察的工作量,特别是在山区和地形复杂的地区。

5.简述岩溶的发育规律。

答:地下水的运动人分布规律决定了岩溶的发育规律,自地表以下

大致分四个带。垂直循环带:水流以垂直运动为主,主要发育岩溶漏斗,落水洞等。季节循环带:位于最高和最低潜水之间的地带,水流垂直水平运动交,因此竖向及水平向岩溶形态交。水平循环带:潜水位以下,水流以水平方向运动为主,广泛发育水平溶洞地下河等大型岩溶形态。深部循环带:与地下水系无关,由地层构造决定,岩溶作用微弱。

四、论述题(10分)

如何确定沉积岩的相对地质年代?

以下是本题的答案要点,可根据具体情况酌情给分要

点:

岩石(体)相对地质年代的确定可依据地层层序律生物演化律以及地质体之间的接触关系三种方法。

(1)地层层序律 未经构造变动影响的沉积岩原始产状应当是水平的或近似水平的。并且先形成的 岩层在下面,后形成的岩层在上面。

(2)生物演化律 由于生物是由低级到高级,由简单到复杂不断发展进化的。故可根据岩层中保存的生物化石来判断岩层的相对新老关系。

(3)地质体之间的接触关系 根据沉积岩层之间的不整合接触判断。与不整合面上底砾岩岩性相同的岩层形成时间较早。另外与角度不整合面产状一致的岩层形成时间较晚。

c语言模拟试题及答案 篇9

Low speed bicycle crashes can badly injure――or even kill――children if they fall onto the

ends of the handlebars(车把).So a team of engineers is redesigning it to make it safer

Kristy Arbogast,a bioengineer at the Children’s Hospital of Philadelphia in Pennsylvania,

began the project with her colleagues.The cases they reviewed about serious abdominal(腹部的)

injuries in children in the past 30 years showed that more than a third were caused by bicycle

accidents.”The task was to identify how the injuries occurred and come up with seine

countermeasures,”she says

By interviewing the children and their parents,Arbogast and her team were able to

reconstruct many of the accidents and identified a common cause for serious injuries They

discovered that most cases occur when children hit an obstacle at slow speed,causing them to

topple f摇摆)over.To maintain their balance the children turn the handlebars through 90

degrees―but their momentum(冲力)forces them into the end of the handlebars.The bike then

falls over and the other end of the handlebars hits the ground,pushing it in to their abdomen(腹

部.

The solution the group came up with is a handgrip (握柄)fitted with a spring and damping

(减速)system. The spring absorbs up to 50 per cent of the forces transmitted(传递)through the

handlebars in all impact.The group hopes to commercialize the device,which should add only a

few dollars to t}le cost of a bike.“But our task has been one of education because up until now.

bicycle manufacturers were unaware of the problem,”says Arbogast.

31 The engineers are trying to improve the handlebars because

A they are not beautiful

B they may kill children

C they are likely to crash.

D they affect the speed of the bike

32 How many abdominal injuries in children were caused by bicycle accidents?

A Thirty.

B Ninety.

C 50 percent.

D More than a third.

33 The world “countermeasures” in paragraph 2 means

A “problems”

B “approaches”

C “solutions”.

D ‘‘actions”

”in paragraph 2means

34 Paragraph 3 mainly discusses

A why the children and their parents were interviewed

B how serious abdominal injuries occur.

C when the children turn the handlebars

D what stops bicycle accidents

35 The advantage of the new handgrip is that

A it can be made cheaply.

B it reduces the impact in bicycle accidents.

C it helps to slow down the speed of the bicycle.

c语言模拟试题及答案 篇10

C语言到目前为止仍然是国内外广泛使用的程序设计语言之一,同时也是国内外大学开设的程序设计基础课程,很多学生把C语言作为国家计算机等级考试的首选语言。实际上,用C语言编写的程序,就是描述对数据的处理过程,而数据都是以某种特定的形式存在的(例如:整数、字符等)。也就是说,C程序中用到的所有数据都必须指定其数据类型,因此必须掌握C语言程序中的这些数据类型。而运算是对数据进行操作、处理的过程,是通过运算表达式描述的。在C语言的表达式中,通常参与运算的数据类型不一定完全一致。C语言允许不同类型的数据混合运算,但是,要先将它们转换成相同的数据类型,再进行运算。本文就将对数据类型转换的方式和在转换过程中常见的问题进行分析探讨。

1 数据类型转换的方式

数据类型转换一般可分为隐式转换和显式转换,它们分别也可称为自动转换和强制转换。

1.1 隐式转换

常见的隐式转换有四种,分别是:一般算术转换、输出转换、赋值转换、函数调用转换。

(1)一般算术转换即通过某些运算符将操作数的值从一种类型自动转换成另一种类型,而这一规则为“由低级向高级转换”,转换规则如图一所示。

若参与运算变量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int型转成long型后再进行运算。所有的浮点运算都是以双精度进行的,即使仅含float单精度变量运算的表达式,也要先转换成double型再作运算。char型和short型参与运算时,必须先转换成in型。

(2)输出转换指的是待输出的操作数的类型与输出的格式不一致时进行的数据类型的转换。例如:printf(“%u”,-2),其输出结果为:65534。系统把负号作为数值的一部分处理,然后输出转换后的值。

(3)赋值转换是指在赋值运算过程中将赋值运算符右侧的操作数的类型转换成左侧操作数据的类型。具体的转换有:

(1)浮点型与整型;(2)单、双精度浮点型;(3)char型与int型;(4)int型与1ong型;(5)无符号整数。

(4)函数调用转换是指当实参类型和形参类型不一致时所进行的转换。

例1:

在执行multiply函数时,系统会将a与b转换成整型值给形参x,y。

1.2 显式转换

显式转换一般有两种方法,强制性数据类型转换和利用C语言提供的标准函数转换。

强制类型转换是将一种类型的数据强制转换成为另一种数据类型。其格式为:(数据类型标识符)表达式;作用是将表达式的数据类型强制转换成“数据类型标识符”所表示的类型。

例2:

2 常见问题分析

C语言在数据类型转换中常见的错误有以下几种:非安全转换、算术运算“/”、“%”与操作数不匹配、输入输出格式错误。下面就以上几种常见错误进行实例分析。

2.1 非安全转换是将一种数据类型转换成较短数据类型,其值超出较短类型的表示范围时所出现的错误

2.1.1 较大的整数转换为较短的类型

当较大的整数转换为较短的类型时,超出了较短类型所能表示的范围,因此结果是无意义的。如:long i=123456printf(“%d”,i);其输出结果为:-7616。当较长的无符号数转换成较短有符号数时,当无符号数值超出了有符号数类型的表示范围,在转换过程中仅转换了有符号数类型能够表示的较低位,如:unsigned j=65535;int i;i=j;printf(“%dn”,i);程序执行上述语句后输出为-1。C语言系统一般不检测这种类型的错误,大部分的编译器在可能会出现非安全转换时都不会给出警告信息。运行时,若发生此类型错误,任何C系统都不会中断,也不会给出出错信息,因此在编程时需避免此类型转换。

2.1.2 有符号负数转换为无符号数

输出结果为:65535,这是因为-1在存储单元中的存放形式(以补码形式存放)如下:

当有符号数转换为无符号数时,原来的符号位将不作为符号,而是作为数据的一部分。

2.1.3 双精度类型转换成单精度类型

例5:

由于双精度类型转换成单精度类型时,可能出现上述两种情况:其一,降低精度,截断尾数,保留前来位有效数字,后面的数字无意义,如例5;其二,若数值超出了单精度所表示的范围,则得到的数据无意义,也可能是Infinity或NaN之类的值,且C系统不提示出错也不警告用户,如例6。因此,在实际编程过程需仔细,遇到较大的数据,或对精度要求比较高时,避免进行此类的转换。

2.1.4 浮点数转换为整型

当浮点数转换为整型数据时,舍弃小数,不进行四舍五入。如:double j=12.999999;int i;i=j;则j的值为13。因此,若需要计算结果尽可能高的精度,应尽量避免此类型的转换。若较大的浮点数转换为整型数据,所得到的数据对用户是无意义的,如:double j=121234567.89;int i;i=j;printf(“%dn”,i);其输出结果为:-7033。

2.2 算术运算“/”、“%”与操作数不匹配

由于浮点数未定义”%”运算,因此执行例7时,会编译出错,系统提示出错信息:error:illegal use of floating point in function main(在main函数中非法使用浮点数)。例8的程序设计者期望的结果是3或2.5,但实际输出结果为2。由于在C语言中,两个整数执行“/”运算,其结果只保留整数部分,小数位直接舍弃。例9的输出结果为:-1,-1,1,1,原因为在“%”运算中,若两操作数中其一为负数,则结果的符号与左操作数的符号相同,与右操作数的类型无关。在程序设计中若遇到算术“/”、“%”时,需注意运算符两侧的操作数类型是否一致,对于不一致的类型可采用强制类型转换运算使其一致,可以避免出现上述错误。

2.3 输入输出格式错误

在例10中变量j与k都是long double型,在第二个scanf()语句中错用了%g的格式,说明大部分编译器不检测这种错误,也不提示出错信息。程序获取输入的数据,将被转换成格式说明符所指定类型,然后保存到指定的存储区域中。由于在转换过程中未作任何修改,因此变量中存储的是错误信息,由此产生的结果无意义,如:int t=2;printf(“%f”,t)执行上述语句会出现printf:float point formats not linkde的出错信息。

3 结束语

本文介绍了C语言中类型转换的方式,并探讨了几种常见的容易出错的问题。在程序设计过程中,若需用到运算符时,应注意运算符两侧的数据类型是否一致,若不一致应考虑数据类型转换问题。对于一些程序结果未知时,一定需慎用类型转换,在必要时应使用强制类型转换。对运算结果的精度要求较高时,尽量使用double类型。

摘要:在C语言的表达式中,通常参与运算的数据类型不一定完全一致,这就需要把它们转换成相同的数据类型,再进行运算。本文对数据类型转换的几种方式及转换过程中常见的问题进行分析探讨。

关键词:数据类型,隐式转换,显式转换,常见问题

参考文献

[1]谭浩强,张基温,唐永炎.C语言程序教程[M].北京:高等教育出版社,1998.

[2]谭浩强.C程序设计[M].北京:清华大学出版社,2005.

上一篇:竞选十佳大学生演讲稿下一篇:安全的美文