2010程序设计基础CHP4
- 格式:ppt
- 大小:304.50 KB
- 文档页数:59
2010年下半年软考程序员考试真题解析 2010年上半年(11⽉)考试围绕考试⼤纲,重点考查基础知识,考试题型没有变化。
下⾯就本次考试试题结构进⾏分析。
1、计算机硬软件综合知识试题 1、重点突出。
软件开发与运⾏维护基础知识、计算机硬件基础知识、数据结构与算法、数据库系统基础知识占总分的50%;其中软件开发与运⾏维护基础知识的所占分值⽐例较往年提升较⼤,分值占到了总分的20%。
2、多媒体技术的所占分值有所上升;络技术与操作系统所占分值有少许下降,计算机应⽤与信息、计算机英语、计算机数学在近年考试中基本稳定。
3、题⽬难易程度与往年持平。
2.程序设计基础 本次下午考试在题⽬数量和题型上没有变化,试题⼀⾄试题四为必答题,考查了程序流程图和C语⾔;试题五⾄试题六为⾯向对象的程序设计填空,要求考⽣在C++和Java中选择⼀门作答。
试题⼀:程序流程图 该题题型新颖,题⽬通过程序流程图考查考⽣对基本程序结构--选择的执⾏流程的掌握情况。
问题1~问题3不难,关键在问题4,这⾥实际上就是⼀个排列组合问题。
试题⼆:C语⾔程序设计 本题考查串的操作,包含两个程序段,相互之间没有关联。
程序段⼀主要考查考⽣对空间申请malloc函数、串结束标志,此题容易得分。
程序段⼆通过对字符串逆置考查递归算法,这是本题的难点。
题⽬要从程序逆置字符串的过程下⼿。
该题思想是先将第⼀个字符与最后⼀个字符交换,然后是第⼆个字符与倒数第⼆个字符交换,依次类推,每次处理两个字符。
由此可知每次递归调⽤的初始位置为当前字符的下⼀个位置s+1,剩余要逆置的字符串长度为当前字符串长度减2(len-2);那么程序到什么时候结束呢?当然是剩下字符长度⼩于2的时候就结束。
试题三:C语⾔程序设计 本题同样也包括两个程序段,相互之间没有联系,但都考查了函数的参数传递。
程序段⼀通过C⽂件的操作考查考⽣对⽂件变量的声明、数组作为实参的参数传递⽅式的掌握情况。
更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考高级语言程序设计模拟试卷(四)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.下列标识符中,不是C语言保留字的是()A.charB.whileC.minD.default答案:C2.以下能正确定义且赋初值的语句是()A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.5;答案:B3.设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是()A.(2+3)*(2+3)B.2+3*2+3C.5*5D. 5.0*5.0答案:B4.执行语句“for (k=4;k>0;k--) { break; --k;}”后,变量k的值是 ()A. 1B. 2C. 3D. 4答案:D5.能将x定义成指向文件的文件型指针的数据定义语句是()A.FILE x;B.file *x;C.file x;D.FILE *x;答案:D6.设 int a=4,b;则执行b=a<<1;语句后,b 的结果是()B. 2C.8D.10答案:C7.执行表达式“x=(y=4,z=16,k=32)”后,x的值为()A. 4B.16C.32D.52答案:C8.函数调用“strcmp(″333″,″300″)”的返回值是 ()A.0B. 1C.任意负整数D.任意正整数答案:D9.若有:char c[5]={′a′,′b′,′\0′,′c′,′\0′}; 则执行语句printf(″%s″,c);的结果为()A.′a′ ′b′B.abC.ab cD.ab\0c答案:B10.设变量x为实型,不能正确表达数学公式xyz的表达式是 ()A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z答案:A11.以下循环体的执行次数是()main(){int i,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(″%d\n″,i);}A. 3B. 2D.0答案:C12.设有定义:char s[12]={″string″};,则printf(″%d\n″,strlen(s));的输出是()A. 6B.7C.11D.12答案:A13.设有数据定义语句“struct xyz { int x;float y;char z;} xyz1;”,则下面的说法中,错误的是()A.struct xyz可以看成一种数据类型符B.xyz是用户选取的结构型名称C.xyz1可以用来定义该结构型变量等D.x是结构型的成员名答案:C14.以只写方式打开一个文本文件,应选择的文件操作方式是()A.″a+″B.″w+″C.″wb″D.″w″答案:D15.已知:int a[3][4],(*p)[4]=a;且a[0][0]的地址为2000,则下列表达式地址不是2008的是()A.*p+1B.a+1C.*(a+1)D.*(p+1)答案:A解析:*p+116.以下与int*q[5];等价的定义语句是()A.int q[5];B.int *q;C.int*(q[5]);D.int(*q)[5];答案:C解析:int*(q[5]);17.已知:float x=1,y;则y=++x*++x的结果为()A.y=9B.y=6C.y=1D.表达式是错误的答案:B解析:y=618.在C语言中,引用数组元素时,其数组下标的数据类型允许是()A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式答案:C解析:整型常量或整型表达式19.以下选项中,合法的用户标识符是 ()A.longB.2TestC.3DmaxD. A.dat答案:B解析:2Test20.下列程序段的输出结果是 ()int k=2,n=2,m;m=(k+=n*=k); printf(″%d,%d\n″,m,n);A.8,6B.8,3C.6,4D.7,4答案:C解析:6,4二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。
通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。
1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。
本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。
2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。
请假,必须提前出具正式假条,不接受事后假条。
如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。
本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。
第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。