北京理工大学C语言教材习题答案

北京理工大学C语言教材习题答案
北京理工大学C语言教材习题答案

教材习题答案 习题

单项选择题

1. C

2. B

3. B

4. C

5. D

6. A

7. C

8. A

填空题

1. 判断条件

2. 面向过程编程

3. 结构化

4. 程序

5. 面向对象的程序设计语言

6. 基本功能操作、控制结构

7. 有穷性

8. 直到型循环结构

9. 算法 10.可读性11.模块化 12.对问题的分解和模块的划分 习题

一 、单项选择题

1. B

2. D

3. C

4. B

5. A

6. A

7. B

8.C 二、填空题

1. 主

2. C 编译系统

3. 函数、函数

4. 输入输出

5.头

6. .OBJ

7. 库函数

8. 文本 习题

一、单项选择题

1. D

2. B

3. A

4. C

5. C

6. D

7. D

8. B

9. B 10.C 11.A 12.D

13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D, A 25.D 26.A 27.B 二、填空题

1. 补码

2. 30810-±(~)308

10,15—6 2. 30810-±(~)

308

10,15—6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或b(题目有错,小括号后面的c<=98改成(c>=97&&c<=98)就可以得到所给的答案了)7. 1 8. 65,89 习题

一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B

7. A 8. C

9. B

10.B

二、填空题 1. 一 ; 2. 5.169000

3. (1)-200 2500 (2)i=-200,j=2500 (3)

2500

200

=-=j i

4. a=98,b=76

5.000000,c=4321.000000

5.100 25.81 1.89234 ,100 25.81按Enter 键)1.89234,100(按Tab 键)25.81(按Tab 键)1.89234

6. 0,0,3

7. 3

8. scanf(" %lf %lf %lf",&a,&b,&c);

9. 13 13.000000 13.000000

10.b=a;a=c;c=b;或a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使a 与c 的值进行交换而且能保持中间变量b 的值不发生改变)

习题

一、单项选择题 1. D

2. C

3. B

4. B

5. D

6. A

7. B 8. D

二、填空题

1. 非零,零

2. k= =0 2. k= =0

3.if(abs(x)>4) Printf(“%d ”,x); else

printf(“error!”);

4. if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);

5. k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。)

6. 10!,Right!11

7. $$$a=0

8. a=2,b=1

9. 0

习题

一、单项选择题

1. B

2. C

3. C

4. B

5. C

6.B

7. C

8. A 二、填空题

1. 无穷次

2. 8(原题有误。应该把b=1后面的逗号改为分号)

3. 20

4. 11

5. 2.400000

6. *#*#*#$

7. 8 5 2 8. ①d=1.0 ②k++ ③k<=n 9. ①x>=0 ②x

习题

一 、单项选择题 1. B 2. B 3. C

4. C

5.A

6. A

7. B

8. A

二、填空题

1. 512

256128643216

8421

2. ①a[age]++ ②i=18;i<26

3. ①break ②i==8

4. ①a[i]>b[j] ②i<3 ③j<5

5. ①b[j]=a[j][0] ②b[j]

6. a[k++]=a[j]

习题

一、单项选择题

1. B

2. C

3. C

4. A

5. A

6. C

7. C

8. D

9. D 10.B 11.A

12.C 13.A14.C 15.B

二、填空题

1. ①return(0) ②return(n+sum(n-1))

2. ①return(1) ②n*facto(n-1)

习题

一、单项选择题

1. D

2. C

3. D

4. A

5. C

6. C

7. C

8. A

9. B 10.C11.A

12.A 13.B 14.B 15.B 16.D 17.C 18.D19.B 20.D

填空题

1. ①int * ②* z

2. ①*p++

3. ①’\0’②++

4. ①q=p+1 ②qmax ④*q

习题

一、单项选择题

1. D

2. D

3. A

4.C

5. B

6. A

7. A

8. B

9.D 10.B

11. C 12.B 13.D 14.C

二、填空题

1. 0x34,0x12

2. ARRAY a[10],b[10],c[10];

3. 2,3

4. “ab”,”cd”

5. (*b).day,b->day

6. ad

abcdef

