《C语言及程序设计》在线作业答案

2025-02-23 版权声明 我要投稿

《C语言及程序设计》在线作业答案(共7篇)

《C语言及程序设计》在线作业答案 篇1

1.当一个工程含有多个窗体时,其中的启动窗体是()。

窗体

最后一个添加的窗体 第一个添加的窗体

启动Visual Basic时建立的窗体

本题分值: 5.0 用户得分: 5.0 用户解答: 在“工程属性”对话框中指定的窗体 知识点:

2.在窗体上面画一个名称为Text1的文本框,然后编写如下的事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer)

......End Sub

若焦点位于文本框中,则能够触发KeyPress事件的操作是()。

按下键盘上的某个键 双击文本框 鼠标滑过文本框 单击鼠标

本题分值: 5.0 用户得分: 5.0

在“工程属性”对话框中指定的用户解答: 按下键盘上的某个键 知识点:

3.为了装入一个VB应用程序,应当()。

只装入窗体文件(.frm)只装入工程文件(.vbp)分别装入工程文件、窗体文件和标准模块文件 分别装入工程文件和标准模块文件(.bas)

本题分值: 5.0 用户得分: 5.0 用户解答: 只装入工程文件(.vbp)知识点:

4.为了在按下Esc键时执行某个命令按钮的事件过程,需要把该按钮的哪个属性设为True()。

Default Value Cancel Enabled

本题分值: 5.0 用户得分: 5.0 用户解答: Cancel 知识点:

5.用菜单编辑器创建菜单时,如果要在菜单中添加一条分隔线,正确的操作是()。

在标题输入框中输入“-”(减号)在名称输入框中输入“-”(减号)在名称输入框中输入“_”(下划线)在标题输入框中输入“_”(下划线)

本题分值: 5.0 用户得分: 5.0 用户解答: 在标题输入框中输入“-”(减号)知识点:

6.在显示菜单时,菜单的哪个属性为True时将用灰色显示该菜单项标题()。

Visible Checked Caption Enabled

本题分值: 5.0 用户得分: 5.0 用户解答: Enabled 知识点:

7.为了使标签框控件覆盖背景,应把BackStyle属性设置为()。

False True 1 0

本题分值: 5.0 用户得分: 5.0 用户解答: 1 知识点:

8.使文本框获得焦点的方法是()。

SetFocus GotFocus LostFocus Change

本题分值: 5.0 用户得分: 5.0 用户解答: SetFocus 知识点:

