计算机语言程序设计试题

合集下载

计算机导论第3章 程序设计语言(答案)

计算机导论第3章 程序设计语言(答案)

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.ABD二、简答题1.简述程序的概念。

答:一个程序就是能够实现特定功能的一组指令序列的集合。

或者程序=算法+数据结构。

2. 简述程序设计语言的发展阶段。

经历了机器语言、汇编语言和高级语言三个发展阶段。

机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。

相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。

由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。

利用汇编指令编写得到的程序称为汇编语言程序。

通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。

为了解决这个问题,人们引入了高级语言。

高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。

高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。

3. 简述程序设计过程的一般步骤。

程序设计的过程一般有四个步骤。

(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。

(2)设计算法算法是解题的过程。

首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。

这是一个自上而下、逐步细化的过程。

(3)编码利用程序设计语言表示算法的过程称为编码。

大学_C语言程序设计试题含答案

大学_C语言程序设计试题含答案

C语言程序设计试题含答案C语言程序设计试题含答案(一)一、填空题1.以下程序输入3个整数值给a,b,c,变量b中的'值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。

#include stdio.hmain(){ int a,b,c,__①_d___;printf("enter a,b,c");scanf("%d%d%d",a,b,c);___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____;printf("%d,%d,%d",a,b,c);}2.求出200以内的整数中,最大的可以被17整除的数是哪个数。

#include stdio.h___①main()____{int i;for(_i=200___②____;___③i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i20;i++) scanf("%d", __①_a[i]__ );for(i=0;__ ②_i20_;i++)? { if(a[i]0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

请填空。

int fun( int n){ int m=0,i;for(i=__1_①___; i=n; _i++_②____){m=_m+i__③____;}return _④__m__;}main(){ printf("m=%d\n", __⑤__ fun(10)_); }5.以下程序将数组中的数据按逆序存放。

C语言程序设计试卷及答案

C语言程序设计试卷及答案

C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。

一、单项选择题。

将正确答案填入下面框中。

(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。

A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。

A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。

A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。

A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。

2022年福建省厦门市全国计算机等级考试C语言程序设计真题(含答案)

2022年福建省厦门市全国计算机等级考试C语言程序设计真题(含答案)

2022年福建省厦门市全国计算机等级考试C语言程序设计真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、2.填空题(10题)1. 下列程序的输出结果是【】。

void fun(int *n){while((*n)--);printf("%d",++(*n));}main(){ int a=100;fun(&a) ;}2. 软件工程研究的内容主要包括:【】技术和软件工程管理。

3. 以下程序的功能是【】。

main( ){ int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};int sum=0,i;for(i=0;i<10;i+ +)if(num[i]>0)sum=num[i]+ sum;printf("sum=%6d",sum);}4. 已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是【】。

#include <stdio.h>main(){ char a,b;a=getchar();scanf("%d",&b);a=a-'A'+'0';b=b*2;printf("%c%c\n",a,b);}5. 已知字母A的ASCⅡ码为65。

以下程序运行后的输出结果是( )。

main(){ char a,b;a='A'+'5'-'3';b=a+'6'-'2';a='A'+'5'-'3';b=a+'6'-'2';printf("%d%c\n",a,B);}6. 在面向对象方法中,【】描述的是具有相似属性与操作的一组对象。

全国计算机等级考试二级Java语言程序设计真题精选5(含答案)

全国计算机等级考试二级Java语言程序设计真题精选5(含答案)

全国计算机等级考试二级Java语言程序设计真题精选5一、单项选择题1.下列数据结构中,属于非线性结构的是()。

A.双向链表B.循环链表C.二叉链表√D.循环队列解析:线性结构是指除了第一个和最后一个结点外,所有的元素都是首尾相连的,每一个结点只有一个前驱结点和一个后继结点。

线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。

2.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是()。

A.单链表B.循环链表√C.双向链表D.二叉链表解析:由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后继结点,但不能找到其前驱结点。

循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。

双向链表中的每个结点设置有两个指针,一个指向其前驱,一个指向其后继,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。

二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。

3.下列与栈结构有关联的是()。

A.数组的定义域使用B.操作系统的进程调度C.函数的递归调用√D.选择结构的执行解析:递归调用就是在当前的函数中调用自身并传给相应的参数,这一动作是层层进行的,直到满足一般情况的时才停止递归调用,开始从最后一个递归调用返回,函数调用是通过栈实现的。

4.下面对软件特点描述不正确的是()。

A.软件是一种逻辑实体,具有抽象性B.软件开发、运行对计算机系统具有依赖性C.软件开发涉及软件知识产权、法律及心理等社会因素D.软件运行存在磨损和老化问题√解析:软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。

计算机程序设计员试题库(附答案)

计算机程序设计员试题库(附答案)

计算机程序设计员试题库(附答案)一、单选题(共100题,每题1分,共100分)1.以下不属于企业管理器功能的是()。

A、创建并管理所有数据库、登陆、用户、权限等。

B、管理和执行数据导入导出、数据库备份等多项辅助功能。

C、定义 sql server组。

D、调试、执行sql语句, 批处理和脚本。

正确答案:D2.面向对象测试中测试类定义的每种方法,基本上相当于传统软件测试中的( )。

A、模块测试B、验证测试C、系统测试D、单元测试正确答案:D3.关于sql server常用的数据类型,以下()说法是错误的。

A、Image数据类型可以用来存储图像。

B、使用字符数据类型时,可以改变长度信息。

C、使用数字数据类型时,可以改变长度信息。

D、Bit数据类型为1位长度,可以存储表示是/否的数据。

正确答案:C4.有关“兢兢业业、吃苦耐劳”的职业道德规范方面,( )是错误的。

A、能够脚踏实地、埋头苦干、任劳任怨B、严格按照正常的作息时间开展工作,只做自己份内的工作C、不计较个人得失,具有吃苦耐劳、脚踏实地的精神D、不仅要在理论上有一定的造诣,还要具有实干精神正确答案:B5.进程的状态分为( )三种状态。

A、等待、就绪、运行B、单向、双向、多向C、中断、等待、运行D、开始、运行、结束正确答案:A6.密码验证的程序输入项不包括:( )。

A、验证码B、用户名C、权限D、密码正确答案:A7.( )语言具有的特征包括:对象生成功能、消息传递机制、类和遗传机制。

A、面向对象B、结构化程序设计C、程式化程序设计D、模块化程序设计正确答案:A8.DAO用Microsoft Jet数据库引擎来提供一套访问对象,包括数据库对象、( )和查询定义对象及记录集对象。

A、数据库定义B、更新定义C、选择定义D、表定义正确答案:D9.软件结构设计的基本的原则包括( )、抽象、信息隐蔽和局部化、模块独立。

A、可视化B、图形化C、系统模块化D、概念化正确答案:C10.仅当有一个Visual C++工作空间且工程或应用程序处于( )状态时,Debugger才可使用。

计算机程序设计员(高级)试题与参考答案

计算机程序设计员(高级)试题与参考答案

计算机程序设计员(高级)试题与参考答案一、单选题(共90题,每题1分,共90分)1、Visual C++提供的()是一个用来创建或改变资源的特定环境。

它通过共享技术和界面来快速简捷地创建和修改应用资源。

A、资源编辑器B、资源管理器C、ClassWizardD、AppWizard正确答案:A2、并行接口适用于()的场合,其接口电路相对简单。

A、传输距离较远,传输速度要求高B、传输距离较远,传输速度要求低C、传输距离较近,传输速度要求高D、传输距离较近,传输速度要求低正确答案:C3、白盒测试是根据程序的()来设计测试用例。

A、性能B、功能C、内部逻辑D、内部数据正确答案:C4、下列说法正确的是:()。

A、工具条编辑器是一个图形工具,主要用于删除工具条资源,并把位图转换成工具条资源B、工具条编辑器是一个图形工具,主要用于创建工具条资源,并把位图转换成工具条资源C、工具条编辑器是一个图形工具,主要用于修改工具条资源,并把位图转换成工具条资源D、工具条编辑器是一个图形工具,主要用于编辑工具条资源,并把位图转换成工具条资源正确答案:B5、()是面向对象设计的缩写。

A、OIDB、OOAC、OODD、OOS正确答案:C6、不是软件安装的流程()。

A、关机B、设置安装路劲C、同意许可协议D、出入序列号正确答案:A7、()级别即使一个事务处理还没有处理完数据,也允许另一个事务处理从数据库中读取数据。

A、SerializableB、ReadCommittedC、RepeatableReadD、ReadUncommitted正确答案:D8、知识产权具有无形性、独占性、()、地域性和时间性。

A、双重性B、公平性C、确定性D、有效性正确答案:A9、TCP/IP的传输层大致对应于OSI模型的传输层和()。

A、会话层B、表示层C、网络层D、应用层正确答案:A10、下列说法正确的是:()。

A、OLE DB允许快速地创建应用程序,允许Visual C++处理直接使用OLE-DB时通常应考虑的一些细节B、ADO允许快速地创建应用程序,允许Visual C++处理直接使用OLE-DB 时通常应考虑的一些细节C、DAO允许快速地创建应用程序,允许Visual C++处理直接使用OLE-DB时通常应考虑的一些细节D、ODBC允许快速地创建应用程序,允许Visual C++处理直接使用OLE-DB时通常应考虑的一些细节正确答案:B11、Web客户通常指的是()。

计算机程序设计C语言考试试卷及评分标准

计算机程序设计C语言考试试卷及评分标准
main( )
{int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)y+=*(p+x);
printf("%d\n",y);
}
6.该程序的运行结果是___________________________________。
main( )
{int y=9;
4.下列标识符错误的是()。
A.x1yB._123C.2abD._ab
5.设整型变量n的值为2,执行语句n+=n-=n*n;后,n的值是()。
A.0B.4C.-4D.2
6.字符串“ABC”在内存占用的字节数是()
A.3B.4C.6D.8
7.下列程序的输出结果是()。
char p1[20]="abcd", *p2="ABCD", str[20]="xyz";
else c=-1;
printf ("%d\n",c);
}
8.执行以下程序段后a的值是______________________,b的值是______________________。
int a, b;
for (b=1,a=1; b<=50; b++)
{
if (a>=10)break;
if (a%2==1)
13.若有定义:int x[5], *p=x;,则不能代表x数组首地址的是( )
A. xB. &x[0]C. &xD. p
14.下列定义的字符数组中,printf("%s\n",str[2]);语句的输出是( )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机语言程序设计试题
一、填空题(每空2分,共30分)
1.结构化程序设计的三种基本结构是:【1】、【2】和【3】。

2.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【4】。

3.若有定义int a=2;在Turbo C中有printf(“%d,%d”,a,2&&++a);则输出为【5】。

4.表达式x=23>16&&12+1的值为【6】。

5.执行语句printf("%d",strupr("Windows");后,输出结果为【7】。

6.有int a=12,n=5,表达式a%=(n%=2)运算后a的值为【8】。

7.在C语言中,二维数组元素在内存中的存放顺序为【9】。

8.使用局部和全局变量时,全局变量和局部变量【10】同名;形参和局部变量【11】同名。

9.字符数组的输入输出有两种方法:逐个字符输入输出,用格式符【12】;将整个字符串一次输入或输出,格式符【13】。

10.语句段char s[20]=”ABCD”,*sp=s; sp++;puts(strcat(sp+1,”MA”));的输出结果是【14】。

15】值。

二、单项选择题(每小题2分,共30分)
1.C程序的基本单位是()
A.语句B.字符C.程序行D.函数
2.TURBO C中float类型变量所占字节数是()
A.8 B.4 C.2 D.2
3.以下符号中能用作用户标识符的是()
A.if B.3com C._3com D.break
4.C语言中运算对象必须是整型的运算符是()
A.%= B./ C.= D.*
5.执行循环语句:for(x=0,y=0;y!=200&&x<4;x++)y+=100;其循环体共执行()次。

A.2 B.3 C.4 D.5
6.与(!a==1)等价的表达式是()。

A.(a>0)B.(!a)C.(a!=0)D.(a<0)
7.如有函数int max(float x){x++;return x;},则该函数返回值的类型为()。

A.float类型B.void类型C.int类型D.无法确定
8.能正确表示代数式ln(x+y)的C语言表达式是()。

A.log10(x+y) B.lg10(x+y) C.lg(x+y) D.log(x+y)
9.执行下面的程序段后,num的值为()。

int *p,num; num=10; p=&num; num=*p+20;
A.30 B.20 C.10 D.40
10.若有定义:int x,*pp;则正确的赋值表达式是()。

A.pp=&x B.pp=x C.*pp=&p D.*pp=*x 11.若有定义int x=1,y=1,z=1,c;执行语句c= --x&&++y&&z++;后x、y、z的值分别是()A.0、2、2 B.0、1、1 C.0、1、2 D.0、2、1 12.字符串”\abcd\13\\”的长度是()。

A.7 B.6 C.11 D.10
13.下面程序main( ){int c1=2,c2=0; while(c1) {printf(”%d%d”,c1--,c2);}}运行的结果是()。

A.输出2 0 B.无输出内容C.陷入死循环D.输出1 0
14.下面程序运行的结果是()。

#include<stdio.h>
#define HELLO ”lin”
void main( ){printf(“HELLO”);printf(HELLO);}
A.HELLOHELLO B.HELLO C.HELLOlin D.linHELLO 15.下面程序的输出结果是()。

main( )
{int x=3,y=1;
switch(x==3) {case 1: x++;y++;
case 2: x++;y++;
default:x++,y++;}
printf(”x=%d,y=%d\n”,x,y);}
A.x=3,y=1 B.x=4,y=2 C.x=5,y=3 D.x=6,y=4
三、阅读程序题(20分)
1.阅读程序,正确写出程序的运行结果:(10分)
#include<stdio.h>
main()
{char *cc="ST ART\12END";
int i,c;
for(i=2;(c=cc[i])!='\0';i++){
switch(c){
case 'A':putchar(c+32);break;
case 'T':putchar(c+2);continue;
case '!':putchar(c);break;
case 'E':while((c=cc[++i])!='\0');--i;continue;
case '10':putchar('X');break;
case 10:putchar('&');continue;}
putchar('%');}}
2.阅读下面的程序,按格式正确写出程序的运行结果:(10分)
#include<stdio.h>
int x=1,y=2;
main( )
{ y=y+x;
printf("\n%d,%d",x,y);
sub1(x,y);
printf("\n%d,%d",x++,y);}
sub1(int a,int b)
{int y=4;
x=++b;
printf("\n%d,%d",x,y);
x=a++;
sub2( );
printf("\n%d,%d",x,y);}
sub2( )
{int y=6;
printf("\n%d,%d",x,y);}
四、改错题(10分)
1.指出并修改下面程序中的错误,使其能将输入的两个整数按从小到大的次序输出(不允许增行或减行,也不允许修改程序结构):(5分)
main( )
{ void swap(int *p1,int *p2)
int a,b, *pointer_1, *pointer_2;
scanf("%c,%c",&a,&b);
pointer_1=a;pointer_2=b;
if(a>b) swap(p1,p2);
printf("\na=%d,b=%d\n",a,b);}
void swap(int *p1,int *p2){ int temp;
temp=p1;p1=p2;p2=temp;}
2.以下程序完成将输入的一行文字中的大写字母C及小写字母c删除,然后再输出。

找出程序中的错误并改正。

(5分)
#include<stdio.h>
main
{char s{80};
int i,j;
getchar(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c'||s[i]!='C') s[j++]=s[i];
s[j]='\0';
putchar(s);}
五、编程题(10分)
按行输入一个2行3列的整型二维数组a,将其行列互换,存到另一个二维数组b中,并将数组b按行的形式输出。

试编程实现。

(10分)。

相关文档
最新文档