ghimno

hino

7.①node* ②!=NULL ③p=top

8 p1->next

9.①list* ②list* ③return h;

习题

一、单项选择题

1. A

2. A

3. B

4. A

5. B

6. D (题目有错,将D中的\改成\\)

7. B 8. B 9. B 10.B 11.B 12.B 13.C 14.C 15.D 16.A

17.D

二、填空题

1. ASCII,二进制

2. pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);

3.

4. ASCII,二进制,文件尾,非0值

北理乐学C语言答案,最新

7.入门计算圆柱的侧面积及体积 #include void main() { double a,b; scanf("%lf\n%lf",&a,&b); printf("s=%.2lf,v=%.2lf\n",2*3.14*a*b,3.14*a*a*b); } 1.Hello world. 输入:无 输出:Hello world. 程序: #include int main() { printf("Hello world.\n"); return 0; } 2.Welcome to Beijing.

程序: #include int main() { printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); return 0; } 3. 求A+B 输入:整数1 整数2 输出:整数1+整数2=和 程序: #include int main() { int a,b; scanf("%d",&a); scanf("%d",&b); printf("%d+%d=%d\n",a,b,a+b); return 0; } 4. 求x 的3次方 输入:一个整数。 输出:该整数的 3 次方值。

程序: #include int main() { int x; scanf("%d",&x); printf("%d\n",x*x*x); return 0; } 5. 学习打印你的第一个图形 编写一个小程序,要求输出的是4 行由*号组成的等腰三角形。 程序: #include int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 6. 一年级的算术题 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出按照整型数据进行+、-、*、/、* 之后的运行结果。

C语言习题集

1、将一元二次方程的求根公式(-b+判断式的平方根)/(2a)转换为C语言的表达式,转换以后的语句写在函数fun的花括号,fun 函数的其他语句请不要修改,main函数供你调试程序使用也可以任意修改。 #include #include double fun(double a,double b,double c) { double x1=0.0; //--ksstart (注释不能删除)— //考生代码从此开始编写 x1 = (-b+sqrt(b*b-4*a*c))/(2*a); //--ksend--- return x1; } main() { //求一个根 double a=0.0,b=0.0,c=0.0,x1=0.0; int n=0; printf("The a,b,c:"); scanf("%lf %lf %lf",&a,&b,&c); x1=fun(a,b,c); printf("The x1=%lf:\n",x1); } 2、函数 fun 的功能是: 将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是: 将 a 数的十位和个位数依次放在 c 数的个位和百位上, b 数的十位和个位数依次放在 c 数的十位和千位上。 例如, 当 a=45, b=12, 调用该函数后, c=2514 。 注意: 部分源程序存在文件 PROG1.C 中。数据文件 bc.in 中的数据不得修改。请勿改动主函数main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include #include long fun(int a, int b) { long c=0; //--ksstart(注释不能删除)— //考生代码从此开始编写 int c1,c2,c3,c4; c1 = b%10; c2 = a%10; c3 = b/10;

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

北京理工大学网络教室C语言编程题库及答案(绝对经典)

北京理工大学网络教室C语言编程题库及答案(绝对经典)

1.Hello world. 输入:无 输出:Hello world. 程序: #include int main() { printf("Hello world.\n"); return 0; } 2.Welcome to Beijing. 程序: #include int main() { printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); return 0; } 3. 求A+B 输入:整数1 整数2

输出:整数1+整数2=和 程序: #include int main() { int a,b; scanf("%d",&a); scanf("%d",&b); printf("%d+%d=%d\n",a,b,a+b); return 0; } 4. 求 x 的 3次方 输入:一个整数。 输出:该整数的 3 次方值。 程序: #include int main() { int x; scanf("%d",&x); printf("%d\n",x*x*x); return 0; } 5. 学习打印你的第一个图形

编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 程序: #include int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 6. 一年级的算术题 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。 程序: #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b);

c语言习题.doc