9.在窗体上画两个文本框(Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:

Private Sub Command1_Click()

a = Text1.Text+Text2.Text Print a

End Sub

Private Sub Form_Load()Text1.Text = “" Text2.Text = ”“

End Sub

程序运行后,在Text1和Text2中分别输入123和321,然后单击命令按钮,则输出结果为()。

444 321123 123321 132231

本题分值: 5.0 用户得分: 5.0 用户解答: 123321 知识点:

10.当拖动滚动条中的滚动块时,将触发滚动条的事件是()。

Scroll SetFocus Change Move

本题分值: 5.0 用户得分: 5.0 用户解答: Scroll 知识点:

11.下面不是VB的数据类型的是()。

Currency Object Bool Single

本题分值: 5.0 用户得分: 5.0 用户解答: Bool 知识点:

12.下面的数2.65358979335278E-06写成普通的十进制数是()。

0.***335278 0.***5278 0.***35278 0.***278

本题分值: 5.0 用户得分: 5.0 用户解答: 0.***35278 知识点:

13.下面的数1.2***69E+19写成普通的十进制数是()。

12***6900000 12***690000 12***6900 12***69000

本题分值: 5.0 用户得分: 5.0 用户解答: 12***6900000 知识点:

14.下列可作为VB的变量名的是()。

Abs AB∏

3*Delta PrintChar

本题分值: 5.0 用户得分: 5.0 用户解答: PrintChar 知识点:

15.设a = 2,b = 3,c = 4,d = 5,下列表达式Not a <= c Or 4 * c = b ^ 2 And b <> a + c的值是()。

True 1 False-1

本题分值: 5.0 用户得分: 5.0 用户解答: False 知识点:

16.语句Print 5 * 5 5 / 5的输出结果是()。25 5 0

本题分值: 5.0 用户得分: 5.0 用户解答: 25 知识点:

17.表达式4 + 5 6 * 7 / 8 Mod 9的值是()。7 6 4

本题分值: 5.0 用户得分: 5.0 用户解答: 5 知识点:

18.以下语句Print 3 + 4 5 * 6 / 7 Mod 8的输出结果是()。4 3 5

本题分值: 5.0 用户得分: 5.0 用户解答: 4 知识点:

19.语句Print Sgn(-6 ^ 2)+ Int(-6 ^ 2)+ Int(6 ^ 2)的输出结果是()。

-1 1-72-36

本题分值: 5.0 用户得分: 5.0 用户解答:-1 知识点:

20.以下语句的输出结果是()。

a = Sqr(3)

Print Format(a, ”$$####.###")

$1732 $$0001.732 $1.732 $$1.732

《C语言及程序设计》在线作业答案 篇2

关键词:C语言,在线考试系统,设计,实现

C语言在线考试系统的设计与实现,克服了传统纸质考试浪费大量纸质资源的弊端,有助于教师及时、准确地掌握学生C语言知识的掌握程度。因此,高校有必要结合自身实际开发在线考试系统,以方便学生考试与阅卷,在提高高校的信息化水平的同时,提高考试环节效率,为C语言教学工作的开展提供有价值的指导。

1 C语言在线考试系统设计理论

设计C语言在线考试系统时,需要一定的理论知识作支撑,尤其应明确系统采用的结构以及开发设计应具备的环境,接下来逐一进行探讨。

1.1 系统结构

目前,开发模式技术架构包括B/S模式、C/S模式,其中在B/S架构下,用户不用安装专门的应用程序,通过浏览器就能访问,操作比较方便,而且应用环境分离与开发环境,使系统的重用性、安全性以及扩展性大大提高。另外,即便改变数据库结构也不会给用户带来影响,使后期的维护效率大大提高。结合B/S架构的优点,C语言在线考试系统的设计与实现,采用B/S架构,即实现数据层、功能层以及表示层三层的分离。

1.2 开发技术环境

C语言在线考试系统设计的实现需要很多技术的支撑,包括Web技术、ASP.NET技术以及数据库访问技术等,其中Web技术的实现需要超文本技术、http协议以及Web资源命名方案等的支持。ASP.NET技术可应用.NET Framework具有的所有功能,并可根据需要装配相关组件,而且可利用代码借助命名空间使用自己定义的组件。最为关键的是程序页面显示部分分离与控制逻辑分布,前者存储在.aspx文件中,后者存储在.cs文件中,使程序的维护效率得以大大提高。ADO.NET具有伸缩访问数据的能力,而ADO是构建ASP数据库应用程序的关键,它不仅可以方便地存取Internet数据库中的数据,而且可实现最新Web页面的更新与显示。当Web页面实现与数据库的连接后,便能对数据库进行删除、修改及查询操作。除此之外,还需要SQL Server以及IIS环境的支持等,使用SQL Server 2000在IIS6.0环境下完成C语言在线考试系统的开发。

2 设计与实现

C语言在线考试系统涉及很多专业内容,其中通过设计主要实现组卷、考试及自动阅卷3个模块的功能。这3个模块是整个系统的核心,因此对其实现进行详细的探讨。其中,组卷模块的作用在于根据学生抽取的题目,生成相关的测试、答案文件,并将其自动存放到指定位置,为后期考试与阅卷工作的实施奠定基础;考试模块主要负责生成对应的考试界面,通过人机交互完成考试;阅卷模块依据划定的评分标准,对学生回答问题的情况进行评分。

2.1 组卷模块

组卷模块依据制定的组卷策略,将抽取的题目组合成一套满足考试要求的试卷。正式考试之前教师利用组卷系统随机抽取考题,其中填空题与选择题抽取通过整体调取多个试题库的文件实现,不同的题库就是一套试卷,而编程题的生成相对麻烦一些,即,在题库和试题程序文件中分别抽取一条记录和一个程序,而后生成对应的测试及答案文件,并将其存储到指定位置。

通过分析可知组卷模块功能的实现还需要组卷系统支撑,因此,C语言在线考试系统设计时还应完成组卷系统的设计。考试系统中选择题是比较常见的类型,因其具有明确的答案,因此对其进行评分设计相对比较容易。设计时选择题库中应包括选项内容、题目内容以及题号等字段,而且还包括考试答案以及标准答案字段,通过对比两个字段的异同,记忆评分规则就可实现评分。考卷中的填空题与选择题相似,不同的是填空题可能有多个答案,设计时需要将多个标准答案存储在对应字段中,而后将其与学生答题字段中的内容进行模糊匹配,只要满足其中一个标准答案就可进行评分。设计编程题时,需要将各个题目要求以及关键语句存储到对应字段中,其中关键语句就是得分点。为给评分提供方便,系统会给出部分程序。而且以文本形式存储所有考题的源程序。

2.2 考试系统

C语言考试系统的设计与实现包括登录模块、考试模块两个重要部分,其中设置登录模块的目的在于确保系统的安全性,为系统的维护提供方便,并根据不同用户类型反馈不同的页面,引导用户完成相关操作。

(1)登录模块

在线考试系统设计过程中根据需要将登录系统的用户分为管理员、学生、教师三种类型。其中管理员拥有最高权限,可任意查看系统中的各项内容;学生主要登录系统进行考试;教师具有的权限有:对试题库进行维护、阅卷评分等。

登录系统需要对用户的身份进行验证,以判断不同用户类型,反馈不同的页面,因此,系统需要存储用户的相关信息,用户登录时实现与数据库的交互。而且后期学生考试过程中也需要访问数据库,因此,需要搭建与数据库的连接,即,在服务器端创建conn的ADO Connection对象,设计conn.asp页面并运用数据库连接代码实现与数据库的连接。

而后还应设计一个专门供学生登录的页面用户登录系统进行考试,登录页面内容应包括学生学号输入框、密码框以及验证码、登录与重置按钮等,并命名为default.aspx。

(2)在线考试系统

学生登录在线考试系统后,系统跳转到考试界面,而后随机抽取试题组成考试试卷,呈现给学生供其解答,并开始计时。同时,设置“交卷”按钮,用于完成答题后的学生提交试卷。另外,还应注重对特殊情况的处理,例如,时间到而学生仍没有提交试卷,此时系统应强行完成试卷的提交。

经分析不难发现,在线考试系统的设计主要做好两项工二作:实现时间的控制;实现特殊情况的处理;其中实现时间控制时应将解决以下3种问题当做设计的重点:(1)当发生断电、死机等突发情况下怎样暂停时间;(2)恢复到正常情况后考试时间怎样继续进行;(3)考试时间开始与结束的控制等。首先,为防止突发情况影响考试时间,应在客户端完成计时操作,并将其提交到服务器端。如服务器获得不了提交的时间数据或计时无法正常继续,并暂停计时;其次,将暂停时间保存在服务器端,一旦突发情况恢复应在服务端保存时间的基础上继续进行计时;最后,通过SQL语句查询计算服务器中记录的考试开始时间,以判断考试是否结束。

另外,为解决问题(1)在客户端应进行这样的设计:在客户端设置一个timer控件,将时间间隔设置为2min,即每隔两分钟就会向服务器传送一次时间数据,并保存在数据库中的对应字段中。考试过程中学生一旦服务器接受不到传输的时间数据则计时暂停(可能发生了突发情况)。当达到了考试规定的时间,学生仍没有交卷,则进行强制交卷处理。具体的实现代码为:

2.3 自动阅卷

为保证自动阅卷工作的顺利实现,评分时需要依据一定的标准进行,以区分不同学生的对C语言知识的掌握水平。自动阅卷模块的实现需区分以下3种情况:(1)学生输入的程序能够成功编译,而且未出现逻辑错误,此时应判定为满分;(2)学生书写的程序编译没有通过;(3)虽能成功编译但是内部有逻辑错误。其中满分的判定比较容易,而第二种情况,可根据情况设置为5分,第三种情况可将分值设为7分。经分析上述分值的设置相对比较合理,而且因在系统设计时分值已经确定,一定程度上保证了考试的公平性。

3 结语

对C语言在线考试系统的设计与实现进行探讨,经过多次的调试顺利的实现了组卷、在线考试、自动评分的功能,大大减轻了教师监考、评卷工作量,提高了整个考试效率。另外,考虑到实际情况,在C语言在线考试系统设计时可适当地增加一些辅助功能,确保在线考试系统更加人性化,使其更好地为考试服务。

参考文献

[1]邵琳.在线考试系统的设计与实现[D].中国海洋大学,2011.

[2]刘宏亮.C语言Web考试系统的设计与实现[D].吉林大学,2014.

[3]王胜川.C语言在线考试系统设计与实现[J].现代计算机(专业版),2011,07:110—112.

C语言程序设计的试题及答案 篇3

c=swap(a,b); printf(”%d%d“, a,c); }

40. #include void fun(int n) { if(n==1) printf(”*“); else { printf(”-“); fun(n-1); } } void main { int i,j=0; for(i=1;i<4;i++) fun(i); printf(”XiaoXin!“); } 解答: 1. p=27 2. 运行结果:12345 3. 3 4. 5 3 32 5. 2 6. 11 21 31 7. 3 7 5

8. 6

7

8

5

5

9. 012345 10. a1=1 a2=3 a3=2 11. 10,20,30 12. a=2,b=3 a=2,b=3 13. 10,20,30 14. a=1.0000 15. 567 16. 4 17. 3.000000 18. 80,-20 19. -1 20. j=12 21. 4,3,5 22. 18 23. Hello, world! Hello, world! Hello, world! 24. x=3; 25. x=22 26. i = 7; j = 6; x = 7 i = 2; j = 7; x = 5

27. 7 28. (1) x = 2 y = 3 z = 0 (2) x = 4 y = 9 z = 5 (3) x = 2 y = 3 z = 0 29. 10, 20, 40, 40 30. 125 31. 3,0,-90,23,6,10 32. sum=6 33. i=20 i=40 34. j=9 35. c=1 36. +4++2+ 37. 8 38. c=33 39. 389 40. * -* --* XiaoXin!

三.补充程序 1. 定义了一个 max 函数,找两个整数的最大值,其位置在 main 之后. #include ”stdio.h“ ________________________ int main() {

int x,y,z; printf(”input two numbers:“); scanf(”%d%d“,&x,&y); ________________________; printf(”maxmum=%d“,z); return 0; } int max(int a,int b) { ________________________; if(a>b)w=a; else w= b; ________________________; } 2. 用函数 nzp 判别一个整数 a 的值,若大于 0 则输出该值,若小于等于 0 则输出 0 值。 #include ”stdio.h“ ________________________nzp(________________________) { if(v>0) ________________________ else printf(”%d “,0); } int main() { int a; printf(”input number a:“); scanf(”%d“,&a); ________________________ return 0; } 3. 主函数调 f1 计算 n 阶乘. #include ”stdio.h“ ________________________ int main() { int n; long s; scanf(“%d”,&n); ________________________ printf(”s=%ld“,s); return 0; } long f2(int n) { ________________________

