C期末考试复习题理工
山东理工大学C语言PTA期末程序题

1.从键盘输入某圆锥的底面半径和高的值,编程求其侧面积并输出(结果保留2位小数)。
其中圆周率取3.14159。
输入格式:输入两个实数代表圆锥的底面半径和高(以空格间隔)输出格式:输出一个实数(保留2位小数)#include<stdio.h>#include<math.h>#define PI 3.14159int main(void){float r,h,s,d;scanf("%f%f",&r,&h);d=sqrt(r*r+h*h);s=r*PI*d;printf("%.2f\n",s);return 0;}2.在匀加速直线运动中,已知初速度、加速度和时间的值,编程序求出相应的位移并输出(保留2位小数)。
输入格式:依次输入初速度、加速度、时间的值(以空格间隔)。
输出格式:一个实数(保留2位小数)。
#include<stdio.h>int main(){double v,g,t,x;scanf("%lf%lf%lf",&v,&g,&t);x=v*t+g*t*t/2;printf("%.2f",x);return 0;}3.从键盘输入5个实数,求出每个数的离均差并输出结果(保留2位小数)输入格式:输入5个实数(以空格间隔)输出格式:输出5个实数(保留2位小数,以空格间隔)#include<stdio.h>#include<math.h>int main(){float a,b,c,d,e,sum,s,x,y,m,n,p;scanf("%f%f%f%f%f",&a,&b,&c,&d,&e);sum=a+b+c+d+e;s=sum/5;x=a-s;y=b-s;m=c-s;n=d-s;p=e-s;printf("%.2f %.2f %.2f %.2f %.2f",x,y,m,n,p);return 0;}4.从键盘输入一个小写字母,把它转换成相应的大写字母,最后输出转换之后的字符及其十进制ASCII码。
昆明理工大学C语言期末考试题库

昆明理工大学C语言期末考试题库包含百分之九十五的原题1. main函数是C程序的入口,由计算机系统负责调用。
A.对B.错2. C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。
A.对B.错3. C语言本身不提供输入输出语句,但可以通过输入输出函数来实现数据的输入输出。
A.对B.错4. 假定已有整型变量x的定义,则(x+1)++是一个合法的表达式。
A.对B.错5. 使用条件表达式可以构成各种各样的两路选择结构。
A.对B.错6. 与表达式“!(x> 0)”等价的表达式是“x< =0”。
A.对B.错7. 二重循环for(i=0;I < 5;i+=2) for(j=0;j < 5;j++)的循环体的执行次数为15。
A.对B.错8. 在循环体内和switch语句体内使用break语句。
A.对B.错9. 函数strcpy(str1,str2)是将字符串str2 连接到字符串str1之后。
A.对B.错10. 可以对实型数组进行整体输入、输出。
A.对B.错11. 若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。
A.对B.错12. 在main()函数中定义的变量称为全局变量。
A.对B.错13. 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。
A.对B.错14. 在定义了枚举变量后,系统才为该变量分配内存空间。
A.对B.错15. 变量的指针,其含义是指该变量的一个标志。
A.对B.错16. 当以参数w打开文件时,若指定路径下已有同名文件,则覆盖原有文件。
A.对B.错单选题1. 下面有关C语言特点的说法中,错误的是______。
A.C语言编写的代码较为紧凑,执行速度也较快B.C语言不仅适合编写各种应用软件,还适于编写各种系统软件C.C语言是一种模块化和结构化的语言D.C语言编写的程序通常不具备移植性2. 以下程序的输出结果是______。
#include "stdio.h" void main() { int a=2,b=3,c=4; printf("%d,%d,%d\n",c,b,a); }A.4 3 2B.2,3,4C.4,3,2D.2 3 43. 以下选项中,能用作数据常量的是________。
c语言期末机考(大连理工大学题库)