1.C语言中,int型数据在计算机内部是由()表示的。 答:int型数据在计算机内部是由16位补码表示的。 2.下列可以作为C语言用户标识符的是()。 A) _123 B) a1b2c3 C) int D) 123abc 答:A)和B) C语言标识符必须是以英文字母(a到z)、或者下划线_开头的字符串。字符串中只能包含英文字母、下划线和数字(0到9)。但字符串不能是C语言中的32个保留字(例如int,short,long,unsigned,float,char,if,switch,for,while等)。 3.在C语言中,如果下面的变量都是int类型,则输出的结果是()。 sum=pad=5,pAd=sum++,pAd++,++pAd; printf("%d\n",pad); 答:输出结果是5。 因为C语言是字母大小写敏感的,也就是说区分大小写字母。pad和pAd是两个不同的变量。4.以下程序的输出结果是( )。 #include main() { printf("%d\n",NULL); } 答:0 因为stdio.h头文件中NULL的定义如下: #define NULL 0 5.下面程序的输出是()。 main() { int x=10,y=3; printf("%d\n",y=x/y); } 答:3 因为两个同类型的数据作算术运算,其结果仍为该类型。即整数除以整数,商仍为整数。 10/3的商为3。 6.下面程序的输出是()。 main() { int x=023; printf("%d\n",--x); } 答:18 因为023是一个八进制数,表达式--x的值为022,按照%d带符号的十进制数输出,结果为18。 注意:023是八进制数;23是十进制数;0x23是十六进制数。 7.在C语言中,不正确的int类型的常数是()。 A)32768 B)0 C)037 D)0xAF 答:A) 8.执行下面程序中的输出语句后a的值是()。

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

北京理工大学计算机专业研究生复试上机试题 20002008

2000-2008 计算机系2000年研究生入学复试上机试题: ----------------------------------------------- 1、输入任意4个字符(如:abcd),并按反序输出(如:dcba) 2、设a、b、c均是0 到9 之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。 3、一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。求出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数) 4、从键盘输入4个学生的数据(包括姓名、年龄和成绩),并存放在文件sf1上。从该文件读出这些数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据。 ----------------------------------------------- 计算机系2001年研究生入学复试上机试题(1) ----------------------------------------------- 1、编写程序,计算下列分段函数y=f(x)的值。 y= -x+2.5 0<= x <2 y=2-1.5(x-3)(x-3) 2<= x <4 y=x/2-1.5 4<= x <6 2、编写程序,读入一个整数N。若N 为非负数,则计算N 到2N 之间的整数和;若N 为一个负数,则求2N 到N 之间的整数和。 3、设N是一个四位数,它的9 倍恰好是其反序数(例如:1234的反序数是4321),求N 的值。 4、N个人围成一圈顺序编号,从1号开始按1、2、3顺序报数,报3者退出圈外,其余的人再从1、2、3开始报数,报3的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。 ----------------------------------------------- 计算机系2001年研究生入学复试上机试题(2) ----------------------------------------------- 1、请输入高度h,输入一个高为h,上底边长为h的等腰梯形(例如h=4,图形如下)。 **** ****** ******** ********** 2、请编写一个程序,从键盘上输入n(n的范围是1~20),求n的阶乘。 3、从键盘上任意输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大

人事争议诉讼遭遇“法律障碍”事业单位工作人员申诉及法律救济路子被“消灭”