int i; for(i=1;i<=n;i++) c=c*i; ________________________ } 4. 主函数调 fun 计算 1+1/2!+1/3!+...+1/30!的和. #include ”stdio.h“ ________________________ int main() { int n; float s; ________________________ printf(”1+1/2!+1/3!...+1/30!=%f“,s); return 0; } float fun() { int n; float t=1; ________________________ for(n=1;n<=30;n++) { t*=1/n; s+=t; } ________________________ } 5. 数组 a 中存放了一个学生 5 门课程的成绩,求平均成绩。 #include ”stdio.h“ ________________________ int main() { float sco[5],av; int i; printf(”input 5 scores:“); for(i=0;i<5;i++) scanf(”%f“,&sco[i]); ________________________ printf(”average score is %5.2f“,av);

return 0; } float aver(float a[]) { int i; float s=a[0]; ________________________ for(i=1;i<5;i++) s=s+a[i]; av=s/5; ________________________ } 6. 用递归法计算 n! #include ”stdio.h“ ________________________ int main() { int n; long y; printf(”input a inteager number:“); scanf(”%d“,&n); ________________________ printf(”%d!=%ld“,n,y); return 0; } ________________________ff( int n) { long f; if(n<0) printf(”n<0,input error“); else if(n==0||n==1) f=1; else f=ff(n-1)*n; ________________________ }

7. 输入正方体的长宽高 l,w,h。求体积及三个面 x*y,x*z,y*z 的面积。 #include ”stdio.h“ int s1; ________________________ int vs( int a,int b,int c) { ________________________ v=a*b*c; s1=a*b; s2=b*c;

s3=a*c; ________________________ } int main() { int v,l,w,h; printf(”input length,width and height“); scanf(”%d%d%d“,&l,&w,&h); ________________________ printf(”v=%d s1=%d s2=%d s3=%d“,v,s1,s2,s3); return 0; } 8. 输入两个正整数 num1,num2,求其最大公约数. #include ”stdio.h“ ________________________ int main() { int d; int num1,num2; printf(”please input two numbers:“); scanf(”%d,%d“,&num1,&num2); ________________________ printf(”gongyueshu:%d“,d); return 0; } int gongyue(int a,int b) { ________________________ while(b) { temp=a%b; a=b; b=temp; } ________________________ } 9. 利用递归函数调用方式,输出 6 个数字。 #include ”stdio.h“ ________________________ int main() { int w=5; fun(w); printf(”“); return 0; } ________________________fun(________________________)

{ if(k>0) ________________________; printf(“%d”,k); } 10. 主函数调 printstar 打印一串星形图案. #include ”stdio.h“ ________________________ int main() { ________________________ ; return 0; } ________________________printstar(________________________) { printf(“*************”); }

解答: 1. int max(int a,int b); z=max(x,y); int w; return w; 2. void int v printf(”%d“,v); nzp(a); 3. long f2(int n); s=f2(n);

long c=1; return c; 4. float fun(void); s=fun(); float s=0; return s;

5. float aver(float a[]); av=aver(sco); float av; return av;

6. long ff(int n); y=ff(n); long return f; 7. int s2,s3; int v; return v; v=vs(l.w,h); 8. int gongyue(int a,int b); d=gongyue(num1,num2);

int temp; return a; 9. void fun(int k); void int k; fun(k-1); 10. void printstar(void); printstar(); void void 四.改错题 解答: 五.编程一 解答: 六.编程二 1. 编程实现:任意输入两个正整数,求它们的最大公约数和最小公倍数。要求最大公约数 通过自定义函数来输出。 2. 编程实现:求出 10~10000 之内的所有素数。要求素数判断通过自定义函数来实现。 3. 编程实现:输出所有的“水仙花数” 。所谓“水仙花数”是指一个 3 位数,其各位数字立 方和等于该数本身。例如:153 是一个“水仙花数” ,因为 。要求水仙花数的判断通过自定 义函数来实现。 4. 编程实现:打印出 2~1000 之间的所有完数。所谓完数,是指这样的数,该数的各因子之 和正好等于该数本身,例如:6=1+2+3;28=1+2+4+7+14;因此,6、28 都是完数。要求完数 的 判断通过自定义函数来实现。 5. 编程实现:打印出 10~9999 之间的所有回文数,要求每 10 个数一行输出。要求回文数的 判 断通过自定义函数来实现。 6. 编程实现:打印出 1~9999 之间的所有同构数,所谓同构数是指一个数如果出现在该数平

方的右端,该数就是同构数。如 5,25 都是同构数。要求同构数的判断通过自定义函数来实 现 。 7. 给定一 5*5 的整型矩阵,求所有正对角线元素之和,并以矩阵的形式输出矩阵的值。要 求 :对角线元素之和及矩阵输出分别通过两个自定义函数来实现。 8. 编程实现:输入一 4*4 的矩阵的值,求出每行的最大值并输出其所在列号。要求:通过 通 过自定义函数实现矩阵的输入输出。 9. 编程实现:任意给定一个十进制的整数,将其转换成二进制,按位将其存放到数组中, 然后输出,要求数制转换通过自定义函数来实现。

10. 编程实现:任意输入一个正整数,编程求出它是几位数并将其逆序输出。要求通过自定 义函数实现求是几位数,该函数原形为:int ni(int x,int a[]);函数返回值是该数是几位 数,x 为给定的数,a 中存放该数的各个位。 11. 编写程序从键盘输入 x 和 n 的值,求 xn (n 为大于等于零的整数) ,要求用 n 递归函数求 x 。

12. 编写实现:输入两个正整数 m,n(m>n) ,计算从 m 个元素中任意取 n 个元素的组合,计 算机

公式为: 要求通过递归函数求阶乘。

13. 编程实现:从键盘任意输入 10 个不相同的整数,然后,输入要查找的数 x,如果在这 10 个 数中找到 x,则打印“Found!” ;如果找不到,则打印“Not found!” 。要求通过自定义函数

实现查找功能。 14. 从键盘输入某班 20 个学生的成绩和学号,然后从键盘任意输入一个学生的学号,查找 出 他的成绩并输出,若未找到,给出相应提示。要求通过自定义函数实现查找功能。 15. 编程实现:从键盘任意输入某班 20 个学生的姓名和成绩,输出最高分及不及格学生的 人 数。要求分别用两个自定义函数求最高分和不及格人数。 16. 编程实现:输入 2 个降序排列的整数数列,将这两个数列合并存放到另一个数组中,要 求 每个数都一次到位,不得在新数组中重新排序。要求数列合并通过自定义函数来实现。 17. 编程实现:输入 N 名职工的姓名及计算机水平考试的成绩,输出及格人数和及格的职工 信 息。要求:职工信息的输入和输出分别通过自定义函数来实现。

18. 编程实现:从键盘输入 10 名学生的信息,包括学号、姓名、成绩,用一个排序函数 sort 完成学生成绩降序排列,并输出学生排序后的结果。 19. 编程实现:任意输入一组不多于 20 个的升序排列的若干个整数,任意输入不多于 10 个 的 整数(-1 作为输入结束标志) ,将其插入到该序列中,使其依然有序。要求:通过自定义函 数实现将一个整数插入到一个有序序列中,使其依然有序。 20. 一个班级有 30 个学生,每个学生有学号、姓名及数学、语文、计算机成绩、平均成绩。 要求编程实现以下功能: 1) 从键盘上输入 30 个学生的信息,平均成绩通过公式:平均成绩=(数学+语文+计算 机 )/3 计算得出。 2) 输出所有平均成绩大于等于 85 的学生姓名(要求用自定义函数实现该功能)。 解答: 1. #include ”stdio.h“ int GreatComDiv(int m,int n); int LeaseComMul(int m,int n); void main() { int m,n,t; printf(”请输入 m 和 n 的值:“); scanf(”%d%d“,&m,&n); if((m<=0)||(n<=0))