转过不少资料神马的。
我也发一个回报一下~祝大家都有个好成绩~ 【第一套】一、单项选择1.下列数据中,为字符串常量的是(d)。
A、'A'B、How do you do.C、$abcD、"house"2.以下所列的C语言常量中,错误的是(b )。
A、0xFFB、1.2e0.5C、2LD、'\72'3.以下程序的输出结果是(d。
main(){float x=3.6;int i;i=(int)x;printf("x=%f,i=%d\n",x,i);}A、x=3.,i=4B、x=3 i=3.C、x=3,i=3D、x=3.,i=34.若k是整型,则以下程序段的执行结果是:(bk=-3;if(k<=0) printf("####")else printf("&&&&");A、####B、有语法错误,无结果C、&&&&D、####&&&&5.若x=2,y=3则x||y的结果是( c)。
A、3B、0C、1D、26.针对下列程序段回答问题( ).for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);}A、x>=0时什么也不输出B、最多允许输出100个非负整数C、printf函数永远也不执行D、当x<0时整个循环结束7.以下程序的执行结果是( )。
main(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } }A、0,1,2B、1,2,3,C、1,2,3,4,D、1,2,8.选择正确的输入语句( )。
厦门理工学院c语言程序设计期末试题ABC(含答案) 考试卷子

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。
A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。
理工c级考试题及答案

理工c级考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是二进制数1010对应的十进制数?A. 8B. 10C. 12D. 14答案:B2. 一个完整的计算机系统包括硬件系统和软件系统,以下哪个不是硬件系统的一部分?A. 中央处理器B. 操作系统C. 存储器D. 输入/输出设备答案:B3. 在电路中,电压、电流和电阻之间的关系遵循哪个定律?A. 欧姆定律B. 基尔霍夫定律C. 法拉第电磁感应定律D. 牛顿第二定律答案:A4. 以下哪个选项是正确的C语言数据类型?A. intB. stringC. boolD. list答案:A5. 在数据库管理系统中,用于查询数据的语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 以下哪个选项是正确的HTML标签?A. `<p>`B. `<paragraph>`C. `<text>`D. `<heading>`答案:A7. 在计算机编程中,以下哪个选项是面向对象编程的基本概念?A. 过程B. 函数C. 类D. 变量答案:C8. 以下哪个选项是正确的二进制逻辑运算符?A. ANDB. ORC. XORD. ALL OF THE ABOVE答案:D9. 以下哪个选项是正确的计算机存储单位?A. bitB. byteC. kilobyteD. ALL OF THE ABOVE答案:D10. 以下哪个选项是正确的网络协议?A. HTTPB. FTPC. SMTPD. ALL OF THE ABOVE答案:D二、填空题(每题2分,共20分)1. 在计算机系统中,CPU的中文名称是______。
答案:中央处理器2. 计算机硬件的五大组成部分包括输入设备、输出设备、存储器、______和外部设备。
答案:中央处理器3. 在C语言中,用于定义一个整型变量的关键字是______。
北理c语言期末考试试题及答案

北理c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. stringC. floatD. double答案:A2. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ::5. C语言中,用于声明一个函数的关键字是?A. functionB. defC. voidD. int答案:C6. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!D. 'Hello, World!'答案:A7. C语言中,用于执行循环的关键字是?A. loopB. repeatC. whileD. do答案:C8. 下列哪个选项是C语言中的正确注释?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A9. C语言中,用于定义一个枚举类型的关键字是?B. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[] = {1, 2, 3, 4, 5};D. int arr[5] = {1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。
重庆理工大学程序设计c期末考试资料2

重庆理工大学程序设计c期末考试资料21.以下程序的输出结果是__1____。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}2. 有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是__2+4+1=7____。
在所给的程序中,pa指向二维数组首地址a,接着执行下面的for 循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
3. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是_20___当数组定义后,系统就为其分配内存空间,不论其中有没有内容。
本题虽然只给数组x 赋了3个初值,但系统仍为数组x分配了10个内存空间。
所以数组x在内存中所占字节数为2*10=20。
4. 已有定义:int i,a[10],*p;,则合法的赋值语句是p=a+2.(a+2是a[2]的地址。
)5.ox开头是十六进制。
O开头是八进制。
Int型的范围是-32768~32768.6. 设有如下枚举类型定义enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为___102这个枚举中共有5个元素,前三个已有明确的赋值,而COBOL和Fortran没有明确的赋值,枚举的语法规定当枚举元素没有赋值时,其值为其前一个元素的值加一,所以COBOL的值为101,故Fortran的值应为102。
C语言程序设计期末考试试题(江西理工)1