人事争议诉讼遭遇“法律障碍”事业单位工作人员申诉及法律救济 路子被“消灭” 人事争议诉讼遭遇“法律障碍” 事业单位工作人员申诉及法律救济路子被“消灭” ——析北京海滨区人民法院第一例人事争议诉讼案民事裁定之违法性 四川精济律师事务所何宁湘律师 【案情】 14年前解除公职14年后对簿公堂法院受理多年前人事纠纷案 ( :s:// 20XX年01月31日12:04 北京日报北京法院同时转载 ) 本报讯(通讯员李东民)昨天,海淀区法院受理了最高法院《关于人民法院审理事业单位人事争议案件若干问题的规定》实施后的第二起人事争议纠纷案件。此时距原告从1990年底被解除公职,到20XX年初案件提起诉讼并被受理,已经经历了近14年的时间。 原告称,其于1982年分配到北京某大学,担任图书馆西文图书的采编工作。1988年8月,经被告批准,自费出国学习。1991年12月回国后,被告以暂无工作岗位可供安排为由,未给安排工作,也未给任何待遇,原告多次申请未果。20XX 年10月,被告告知原告,其公职已于1990年3月17日被解除。20XX年11月3日,原告收到了被告寄发的失业人员告知书,得知自己的人事档案已寄送海淀区某街道劳动科,且未上任何保险。原告在20XX年11月24日,向中央国家行政机关在京直属事业单位人事争议仲裁委员会申请了仲裁。12月19日,该仲裁委员会向原告下发了不予受理案件的通知书。 原告一纸诉状诉至海淀区法院,请求法院判决撤销被告北京某大学作出的解除其公职的决定。目前,此案正在进一步审理过程中。 注:据本案原告称:本案系在北京市海淀区人民法院受理的另一起因原告刘某(系某著名学府经济管理学院副教授)不服人事争议仲裁起诉案之前立案。 该经北京市海淀区人民法院民庭审理后一直未作出判决或裁定。当事人用就已超过审限问题询问承办法官,法庭未作任何解释却将该案由适用简易程序审理改为适用普通程序审理,然后法院通知证据交换,连同简易程序中的两次证据交换,该案共进行了三次证据交换,后该案再次超过审限,法庭对此未作解释。 在本案的审理过程中,法庭依据职权前往北京市海淀区北下关街道调查收集证据。

北京理工大学计算机导师简介

关于研究方向、就业前景与导师 大半年没来这个论坛逛逛了,今天来到,忽然想起了一年前准备考北理工时懵懂无知的样子。作为一个原外校的学生,对北理工的一切都是那样的陌生,当时多么希望能认识一位学长,在平时多指点指点自己,少走些弯路,但希望总归是希望,最终还是自己摸爬滚打一路走来。此处,我想说的是关于复试后选择导师的有关事宜,当时由于自己选择导师时的无知与不负责任,导致我与自己的梦想越走越远,希望此文能够帮助学弟学妹们不要重蹈我的覆辙。好的,废话少说,言归正传,首先说下选导师的步骤。在我们之前,每届新生在开学之后都会召开师生双选会,在双选会上来选导师,但我们这届并没有,都是自己联系的导师。有个别学生是在复试前找的导师,我觉得意义不大,因为去年的复试是相当公正严格的,而且复试成绩占的比重相当大,看过某个帖子计算了一下,实际总成绩中复试成绩和初试成绩大约各占一半,并不是表面上看去的三七分或者四六分,因此初试成绩低的朋友可千万不要放弃,机会也相当大的哦~我身边就有很多这样的例子(包括我)。我是在复试结束回校的两周之后才开始联系导师的,当时对老师和研究方向不甚了解,在论坛上找了个介绍导师的帖子随便选了几个导师去联系(我发的邮件),结果前两个老师都说学生已经招满了,还好,第三个老师也就是我现在的导师给我打电话来了,第一句话就是“你怎么这么晚才找导师”。。。因此,我个人的建议是复试前先瞄上自己心仪的导师,待复试名单出来后趁热打铁在回校之前去找导师面对面的交流,初试成绩很高的同学可以再复试前就去找比较牛的导师,当然,也有不少同学是开学之后联系的导师。其实何时联系导师并不重要,重要的是你要找什么类型的导师,研究方向是否符合自己的兴趣爱好,下面我就来介绍介绍。 选择一个合适的导师至关重要,可以说决定着你将来的就业方向。拿我来说,在读研之前我就非常想进银行的软开,但由于选导师前没有查清楚,随便报了位老师,结果现在的老师根本不搞数据库(一般搞数据库的进银行的概率比我们不搞数据库的概率大的多),可以说我现在已经放弃了进银行工作的梦想了。导师的研究方向和将来的就业方向就是存在着这样微妙的关系。现在就将部分导师和其目前项目的方向以及你将来的就业方向简单的配一下对,你就对号入座吧~ 一、进入高校当教师 假如你有这样的梦想,那是非得读博不可了,初试成绩好的话硕博连读貌似挺容易的,身边貌似没有同学愿意读博的,若你初试成绩不好也没关系,研一这年你就好好学文化课吧,听英语老师说研一结束后对总成绩拍名,靠前的可以保博,不过一般学的好的也都去考清华北大的博士了。。。 至于导师嘛,当然是选择那些大牛教授了,别的帖子和学院网上都可以查到,不过听说最NB的是贾云德老师,看上去是一个人很不错的老师,呵呵。 二、进入银行软开部门 银行的工作绝对是个肥差,基本都解决户口,这两年都有老多人进入各种银行。要说研究方向,当然要选有与数据库相关项目的老师了,这里简单介绍几个普通的老师。 1、 王全玉 目前项目貌似都跟DB有关,不过用的技术不统一,有的用C#,现在好像又出来个图像处理方面的东东,用的是VC,反正用到啥就学啥吧,都是现用现学的。据同学说他在开学之前说每月都会发点工资(好像是四五百的样子),但是一学期都结束了,从来没听他提过money的事情。。。 2、 宿红毅

北理C语言作业及答案2

34 北理工的恶龙 成绩: 10 / 折扣: 0.8 背景: 最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只恶龙。要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。校长想花最少的学分数杀死恶龙,于是找到你寻求帮助。 输入: 第一行龙头数n , 勇士人数m (1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l 输出: 如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ” 测试输入期待的输出 时间限制内存限制额外进程 测试用例 1 以文本方式显示 1. 2 3? 2.5? 3.4? 4.7? 5.8? 6.4? 以文本方式显示 1.11? 1秒64M 0 测试用例 2 以文本方式显示 1. 2 1? 2.5? 3.5? 4.10? 以文本方式显示 1.bit is doomed!? 1秒64M 0 #include void main() { int s=0,t,i,j,m,n,a[100],b[100],c[100]; for(i=0;i<=99;i++) a[i]=0,b[i]=0,c[i]=0; scanf("%d%d",&m,&n); for(i=0;i<=m-1;i++)

scanf("%d",&a[i]); for(i=0;i<=n-1;i++) scanf("%d",&b[i]); if(m>n) printf("bit is doomed!\n"); else { for(i=0;i<=m-1;i++) for(j=i;j<=m-1;j++) {if(a[i]>a[j]) {t=a[i],a[i]=a[j],a[j]=t;}} for(i=0;i<=n-1;i++) for(j=i;j<=n-1;j++) {if(b[i]>b[j]) {t=b[i],b[i]=b[j],b[j]=t;}} t=0; for(i=0;i<=m-1;i++) for(j=0;j<=n-1;j++) if(a[i]<=b[j]) {c[t]=b[j]; t++; b[j]=0; break;} if(t

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

北京理工大学考研813计算机专业基础

813计算机专业基础 数据结构 考查内容: 数据结构主要考查考生以下几个方面: 1.理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。 2.掌握基本的数据处理原理和方法的基础上,能够对算法进行设计与分析。 3.能够选择合适的数据结构和方法进行问题求解。 应掌握的具体内容为: 一、线性表 (一)线性表的定义和基本操作 (二)线性表的实现 1.顺序存储结构 2.链式存储结构 3.线性表的应用 二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 三、树与二叉树 (一)树的概念 (二)二叉树 1.二叉树的定义及其主要特征 2.二叉树的顺序存储结构和链式存储结构 3.二叉树的遍历 4.线索二叉树的基本概念和构造 5.二叉排序树 6.平衡二叉树 (三)树、森林 1.书的存储结构 2.森林与二叉树的转换 3.树和森林的遍历 (四)树的应用 1.等价类问题 2.哈夫曼(Huffman)树和哈夫曼编码 四、图 (一)图的概念 (二)图的存储及基本操作 1.邻接矩阵法

2.邻接表法 (三)图的遍历 1.深度优先搜索 2.广度优先搜索 (四)图的基本应用及其复杂度分析 1.最小(代价)生成树 2.最短路径 3.拓扑排序 4.关键路径 五、查找 (一)查找的基本概念 (二)顺序查找法 (三)折半查找法 (四)B-树 (五)散列(Hash)表及其查找 (六)查找算法的分析及应用 六、内部排序 (一)排序的基本概念 (二)插入排序 1.直接插入排序 2.折半插入排序 (三)起泡排序(bubble sort) (四)简单选择排序 (五)希尔排序(shell sort) (六)快速排序 (七)堆排序 (八)二路归并排序(merge sort) (九)基数排序 (十)各种内部排序算法的比较 (十一)内部排序算法的应用 题型和分值 填空题15%、选择题20%、问答题40%、算法题25% 参考书目 数据结构(C语言版)严蔚敏吴伟民清华大学出版社 计算机组成原理 考查目标 1.理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。

C语言例题经典

51.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程。 #include void main() { char ch; ch=getchar(); if ((ch>=65)&&(ch<=90)) ch=ch+32; else if ((ch>=97)&&(ch<=122)) ch=ch-32; printf("%c\n",ch); } 52.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。 y=x*(x+2),2 void main() { float x,y; printf("输入X值:"); scanf("%f",&x); if (x<=-1) { y=x-1; printf ("Y=%6.2f\n",y); } else if (x<=2) { y=2*x; printf ("Y=%6.2f\n",y); } else if (x<=10) { y=x*(x+2); printf ("Y=%6.2f\n",y); } else printf("取值范围出错\n"); } 53.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。 y=0,x=a||x=-a; y=sqrt(a*a-x*x), -aa. #include #include void main() { float x,y,a; printf("输入A值[A>0]:"); scanf("%f",&a); printf("输入X值:"); scanf("%f",&x); if ((x==a)||(x==-a)) y=0; else if ((x-a)) y=sqrt(a*a-x*x); else if ((x<-a)||(x>a)) y=x;

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

北理工C语言编程网上作业答案

H1:计算通用产品代码(UPC)的校验位(选作) 成绩: 5 / 折扣: 0.8 背景 许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。超市可以通过扫描产品上的条码来确定支付此项商品的费用。每一个条码由十二位数字构成,通常这些数字会显示在条码下面。例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是: 0 24600 01003 0 第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。接下来的一组五位数字用来识别生产商。而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。 下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以3后再加上第二次加法的结果。随后,再把上述结果减去1。减法后的结果除以10取余数。最后,用9减去上一步骤中得到的余数。现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。把第一组加法值乘以3后再加上第二组加法值得到的结果是30。再减去1,结果变为29。再把这个值除以10取余数为9。9在减去余数结果9,最终值为0。 输入 每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。 输出 UPC的校验位

C语言习题及参考答案

C语言习题集 习题一 一.填空题 1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。 2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】 2.main函数必须写在一个C程序的最前面。【错】 3.一个C程序可以包含若干的函数。【对】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】 5.C程序的注释只能是一行。【错】 6.C程序的注释不能是中文文字信息。【错】 8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】 9.可以使用Visual C++ 6.来运行一个C程序。【对】 10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 ********************** *** @ @ *** *** @ *** ********************** 试试看,可以输出其他组合图案吗?

习题二 一.选择题 1、合法的字符常量是(ACD)。 A)…\t?B) “A” C)…a?D)?\x32? 2、合法的字符常量是( D) 。 A)…\084?B) …\84? C)…ab?D)?\x43? 3、(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是((4))。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR ( 4 ) A) sj B) Int C)_xy D)w_y23 5、属于合法的C语言长整型常量的是(BD)。 A)5876273 B)0L C)2E10 D)(long)5876273 6、下面选项中,不是合法整型常量的是(B )。 A)160 B)-0xcdg C)-01 D)-0x48a 7、判断int x = 0xaffbc;x的结果是(D)。 A)赋值非法B)溢出C)为affb D)为affbc 8、下面选项中,均是合法浮点数的是(B)。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 9、在C语言中,要求参加运算的数必须时整数的运算符是(C)。 A)/ B)* C)% D) = 10、在C语言中,字符型数据在内存中以(D)形式存放。 A)原码B)BCD码C)反码D)ASCII码 11、下列语句中,符合语法的赋值语句是(C)。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=(7+b,b++,a+7);D)a=7+b,c=a+7; 12、是非法的C语言转义字符(B )。 A)…\b?B)…\0xf? C)…\037? D)… \?? 13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( B )是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 14、与代数式(x*y)/(u*v) 不等价的C语言表达式是(A )。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 15、在C语言中,数字029是一个(D)。

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

