程序设计基础09级上机考试题库

一、初级题
1.输入整数n,输出由2×n+1行2×n+1列组成的以下(n=2)的图案。

2.输入整数n(<10),输出以下形式(n=3)的数字排列图案。

3.输入正整数n,输出n行n列星号字符组成的三角形图案。

以下是n等于4的图案。

4.输入正整数n,输出由n行2×n-1列星号字符组成的三角形图案。

以下是n等于3的图案。

5.输入正整数n,输出n行2×n-1列的空心三角形图案。

以下是n等于4的图案。

6.输入正整数n,输出n行n列的空心四边形图案。

以下是n等于5的图案。

7.编写一个函数,已知参数n,在屏幕的中间显示一个用星号字符绘制的空心的三角形图案。

例如,n=4,函数的显示的图案为:
8.编写程序,列表输出整数1~10的平方和立方值。

9.求一个整数的十进制位数。

10.判断一个十进制数是否为回文数。

11.递归计算x的y次方。

12.输入一个正整数,用递归实现该整数的倒序输出。

13.编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数。

14.编写一个程序,输出所有英文字符及它们的ASCII码值,其中代码值分别用八进制形式、十六进制形式和十进制形式输出。

15.水仙花数是一个n(n>=3)位数字的数,它等于每个数字的n次幂之和。

例如,153是一个水仙花数,153=13+53+33。

试编写一个程序求小于999的所有水仙花数。

#include<>
void main()
{
printf(“小于999的水仙花数为:\n”);
int n,i,j,k;
for(n=100;n<999;n++)
{
i=n%10;
j=n/100;
k=(n-100*j)/10;
if(i*i*i+j*j*j+k*k*k==n);
printf(“%d”,n);
}
}
16.编写一个程序,输入一个整数,逐位地输出整数的十进制数,要求位与位之间有一个空格符分隔。

17.在数组的某个下标位置插入一个元素。

18.将数组的某个下标位置的元素从数组中删掉。

19.在数组a[]的前n个元素中寻找值等于变量key值的元素的下标。

20.编写一个程序,输入3个实数,判断这些值能否作为一个三角形的三条边的长,如果能构成三角形,要求输出三角形的面积。

21.编写程序,按下面的公式计算自然对数底e的值。

E=1+1/1!+1/2!+1/3!+1/5!+···
22.编写程序,按如下公式计算圆周率π的近似值。

π=4-4/3+4/5-4/7+4/9-4/11+···
23.编写输入正实数x,求平方不超过x的最大整数n,并输出。

24.回文整数是指正读和反读相同的整数,编写一个程序,输入一个整数,判断它是否是回文整数。

25.编写一个程序,输出1~256十进制数等价的二进制、八进制和十六进制数值表。

26.写出判断某年为闰年的宏定义。

27.写出从3个整数中找出最大数的宏。

28.编写判断已知正整数是否是质数的函数,并利用该函数输出1000之内的所有质数。

29.字符串复制函数strcpy()。

30.两字符串比较函数strcmp()。

第二部分中级题
31、编写从键盘输入41-50的10个整数序列,并按输入顺序输出到c盘根目录下以自己姓名命名的txt文件中。

32、将键盘输入3行相同的襄樊学院的英文翻译到d盘以自己学号后三位尾数命名的txt文件中,直至输入空行结束。

33、输入一篇英文短文,统计文件中的行数、单词数和字符数的程序。

34.输入n(>2)个整数,输出其中的次最小的数。

35.草地上有一堆野果,有一只猴子每天去吃掉这堆野果的一半又一个,5天后刚好吃完这堆野果。

求这堆野果原来共有多少个猴子每天吃多少个野果
36.输入n个整数,百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。

百钱买用冒泡法m将它们从小到大排序,然后输出。

37.编写程序解百鸡。

问鸡翁、鸡母和鸡雏各几何
38.用C代码描述以下计算要求:
(1)输出一组数组中下标是4的倍数的元素。

