复习题_高级语言程序设计基础

合集下载

《高级语言程序设计》复习题及答案

《高级语言程序设计》复习题及答案

一、选择题1.以下表达正确的选项是〔〕:A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行只能写一条语句C) C语言使用库函数实现输入输出操作D) 注释中的拼写错误会影响编译结果2、以下说法中正确的选项是()A) C语言程序总是从第一个的函数开始执行B) C语言程序总是从main()函数开始执行C)在C语言程序中,要调用的函数必须在main()函数中定义D) C语言程序中的main()函数必须放在程序的开始局部3、以下选项种说法正确的选项是〔〕A) 函数由声明局部和执行局部两局部组成B)语言中main函数一定在程序的开始局部C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4、设有说明:int a; float b; char c; double d; 那么表达式1.3*a+2*b*c+d*(int)2.6 值的类型为〔〕。

A〕 double B) char C) float D) int5、 C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符〔〕A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的C语言标识符是〔〕。

A) ABC B) abc C) a_bc D) void7、以下运算符中优先级最高的是〔〕A) < B〕+ C〕&& D〕!=8、以下选项中属于C语言中合法关键字的是〔〕A〕Float B〕abc C〕int D〕CASE9、假设x、i、j和k都是int型变量,计算下面表达式后,x的值为〔〕x=(i=4,j=16,k=32)A)4 B〕16 C)32 D)5210、在C语言中,要求数据必须是整型的运算符是〔〕A)/ B〕+ + C〕!= D〕 %11、假设整型变量x的值为8,那么以下表达式中值为1的表达式是A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x12、假设w=1,x=2,y=3,z=4,那么条件表达式“w > x ? w : y < z ? y : z〞的值是〔〕A)4 B〕3 C〕2 D〕113、有以下程序,程序运行后的输出结果是。

高级计算机程序设计员复习题(含参考答案)

高级计算机程序设计员复习题(含参考答案)

高级计算机程序设计员复习题(含参考答案)一、单选题(共90题,每题1分,共90分)1、()的目的是搞清要解决的问题是什么。

A、问题定义阶段B、需求分析C、软件定义阶段D、可行性研究正确答案:A2、计算机工作原理是建立在()基础上的,逻辑代数是逻辑运算的理论依据。

A、逻辑运算B、集合运算C、数据运算D、物理运算正确答案:A3、()存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。

A、对话框类B、对话框函数C、对话框模板资源D、单模对话框正确答案:C4、下列说法正确的是:()。

A、原型法的指导思想是:自上而下、逐步分解B、结构化分析方法的指导思想是:自上而下、逐步分解C、面向对象分析方法的指导思想是:自上而下、逐步分解D、模块化分析方法的指导思想是:自上而下、逐步分解正确答案:B5、其他模型图的构造和发展依赖于()中所描述的内容。

A、用例图B、状态图C、活动图D、时序图正确答案:A6、已知事务T1和T2是没有加锁的并发操作,T1对某一数据进行写操作,T2对同一数据进行读操作,则可能引发的问题是()。

A、幽灵问题B、丢失修改C、读”脏”数据D、不可重复读正确答案:C7、()适合于检查程序输入条件的各种组合情况。

A、边界值分析法B、错误推测法C、因果图方法D、等价类划分法正确答案:C8、办事公道是指从业人员在进行职业活动时要做到()A、有求必应,服务热情B、奉献社会,助人为乐C、追求真理,坚持原则D、公私分开,实事求是正确答案:C9、命令()用来完成事务,并使事务对数据库所作的修改成为永久的。

A、SaveB、CommitC、UpdateD、Rollback正确答案:B10、用VC实现Ftp查询的程序编写中,如果连接成功,使用()得到服务器的缺省目录。

A、GetCurrentDirectory()B、GetFtpDirectory ()C、GetCurrentHost()D、GetFtpHost()正确答案:A11、目前各部门广泛使用的人事档案管理、财务管理等软件,按计算机应用分类,应属于()。

高级语言程序设计真题及参考答案重点

高级语言程序设计真题及参考答案重点

全国自考高级言语程序设计考前密卷00342(含答案)一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