{ printf(”输入错误!请重新输入!“); scanf(”%d%d“,&m,&n); } if(m

int LeaseComMul(int m,int n) {int greatcomdiv; greatcomdiv=GreatComDiv( m, n); return m*n/greatcomdiv; }

2. #include ”stdio.h“ int sushu(int n); void main() { int n; printf(”input n:“); scanf(”%d“,&n); if (sushu(n)) printf(”%d 是素数“,n); else printf(”%d 不是素数“,n); } int sushu(int n) { int i; for(i=2;i

return 1; }

3. 编程实现:输出所有的“水仙花数” 。所谓“水仙花数”是指一个 3 位数,其各位数字立 方和等于该数本身。例如:153 是一个“水仙花数” ,因为 。要求水仙花数的判断通过自定 义函数来实现。 #include ”stdio.h“ int fun(int n); void main() {int i; for(i=100;i<=999;i++) if (fun(i))printf(”%d“,i); } int fun(int n) {int a,b,c; a=n/100;b=n/10%10;c=n%10; }

if (a*a*a+b*b*b+c*c*c==n)return 1;

return

0;

4. #include ”stdio.h“ int wanshu(int n); void main() { int n; printf(”input n:“); scanf(”%d“,&n); if (wanshu(n)) printf(”%d 是完数“,n); else printf(”%d 不是完数“,n); } int wanshu(int n) { int i,s=0; for(i=1;i<=n/2;i++) if(n%i==0) s+=i; if(s==n) return 1; else return 0;

}

5. 方法一: #include ”stdio.h“ int huiwen(int n); void main()

《C语言及程序设计》在线作业答案 篇4

一、单选题(共10道试题,共30分。)

1.能肩上挥臂投掷轻物是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

正确答案:B满分:3分得分:3 2.能手脚交替协调熟练地在攀登架或肋木上爬上爬下,能在单杆或其他器械上做短暂的悬垂动作是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

幼儿园健康教育活动

正确答案:C满分:3分得分:3 3.能边念儿歌或边听音乐做模仿或简单的徒手操是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

正确答案:A满分:3分得分:3 4.指出:“幼儿园每日户外体育活动不得少于2小时”的文件是 A.幼儿园工作规程 B.幼儿园教育指导纲要 C.幼儿园管理条例 D.幼儿园工作指南

正确答案:A满分:3分得分:3 5.能团身滚是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

正确答案:B满分:3分得分:3 6.提出“教育活动内容的组织应充分考虑幼儿的学习特点和认识规律,各领域的内容要有机联系,相互渗透,注重综合性、趣味性、活动性,寓教育于生活、游戏之中。”的文件是 A.幼儿园工作规程 B.幼儿园教育指导纲要 C.幼儿园工作条例

D.关于卫生改革与发展决定 正确答案:B满分:3分得分:3 7.形成基本的生活自理能力,学会使用筷子,独立有次序地穿脱、整理衣物、鞋袜和床铺是哪个年龄阶段的教育目标 A.小班 B.中班 C.大班

正确答案:B满分:3分得分:3 8.健康教育一词最早采用在哪一年? A.1919年 B.1929年 C.1939年 D.1949年

正确答案:A满分:3分得分:3 9.能熟练协调地在60厘米高的障碍物(如圈、拱形门等)下较灵活地侧钻是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

正确答案:B满分:3分得分:3 10.能听信号按节奏上下肢协调地走和跑;能听信号变速走、变速跑是哪个年龄阶段的体育活动的目标 A.小班 B.中班 C.大班

正确答案:B满分:3分得分:3

二、多选题(共10道试题,共30分。)得分:30 1.幼儿心理健康的影响因素有 A.生物学因素 B.心理因素 C.社会因素

正确答案:ABC满分:3分得分:3 2.确定幼儿园健康教育的内容,主要依据是 A.幼儿园健康教育的目标

B.幼儿身心发展的特点与已有的经验 C.幼儿园健康教育的学科知识 正确答案:ABC满分:3分得分:3 3.幼儿体育活动的总目标包括 A.开发幼儿的运动潜能

B.培养幼儿坚强、勇敢、不怕困难的意志品质和主动、乐观、合作的态度 C.提高机体对环境的适应能力 正确答案:ABC满分:3分得分:3 4.幼儿园健康教育活动的主要活动过程一般要经历的阶段是 A.引起动机阶段 B.主要活动阶段 C.综合阶段 D.延伸阶段

正确答案:ABC满分:3分得分:3 5.影响幼儿心理健康的生物学因素有 A.遗传

B.胎儿期孕妇的健康状况及其环境影响 C.意外伤害和疾病 正确答案:ABC满分:3分得分:3 6.幼儿安全生活教育的内容包括

A.日常生活中安全常识与规则的了解及遵守,过马路、乘坐交通工具、玩大型运动器械时能注意安全

B.认识有关的安全标志,遵守交通规则,初步形成自身保护意识 C.了解应付意外事故的常识,具有基本的求生技能 正确答案:ABC满分:3分得分:3 7.帮助幼儿形成良好的行为习惯的内容包括 A.建立科学的日常生活习惯 B.养成良好的卫生习惯 C.培养广泛的兴趣

正确答案:ABC满分:3分得分:3 8.幼儿园保证幼儿安全的要求包括 A.幼教工作者要有责任心 B.环境设施要安全

C.要妥善保管药品、有毒物品 D.建立安全检查制度

正确答案:ABCD满分:3分得分:3 9.幼儿园健康教育的主要内容包括 A.幼儿日常生活习惯教育 B.幼儿身体认识与保护教育 C.幼儿饮食营养教育 D.幼儿安全生活教育 E.幼儿心理健康教育 F.幼儿体育锻炼

正确答案:ABCDEF满分:3分得分:3 10.在进行幼儿园健康教育活动材料与环境设计时,要考虑的因素有 A.活动材料必须紧扣具体活动目标 B.活动材料应具有趣味性 C.要为幼儿提供充足的材料 D.选择适合的物理活动环境 E.创设宽松的心理环境

正确答案:ABCDE满分:3分得分:3

三、判断题(共20道试题,共40分。)得分:40 1.情绪是导致心理异常和障碍的一个主要的中介环节。A.错误 B.正确

正确答案:B满分:2分得分:2 2.比赛法是指幼儿在比赛条件下进行身体锻炼的方法。A.错误 B.正确

正确答案:B满分:2分得分:2 3.《幼儿园教育指导纲要》指出:“幼儿园每日户外体育活动不得少于2小时”。A.错误 B.正确

正确答案:A满分:2分得分:2 4.铁、锌主要来源于瘦肉和动物的肝脏,缺铁可导致儿童患缺铁性贫血。A.错误 B.正确

正确答案:B满分:2分得分:2 5.幼儿身心发展特点是确定幼儿园健康教育目标的根本依据。A.错误 B.正确

正确答案:B满分:2分得分:2 6.幼儿健康首先指向幼儿身体器官组织的构造正常,各个生理系统的主要功能的良好发挥,能有效抵抗各种疾病。A.错误 B.正确