二、填空题
1. 2. 数学式 所对应的c语言表达式为pow(x, __(1)__)。 已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) G 的编码。 3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768 ~32767,则该变量在内存中占_____(3)_2____个字节。 4. 已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执 行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)_0__ 。 5. 已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数 据使a中的值为3,则正确的输入应是 _____(5)_a=3____ 。 6. C语言源程序中用十六进制表示整型常数必须以___(6)_OX__开 头。 7. 如果一个循环结构的循环体至少要执行一遍,则最适合描述该循 环结构的语句是do while___(7)___语句。 8. 若要声明一个无符号整型变量x,则正确的声明形式是" _unsigned__(8)___ int x;"。 9. 已有声明"int n=12;double a;",则执行语句"a=n/=5;"后,a的 值为___(9)2.000000___。 10. 若有数据类型定义如下: a) union A{float a1;float a2;}; b) 则表达式sizeof(union A)的值为___(10)___。 11. C语言源程序的扩展名为.c,可执行文件的扩展名为 ______(11)__.exe_______。 12. 数组 int a[4][5];共定义了__(12)__20__个数组元素。 13. 若char str[7]={“cake”};int k=strlen(str);则k的值为 ______(13)_5_____。 14. C语言中,用_____(14)__include___ 关键字来包含如stdio.h 之类的头文件。 15. 函数的返回值是通过函数中的_________(15)_return______语 句来获得的。 16. 静态局部变量应该用关键字_____(16)__static_____来进行声 明。 17. 对于不带返回值的函数,应当用关键字 ________(17)_void_____定义函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(本大题共10 小题,每小题2 分,共20 分)1.在C++中,函数原型不能标识(D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B ) A.0 B.1 C.2 D.35.友元关系不能(A )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且(A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是(B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline 定义//当程序使用内敛函数时,编译器将每个函数调用都用函数内的语句代替,这样就省去了函数调用地开销8.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是(D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员//函数可以调用成员,对象不可以调用9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针//派生类的对象是不能访问基类的任何成员10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<″class B func 1″<<end1;}virtual void func2( ){cout<<″class B func 2″<<end1;}};下面正确的叙述是(C )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数第二部分非选择题(共80 分)二、填空题(本大题共10 小题,每小题2 分,共20 分)11.定义类的动态对象数组时,系统只能够自动调用该类的_无参_______构造函数对其进行初始化。
12.在C++程序设计中,建立继承关系倒挂的树应使用____单_一____继承。
13.表达式cout<<end1 还可表示为____cout<<`\n`_____。
14.基类的公有成员在派生类中的访问权限由___访问控制___ __决定。
15.C++支持的两种多态性分别是__编译时的_(操作重载)_静态_____多态性和_运行时的(虚函数)___动态_____多态性。
16.C++中语句const char * const p=″hello″;所定义的指针p 和它所指的内容都不能被__改变(重新赋值)____。
17.假定AB 为一个类,则语句AB(AB&x);为该类_____拷贝____构造函数的原型说明。
18.将关键字const 写在成员函数的____函数头_____和____函数体_____之间时,所修饰的是this 指针。
19.在C++中,访问一个对象的成员所用的运算符是__·___,访问一个指针所指向的对象的成员所用的运算符是__>___。
20.派生类从一个或多个以前定义的该类的__基类__一、单项选择题(每题2分,共20分)1. 派生类对象可访问基类中的什么成员( A)A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员2. 定义析构函数时,应该注意( C )A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句3. 如果类A被说明成类B的友元,则( D )。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元4. 应在下列程序划线处填入的正确语句是( C )#includeclass Base{ public:void fun(){cout<<"Base::fun"<<endl;}};class Derived:public Base{ void fun(){_____________ // 显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A.fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();5. 面向对象程序设计将数据与( A )放在一起,做为一个相互依存、不可分割的整体来处理。
A. 对数据的操作B. 信息C. 数据隐藏D. 数据抽象6. 在类中声明转换函数时不能指定( A )。
A. 参数B. 访问权限C. 操作D. 标识符7. 在派生类中重新定义虚函数时必须在( A )方面与基类保持一致。
A. 参数类型B. 参数名字C. 操作内容D. 赋值8. 下面关于C++中类的继承与派生的说法错误的是(C )。
A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.公有派生时,基类的所有成员访问权限在派生类中保持不变D.基类的protected成员在保护派生类的成员函数中可以直接使用9. 重载赋值操作符时,应声明为( C )函数。
A. 友元B. 虚C. 成员D. 多态10. 语句 ofstream f(″SALARY.DAT″,ios::app|ios::binary); 的功能是建立流对象 f,试图打开文件 SALARY.DAT 并与之连接,并且 ( A )A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件二、填空题(每空2分,共30分)1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 复制构造函数的原型说明。
2. C++ 支持的两种多态性分别是 ________编译时的_ 多态性和运行时的_________ 多态性。
3. 定义类的动态对象数组时,系统只能够自动调用该类的无参的_________ 构造函数对其进行初始化。
4. 运算符重载时,其函数名由__operator运算符_构成。
成员函数重载双目运算符时,左操作数是_当前对象__,右操作数是__函数形参_。
C++标准库中的异常层次的根类为exception _____类;MFC类库中绝大多数类都源自根类__ CObject _____类。
在下面横线处填上适当字句,完成类中成员函数的定义。
class A{int * a;public:A(int aa=0) {a=_ new int(aa)______; // 用 aa 初始化 a 所指向的动态对象}~ A(){_____delete a____;}// 释放动态存储空间};7.C++支持面向对象程序设计的四个要素是:封装性、继承性、抽象性和多态性。
8.模板分为类模板和函数模板。
一、单项选择题(每题2分,共20分)1. 在下面选项中,对类的拷贝构造函数的声明形式是(B)A. A::A(&)B. A::A(constA&)C. A::A(A)D. void A::A(A&a)2. 下面关于成员函数特征的描述中,错误的是(A )A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是内联函数D.成员函数可以是静态的3. 下面关于类模板叙述不正确的是(B )A.可以有多个构造函数B. 类模板是模板类的实例C. 一个类模板可以用来实例化多个模板类D. 类模板可以有多个参数4. 要使一个类成为抽象类,这个类应具有的条件是(A )A.至少有一个纯虚函数 B. 至少有一个虚函数C. 只含有一个纯虚函数 D. 只含有一个虚函数5. 有关运算符重载正确的描述是(D )A. C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能6. 下列说法正确的是( D )。
A. 一个类的对象可以是另一个类的成员B. 一个类可以作为另一个类的派生类C. 一个类可以在另一个类定义体进行定义D. 以上说法均正确7. 有如下程序:#include <iostream.h>class BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<c;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<c;}};int main(){DERIVED('X');return 0;}执行上面的程序将输出( C )。
A)X B)YX C)XY D)Y8. 类MyClass的定义如下:class MyClass{ public:MyClass(){value=0;}SetValue(int i){value=i;}private:int value;};则对语句:MyClass *p,my;p=&my;正确的描述是( D )。