第1题假设定义了int m,n=0,Xp1=&m;,则以下与m=n;等价的正确语句是()A. m=Xp1;B. Xp1=&Xn;C. X&p1=&Xn;D. Xp1=X&n;【正确答案】 D【你的答案】此题分数1分第2题执行语句“for (k=4;k>0;k--) { break; --k;}〞后,变量k的值是 ()A. 1B. 2C. 3D. 4【正确答案】 D【你的答案】此题分数1分第3题设有语句“char x[]=″12345″, y[]={′1′, ′2′, ′3′, ′4′, ′5′};〞,则以下说法中正确的选项是()A. 数组x和数组y存放相同字符串B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度【正确答案】 C【你的答案】此题分数1分第4题设int a=10, b=20, c=30;,条件表达式aA. 5B. 10C. 20D. 30【正确答案】 A【你的答案】此题分数1分第5题设有定义语句“int x[8]={5,4,3,2,1},Xp=x;〞,则Xp+6的值是 ()A. 0B. 1C. 5D. 11【正确答案】 D【你的答案】此题分数1分第6题运行以下程序后,输出结果是()int f(int a,int Xb){ return(a+Xb);}main(){ int x=1,y=2,z=3;printf(″%d\n″,f(f(x,&y),&z));}A. 3B. 5C. 6D. 7【正确答案】 C【你的答案】此题分数1分第7题以下程序的输出结果是()struct abc{int a,b,c;};main(){struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf(″%d\n″,t);}A. 5B. 6C. 7D. 8【正确答案】 B【你的答案】此题分数1分第8题设有定义语句“int( Xptr)[10];〞其中的 ptr 是()A. 10个指向整型变量的指针B. 指向10个整型变量的函数指针C. 一个指向具有10个元素的一维数组指针D. 具有10个指针元素的一维数组【正确答案】 C【你的答案】此题分数1分第9题以下程序的输出结果是()main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(″%d%d″,x--,y);}A. 10192B. 9876C. 10990D. 101091【正确答案】 D【你的答案】此题分数1分第10题以下不正确的C言语标识符是() A.B.C.aD.A. ABCB. abcC. ab_cD. ab.c【正确答案】 D【你的答案】此题分数1分第11题以下表达式的值为0的是()A. 3%5B. 3/5.0C. 3/5D. 3<5【正确答案】 C【你的答案】此题分数1分第12题设有以下定义语句,则以下表达式中能表示结构型 xx 的成员 x 的表达式是() struct xx{int x;};struct yy{struct xx xxx ;int yy;}xxyy;A. xxyy.xB. xxyy->xC. (&xxyy)->xxx.xD. xxx.x【正确答案】 C【你的答案】此题分数1分第13题在C言语中,不合法的保存字是 ()A. ifB. CharC. floatD. default【正确答案】 B【你的答案】此题分数1分第14题设有定义″define R 2+1″,则RXR的宏替换结果正确的选项是()A. (2+1)X(2+1)B. 2+1X2+1C. 3X3D. (2+1)X2+1【正确答案】 B【你的答案】此题分数1分第15题假设要对a进行++运算,则a应具有的说明为〔〕A. int a[3][2];B. CHARXA[]={″12″,″ab″};C. char (Xa)[3];D. int b[10],Xa=b;【正确答案】 D【你的答案】此题分数1分第16题表达式a=(a=6,a6,a+3);运行后,则a的最后值为()A. 不确定B. 36C. 6D. 39【正确答案】 D【你的答案】此题分数1分第17题设有说明int(ptr)[M];其中ptr是()A. M个指向整型变量的指针B. 指向M个整型变量的函数指针C. 一个指向具有M个整型元素的一维数组的指针D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量【正确答案】 C【你的答案】此题分数1分第18题假设有以下说明和语句struct worker{int no;char name;}work,p=work;则以下引用方法不正确的选项是()A. work.noB. (p).noC. p->noD. work->no【正确答案】 D【你的答案】此题分数1分第19题设有整型变量x值为1,表达式x+++x+(++x)的值是 ()A. 3B. 4C. 5D. 6【正确答案】 B【你的答案】此题分数1分第20题假设有定义“int w=1,x=2,y=3,z=4;〞,则表达式w<xw∶y<zy∶z的值是()A. 1B. 2C. 3D. 4【正确答案】</xw∶y<zy∶z的值是()二、填空题(本大题共10小题,每题2分,共20分)请在每题的空格中填上正确答案。

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

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

程序设计基础复习题一、单选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、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。

《程序设计基础》期末复习

《程序设计基础》期末复习

《程序设计基础》期末复习一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的______。

A 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。

A 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。

A 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。

A 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。

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、汇编程序的任务是______。

A 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序12、世界上第一个高级语言是______。

A BASIC语言B C语言C FORTRAN语言D PASCAL语言13、下面4种程序设计语言中,不是面向过程式语言的是______。

A FORTRANB ALGOLC AdaD C++14、下面4种程序设计语言中,不是面向对象式语言的是______。

高级语言程序设计习题(最新版带答案)

高级语言程序设计习题(最新版带答案)

第1章C语言概述习题1.单项选择题(1)C语言是在B语言的基础上产生的。

A.AB.BC.DD.E(2)在C语言中,每个语句必须以D结束。

A.回车符B.冒号C.逗号D.分号(3)标识符和关键字间,要用C隔开。

A.回车符B.冒号C.空格D.分号(4)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。

A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件(5)下列说法中正确的是(B)。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行D.由于C程序是高级语言程序,因此它由命令组成(6)下列说法中正确的是(A)。

A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成(7)下列说法中错误的是(D)。

A.主函数可以分为两个部分:主函数说明部分和主函数体B.主函数可以调用任何非主函数的其他函数C.任何非主函数可以调用其他任何非主函数D.程序可以从任何非主函数开始执行2.填空题(1)C语言只有32个关键字和9种控制语句。

(2)C语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3)每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4)在C语言程序中允许出现的字符集是ASCII码字符集。

(5)C语言的程序中有特殊含义的英语单词称为保留字。

(6)C语言标识符的长度是前8位有效。

(7)C语言中,标识符的定义规则是以字母或下划线为开头。

(8)C语言程序的注释可以出现在程序中的任何地方,它总是以/*符号作为开始标记,以*/符号作为结束标记。

第2章数据类型运算符和表达式习题1.单项选择题(1)以下选项中,正确的C语言整型常量是D。

高级语言程序设计复习题(选择题和填空题)

高级语言程序设计复习题(选择题和填空题)