正确答案:B满分:2分得分:2 7.生成性目标是指每一个幼儿在与具体教育情境的种种“际遇”中所产生的个性化表现的目标。A.错误 B.正确

正确答案:A满分:2分得分:2 8.《幼儿园工作规程》指出:促进幼儿身体正常发育和机能的协调发展,增强体质,培养良好的生活习惯,卫生习惯和参加体育活动的兴趣。A.错误 B.正确

正确答案:B满分:2分得分:2 9.体育活动能提高幼儿感受美、表现美的能力。A.错误 B.正确

正确答案:B满分:2分得分:2 10.体育活动能促进幼儿生长发育。A.错误 B.正确

正确答案:B满分:2分得分:2 11.在组织幼儿园健康教育活动时,教师的语言要具有形象性。A.错误 B.正确

正确答案:B满分:2分得分:2 12.生活质量是人的主观体验。A.错误 B.正确

正确答案:B满分:2分得分:2 13.心理健康是一个绝对的概念,通过测量可以得到一个量化的概念进行比较。A.错误 B.正确 正确答案:A满分:2分得分:2 14.幼儿心理健康的重要前提是智力发展正常,这是以为正常的智力水平是幼儿生活、学习、交往的基本条件。A.错误 B.正确

正确答案:B满分:2分得分:2 15.领做法是指教师在体育活动中边示范、边讲解、边组织,幼儿按教师要求进行练习的方法。A.错误 B.正确

正确答案:B满分:2分得分:2 16.幼儿园健康教育将为幼儿一生的健康和生活奠定良好的基础。A.错误 B.正确

正确答案:B满分:2分得分:2 17.表现性目标是指向教育教学过程结束后幼儿所发生的行为变化的目标。A.错误 B.正确

正确答案:A满分:2分得分:2 18.幼儿园健康教育的活动目标,是幼儿阶段健康教育的任务要求,具有较强的特殊性和相对的独立性。A.错误 B.正确

正确答案:A满分:2分得分:2 19.健康是指人体的生理心理的完好标准,它是对人体的完好状态能否符合现实需要所规定的评价标准,是身体的、心理的和社会的完好状态。A.错误 B.正确

正确答案:B满分:2分得分:2 20.生理和心理的发展在儿童身上是统一的。A.错误 B.正确

《C语言及程序设计》在线作业答案 篇5

char 一个字节 1 byte int 两个字节 2 byte(16位系统, 认为整型是2个字节)long int 四个字节 4 byte float 四个字节4 byet double 八个字节 8 byte long double 十个字节 10 byte pointer 两个字节 2 byte(注意, 16位系统, 地址总线只有16位)第1题: 考查对volatile关键字的认识 #include static jmp_buf buf;main(){ volatile int b;b =3;if(setjmp(buf)!=0){ printf(“%d “, b);exit(0);} b=5;longjmp(buf , 1);} 请问, 这段程序的输出是(a)3(b)5(c)0(d)以上均不是 第2题:考查类型转换 main(){ struct node { int a;int b;int c;};struct node s= { 3, 5,6 };struct node *pt = &s;printf(“%d” , *(int*)pt);} 这段程序的输出是:(a)3(b)5(c)6(d)7 第3题:考查递归调用 int foo(int x , int n){ int val;val =1;if(n>0){ if(n%2 == 1)val = val *x;val = val * foo(x*x , n/2);} return val;} 这段代码对x和n完成什么样的功能(操作)?(a)x^n(x的n次幂)(b)x*n(x与n的乘积)(c)n^x(n的x次幂)(d)以上均不是

第4题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人 main(){ int a[5] = {1,2,3,4,5};int *ptr =(int*)(&a+1);printf(“%d %d” , *(a+1), *(ptr-1));} 这段程序的输出是:(a)2 2(b)2 1(c)2 5(d)以上均不是

第5题:考查多维数组与指针 void foo(int [][3]);main(){ int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};foo(a);printf(“%d” , a[2][1]);} void foo(int b[][3]){ ++ b;b[1][1] =9;} 这段程序的输出是:(a)8(b)9(c)7(d)以上均不对 第6题:考查逗号表达式 main(){ int a, b,c, d;a=3;b=5;c=a,b;d=(a,b);printf(“c=%d” ,c);printf(“d=%d” ,d);} 这段程序的输出是:(a)c=3 d=3(b)c=5 d=3(c)c=3 d=5(d)c=5 d=5 第7题:考查指针数组 main(){ int a[][3] = { 1,2,3 ,4,5,6};int(*ptr)[3] = a;printf(“%d %d “,(*ptr)[1],(*ptr)[2]);++ptr;printf(“%d %d” ,(*ptr)[1],(*ptr)[2]);} 这段程序的输出是:(a)2 3 5 6(b)2 3 4 5(c)4 5 0 0(d)以上均不对 第8题:考查函数指针 int *f1(void){ int x =10;return(&x);} int *f2(void){ int*ptr;*ptr =10;return ptr;} int *f3(void){ int *ptr;ptr=(int*)malloc(sizeof(int));return ptr;} 上面这3个函数哪一个最可能引起指针方面的问题(a)只有 f3(b)只有f1 and f3(c)只有f1 and f2(d)f1 , f2 ,f3 第9题:考查自加操作(++)main(){ int i=3;int j;j = sizeof(++i+ ++i);printf(“i=%d j=%d”, i ,j);} 这段程序的输出是:(a)i=4 j=2(b)i=3 j=2(c)i=3 j=4(d)i=3 j=6 第10题:考查形式参数, 实际参数, 指针和数组 void f1(int *, int);void f2(int *, int);void(*p[2])(int *, int);main(){ int a;int b;p[0] = f1;p[1] = f2;a=3;b=5;p[0](&a, b);printf(“%dt %dt”, a, b);p[1](&a, b);printf(“%dt %dt”, a, b);} void f1(int* p , int q){ int tmp;tmp =*p;*p = q;q= tmp;} void f2(int* p , int q){ int tmp;tmp =*p;*p = q;q= tmp;} 这段程序的输出是:(a)5 5 5 5(b)3 5 3 5(c)5 3 5 3(d)3 3 3 3 第11题:考查自减操作(–)void e(int);main(){ int a;a=3;e(a);} void e(int n){ if(n>0){ e(–n);printf(“%d”, n);e(–n);} } 这段程序的输出是:(a)0 1 2 0(b)0 1 2 1(c)1 2 0 1(d)0 2 1 1 第12题:考查typedef类型定义,函数指针 typedef int(*test)(float * , float*)test tmp;tmp 的类型是

(a)函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数(arguments)Pointer to function of having two arguments that is pointer to float(b)整型(c)函数的指针, 该函数以两个指向浮点数(float)的指针(pointer)作为参数(arguments),并且函数的返回值类型是整型 Pointer to function having two argument that is pointer to float and return int(d)以上都不是

第13题:数组与指针的区别与联系 main(){ char p;char buf[10] ={ 1,2,3,4,5,6,9,8};p =(buf+1)[5];printf(“%d” , p);} 这段程序的输出是:(a)5(b)6(c)9(d)以上都不对