(2)自左至右在一维数组中找第一个值为key的元素的下标。

(3)将一维数组中的元素按与原先存储顺序相反的顺序重新存储。

39.输入一行字符,分别统计其中各英文字母出现的次数(不区分大小写)。

40.采用筛选法求质数。

算法思想简述如下:
(1)将数组中下标为0和1的元素设置为0,下标为2~N的元素设置为1.
(2)然后从下标为2的元素开始考查,当发现当前位置的数组元素值为1时,将下标是当前下标2倍、3倍、······的那些元素全部置0。

(3)重复步骤(2),直至考查了数组的全部元素,那些值依旧为1的元素的下标都是质数。

41.编写将数组的前n个元素中,前端的m个元素和随后的n-m个元素互换的程序。

要求程序
不另用其他工作数组,如a[]={1,2,3,4,5,6,7,8,9,0},设n=10,m=3。

交换后有:a[]={4,5,6,7,8,9,0,1,2,3}
42、输入今天的的年月日,求出是本年的第几天的程序。

43.如果一个整数(>1)的各因子(包括1,但不包括整数自身)之和等于该整数,称这样的整数位完全数。

例如,因为6=1+2+3,所以6是完全数。

编写一个已知整数判断其是否是完全数的函数,并用该函数输出1000之内的所有完全数。

44.试用递归函数,返回所给十进制整数相反顺序的整数,如已知1234,函数返回值是4321。

45.编写一个数字转换函数,要求根据菜单选择输出相应的二进制、八进制、十六进制数。

第三部分拨高题
46.以下程序把一维数组p[]分割成不等长的段,从指针数组pt方向来看,把p[]当做二维数组来处理。

编写程序,输出以下图形:
47.设有编号为1~16个同学按顺时针站成一个圆圈。

首先从第1个人开始,按顺时针从1开始报数,报到第4个人的时候,另其出列。

然后再从出列的下一个人开始,按顺时针从1开始报数,报到第4个人,再令其出列,------如此下去,直到圆圈不再有人为止。

求这16个同学出列的顺序。

48.为低年级小学生编写一两个整数乘法的测验程序。

程序利用随机函数产生两个整数,并给出算式请小学生输入解答。

程序对正确的解答给予鼓励;对不正确的解答给出正确的答案。

另外,为了让程序更有实用性,输入整数的范围也可由用户指定,如一位数乘法、两位数乘法等。

使用随机函数的程序有以下要求:
(1)在程序前面包含以下代码:
#include<>
#include<> /*有关时间库函数*/
(2)主函数先用以下代码为随机函数初始化:
Srand(time(NULL));
(3)用以下代码随机取1~9的整数k:
K=1+rand()%9;
为了提高小学生的学习兴趣,程序的回答也希望有所改变,如对正确的回答可以有多种选择,如“Very good!”、“Excellent!”、“Keep up the good work!”等。

同样,对于错误的响应也可以有多种选择,如“No, Please try again.”、“Wrong, Try once more.”、“No, Keep trying.”等。

利用随机函数选择一种回答。

49、有A1、A2、A3三根针,A3针上有10个大小不等的盘子,大的在下,小的在上,要求按以下规则,编写把这10个盘子从A3针搬到A1针上的程序,对给定的10个盘子,输出盘子搬动的过程。

搬盘子的规则:在搬运过程中可以使用A2针。

每次只允许搬动一个盘子。

在搬运的过程中,必须保证大盘始终在下,小盘始终在上。

50.对给定的函数表,用函数指针作函数的形参实现求它的最大值,最小值和平均值。

51.对给定的函数表,用函数指针数组实现求函数的最大值,最小值和平均值。

52.利用返回函数指针的函数实现求数组的最大值,最小值和平均值。

53从键盘输入通讯录信息并写到c盘“学生通讯录.txt”文件中,并将该文件的内容显示到屏幕上,通讯录中的信息有:本人姓名,寝室地址,电话号码长号、短号(如无请以000000代替)。