一、选择题:(1) 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define(2) 以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D(3) 假定x和y为double型,则表达式x=2,y=x+3/2的值是A) 3.500000 B) 3 C) 2.000000 D) 3.000000(4) 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) c=int(a+b);(5) 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9.3 C) 9.2 D)10.2(6) x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);(7) 以下程序的输出结果是main(){ int a=3;printf("%d\n",(a+(a-=a*a)) );}A) -6 B)12 C) 0 D) -12(8) 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为A) 0 B) 1 C)2 D) 3(9) 阅读以下程序:main(){ int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}程序运行后,如果从键盘上输人5,则输出结果是A)3 B) 4 C) 5 D) 6(10) 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是A) 4 B) 3 C) 2 D) 2(11) t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对(12) 以下程序的输出结果是main(){ int num= 0;while(num<=2){ num++; printf("%d\n",num);}}A) 1 B) 1 C)1 D) l2 2 23 34(13) 以下各选项企图说明一种新的类型名,其中正确的是A) typedef v1 int; B) typedef v2=int;C) typedef int v3; D) typedef v4: int;(14) 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定(15) 以下函数值的类型是fun ( float x ){ float y;y= 3*x-4;return y;}A) int B) 不确定C) void D) float(16 ) 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 7 B) 7 C) 7 D) 78 9 10 79 11 13 7(17) 以下程序的输出结果是main(){ char c='z';printf("%c",c-25);}A) a B) Z C) z-25 D) y(18) 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'(19) 若有说明:int i, j=2, *p=&i;,则能完成i=j赋值功能的语句是A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;(20) 以下定义语句中,错误的是A) int a[]={1,2}; B) char *a[3];C) char s[10]="test"; D) int n=5,a[n];(21) 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A) 3 B) 6 C) 10 D) 20(22) 以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 369(23) 以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100]={0};D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};(24) 以下程序的输出结果是main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; }A) 0650 B) 1470 C) 5430 D) 输出值不定(25) 以下程序的输出结果是main(){ char st[20]= "hello\0\t\\\";printf(%d %d \n",strlen(st),sizeof(st));}A) 9 9 B) 5 20 C) 13 20 D) 20 20(26) 以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest";B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest";D) char *s4="Ctest\n"(27) 以下程序的输出结果是amovep(int* p, int (*a)[3],int n){ int i,j;for( i=0;i<n;i++)for(j=0;j<n;j++){ *p=a[i][j];p++; }}main(){ int *p,a[3][3]={{1,3,5},{2,4,6}};p=(int *)malloc(100);amovep(p,a,3);printf("%d%d \n",p[2],p[5]);free(p);}A) 56 B) 25 C) 34 D) 程序错误(28) 以下程序的输出结果是struct HAR{ int x, y; struct HAR *p;} h[2];main(){ h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=h[1].p=h;printf("%d%d \n",(h[0].p)->x,(h[1].p)->y); }A) 12 B) 23 C) 14 D) 32(29) 以下程序的输出结果是main(){ int a, b;for(a=1, b=1; a<=100; a++){ if(b>=10) break;if (b%3= =1){ b+=3; continue; }}printf("%d\n",a);}A) 101 B) 6 C) 5 D) 4(30) 以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A) 4 B) 5 C) 6 D) 0(31) 以下程序的输出结果是int a, b;void fun(){ a=100; b=200; }main(){ int a=5, b=7;fun();printf("%d%d\n", a,b);}A) 100200 B) 57 C) 200100 D) 75(32) 以下程序的输出结果是#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;printf("%d\n", M(a+b,b+c, c+a));}A) 19 B) 17 C) 15 D) 12(33) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A) x || y B) x | y C) x & y D) x ^ y(34) 下面的程序执行后,文件test中的内容是#include <stdio.h>void fun(char *fname,char *st){FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;i<strlen(st); i++)fputc(st[i],myf);fclose(myf);}main(){ fun("test","new world"); fun("test","hello");}A) hello B) new worldhello C) new world D) hello,world(35) 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(36) C语言中运算对象必须是整型的运算符是A) %= B) / C) = D)〈=(37) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0 D) 2.5(38) 若变量a、i已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(39) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 2(40) 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 3(41) 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0(42) 有如下程序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\n”,a,b);}该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(43) 有如下程序main(){float x=2.0,y;if(x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(44) 有如下程序main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf(“%d\n”,c);}该程序的输出结果是A) 0 B) 1 C) 2 D) 3(45) 有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是A) 6 B) 3 C) 死循环D) 0(46) 有如下程序main(){ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A) 321 B) 23 C) 不输出任何内容D) 陷入死循环(47) 有如下程序main(){ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A) 987 B) 876 C) 8765 D) 9876(48) 设有说明语句:char a='\72'; 则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法(49) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A) 3 B) 4 C) 5 D) 有语法错(50) 有如下程序int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是A) 12 B) 13 C) 14 D) 15(51) 有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12 B) 11 C) 10 D) 编译出错(52) 对于基类型相同的两个指针变量之间,不能进行的运算是A) < B) = C) + D) -(53) 以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p]) ;return(p);}在下划线处应填入的是A) i=p B) a[p]=a[i] C) p=j D) p=i*(54) 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main(){ printf(“%d\n”,fib(3)); }该程序的输出结果是A) 2 B) 4 C) 6 D) 8(55) 在C语言中,函数的隐含存储类别是A) auto B) static C) extern D) 无存储类别(56) 有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是A) 5 B) 6 C) 7 D) 8(57) 有以下函数char *fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值C) 一个临时存储单元的地址D) 形参p自身的地址值(58) 有如下程序段int a=14,b=15,x;char c=‟A‟;x=(a&&b)&&(c<‟B‟);执行该程序段后,x的值为A) true B) false C) 0 D) 1(59) 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A) EOF B) 0 C) 非零值D) NULL(60) 若有以下说明和定义int fun(int *c){return 0;}main(){ int (*a)(int*)=fun,*b(),w[10],c;┆}在必要的赋值之后,对fun函数的正确调用语句是A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);(61) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A) *p+9 B) *(p+8) C) *p+=9 D) p+8(62) 有如下程序main(){ int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}该程序的输出结果是A) 不确定的值B) 2 C) 1 D) 0(63) 若有以下的定义:int t[3][2]; 能正确表示t数组元素地址的表达式是A) &t[3][2] B) t[3] C) t[1] D) t[2](64) 有如下程序main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j] ;printf(“%d\n”,s);}该程序的输出结果是A) 18 B) 19 C) 20 D) 21(65) 有如下定义struct person{char name[9]; int age;};strict person cla[10]={“Joh n”, 17,“Paul”, 19“Mary”, 18,“Adam”, 16};根据上述定义,能输出字母M的语句是A) printf(“%c\n”,cla[3].name);B) pr intf(“%c\n”,cla[3].name[1]);C) printf(“%c\n”,cla[2].name[1]);D) printf(“%c\n”,cla[2].name[0]);(66) 以下对结构体类型变量的定义中,不正确的是A) typedef struct aa B) #define AA struct aa{ int n; AA {int n;float m; float m;}AA; }td1;AA td1;C) struct D) struct{ int n; { int n;float m; float m;}aa; }td1;stuct aa td1;(67) 有如下程序main(){ char s[]=”ABCD”, *p;for(p=s+l; p<s+4;p++)printf(“%s\n”,p);}该程序的输出结果是A) ABCD B) A C) B D) BCDBCD B C CDCD C D DD D(68) 有如下程序main(){char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>‟\0‟;j+=2)s=10*s+p[i][j]-…0‟;printf(“%d\n”,s);}该程序的输出结果是A) 69825 B) 63825 C) 6385 D) 693825(1)C(2)B(3)D(4)B(5)D(6)B(7)D(8)C(9)B(10)D (11)B(12)B(13)C(14)B(15)A(16)A(17)A(18)C(19)B(20)D (21)D(22)C(23)D(24)A(25)B(26)A(27)A(28)A(29)D(30)D (31)B(32)D(33)D(34)A(35)B(36)A(37)C(38)B(39)A(40)D (41)D(42)A(43)C(44)C(45)C(46)B(47)B(48)A(49)A(50)D (51)B(52)C(53)D(54)B(55)C(56)B(57)B(58)D(59)C(60)B (61)B(62)D(63)C(64)A(65)D(66)C(67)D(68)C二、填空题:(1) 以下程序运行后的输出结果是【1】。