第14题: 考查指针数组的指针 void f(char**);main(){ char * argv[] = { “ab” ,”cd” , “ef” ,”gh”, “ij” ,”kl” };f(argv);} void f(char **p){ char* t;t=(p+= sizeof(int))[-1];printf(“%s” , t);} 这段程序的输出是:(a)ab(b)cd(c)ef(d)gh 第15题:此题考查的是C的变长参数,就像标准函数库里printf()那样,这个话题一般国内大学课堂是不会讲到的,不会情有可原 #include int ripple(int ,);main(){ int num;num = ripple(3, 5,7);printf(” %d” , num);} int ripple(int n,){ int i , j;int k;va_list p;k= 0;j = 1;va_start(p, n);for(;j{ i = va_arg(p , int);for(;i;i &=i-1)++k;} return k;} 这段程序的输出是:(a)7(b)6(c)5(d)3 第16题:考查静态变量的知识 int counter(int i){ static int count =0;count = count +i;return(count);} main(){ int i , j;for(i=0;i <=5;i++)j = counter(i);} 本程序执行到最后,j的值是:(a)10(b)15(c)6(d)7 详细参考答案 第1题:(b)volatile字面意思是易于挥发的。这个关键字来描述一个变量时, 意味着 给该变量赋值(写入)之后, 马上再读取, 写入的值与读取的值可能不一样,所以说它“容易挥发”的。

这是因为这个变量可能一个寄存器, 直接与外部设备相连, 你写入之后, 该寄存器也有可能被外部设备的写操作所改变;或者, 该变量被一个中断程序, 或另一个进程 改变了.volatile 不会被编译器优化影响, 在longjump 后,它的值 是后面假定的变量值,b最后的值是5,所以5被打印出来.setjmp : 设置非局部跳转 /* setjmp.h*/ Stores context information such as register values so that the lomgjmp function can return control to the statement following the one calling setjmp.Returns 0 when it is initially called.Lonjjmp: 执行一个非局部跳转 /* setjmp.h*/ Transfers control to the statement where the call to setjmp(which initialized buf)was made.Execution continues at this point as if longjmp cannot return the value 0.A nonvolatile automatic variable might be changed by a call to longjmp.When you use setjmp and longjmp, the only automatic variables guaranteed to remain valid are those declared volatile.Note: Test program without volatile qualifier(result may very)更详细介绍, 请参阅 C语言的setjmp和longjmp 第2题:(a)结构题的成员在内存中的地址是按照他们定义的位置顺序依次增长的。如果一个结构体的指针被看成 它的第一个成员的指针,那么该指针的确指向第一个成员 第3题:(a)此题目较难.这个程序的非递归版本 int what(int x , int n){ int val;int product;product =1;val =x;while(n>0){ if(n%2 == 1)product = product*val;/*如果是奇数次幂, x(val)要先乘上一次,;偶数次幂, 最后返回时才会到这里乘以1*/ val = val* val;n = n/2;} return product;} /* 用二元复乘策略 */ 算法描述(while n>0){ if next most significant binary digit of n(power)is one then multiply accumulated product by current val, reduce n(power)sequence by a factor of two using integer division.get next val by multiply current value of itself } 第4题:(c)a的类型是一个整型数组,它有5个成员。&a的类型是一个整型数组的指针, 所以&a + 1指向的地方等同于a[6], 所以*(a+1)等同于a[1] ptr等同a[6], ptr-1就等同与a[5] 第5题:(b)题目自身就给了足够的提示 b[0][0] = 4 b[1][0] = 7 第6题:(c)考查逗号表达式,逗号表达式的优先级是很低的, 比 赋值(=)的优先级 低.逗号表达式的值就是最后一个元素的值

逗号表达式的还有一个作用就是分割函数的参数列表..E1, E2, …, En 上面这个表示式的左右是,E1, E2,… En的值被分别计算出来, En计算出来的结构赋给整个逗号表达式

c=a,b;/ *yields c=a* / d=(a,b);/* d =b */ 第7题:(a)ptr是一个数组的指针, 该数组有3个int成员 第8题:(c)f1显然有问题, 它返回一个局部变量的指针, 局部变量是保存在stack中的,退出函数后, 局部变量就销毁了, 保留其指针没有意义, 因为其指向的stack空间可能被其他变量覆盖了

f2也有问题, ptr是局部变量, 未初始化, 它的值是未知的, *ptr不知道指向哪里了, 直接给*ptr赋值可能会覆盖重要的系统变量, 这就是通常说的野指针的一种 第9题:(b)sizeof 操作符给出其操作数需要占用的空间大小, 它是在编译时就可确定的, 所以其操作数即使是一个表达式, 也不需要在运行时进行计算.(++i + ++ i)是不会执行的, 所以i的值还是3 第10题:(a)很显然选a.f1交换*p 和 q的值, f1执行完后, *p 和 q的值的确交换了, 但q的改变不会影响到b的改变, *p 实际上就是a 所以执行f1后, a=b=5 这道题考查的知识范围很广,包括typedef自定义类型,函数指针,指针数组void(*p[ 2 ])(int *, int);定义了一个函数指针的数组p,p有两个指针元素.元素是函数的指针, 函数指针指向的函数是一个带2个参数,返回void的函数, 所带的两个参数是指向整型的指针, 和整型

p[ 0 ] = f1;p[ 1 ] = f2 contain address of function.function name without parenthesis represent address of function Value and address of variable is passed to function only argument that is effected is a(address is passed).Because of call by value f1, f2 can not effect b 第11题:(a)考查–操作和递归调用,仔细分析一下就可以了 第12题:(c)建议不会的看看C专家编程

从左往有, 遇到括号停下来, 将第一个括号里的东西看成一个整体 第13题:(c)考查什么时候数组就是指针.对某些类型T而言, 如果一个表达式是 T[](T的数组), 这个表达式的值实际上就是指向该数组的第一个元素的指针.所以(buf+1)[5]实际上就是*(buf +6)或者buf[6] 第14题:(b)sizeof(int)的值是2,所以p+=sizeof(int)指向 argv[2],这点估计大家都没有什么疑问(p+=sizeof(int))[-1] 指向 argv[1],能理解吗, 因为(p+=sizeof(int))[-1] 就相当于(p+=2)[-1] ,也就是(p+2-1)第15题:(c)在C编译器通常提供了一系列处理可变参数的宏, 以屏蔽不同的硬件平台造成的差异, 增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。

采用ANSI标准形式时, 参数个数可变的函数的原型声明是:type funcname(type para1, type para2, …)这种形式至少需要一个普通的形式参数, 后面的省略号不表示省略, 而是函数原型的一部分。type是函数返回值和形式参数的类型。

不同的编译器, 对这个可变长参数的实现不一样 , gcc4.x中是内置函数.关于可变长参数,可参阅

c语言试题及答案 篇6

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语言笔试题目及答案 篇7

c语言笔试题目及答案

一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选

项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构是指________。

A)存储在外存中的数据 B)数据所占的存储空间量

C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示

答案:D

评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。

(2)下列关于栈的描述中错误的是________。

A)栈是先进后出的线性表

B)栈只能顺序存储

C)栈具有记忆作用

D)对栈的插入与删除操作中,不需要改变栈底指针

答案:B

评析:栈是一种特殊的线性表,又称先进后出表(FILO―First In Last Out)。

(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是

________。

A)冒泡排序为n2 B)冒泡排序为n

C)快速排序为n D)快速排序为n(n一1)/2

答案:D

评析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。快速排序法的最坏情况比较次数也是n(n-1)/2。

(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。

A)log2n B)n/2 C)n D)n+l

答案:C

评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。

(5)下列对于线性链表的描述中正确的是________。

A)存储空间不一定是连续,且各元素的存储顺序是任意的

B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面

C)存储空间必须连续,且前件元素一定存储在后件元素的前面

D)存储空间必须连续,且各元素的存储顺序是任意的

答案:A

评析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

(6)下列对于软件测试的描述中正确的是________。

A)软件测试的目的是证明程序是否正确

B)软件测试的目的是使程序运行结果正确

C)软件测试的目的是尽可能多地发现程序中的错误