54.通过菜单选择,实现链表的多个操作(1在链表末尾添加新表元;2在指定表元之后插入新表元;3显示链表中的所有表元;4删除链表中指定表元)。

55.编写一个函数,实现将已知单链表的表元连接顺序颠倒,即使单链表的第一个表元变为最末一个表元,第二个表元变为最后第二个表元,······,最后一个表元变为第一个表元。

合集下载

程序设计基础2009A答案

程序设计基础2009A答案

2009级《程序设计基础》课程试题(A卷)答案题号一二三总分分数合分人:复查人:一、算法基础:(每题5分,共20分)分数评卷人1.谈谈对变量和常量的认识。

要点:变量:可以改变的量,必须用标识符命名,可以被赋值。

常量:不能改变的量,可以直接是字面量,也可以用标识符,不能被赋值。

2.招聘条件:年龄在18~40之间,工作经验在5年以上,身高在1.75M 以上。

写出其表达式。

要点:如果用标识符age指称年龄,exp指称工作经验,high指称身高。

表达式为:(age>18 and age<40) and (exp>5) and (high>1.75)注意:可以用其它标识符指称相关概念。

3. 结构化流程图的循环结构有哪些?有什么区别?要点:当型循环(while)和直到型循环(repeat …… until)区别是直到型循环至少执行一次循环体,当型循环根据循环条件有可能一次也不执行循环体。

实际上当型循环先判断条件,直到型循环后判断条件。

4. 谈谈形式参数与实在参数的区别以及它们之间的关系。

要点形式参数是函数定义时指定的出现在参数表上的参数,实在参数是函数调用是出现在参数表上的实际参数表达式。

函数调用时,把参数表相应位置的实参传递给形参。

分数评卷人二、写出程序执行结果或画出流程图:(每题5分,共30分)1.将下列程序的执行结果写在右边:beginfor i ← 1 to 9 step 2 dofor i ← 10 to 20 step 3 dowrite(i,”->”)write(i)end答案: 10->13->16->19->242.将下列程序的执行结果写在右边:Function star(n)beginfor i ← 1 to n dobeginfor j ← 1 to (n-i) do write(’ ’)for j ←1 to i dowrite(’*’)writelnendendbeginfor i ← 1 to 3 step 1 do star(i*2)end答案:**********************************3.将下列程序的执行结果写在右边:beginarray aaa[1..6]for i ← 1 to 6 step 2 do beginaaa[i] ← iaaa[i+1] ← -iendfor i ← 1 to 6 step 1 do beginif aaa[i]>0 then ch ←’0’else ch ←’9’for j ← 1 to i step 1 do write(j,ch)writelnendend答案:101929102030192939491020304050192939495969注:答案中若把0写作48,9写作57也算正确。

2012计算机程序设计基础(09级机电等)试题A卷

2012计算机程序设计基础(09级机电等)试题A卷