高级语言程序设计(Python)习题与答案

高级语言程序设计(Python)习题与答案

一、单选题1、计算机为什么采用二进制,而非十进制作为数制的基础?A.因为二进制比十进制计算速度快B.因为二进制比十进制表示能力更强C.因为二进制数精度更高D.因为二进制数更容易被硬件存储和计算正确答案:D2、Python语言为什么被称为高级程序设计语言?A.因为它是编译型语言B.因为它是解释型语言C.因为它比低级语言更复杂D.因为它比低级语言更抽象正确答案:D3、关于Python语言的执行过程,描述正确的是?A.可以同时执行多条语句B.由解释器一条语句一条语句地执行C.执行过的语句将不会再被执行D.由编译器将源程序转化为机器语言,然后执行正确答案:B4、下列Python程序,没有错误的是?A.print 'Hello, ' print 'World!'B.print 'Hello, I\'m Tom.'C.print 'Hello, this's Tom.'D.Print 'Hello, World!'正确答案:B5、在Spyder IDE中编写Python程序,输出“Hello World”,要求将这两个单词分两行输出,以下哪个程序不正确?A.print 'HelloWorld'B.print 'Hello\nWorld'C.print 'Hello'print 'World'D.print "Hello\nWorld"正确答案:A6、执行下列语句,输出的结果是?x = 7.0y = 5print x % yA.1B.2C.1.0D.2.0正确答案:D7、能实现下面功能的程序是?接收用户输入的一个整数。

如果输入的是偶数,则输出“True”,否则输出“False”。

A.print not bool(raw_input() % 2)B.print int(raw_input()) % 2 == 0C.print int(raw_input()) % 2 == 1D.print bool(int(raw_input()) % 2)正确答案:B8、以下程序的输出结果是?y = 0for i in range(0, 10, 2):y += iprint yA.30B.20C.9D.10正确答案:B9、以下程序的输出结果是?number = 30if number % 2 == 0:print number, 'is even'elif number % 3 == 0:print number, 'is multiple of 3'A.30 is evenB.30 is multiple of 3C.程序出错D.30 is even30 is multiple of 3正确答案:A10、以下程序的输出结果是?x = 1y = -1z = 1if x > 0:if y > 0: print 'AAA'elif z > 0: print 'BBB'A.语法错误B.BBBC.AAAD.无输出正确答案:D11、下列程序的输出结果是:def foo():m = 1def bar():n = 2return m + nm = bar()print mfoo()A.1B.3C.程序出错D.2正确答案:B12、字符串s长度为奇数,则显示中间字符的表达式为?A.s[len(s)/2 - 1]B.s[len(s)/2 + 1]C.s[len(s)/2]D.s[(len(s) + 1)/2]正确答案:C13、关于元组数据结构,下面描述正确的是:A.元组不支持切片操作B.所有元素数据类型必须相同C.支持 in 运算符D.插入的新元素放在最后正确答案:C14、一个学生的信息包括:学号、姓名、年龄、性别、电话。

自学考试高级语言程序设计历年真题和答案

自学考试高级语言程序设计历年真题和答案

2001年10月自考高级语言程序设计(一)试题第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.C语言程序编译时,程序中的注释部分A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.下列表达式的值为0的是()A.3%5B.3/5.0C.3/5D.3<53.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%24.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和35.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B.宏名必须用大写字母表示C.宏替换不占用运行时间,只占编译时间D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()A.2B.3C.4D.无确定值10.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是A.0B.1C.2D.311.设char str[100];int i=5;则引用数组元素的错误形式是()A.str[i+10]B.*(str+i)C.*(str+i-1)D.*((str++)+i)12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是()A.p+=2,*++pB.p+=2,*p++C.p+=3,*pD.p+=2,++*pA.autoB.staticC.externD.register14.执行下列程序()int a=3,b=4;void fun(int x1,int x2){printf("%d,%d\n",x1+x2,b);}main(){int a=5,b=6;fun(a,b);}后输出的结果是A.3,4B.11,1C.11,4D.11,615.设有定义语句struct{int a;float b;} d[3]={{1,4},{2,5},{6,7}};则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是()A.2.5B.2.0C.8.0D.8.416.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( )则枚举常量a2和a3的值分别为A.1和2B.2和3C.7和2D.7和817.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是()A.2和2B.2和5C.5和2D.5和518.在文件使用方式中,字符串"rb"表示()A.打开一个已存在的二进制文件,只能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19.执行下列程序()# define F(y) 15>>y#define PRINT(a) printf("%d",a)main(){PRINT(F(2));}后输出的结果是A.3B.3.5C.14D.7.520.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A.int argvB.char * argv[];C.char argv[];D.char **argv[];第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21.初始化值是0.618的双精度变量a的定义形式为____________。