计算机应用基础整理——北京理工大学

1 、计算机新技术 新技术有嵌入式计算机网格计算和中间件技术 嵌入式计算机是作为一个信息处理部件,嵌入到应用系统之中的计算机。 网格计算是利用因特网把分散在不同地理位置的计算机组成一个虚拟的超级计算机每一台参与计算的计算机是一个结点整个计算由千万个结点组成一张网格。这种计算叫网格计算。 中间件技术是介于应用软件和操作系统之间的系统软件。 2 、指令串行执行和并行执行的特点和区别 并行数据常是8位、16位、32位为传输单位,一次传送一个字长的数据。它适合于外部设备与CPU之间近距离信息交换 而串行,信号线只有一根,没有串扰,所以传输频率可以进一步提高 区别:串行执行即在任何时候只能执行一条指令,并行执行可以执行多条指令。 3 、汇编语言与高级语言的特点和区别 汇编语言特点:使用助记符来代替机器语言符号的语言,保持了编制质量高,占存储空间少,执行速度快的特点 高级语言特点:不用与计算机的硬件打交道,可以不必了解机器的指令系统提高了编程的效率。 区别:汇编语言是依赖于计算机的。高级语言是依靠软件来译为机器语言的。高级语言具有可移植性,而汇编语言不具有可移植性 4、编译程序和翻译程序的特点与区别 解释程序对源程序进行翻译的方法相当于两种自然语言间的口译。解释程序对源程序的语句从头到尾逐句扫描、逐句翻译、并且翻译一句执行一句,因而这种翻译方式并不形成机器语言形式的目标程序。 编译程序对源程序进行解释的方法相当于笔译。在编译程序的执行过程中,要对源程序扫描一遍或几遍,最终形成一个可在具体计算机上执行的目标程序。编译程序的实现算法较为复杂,但通过编译程序的处理可以产生高效运行的目标程序,并把它保存在磁盘上,以备多次执行。因此,编译程序更适合于翻译那些规模大、结构复杂、运行时间长的大的应用程序 解释的翻译工作可立即执行 而编译的翻译工作不可立即装入机器执行。 5、 RAM,ROM,外存与cache (个人感觉必考) ROM可读不可写、断电后数据不会丢失 RAM可读可写、断电后数据丢失。 内存是半导体存储器(主存): 它分为只读存储器(ROM)和随机存储器(RAM)和高速缓冲存储器(Cache); ROM:只能读,不能用普通方法写入,通常由厂家生产时写入,写入后数据不容易丢失,也可以用特殊方法(如紫外线擦除(EPROM)或电擦除(EEPROM_)存储器); RAM:可读可写,断电后内容全部丢失; Cache:因为CPU读写RAM的时间需要等待,为了减少等待时间,在RAM和CPU间需要设置高速缓存Cache,断电后其内容丢失。外存:磁性存储器——软盘和硬盘;光电存储器——光盘,它们可以作为永久存器; 6 、总线的三种分类及各自功能(个人感觉必考) 按总线的功能(传递信息的内容)分类,计算机中有三种类型的总线,即传送数据信息的数据总线、传送地址信息的地址总线和传送各种控制信息的控制总线。 1.数据总线 数据总线是CPU与存储器、CPU与I/O接口设备之间传送数据信息(各种指令数据信息)的总线,这些信号通过数据总线往返于CPU与存储器、CPU与I/O接口设备之间,因此,数据总线上的信息是双向传输的。 2.地址总线 地址总线上传送的是CPU向存储器、I/O接口设备发出的地址信息,寻址能力是CPU特有的功能,地址总线上传送的地址信息仅由CPU发出,因此,地址总线上的信息是单向传输的。 3.控制总线 控制总线传送的是各种控制信号,有CPU至存储器、I/O接口设备的控制信号,有I/O接口送向CPU的应答信号、请求信号,因此,控制总线是上的信息是双向传输的。控制信号包括时序信号、状态信号和命令信号(如读写信号、忙信号、中断信号)等。

相关文档
最新文档