D)软件测试的目的是使程序符合结构化原则

答案:C

评析:关于软件测试的目的,Grenford J.Myers再《The Art of Software Testing》一书中给出了深刻的阐述,整体来说,软件测试的目的就是尽可能多地发现程序中的错误。

(7)为了使模块尽可能独立,要求________。

A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

答案:B

评析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。软件设计,应尽量做到高内聚,低耦合,有利于提高模块的独立性。

(8)下列描述中正确的是________。

A)程序就是软件

B)软件开发不受计算机系统的限制

C)软件既是逻辑实体,又是物理实体

D)软件是程序、数据与相关文档的集合

答案:D

评析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。

(9)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指________。

A)数据与程序独立存放

B)不同的数据被存放在不同的文件中

C)不同的数据只能被对应的应用程序所使用

D)以上三种说法都不对

答案:D

评析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项A、B、C三种说法都是错误的。

(10)用树形结构表示实体之间联系的模型是________。

A)关系模型 B)网状模型 C)层次模型 D)以上三个都是

答案:C

评析:层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。

(11)算法具有五个特性,以下选项中不属于算法特性的是________。

A)有穷性 B)简洁性 C)可行性 D)确定性

答案:B

评析:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。

(12)以下选项中可作为C语言合法常量的是________。

A)-80. B)-080 C)-8e1.0 D)-80.0e

答案:A

评析:c语言的常量分为整型常量、实型常量和字符型常量。选项A属于实型常量中的十进制小数形式的表示法,是合法的。

(13)以下叙述中正确的是________。

A)用C程序实现的算法必须要有输入和输出操作

B)用C程序实现的算法可以没有输出但必须要输入

C)用C程序实现的算法可以没有输入但必须要有输出

D)用C程序实现的算法可以既没有输入也没有输出

答案:C

评析:算法的特性中包括“有零个或多个输入”及“有一个或多个输出”这两个特性。一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的,所以一个算法必须至少有一个输出。

(14)以下不能定义为用户标识符的是________。

A)Main B)_0 C)_int D)sizeof

答案:D

评析:C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。注意:大写字母和小写字母被认为是两个不同的字符。A中Main与主i函数名main不同。

(15)以下选项中不能作为合法常量的是________。

A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0

答案:B

评析:指数形式的实型常量要求字每e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。

(16)数字字符0的ASCII值为48,若有以下程序

main

{char a=”1″,b=”2″;

printf(“%c,”,b++);

printf(“%d ”,b-a);

)

程序运行后的输出结果是________。

A) 3,2 B)50,2 C)2,2 D)2,50

答案:C

评析l执行语句“printf(“%c,ll,b++);”后,b的值变成字符3,执行“printf(“%d ”,b-a);”,即‘3’-‘1’。

(17)有以下程序

main( )

{

int m=12, n=34;

printf(“%d%d”,m++,++n);

printf(“%d%d ”,n++,++m);

}

程序运行后的输出结果是________。

A)12353514 B)12353513 C)12343514 D)12343513

答案:A

评析:执行“printf(“%d%d”m++,++n);”后,输出的是m和n+l的值1235,接着执行

“printf(“%d%d”,n++,++m);”输出n和m+l的值3514。

(18)有定义语句:int b;char c[10】;,则正确的输入语句是________。

A) scanf(”%d%s“,&b,&C); B) scanf(”%d%s“,&b,C);

C) scanf(”%d%s“,b,C); D) scanf(”%d%s“,b,&C);

答案:B

评析:scanf函数中的“格式控制”后面应当是地址,而不是变量名。对于变量,通过地址运算符“&”求出内存中的地址;对于数组c[10],数组名c即为数组在内存中的地址。

(19)有以下程序

main()

{int m,n,p;

scanf(“m=%dn=%dp=%d”,&m,&n,&p);

printf(“%d%d%d”,m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,

则正确的输入是________。

A) m。123n=456p=789 B) m=123 n=456 p=789

C) m=123,n=456,p=789 D) 123 456 789

答案:A

评析:根据本题的数据输入形式“scanf(“m=%dn=%dp=%d”&m,&n,&p);”说明在输入数据时,必须输入“m=”、“n=”、“p=”字符,且中间不能含有空格。

(20)有以下程序

main()

{ int a,b,d=25;

a=d/10%9;

b=a&&(-1);

printf(”%d,%d”,a,b);

}

程序运行后的输出结果是________。

A)6,l B)2,l C)6,0 D)2,0

答案:B

评析:本题中“a=d/10%9;”的值为25/10%9=2; “b=a&&(-1);”为2&&(-1)=1(注意:-1表示真,只有O才表示假),所以a,b的值分别为2,1。

(21)有以下程序

main()

{

int i=1 j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf(“%d%d%d”,i,j,k);

}

程序运行后的输出结果是________。

A)l 2 3 B)2 34 C) 2 2 3. D)2 3 3

答案:D

评析:执行“i++==1&&(++j==3‖k++==3)”时,表达式“i++==1”嗨值为真,其值为1,表达式“++j=3”的值为真,根据短路原理,右边的表达式“k++==3”不再进行运算。括号中表达的值为l,作与运算后整个表达式的值也为l,输出i.j,k时,由于未执行过k,所以它们的值分别为2,3,3。

(22)若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

A)l B)2 C)3 D)4

答案:A

评析:条件表达式的一般形式为:表达式17表达式2:表达式3

本题先求的是a

(23)有以下程序

main( )

{

int p[8]={11,12,13,14,15,16,17,18},i=O,j=0;

while(i++<7)if p[i]%2)j+-=p[i];

printf(“%d”,j);

}

程序运行后的输出结果是________。

A)42 B)45 C)56 D)60

答案:B

评析:本程序的作用是求除p[O]外的其它奇数的和。

(24)有以下程序

main()

{

char a[7]= “a0OaO”; int i,j;

i=sizeof(a);j=strlen(a);

printf(“%d%d”,i,j);

)

程序运行后的输出结果是________。

A)2 2 B)76 C)7 2 D)6 2

答案:C

评析:c语言中以‘’作为字符串的结束符,且strlen()函数计算的是‘’字符前的所有字符的个数。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。

(25)以下能正确定义一维数组的选项是________。

A)int a[5]={0,1,2,3,4,5; B)char a[]={0,1,2,3,4,5};

C)char a={’A’,’B’,’C’}; D)int a[5]=”0123″;

答案:B

评析:选项A中定义的是5个数组元素,但赋值的时候赋的是6个元素,所以出错;选项c不符合数组定义形式,数组名后应加上“[]”;选项D的类型说明符错误,如果用char定义就对了;选项B中的0,1,2,3,4,5分别表示对应字符的ASCII码,所以选项B是正确的。

(26)有以下程序

int fl(int x,int y){return x>y?x:y;}

int f2(int x,int y){return x>y?y:x;}

main()

{

int a=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=fl(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf(“%d,%d,%d”,e,f,g);

)

程序运行后的输出结果是________。

A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7

答案:A

评析:函数n的功能是返回两个数中比较大的值,f2的功能是返回两个数中比较小的值。

(27)已有定义:char a[]=”xyz”,b[]={’x’,’y’,’z};,以下叙述中正确的是________。

A)数组a和b的长度相同 B)a数组长度小于b数组长度

C)a数组长度大于b数组长度 D)上述说法都不对

答案:C

评析:c语言规定‘’为字符串结束标志。所以“char a[]=“xyz””的数组长度为4,而“b[]={‘x’,‘y’,‘z’};”的数组长度为3,数组长度与strlen函数所求的长度不同,本题是指数组占内存空间的大小。