大学考试—高级语言程序设计——试题库及答案

大学考试—高级语言程序设计——试题库及答案

设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。

A.(*p).aB.abc->aC.abc.aD.p->a回答错误!正确答案: A C D以下叙述中,正确的叙述是:A.预处理行不是c的可编译语句B.在程序中凡以#开始的语句都是预处理命令C.C程序在执行过程中对预处理命令进行处理D.预处理命令须以#开始回答错误!正确答案: A B D下列属于单字符输入输出函数的是()。

A.getchar()B.printf()C.scanf()D.putchar()回答错误!正确答案: A D当一个函数为外部函数时,不正确的说法是( )。

A.该函数不能被本文件中函数调用B.该函数不能被其他文件调用C.该函数只能被main()调用D.该函数只能被非主函数调用回答错误!正确答案: A B C D不能将高级语言编写的源程序转换成目标程序的是:A.编译程序B.解释程序C.编程程序D.链接程序回答错误!正确答案: B C D下列选项中关于外部变量,正确的是( )。

A.main函数是主函数,不在main函数内部定义的变量都是外部变量B.外部变量必须定义在源程序的开始处C.定义外部变量时,可以进行初始化外部变量必须定义在所有函数的外面回答错误!正确答案: C D已知“int a=1;char b=65; float c=2.0;double d=3.5;”。

则下述赋值表达式结果为整型的是()。

A.b=a+b;B.b=(int)(c+d);C.a=3.2;D.a=c+d;E.c=a+b;F.c=(int)3.2;回答错误!正确答案: A B C D已有char s[10][10]={0};int i=10;。

在下列表达式中,没有意义的表达式是:*(&(s+i)+i)B.*(*(s+i)+i)C.*(*(s+i-1)+i-1)D.s[i][i]回答错误!正确答案: A B D下列属于C语言标准库函数的为()。

高等教育自学考试高级语言程序设计试题

高等教育自学考试高级语言程序设计试题

全国2012年10月高等教育自学考试高级语言程序设计(一)试题请考生按规定用笔将所有试题的答案涂、写在答题纸上。

选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。

2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。

如需改动,用橡皮擦干净后,再选涂其他答案标号.不能答在试题卷上。