2012计算机程序设计基础(09级机电等)试题A卷西安⼯业⼤学试题纸⼀.选择题:(共20分=1分×20)1. C语⾔程序的基本单位是()A.过程B.函数C.⼦程序D.标识符2. 在C语⾔中,下列常量中正确的是()A.0x5d B.018 C.e2 D.’ab’3. 设int型变量a的值为5,执⾏下列语句后,int型变量b的值不为2的是()A.b=a/2 B.b=(a-=3) C.b=a%3 D.b=a-a/24. 执⾏语句”x = (a = 3,b = a - -)后,x,a,b的值依次为()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25. 设int x=1,y=9,a=5,b=6;执⾏(a=39 );后a和b值分别为()A.0和0 B.0和6 C.5和0 D.5和66. 设m,n,a,b,c,d均为0,执⾏(m=n==b)|| (n=c==d)后,m,n的值是()A.0,0 B.0,1 C.1,0 D.1,17. 假设以下代码中⽤到变量都已正确定义的整形,执⾏这些语句后x的值是()a =b =c = 0; x = 35;if ( ! a ) x - - ; else if ( b ) ; if ( c ) x = 3 ; else x = 4 ;A.34 B.4 C.35 D.38. 已知m, a和b为整型变量,下⾯每组表达式等价是()A.m=(a=1,2*3) 与m=a=1,2*3 B.(double)(a/b) 与(double)a/bC.(int) a+b与(int) (a+b) D.m%=2+a*3与m=m%2+a*39. 若S1和S2表⽰C语⾔语句,如下有哪⼀个语句在功能上与其他三个语句不等价( )A.if ( a ) S1;else S2;B.if ( a==0 ) S1;else S2;C.if ( a!=0 ) S1;else S2;D.if ( a==0 ) S2;else S1;10. 执⾏for ( x = 0, y = 0, k=0; ( y != 123 ) || ( x < 4); x++ ) y=k; 的循环次数为()A.⽆限次B.不确定次C.4次D.3次11. 在执⾏int a[][3]={{10,20},{30,40}};语句后,a[1][2]的值是()A.10 B.20 C.30 D.4012. 对s1和s2初始化char s1[ ]=”ABC”;char s2[ ]={‘A’,’B’,’C’ };则叙述正确的是()A.s1和s2数组完全相同B.s1与s2长度相同C.s1和s2中都存放有效字符串D.s1数组⽐s2数组长度⼤13. 在C语⾔中,函数调⽤不可以()A.出现在执⾏语句中B.出现在⼀个表达式中C.做为⼀个函数的实参D.做为⼀个函数的形参14. 在标准C中,若有以下定义:struct data {int k;char ch;double f;} st;则结构体变量st占⽤内存的字节数是()A.11 B.1 C.2 D.815. 执⾏下⾯程序段后,*p的值为()int y[4]={11,22,33,44},*p=y;p+=2;A.11 B.22 C.33 D.4416. 若有定义int x, *p ; float y , *q ; 则下⾯赋值语句正确的是()A.p=&x ; B.p=&y ; C.q=&x ; D.q = p ;17. 要定义⼀个指向由8个元素组成的整型⼀维数组的指针变量p,则正确的形式是()A.int *p[8];B.int (*p)[8];C.int *p (8);D.int (*p)(8);18. 若有以下说明和语句,则以下引⽤⽅式正确的是()struct worker{ int no;char *name;} work,*p=&work;A)(*work).no B)p.no C)p->no D)*p->no19. 若有定义为int max(int x,int y);int (*p)() ;p=max;则函数调⽤正确的有()A.&p(a,b) B.*p(a,b) C.(*p)(a,b) D.*max(a,b)20. C语⾔⽂件操作中,执⾏rewind(fp); 的作⽤是()A.使⽂件指针重新返回⽂件开始位置B.将⽂件指针指向所要求的特定位置C.使⽂件指针指向⽂件的末尾D.使⽂件指针⾃动移⾄下⼀个字符位置⼆、判断题,正确打“√”,错误打“×”(共10分=1分×10)1. C程序中的函数可以相互调⽤,其他函数也可以调⽤main函数。

2009级期末上机考试试题 (B1卷)

2009级期末上机考试试题 (B1卷)

2009-2010年度《高级语言程序设计》
第一学期期末上机考试试题(B1卷)
(请注意:在每道题的程序第一行加一行注释行,注明:学号、姓名、专业、试卷类型:B、题号。

每道题存储为一个独立的Cpp文件,使用题号和卷号命名,例如:B1_1.cpp,并建立一个文件夹存储这些文件,文件夹使用学号命名。

)
1.已知公元N年9月1日是星期五,请使用for或while循环的方式计算出N+1年2月份的日历。

并采用循环的方式将之打印到屏幕上。