(28)有以下程序

Void f(int *x, int *y)

{

int t;

t= *x; *x=*y;’*y=t;

)

main( )

{

int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;q=&a[7];

while(p

{f(p,q); p++; qC;} 。

for(i=0;i<3;i++) printf(“%d”,a[1][i]);

}

程序运行后的输出结果是________。

A)8,2,3,4,5,6,7,1, B)5,6,7,8,1,2,3,4.

C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,l,

答案:D

评析;本程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。

(29)有以下程序

main()

{

im a[3][3],*p,i;

p=&a[0][o];

for(i=0;j<9;i++) p[i]=I;

for(i=0;j<3;i++)printf(“%d”,a[1][i]);

)

程序运行后的输出结果是________。

A)012 B)123 C)234 D)345

答案:D

评析:本题赋值后,a的数组元素的值分别为a[01[0]=0,a[0][1]=1,a[0][2]=2,a[1][0]=3,a[1][1]=4,a[1][2]=5,a[2][0]=6,a[2][1]=7,a[2][2]=8,故本题输出的值为345。

(30)以下叙述中错误的是________。

A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B)数组名代表的是数组所占存储区的首地址,其值不可改变

C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越

界”的出错信息

D)可以通过赋初值的方式确定数组元素的个数

答案:C

评析:在c语言中,如果出现下标越界的情况,系统不管在编译还是执行时都不会给出“下标越界”的错误提示。

(31)有以下程序

#define N20

fun(int a[],int n,int m)

{ int i,j;

for(i=m;i>=n;iC)a[i+1]=a[i];

}

main()

{

int i,a[N]={1,2,3,4,5,6,7,8,9,10};

fun(a,2,9);

for(i=O;i<5;i++) printf(“%d”,a[i]);

}

程序运行后的输出结果是________。

A)10234 B)12344 C)12334 D)12234

答案:C

评析:本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用“fun(a,2,9);”可知,函数fun用于将a[2]到a[9]的各元素依次向后移一位,移完后,a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。

(32)有以下程序

main()

{

int a[3][2]={0},(*ptr)[2],i,j;

for(i=0;i<2;i++) {ptr=a+i; scanf(“%d”,ptr); ptr++;}

for(i=0;i<3;i++)

{ for(i=0;j<2;j++) printf(“%2d”,a[i][j]);

printf(“”);

}

}

若运行时输入:1 2 3<回车>,则输出结果是________。

A)产生错误信息

B)l0 C)l 2 D)l 0

2 O 3 0 2 0

0 0 0 O 3 0

答案:B

评析:二维数组a,通过a[3][2]={0}将数组中的各个元素初始化为0,指针变量ptr,指向包含2个元素的一维数组。a[0][0]:l,a[1][0]=2,故本题的输出选B。

(33)有以下程序

prt(int *m, int n)

{ int i;

for(i=O;i

)

main()

{

int a[]={ 1,2,3,4,5 },i;

prt(a,5);

for(i=O;i<5;i++)

printf(“%d,”,a[i]);

程序运行后的输出结果是________。

A)l,2,3,4,5, B)2,3,4,5,6, C)3,4,5,6,7, D)2,3,4,5,1,

答案:B

评析:用数组名作函数实参时,不是把数组的值传递给形参,而是把实参数组的起始地址传递给形参数组,这样两个数组就共同占用同一段内存单元。

(34)有以下程序

main()

{ int a[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;p

}

程序运行后的输出结果是________。

A)l,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,

C)0,1,2,3,4,5,6,7,8,9, D)l,l,1,l,l,l,l,l,l,l,

答案:A

评析:c语言规定数组变量名代表数组的首地址,即第0号元素的地址。本题将a数组中的值全部输出,即为l,2,3,4,5,6,7,8,9,0,。

(35)有以下程序

#define P 3

void F(int x){return(P*x*x);}

main()

{printf(“%d”,F(3+5));}

程序运行后的输出结果是________。

A)192 B)29 C)25 D)编译出错

答案:D

评析:return语句用于从被调函数带回一个函数值。void关键字表示“无类型”,即不需要从被调函数中带回函数值,所以不需要return语句,故编译时出错。

(36)有以下程序

main()

{int c=35;printf(“%d”,c&C);}

程序运行后的输出结果是________。

A)0 B)70 C)35 D)1

答案:C

评析:按位“与”时,1&1=1,其他都等O。因为本题中相与的两个值相等,即对应位上的二进制值相等,所以“与”的结果也即为其值本身。

(37)以下叙述中正确的是________。

A)预处理命令行必须位于源文件的开头

B)在源文件的一行上可以有多条预处理命令

C)宏名必须用大写字母表示

D)宏替换不占用程序的运行时间

答案:D

评析:通常,预处理命令位于源文件的开头,也可以写在函数与函数之间;不能在一行上写多条预处理命令:宏名一般习惯用大写字母表示,以便与变量名相区别,但这并非规定,也可用小写字母。

(38)若有以下说明和定义

union dt

{int a;har b;ouble c;}data;

以下叙述中错误的是________。

A)data的每个成员起始地址都相同

B)变量data所占的内存字节数与成员c所占字节数相等

C)程序段:data.a=5;pintf(“%f ”,data.C);输出结果为5.000000

D)data可以作为函数的实参

答案:C

评析:union是表示共用体的关键字,成员a,b,c共占用同一个内存空间,data的每个成员起始地址都相同;共用体变量所占的内存长度等于最长的成员的长度,故变量’data所占的内存字节数与成员c所占字节数相等;执行“data.a=5;printf(“%f ”,data.C);”printf函数只是将内存中的数据以不同的类型输出,而不能将内存中的整型数据自动转换为等值的浮点数,故C是错误的。

(39)以下语句或语句组中,能正确进行字符串赋值的是________。

A)char*sp;*sp=”right!”; B)char s[lO];s=”right! “;

C)char s[10];*s=”right! “; D)char*sp=”right! “;

答案:D

评析:选项A定义了字符型的指针变量sp,则*sp存储的是第一个字符,而给它赋的是字符串,故错;

选项B表示代表数组的首地址,而题中给它赋的是字符串,所以错误;

选项c定义了一个字符型的数组s[10],再通过+s给数组元素赋初值,这时是与选项A相同的错误。

(40)设有如下说明

typedef struct ST

{long a; int b; char c[2];}NEW;

则下面叙述中正确的是________。

A)以上的说明形式非法 B)ST是一个结构体类型

C)NEW是一个结构体类型 D)NEW是一个结构体变量

答案:C

评析:typedef关键字用于声明一个新的类型名代替已有的类型名。

本题中如果没有用typedef进行定义的话,则struct ST为结构体类型,现在用typedef定义后,相当于用NEW代表了struct ST这一结构体类型,故NEW为结构体类型。

(41)有以下程序

main()

{ int a=1,b;

for(b=l;b<10;b++)

{ if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;

)

printf(“%d”,b);

}

程序运行后的输出结果是________。

A) 3 B)4 C) 5 D) 6

答案:B

评析:break和continue的区别是:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,.不再判断执行的条件是否成立。

(42)有以下程序

main()

{ char s[]=”l 59″,*p;

p=s;

printf(“%c”,*p++);printf(“%c”,*p++);

}

程序运行后的输出结果是________。

A)15 B)16 C)12 D)59

答案:A

评析:本题通过“p=s”将指针变量p指向字符数组s,在第一次输出时,由于++和*为同一优先级,“*p++”相于“+(p++)”。p指向s[1],输出为s[1]的值。

上一篇:公安检查站平台下一篇:幼儿园科学优质公开课