一、单项选择题(本大题共1 5小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸” 的相应代码涂黑。

错涂、多涂或未涂均无分.1.下列为C语言保留字的是A.auto B.ElseC.FILE D.define2.正确的C语言常数是A.e0 B.1eC.1E0 D.1 E0。

03.设int n;,执行表达式(n=0)||(n=1)||(n=2)||(n=3)后,n的值是A.0 B.1C.2 D.34.值为0的表达式是A.0= =0 B.2&&5C.!5<2 D.2&55.先执行循环体后判断循环条件的语句是A.for B.whileC.do-while D.for,while和do—while6.设char str[20];,从键盘输入中间含有空格的字符串的正确语句是A.gets(str); B.gets(str[20]);C.scanf("%s",str);D.scanf("%c”,str);7.定义函数时若函数名前冠有“*”(如float*fun(){……}),则该函数被称为A.int型函数B.float型函数C.void型函数D.指针(型)函数8.设int a[]={1,2,3,4},b,*p=a;,与b=*p++;等价的语句是A.b=p++;B.b=*(p++);C.b=*(++p);D.b=*++p;9.C语言中的sizeof是A.类型名B.运算符C.变量名D.函数名10.设int a[10],*p=a;,与数组元素a[5]等价的是A.*(a+5)B.p[′5 ′]C.p+5 D.a+511.设typedef char *PT;,若有引用PT q[5];,则q是A.字符型数组B.字符型变量C.字符型指针变量D.字符型指针数组12.正确定义二维数组并初始化的是A.int a[3][ ]={{1,2,3},{4,5}};B.int a[3][3]={a,b,c,d,e};C.int a[][3]={1,2,3,4,5,6};D.int a[3][3]=(1,2,3,4,5,6);13.函数的递归调用是指A.函数的自我调用B.函数的嵌套调用C.主函数调用系统函数D.系统函数调用主函数14.设struct data{int a;float b;}c,*p=&c;,引用正确的是A.*p.a B.p.bC.p—>a D.*p->b15.文件操作”rb+”的含义是A.只读文本文件B.只读二进制文件C.读写文本文件D.读写二进制文件非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。

高级语言程序设计试题(卷)与答案

高级语言程序设计试题(卷)与答案

1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。

面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。

面向过程语言是一种能方便描述算法过程的计算机程序设计语言。

有汇编语言,但没有面向汇编语言。

汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。

所以解答是①。

2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。

低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。

所以解答是②。

3.下列字符中属于键盘符号的是()①②n ③t ④b【解】键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。

有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。

为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。

如"n"、"t" 、"b"都不是键盘字符,在C语言中,它们都得用转义字符来表达。

只有字符才是键盘字符。

所以解答是①。

但在C程序中,反斜杠字符已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成""。

4.下列字符列中,不是用来表达转义字符是()①②" ③074 ④【解】转义字符有三种书写形式:反斜社字符后接上某个规定的字符;反斜杠字符后接上13个八进制数字符;反斜社字符和字符X之后接上1至2个十六进制数字符。

后两种分别八进制数和十六进制数直接给出字符的ASCll代码值。

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

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

程序设计基础试题(附答案)程序设计基础复习题一、单选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、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。

桂林理工大学成人高等教育高级语言程序设计复习题

桂林理工大学成人高等教育高级语言程序设计复习题

桂林理工大学桂林理工大学成人高等教育【高级语言程序设计】复习题•A1.(单选题)cout是某个类的标准对象的引用,该类是()(本题2.0分)A.ostreamB.istreamC.stdoutD.stdin答案:A.解析:无.2.(单选题)存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?()(本题2.0分)A.x=*pa;B.x=*(a+1);C.x=*(pa+1);D.x=a[1];答案:A.解析:无.3.(单选题)下面程序错误的语句是()①#include<iostream>②using namespace std;③void main()④{⑤int*p=new int[1];⑥p=9;⑦cout<<*p<<endl;⑧delete[]p;}(本题2.0分)A.⑤B.⑥C.⑦D.⑧答案:B.解析:无.4.(单选题)下列哪个是c++语言的有效标识符()(本题2.0分)A.N01B.No.1C.12345D.int答案:A.解析:无.5.(单选题)假定MyCIass为一个类,那么下列的函数说明中哪一个为该类的无参构造函数()(本题2.0分)A.void MyClass();B.~MyClass(int n);C.MyClass();D.~MyClass();答案:C.解析:无.6.(单选题)下列关于C++函数的说明中,正确的是()(本题2.0分)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.调用一个函数之前,如果还没有定义这个函数,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式答案:C.解析:无.7.(单选题)C++中,封装是借助于达到的()(本题2.0分)A.指针B.类C.数组D.函数答案:B.解析:无.8.(单选题)C++表达式6>3&&5<15的值是()(本题2.0分)A.falseB.非法表达式C.不确定D.true答案:D.解析:无.9.(单选题)设有说明语句:int x=8,y=9;表达式x/=(y-y/5)的值为()(本题2.0分)A.1B.2C.3D.0答案:A.解析:无.10.(单选题)下面不属于类的成员函数的是()(本题2.0分)A.友元函数B.析构函数C.构造函数D.拷贝构造函数答案:A.解析:无.11.(单选题)用C++语言编制的源程序要变为目标程序必须要经过()(本题2.0分)A.编辑B.编译C.汇编D.解释答案:B.解析:无.12.(单选题)在C程序中将常数3.14159定义为宏常量PI的正确命令是()。

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. let答案:C3. 下列关于C语言函数的描述中,正确的是()。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以嵌套定义答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. =答案:A5. 下列关于C语言数组的描述中,正确的是()。

A. 数组的下标从0开始B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后可以改变答案:A6. 在C语言中,用于定义指针的关键字是()。

A. ptrB. pointC. *D. &答案:C7. 下列关于C语言中结构体的描述中,错误的是()。

A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体变量不能存储数据D. 结构体可以包含函数答案:C8. 在C语言中,用于实现文件操作的函数库是()。

A. stdio.hB. stdlib.hC. string.hD. fcntl.h答案:A9. 下列关于C语言中预处理指令的描述中,错误的是()。

A. #define可以定义宏B. #include用于包含头文件C. #if用于条件编译D. #else用于循环控制答案:D10. 在C语言中,用于实现动态内存分配的函数是()。

A. mallocB. freeC. callocD. realloc答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明通常包括变量的____和____。

答案:类型名称2. C语言中,用于输入的函数是____。

东北大学16春学期《高级语言程序设计基础》在线作业3

东北大学16春学期《高级语言程序设计基础》在线作业3

东北大学16春学期《高级语言程序设计基础》在线作业316春学期《高级语言程序设计基础》在线作业3一、单选题(共20题,总分100分)1.在一个源文件中定义的全局变量的作用域为()。

.本文件的全部范围.本程序的全部范围.本函数的全部范围.从定义变量的位置到本文件末尾,正确答案是:2.下面程序的运行结果是()。

min(){int[10]={1,2,3,4,5,6,7,8,9,10};int*q=;printf(\.1.2.3.4正确答案:3.以下程序运行后,输出结果是()。

#fin(x)x+xmin(){intm=1,n=2,s=3;s*=(m+n);printf(\}.s=8.s=9.s=6.s=18正确答案:4.如果x和y是int类型的变量,且x的值为100,则以下for循环的正确判断为()。

对于(y=100;X!=y;++X,y++)printf(\。

循环体只执行一次。

它是一个无限循环.循环体一次都不执行.for语句中存在语法错误正确答案:5.说明(如有):int[10];对数组元素的正确引用是()[10]。

[3,5]. (5). [10-10]正确答案:6.若有说明:int[3][4]={0};则下面正确的叙述是()。

.只有数组元素[0][0]可得到初值0.这说明不正确.数组中各元素都可得到初值,但其值不一定为0.数组中每个元素均可得到初值0正确答案:7.以下对typf的描述不正确()不能用typf定义变量名.用typf可以定义新的数据类型.使用typf只是用一个新的标识符来表示现有的类型,使用typf有助于程序的通用性和移植性。

正确答案:8.若有说明:int[3][4];则数组中各元素()。

.可在程序的运行阶段得到初值0.可在程序的编译阶段得到初值0.不能得到确定的初值.可在程序的编译或运行阶段获得初始值0的正确答案:9.若二维数组有m列,则在[i][j]前的元素个数为()。

.j*m+i.i*m+j.i*m+j-1.i*m+j+1正确答案:10.设、、、均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是()。

自考高级语言程序设计(一)2022年4月真题_2

自考高级语言程序设计(一)2022年4月真题_2

自考高级语言程序设计(一)2022年4月真题及自考高级语言程序设计(一)2022年4月真题及答案解析1.[单选题] C语言的关键字是()A.strcpyB.printfC.stdioD.float2.[单选题] 错误的表达式是()A.20%5B.20/5C.20.8%5D.20.8/53.[单选题] 设int x=10,y=5;,表达式x++,x+y++的值是()A.10B.11C.15D.164.[单选题] 设int a;,循环次数为10的语句是()A.for(a=0;a=10;a++);B.for(a=0;a==10;a++);C.for(a=0;a10;a++);D.for(a=0;a=10;a++);5.[单选题] 当循环语句while(表达式);结束时,“表达式”的值是()A.0B.1C.-1D.非06.[单选题] 设int a=1,b=2,c3;,不能将变量c的值赋给变量a和b 的表达式是()A.a=c,b=cB.a=(b=c++)C.(a=c)||(b=c)D.(a=c)(b=c)7.[单选题] 下列变量定义正确的是()A.int a6;B.double -a6;C.float 6a;D.char Ab*;8.[单选题] 关于函数不正确的说法是()A.可以没有返回值B.可以没有形式参数C.返回值可以是指针类型D.一个函数中可以定义另一函数9.[单选题] 设int a[3][4]={1,2,3,4,5,6};,值为4的数组元素是()A.a[0][1]B.a[0][2]C.a[0][3]D.a[1][1]10.[单选题] 调用递归函数func(1),返回值为3的是()A.A.int func(int n){ if(n=0) return 0; else return func(n-1)+n;}B.B.int func(int n){ if(n=0) return 0; else return func(n-1)+3;}C.C.int func(int n){ if(n==0) return 0; else return func(n-1)*n;}D.D.int func(int n){ if(n==0) return 0; else return func(n-1)*3;}11.[单选题] 设int x=1,y=2;,下列语句错误的是()A.x++=y;B.for(x=0;xC.while(xD.if(x12.[单选题] 不是变量存储类型关键字的是()A.autoB.stdioC.staticD.register13.[单选题] 下列二维数组定义正确的是()A.char a(10,10);B.chr n=10,a[n][n];C.C.#define N 10char a[N][N];D.D.int n;char a[n][n];14.[单选题] 设int m=5,*p;,下列语句正确的是()A.p=m;B.p=m;C.*p=m;D.*p=*m;15.[单选题] 当文件未结束时,系统函数feof的返回值是()A.-1B.0C.1D.非016.[案例题] 设int a=11;,表达式a%3+a/4的值是_______。

高级语言程序设计习题(最新版带答案)

高级语言程序设计习题(最新版带答案)

高级语言程序设计习题(最新版带答案)高级语言程序设计习题(最新版带答案)一、选择题1. 下列选项中,不属于高级语言程序设计的语言是:A. C语言B. Java语言C. HTML语言D. Python语言答案:C2. 在C++语言中,关键字用于:A. 定义变量B. 定义函数C. 标识程序结构D. 存储数据答案:C3. 以下哪个不属于Python的内置数据类型?A. intB. floatC. listD. string答案:D二、填空题1. 在Java中,用于接收命令行输入的方法是____。

答案:Scanner类的next方法2. C语言中,用于声明一个指针变量的符号是____。

答案:*三、编程题1. 编写一个Python程序,输入两个整数,计算并输出它们的和。

答案:```pythonnum1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))sum = num1 + num2print("两个整数的和为:", sum)```2. 编写一个C++程序,输入一个整数,判断它是否为偶数,是则输出"偶数",否则输出"奇数"。

答案:```c++#include <iostream>using namespace std;int main() {int num;cout << "请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << "偶数" << endl;} else {cout << "奇数" << endl;}return 0;}```四、应用题输入一个整数n,计算并输出1到n的所有整数的平方和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高级语言程序设计基础复习题1、c语言程序的基本单位是什么?它的结构又如何? c语言程序的总体结构是怎样的?主函数main()在程序中的地位如何?【答案】函数是c语言程序的基本模块单元。

任何函数(包括主函数main())都是由函数说明和函数体两部分组成。

其一般结构如下: [函数类型] 函数名(函数参数表){ 说明语句部分;执行语句部分;}一个完整的c语言程序,是由一个、且只能由一个main()函数(又称主函数)和若干个其他函数结合而成的,或仅由一个main( )函数构成。

main()函数的作用相当于其他高级语言中的主程序;其他函数的作用相当于子程序。

一个c语言程序,总是从main()函数开始执行,而不论其在程序中的位置。

当主函数执行完毕时,亦即程序执行完毕。

习惯上,将主函数main()放在最前头。

2、算法分析的目的是什么?【答案】算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数幂级,常用时间复杂度和空间复杂度表示。

分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

3、分析下面程序的执行过程,并给出输出结果。

main( ){int x=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}primf("x=%d,y=%d,a=%d\n",x,y,a);}【答案】对于x++中x值的引用时,应当是先引用后自加,第一次while循环:条件为真,执行a=a+l=l;此时,x的值已为4,判断y<x不成立,继续执行循环;第二次while循环:条件为假,此时x的值已为5,退出while循环,执行printf输出结果为x=5,y=4,a=l。

4、面程序并给出正确结果。

main( ){int x=3;do{printf("%d",x--);}while(!x);}【答案】本题x赋初值为3,当执行printf("%d",x--);时,由于X--的作用是先运算x,再将x的值减l,所以,printf输出的x值为3,等输出后,x的值减1变为2,继续执行,判断条件!x为假,循环只被执行一次。

5、分析下面程序的执行过程,给出输出结果。

#include<stdio.h>main( ){ int i=0,a=0;while(i<20){for(;;){ if((i%10)==0)break;else i--:}i+=ll;a+=i;}printf("%d\n",a);}【答案】本题中,有两个循环语句。

首先,i=0,进入while循环,for语句中对循环没有任何条件,故直接进入for循环,因为0%10结果还是0,所以跳出for循环,执行i+=11,i 的值变为11,执行a+=i,a的值变为11;接着进入下一轮while循环,在for循环中,因为i的值是11,对10取余结果为l,所以执行i自减,i的值变成10,进入又一轮for循环,因为10%10==0,所以跳出for循环,执行i+=1l,i的值变成21,执行a+=i,也就是将21+1 1的和赋给a,a=32,因为此时i的值不再小于20,因此结束循环。

程序输出结果为32。

6、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是什么?【答案】c语言规定,实参变量对形参变量的数据传递是"单向值传递",只由实参传给形参。

在内存中,实参单元与形参单元是不同的单元。

调用结束后,实参单元仍保留并维持原值。

因此本题中实参与对应形参之间的数据传递方式是单向值传递。

7、试说明静态变量的特点。

【答案】静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:①静态局部变量属于静态存储类别,在静态存储区内分配存储单元。

在程序整个运行期间都不释放。

②对静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。

以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。

③如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。

(注意:c语言中的非静态变量在定义时,系统并不会自动给它赋初值)④虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。

8、分析下面程序的执行过程,给出输出结果。

int f1(int x,int y){ retum x>y?x:y;}int f2(int x,int y){ return x>y?y:x;}main( ){ int a=4,b=3,c=5,d,e,f;d=f1(a,b);d=fl(d,c);e=f2(a,b);e=f2(e,C);f=a+b+c-d-e;printf("%d,%d,%d\n",d,e,f);}【答案】函数f1是一个求两个整数中最大值的函数,函数f2是一个求两个整数中最小值的函数。

在main函数中两次调用函数f1,求得变量a、b、、c中的最大值赋值给d;两次调用函数f2,求得变量a、b、c中的最小值赋值给e;表达式a+b+c-d-e得到中间值,输出5,3,4。

9、分析下面程序的执行过程,给出输出结果。

f(int b[],int m,int n){ int i,s=0;for(i=m;i<n;i=i+2)s=s+b[i];return s;)main( ){ int x,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);)【答案】本题中,主函数调用f函数,在f函数中执行了两次循环,第一次i=3,s=0+b[i]:4,然后i 的值被修改成5,仍然满足循环条件,进入第二轮循环,s=4+b[5]=4+6=10,随后,i的值被修改成7,不再满足循环条件,退出循环,返回s的值。

所以最后输出结果是10。

10、以下函数的功能是计算s=1+1/2!+1/3!+……+l/n!,根据题意,完善程序。

double fun(int n){ double s=0.0,fac=1.0;int i;for(i=1;i<=n;i++){ fac=fac【1】;s=s+ 【2】;}return 【3】;}【答案】【1】/i或*1.0/i或*1/I或*(1.0/i)或/(double)i;【2】fac;【3】s/*分析:该程序实现的功能是求各个因式的和,观察表达式可以看出,只要将i的值的倒数乘以fac就得到每个因式的值。

*/11、wap函数的功能是交换a和b的值,该函数调用后能否实现交换【3】。

根据题意,完善程序。

void swap(int x, int y){ int t;【1】;x=y;y=t;}main(){int a=3,b=4;【2】;printf("%d %d",a,b);}【答案】【1】t=x ;【2】swap(a,b);【3】不能/*评析:用变量作为函数的实参时,属单向传递,即"值传送"方式,此种函数参数的传递方式只能由实参传给形参,不能由形参传回来给实参。

*/12、根据下面程序说明strcpy(strl,s1)、strcat(str2,s1)的作用,给出程序的输出结果。

#include<string.h>main( ){char pl[7]="abc",p2[]="ABC",str[50]= "xyz";strcpy(str,strcat(pl,p2));printf("%s",str);}【答案】strcpy(strl,s1)的作用是将字符串s1拷贝到strl中去,并将结果放在strl1中,函数调用后返回strl的地址。

strcat(str2,s2)的作用是将s2接到字符串str2的后面,并将结果放在str2中,函数调用后返回str2的地址。

本题定义了三个字符数组pl,p2,str,strcat(p1,p2)函数的作用是将字符串数组p2接到字符串p1的后面,结果放在字符数组p1,再通过sffcpy()函数将该字符串拷贝到str数组中,原str 数组中的字符串xyz被覆盖,因此打印输出字符串str即可得到abcABC。

13、以下面程序为例说明strlen(st) 和sizeof(st)的输出结果。

main(){char st[20]= "hello\0\t\\";printf("%d%d\n",strlen(st),sizeof(st));}【答案】c语言中字符串是以'\0'字符结束的,且strlen()函数计算的是'\0'字符前的所有字符的个数。

本题中strlen(st)应为5。

数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。

Sizeof ()函数是计算变量或数组的所分配到的内存空间的大小。

所以本题的sizeof(st)为20。

14、下面程序的功能是将矩阵a中和值最大的那一行元素与首行元素对换。

根据题意,完善程序。

main(){ int a[10][10],i,j,t,s,smax,imax;for(i=0;i<10;i++)for(j=0;j<10;j++)【1】;smax=-32768;for(i=0;i<10;i++){ s=0;for(j=0;j<10;j++)【2】;if (s>smax){ smax= s ;imax= i ;}}for(j=0;j<10;j++){ t=a[0][j];a[0][j]=a[imax][j];【3】;}for(i=0;i<10;i++){ printf(“\n”);for(j=0;j<10;j++)p rintf(“%d”,a[i][j]);}}【答案】【1】scanf(“%d”,&a[i][j]);;【2】s+=a[i][j];【3】a[imax][j]=t ;/*分析:首先要输出数组元素的值,分别求每行的元素和,注意s=0保持每行计算初始值清0,然后要对值最大的那一行元素与首行元素对换*/15、下面程序的功能是将两个有序的数组合并到另一个数组中,合并后仍有序。

根据题意,完善程序。

main(){ int i=0,m=5,a[6]={1,2,3,7,9,15};int j=0,n=6,b[7]={3,5,8,12,15,16,18,};int k=0,c[13];while( i+j<m+n ){ if( 【1】 ) c[k++]=a[i++];else if( 【2】 ) c[k++]=b[j++];else if( 【3】 ) c[k++]=a[i++];else c[k++]=b[j++];}for(i=0;i<k;i++)printf(" %d",c[i]);}【答案】【1】j>=n;【2】i>=m;【3】a[i]<b[j];16、分析下面程序段的结果是什么?main( ){ int a=5,*b,**c;c=&b;b=&a;printf("%d",**c);}【答案】指针变量是用来存放地址的。

相关文档
最新文档