(请考虑闰年问题)
输入:第N年的年份
输出:第N+1年的2月份日历(采用类似Windows下的月份日历显示方式排版)
2.任意输入n个实数(10<=n<=100),首先按照从大到小的顺序排列,然后计算这n个数的平均值,并按顺序将该值插入到序列的之中。

例如:序列为(1,4,2,5,6,3,10,7,8,9),平均值为5.5,插入后的序列为(10,9,8,7,6,5.5,5,4,3,2,1)。

输入:不少于10的n个实数
输出:平均值和从大到小排列的n+1实数序列
3.利用质因数分解法求解任意两个正整数m和n的质数公约因子和。

例如m=60,n=24时,首先求得m=60=2*2*3*5,n=2*2*2*3,则其共有的质因数是两个2和一个3,得到所求质数公约因子和为2+3=5。

输入:两个正整数
输出:每个输入正整数的分解因子序列,和质数公约因子和计算式。

(2009年级)上机考试试卷A(C++下)

(2009年级)上机考试试卷A(C++下)

信息学院09年级计算机科学基础II上机试卷A(考试时间70分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件和*.dat文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的.CPP文件和.dat文件。

一、改错题(50分)【要求】调试程序,修改其中的语法错误及逻辑错误。

只能修改、不能增加或删除整条语句。

请在修改行的末尾用“注释符号//+序号”表示此行修改过,如//3)【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹中。

【题目】修改以下程序中的逻辑错误和语法错误(共10处)。

#include<iostream>using namespace std;class CChild{int m_age;double *m_pweight;public:CChild(int);CChild(CChild &);~CChild();friend void SetChildData(CChild);};CChild::CChild(int age){age=m_age;if(age){if(m_pweight==new double[age]){cout<<"请输入"<<m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<age;i++)cin>>m_pweight[i];}}else m_pweight=0;}CChild::~CChild()if(!m_pweight){cout<<m_age<<"岁儿童每年的平均体重为(kg)\n";for(int i=0;i<m_age;i++)cout<< *(m_pweight+i)<<'\t';cout<<endl;delete m_pweight;}}CChild::CChild(CChild &child){m_age=child.m_age;if(m_age){m_pweight=new double(m_age);for(int i=0;i<m_age;i++)m_pweight[i]=child.m_pweight[i];}else m_pweight=0;}friend void SetChildData(CChild child){cout<<"请输入儿童年龄:\t";cin>>m_age;if(child.m_age){if(child.m_pweight) delete [] child.m_pweight;child.m_pweight=new double[child.m_age];cout<<"请输入"<<child.m_age<<"岁儿童每年的平均体重\n";for(int i=0;i<child.m_age;i++)cin>>child.m_pweight[m_age];}else child.m_pweight=0;}int main(){CChild ch1(4),ch2(ch1),ch3;SetChildData(ch3);return 0;二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹中。

2009秋江苏计算机等级C上机真题1

2009秋江苏计算机等级C上机真题1

2009秋江苏计算机等级C上机真题1改错题:[程序功能]输入两个正确日期且年份在1900-9999范围内,计算并输出两个日期之间间隔的天数,例如:2008-8-1和2009-8-1之间间隔的天数为365提示:能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年[测试数据与运行结果]显示:first date:输入:1980-2-1显示:second date:2009-8-1输出:10774 days[含有错误的源程序]#include <stdio.h>#define leap(int y) ((y)%4==0 && (y)%100!=0||(y)%400==0) struct d{int y,m,d;};int days(struct d d1,struct d d2){int mon[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};int i; long td=0;for(i=d1.y;i<d2.y;i++)td=leap(i)?366:365;for(i=1;i<d1.m;i++)td-=mon[leap(d1.y)][i];td-=d1.d-1;for(i=1;i<d2.m;i++)td+=mon[leap(d2.y)][i];td+=d2.d-1;return td;}void main(){struct d d1,d2;long td;printf("first date:");scanf("%d-%d-%d",d1.y,d1.m,d1.d);printf("second date:");scanf("%d-%d-%d",d2.y,d2.m,d2.d);td=days(d1,d2);printf("%ld",td);}520。

全国计算机等级考试三级PC技术机试真题2009年9月

全国计算机等级考试三级PC技术机试真题2009年9月

全国计算机等级考试三级PC技术机试真题2009年9月(总分:100.00,做题时间:90分钟)一、上机题(总题数:1,分数:100.00)1.请编制程序ex9.ASM,其功能是:从20个有符号字节数据中取出负数并计算其绝对值之和(字型),然后存放在指定的内存区中,多余的空间填0。

例如:内存中有80H,02H,00H,7CH,7BH,11H,……结果为80H,00H,FEH,00H,FDH,00H,85H,00H,……部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算的结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

补充BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。

对程序进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。

调试中发现整个程序中存在错误之处,请加以修改。

[试题程序]EXTRN LOAD:FAR,SAVE:FARN EQU 20STAC SEGMENT STACKDB 256 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB N DUP(?)RESULT DB N DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXLEA DX,SOURCE ;数据区起始地址LEA SI,NAME0 ;原始数据文件名MOV CX,N ;字节数CALL LOAD ;从'INPUT1.DAT'中读取数据; **** BEGIN ****LEA SI,SOURCELEA DI,RESULTMOV DX,0MOV CX,NCLDCON:LODSH(1)JGE (2)MOV [DI],ALINC DI(3)INC DIADD DL,AL(4)NEXT:LOOP CONMOV [DI],DXADD DI,2MOV CX,40SUB CX,DIMOV AL,0(5); ****END****LEA DX,RESULT ;结果数据区首址LEA SI,NAME1 ;结果文件名MOV CX,N ;结果字节数CALL SAVE ;保存结果到文件RETSTART ENDPCODE ENDSEND START(分数:100.00)__________________________________________________________________________________________ 正确答案:(; **** BEGIN ****LEA SI,SOURCELEA DI,RESULTMOV DX,0MOV CX,NCLDCON:LODSBCMP AL,0JGE NEXTMOV [DI],ALINC DINEG ALINC DIADD DL,ALADC DH,0NEXT:LOOP CONMOV [DI],DXADD DI,2MOV CX,40SUB CX,DIMOV AL,0REP STOSB; ****END****)解析:[解析] 本题主要考查有符号数的绝对值之和问题。

程序设计基础试题(附答案)

程序设计基础试题(附答案)程序设计基础复习题一、单选1、一个完整的计算机系统应该包括()A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的概念是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字处理软件但没有安装专用数据处理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936年B、1946年C、1956年D、1970年4、CASE的含义是()A、计算机辅助设计B、计算机辅助制造C、计算机辅助教学D、计算机辅助软件工程5、当前广泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、当代计算机的体系结构称为是()A、冯诺依曼机B、非冯诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设备B、输出设备C、存储设备D、计算设备8、下面4句话中,最准确的表述是()A、程序=算法+数据结构B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最关键的因素9、计算机能直接执行的语言是()A、机器语言B、汇编语言C、高级语言D、目标语言10、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序11、下面4种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。

程序设计基础09级上机考试题库

一、初级题1.输入整数n,输出由2×n+1行2×n+1列组成的以下(n=2)的图案。

2.输入整数n(<10),输出以下形式(n=3)的数字排列图案。

3.输入正整数n,输出n行n列星号字符组成的三角形图案。

以下是n等于4的图案。

4.输入正整数n,输出由n行2×n-1列星号字符组成的三角形图案。

以下是n等于3的图案。

5.输入正整数n,输出n行2×n-1列的空心三角形图案。

以下是n等于4的图案。

-6.输入正整数n,输出n行n列的空心四边形图案。

以下是n等于5的图案。

7.编写一个函数,已知参数n,在屏幕的中间显示一个用星号字符绘制的空心的三角形图案。

例如,n=4,函数的显示的图案为:8.编写程序,列表输出整数1~10的平方和立方值。

9.求一个整数的十进制位数。

10.判断一个十进制数是否为回文数。

11.递归计算x的y次方。

12.输入一个正整数,用递归实现该整数的倒序输出。

—13.编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数。

14.编写一个程序,输出所有英文字符及它们的ASCII码值,其中代码值分别用八进制形式、十六进制形式和十进制形式输出。

15.水仙花数是一个n(n>=3)位数字的数,它等于每个数字的n次幂之和。

例如,153是一个水仙花数,153=13+53+33。

试编写一个程序求小于999的所有水仙花数。

#include<>void main(){printf(“小于999的水仙花数为:\n”);int n,i,j,k;for(n=100;n<999;n++){…i=n%10;j=n/100;k=(n-100*j)/10;if(i*i*i+j*j*j+k*k*k==n);printf(“%d”,n);}}16.编写一个程序,输入一个整数,逐位地输出整数的十进制数,要求位与位之间有一个空格符分隔。

~17.在数组的某个下标位置插入一个元素。

2009级C语言程序设计试卷_A卷(带答案2010.5)

天津工业大学200 9 ~201 0 学年第 2 学期高级语言程序设计(C语言) 试卷(A卷答案)学院班级学号姓名注意事项:1、本试卷共12 页,满分为100 分,考试时间为110 分钟。

2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。

一、单项选择题:(每题 1 分,共40 分)一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.根据C语言的规定,为变量取名时,不能使用的符号是【1】。

A) 数字字符B) 大写字母C) 下划线D) 减号2.一个C语言程序的执行是【2】。

A) 从第一个函数开始,到最后一个函数结束B) 从main()函数开始,到最后一个函数结束C) 从main()函数开始,到main()函数结束D) 从第一个语句开始,到最后一个语句结束3.执行下列程序段后,输出结果是【3】。

int m=013;printf("%d,%o,%x\n",m,m,m);A) 19,23,13 B) 11,13,b C) 13,15,d D) 13,13,134.表达式sizeof(double)的值是【4】。

A) 1 B) 2 C) 4 D) 85.设有变量定义语句char ch; 则能够正确地为变量ch输入数据的是【5】。

A) scanf("%c",&ch); B) getchar(ch);C) scanf("%c",ch); D) putchar(ch);6.设变量a是int型、f是float型、d是double型、c是char型,则表达式c+a-f/d的数据类型是【6】。

A) char型B) int型C) float型D) double型7.有变量定义语句int k=4,m; 执行语句m=k--; 后,变量m、k的值是【7】。

A) m=3,k=3 B) m=4, k=3 C) m=3,k=4 D) m=4,k=48.设int i=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是【8】。

题库1—全国等级考试2009年9月

A、voidB、8_8C、_0_D、unsigned
C
阅读以下程序
#include
main()
{intcase;floatprintF;
printf(“请输入2个数:”);
scanf(“%d%f”,&case,&printF);
printf(“%d%f\n”,case,printF);
}该程序编译时产生错误,其出错原因是___________。
D
有以下定义语句,编译时会出现编译错误的是___________。
A、char a=’a’;B、char a=’\n’;C、char a=’aa’; D、char a=’\x2d’;
C
有以下程序#include<stdio.h>
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
B、文件由结构序列组成,可以构成二进制文件或文本文件
C、文件由数据序列组成,可以构成二进制文件或文本文件
D、文件由字符序列组成,其类型只能是文本文件
C
A、定义语句出错,case是关键字,不能用作用户自定义标识符
B、定义语句出错,printF不能用作用户自定义标识符
C、定义语句无错,scanf不能作为输入函数使用
D、定义语句无错,intf不能输出case的值
A
表达式:(int)((double)9/2)-(9)%2的值是___________。
B
下面是有关C语言字符数组的描述,其中错误的是___________。
A、不可以用赋值语句给字符数组名赋字符串
B、可以用输入语句把字符串整体输入给字符数组
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档