c++期末考试卷加答案
大学计算机C语言期末考试复习试题及答案 (26)
C语言试题试卷编号:9618 版面整理着:一、填空共8题(共计8分)第1题(1.0分)题号:513若有以下定义,则计算表达式y+=y-=m*=y后的y值是()int m=5,y=2; 答案:-16第2题(1.0分)题号:84写出语句 b=(a=6,a*3); 执行后整型变量b的值是【1】. 答案: 18第3题(1.0分)题号:293getchar()函数只能接收一个【1】. 答案:字符第4题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:9,10第5题(1.0分)题号:86写出表达式 1.234&&5.982 的值是【1】. 答案:1第6题(1.0分)题号:303为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对. 答案: if第7题(1.0分)题号:311若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案:YESYES 第8题(1.0分)题号:312以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar(); 答案:==二、判断共15题(共计15分)第1题(1.0分)题号:937在C程序中,每行中只能写一条语句答案:N第2题(1.0分)题号:928C程序中的关键字必须小写. 答案:Y第3题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量. 答案:Y第4题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double 答案:Y第5题(1.0分)题号:947printf函数中,%c和%s都可以输出字符串. 答案:N第6题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5. 答案:Y第7题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句. 答案:Y激情活力精彩学联版权所有违者必究第8题(1.0分)题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y第9题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符. 答案:Y第10题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果. 答案:Y第11题(1.0分)题号:723若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". 答案:Y 第12题(1.0分)题号:709int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A. 答案:N第13题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句. 答案:Y第14题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案:Y第15题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式. 答案:N三、单项选择共20题(共计40分)第1题(2.0分)题号:2016设C语言中,int类型数据占2个字节,则short类型数据占().A:1个字节B:2个字节C:4个字节D:8个字节答案:B第2题(2.0分)题号:2209若变量已正确定义并赋值,下面符合C语言语法的表达式是().A:a:=b+1B:a=b=c+2C:int 18.5%3D:a=a+7=c+b 答案:B第3题(2.0分)题号:2000以下的选择中,正确的赋值语句是().A:a=1,b=2B:j++C:a=b=5;D:y=int(x) 答案:C第4题(2.0分)题号:2130下列字符序列中,是C语言保留字的是().A:sizeofB:include激情活力精彩学联版权所有违者必究C:scanfD:sqrt 答案:A第5题(2.0分)题号:2211设以下变量均为int类型,则值不等于7的表达式是().A:(x=y=6,x+y,x+1)B:(x=y=6,x+y,y+1)C:(x=6,x+1,y=6,x+y)D:(y=6,y+1,x=y,x+1) 答案:C第6题(2.0分)题号:2127下列程序段的输出结果为().float k=0.8567;printf("%4.1f%%",k*100);A:0085.6%%B:85.7%C:0085.6%D:.857 答案:B第7题(2.0分)题号:2135下列程序段的输出结果为().int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));A:1B:7C:3D:5 答案:C第8题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread() 答案:A第9题(2.0分)题号:2039若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("k=|%06D|\n");A:格式描述符不合法,输出无定值B:输出为k=|%06D|C:输出为|0-8567|D:输出为|-8567| 答案:B第10题(2.0分)题号:2049以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);激情活力精彩学联版权所有违者必究}A:11,10 B:9,10 C:010,9 D:10,9答案:B第11题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第12题(2.0分)题号:2259以下关于运算符优先顺序的描述中正确的是().A:关系运算符<算术运算符<赋值运算符<逻辑运算符B:逻辑运算符<关系运算符<算术运算符<赋值运算符C:赋值运算符<逻辑运算符<关系运算符<算术运算符D:算术运算符<关系运算符<赋值运算符<逻辑运算符答案:C第13题(2.0分)题号:2318在C语言中,要求运算数必须是整型的运算符是().A:&&B:%C:!D:|| 答案:B第14题(2.0分)题号:2261若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A:A%2==1B:!(A%2==0)C:!(A%2)D:A%2 答案:C第15题(2.0分)题号:2063执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第16题(2.0分)题号:2248下面有关 for 循环的正确描述是().激情活力精彩学联版权所有违者必究A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第17题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890 答案:A第18题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:### 答案:B第19题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i; 答案:A第20题(2.0分)题号:2249若i为整型变量,则以下循环执行次数是().for(i=2;i==0;) printf("%d",i--);A:无限次B:0次C:1次D:2次答案:B四、程序填空共3题(共计27分)第1题题目:要求输出结果为:A,B激情活力精彩学联版权所有违者必究#include<stdio.h>void main()/***********SPACE***********/{char a,【?】/***********SPACE***********/a=【?】;b='b';a=a-32;/***********SPACE***********/b=b-【?】;printf("%c, %c\n%d,%d\n",a,b,a,b);}答案:=======(答案1)=======b;=======(答案2)======='a'=========或=========97=======(答案3)=======32第2题(9.0分)题号:24题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。
中南大学2021年《C语言程序设计》期末考试试题及答案
一、判断题(每小题1分,共15分)1.标准C中,只有数值型数据才能进行4则混合运算。
2.标准C中,_a是合法的自定义标识符。
3.有定义:float f;表达式f+=(int)3.6%2”不符合C语言语法。
4.标准C中,逻辑运算的结果只有是1表示满足条件,而结果是0表示不满足条件。
5.C语言程序中要求被调用函数在调用函数中能被调用必须要在调用函数中进行声明。
6.以下运算符排列顺序满足按照优先级从高到低的排列:‘&&’、‘!’、‘==’、‘-’。
7.语句for(;;);是非法的。
8.在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数。
9.while和do-while的主要区别是后者至少无条件执行一次。
10.数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的。
11.当函数没有返回值类型时,表示函数类型为void。
12.C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式。
13.一个函数中只允许有一条return语句。
14.在C语言中,如果没有说明变量的存储类型是auto类型的。
15.由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值。
二、填空题(每空1分,共15分)1.若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是(1)。
2.计算表达式的值:4&&-4的值:(2);设int a=3,b=4,c=5,则表达式a||b+c&&b==c的值:(3);设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值:(4);设a=12,则表达式a*=a/5的值:(5);3.若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}则循环语句执行完后,z值为(6)。
4.变量的指针就是指该变量的(7)。
5.若有定义int (*p)[4],则标识符p是(8);若有定义int *p[4],则标识符p是(9);6.已有定义:char *p[ ]={“France”,“Chinese”,“Russia”,“America”};则语句printf(“%s”,p[2]);printf(“%c”,*(p[1]+2));printf(“%c”,*(*(p+1)+1));的输出结果分别为:(10)、(11)、(12)。
c语言期末复习试题附答案
试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
大学《C语言程序设计》期末考试试卷及参考答案
大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
云南师范大学《C语言》期末考试样卷及答案
云南师范大学《C语言》期末考试样卷及答案云南师范大学2011-2012学年下学期统一考试《计算机技术基础》(C语言)期末考试样卷考试方式(闭卷机考)考试时量:100分钟试卷编号(样卷)一、判断题:(每题1分,共15分)1.在C程序中,注释内容在编译时被忽略,因此好的C程序不需要注释。
BA.对B.错2.#define是一种特殊的C语句,在行末没有分号。
BA.对B.错3.C语言中表达式3%2是合法的表达式。
AA.对B.错4.在C程序中,赋值语句x=123和x=0123后,变量x的值是不同的。
AA.对B.错5.2&&3的结果为1。
AA.对B.错6.C程序总是从程序的第一条语句开始顺序执行。
BA.对B.错7.C语言中,函数的定义可以嵌套。
BA.对B.错8.结构体中的成员变量可以有不同的数据类型。
AA.对B.错9.出现在主调函数之前的用户自定义函数,可以不必加函数声明。
AA.对B.错10.C语言中用for循环语句实现的功能,用while循环语句不一定能实现。
BA.对B.错11.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为5的表达式是*(P+4)。
AA.对B.错12.字符串和字符数组都要求其最后一个字符为’\0’。
BA.对B.错13.合理使用共用体可以节省内存空间。
AA.对B.错14.函数是C程序的基本单位。
AA.对B.错15.全局变量在程序中的任何地方都有效。
BA.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共40分)1、下面叙述错误的是____。
DA.C程序中,各种括号应成对出现B.C程序中,赋值号的左边不可以是表达式C.C程序中,变量名的大小写是有区别的D.C程序中,若未给变量赋初值,则变量的初值自动为02.有宏定义:#define E 2.718则编译预处理时将E替换成一个____。
DA.单精度常量B.单精度变量C.双精度变量D.字符串3、C程序中,合法的关键字是____。
大学C++期末考试试卷(含答案)
一、单项选择题(每题2分,共40分)1-5。
BDABC 6—10. BDAAC11-15。
CADBB 16—20。
CADDAB 1。
______不是属于面向对象程序设计的特性A。
抽象性 B. 数据相关性 C. 多态性 D. 继承性D 2。
将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______A。
类 B. 虚函数 C. 运算符重载 D。
模板A 3. C++与C语言最根本的不同之处在于_______A。
使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用B 4. 动态内存分配的主要目的是_______A。
使程序按动态联编方式运行 B。
正确合理的使用内存C. 提高程序的运行速度D. 提高程序的可维护性C 5. 在C++函数的形参前加const关键字,是为了提高函数的_______A。
数据封装性 B。
可理解性 C。
可维护性 D. 可重用性B 6. 函数重载的目的是________A。
实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间D 7. 从程序片断:char name[] = ”C++”; course(name);可判断函数course的调用采用的是_______ A。
传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D。
传址调用A 8. 用来说明类中公有成员的关键字是________A。
public B. private C。
protected D。
friendA 9。
如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为A。
void print() const; B。
const void print();C。
void const print(); D。
void print(const);C 10. 下列关于构造函数的论述中,不正确的是_______A。
构造函数的函数名与类名相同 B. 构造函数可以设置默认参数C. 构造函数的返回类型缺省为int型 D。
南昌大学C++期末考试试卷(答案全)
南昌大学2003 ~2004 学年第二学期期末考试试卷A卷一单项选择题1.…A‟的ASCII码为65,n为int型,执行n =…A‟+…6‟-…3‟;后,n的值为 B 。
A)…D‟ B) 68 C) 不确定的值D) 编译出错2.下列变量名中, A 是合法的。
A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是 C 。
A)0 B) 5 C)6 D)24.若有定义int a=3, *p=&a ;则*p的值是 B 。
A)常量a的地址值B)3C)变量p的地址值D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。
A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。
6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。
A)…x‟&&…y‟ B)x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是 A 。
A) 0和…\0‟值相等。
B) 0和…0‟ 值相等。
C)…\0‟和…0‟ 值相等。
D) 0、…\0‟和…0‟ 值都不相等。
8. 若有说明语句:char ch=…\72‟;则变量ch A 。
A)包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D 是错误的。
A)C语言是C++的一个子集;B)C语言与C++是兼容的;C)C++对C语言进行了一些改进;D)C++和C语言都是面向对象的。
10.在下列关于类概念的各描述中, A 是错误的。
C语言程序设计期末考试卷及答案
C语⾔程序设计期末考试卷及答案C 语⾔程序设计期末考试卷及答案⼀、单项选择题。
从A 、B 、C 、D 四个选项中,选择⼀个最佳答案填⼊括号内(每⼩题1分,共计30分)。
1.⼀个C 语⾔程序的执⾏是从()。
A )本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束B )本程序的main 函数开始,到main函数结束C )本程序的main 函数开始,到本程序⽂件的最后⼀个函数结束D )本程序⽂件的第⼀个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语⾔关键字的是()。
A )switchB )printfC)default D )case3.设有语句inta=4;,则执⾏了语句a+=a-=a*a;后,变量a 的值是()。
A )24B )-24C )4D )164.已知inti;floatd;,则正确的表达式是()。
A )(intd)B )int(d)%iC )(int)d%iD )int(d%i) 5.已知inti,a;,执⾏语句i=(a=3*9,a/5),a+11;后,变量i 的值是()。
A )5 B )16C )27D )386.下列选项中合法的字符型常量是()。
A )"a"B )'\n'C )7.下⾯程序的运⾏结果是()。
#include voidmain() {intk=15;printf("k=%d,k=%o,k=%x\n",k,k,k);}A )k=15,k=15,k=15B )k=15,k=17,k=17C )k=15,k=017,k=0xfD )k=15,k=17,k=f 8.已知a,b,c 为int 类型,执⾏语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输⼊形式是()。
A )10B )10C )10,20,30D )102020203030 309.已知intx=1,y=2,z=3;,执⾏下列程序段后,输出的结果是()。
c语言期末考试题及其答案
建瓯市技工学校2015-2016年第二期C语言试题姓名:班级:成绩:一选择题每小题2分,共50分语言源程序的基本单位是 ;A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是 ;main{ int a=7,b=5;printf"%d\n",b=b/a;}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式a=5,b=2,a>ba++:b++,a+b的值是 ;A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是 ;a=; a=int%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D ,2,205.设有如下程序段,下面描述中正确的是 ;int k=10; whilek=0 k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次6.以下程序的输出结果为 ;int i;void prt{ fori=5;i<8;i++ printf"%c",'';printf"\t";}main{ fori=5;i<=8;i++ prt ;}A B C D7.在C语言程序中,以下说法正确的是;A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有个实参;funce1,e2,e3,e4,e5;A 2B 3C 5D 语法错误9.以下程序的输出结果为 ;define ADDx xxmain{ int a=4,b=6,c=7,d=ADDa+bc;printf"d=%d",d;}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配字节的空间;struct worker{ int no;char name20;char sex;union{ int day; int month; int year;}birth;} w;A 29B 20C 25D 611.设有以下定义,值为5的枚举常量是 ;enum week{sun,mon=4,tue,wed,thu,fri,sat} w;A tueB satC friD thu12.下面选项中正确的赋值语句是设 char a5,p=a; ;A p="abcd";B a="abcd";C p="abcd";D a="abcd";13.设有以下程序段,则值为6的表达式是 ;struct st { int n; struct st next;};static struct st a3={5,&a1,7,&a2,9,0 },p;p=&a0;A p++->nB ++p->nC p->n++D p.n++语言中的文件类型只有 ;A 索引文件和文本文件两种B 文本文件一种C 二进制文件一种D ASCII码文件和二进制文件两种15.已知函数fread的调用形式为freadbuffer,size,count,fp,其中buffer 代表的是 ;A 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数16.以下程序的输出结果为 ;main{ int i=010,j=10;printf"%d,%d\n",i++,j--;}17.设a为int型变量,执行下列赋值语句后,a的取值分别是 ;a=;a=3;a=int%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,,31,20D ,,2,2018.设i和k都是int类型,则for循环语句 ;fori=0,k=-1;k=1;i++,k++ printf"\n";A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环19.以下程序的输出结果为 ;main{ char c;int i;fori=65;i<68;i++{ c=i+32;switchc{ case 'a':case 'b':case 'c':printf"%c,",c;break;default:printf"end";}}}A a,b,c,endB a,a,a,endC a,a,a,D a,b,c,20.函数调用语句:fseekfp,-10L,2;的含义是 ;A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处21.以下程序的输出结果为 ;main{ char s140="country",s220="side";int i=0,j=0;whiles1i='\0' i++;whiles2j='\0' s1i++=s2j++;s1i=0;printf"%s\n",s1;}A sideB countryC sidetryD countryside22.下列说法不正确的是 ;A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效23.在下列程序段中,枚举变量 c1的值是 ;enum color { red,yellow,blue=4,green,white}c1; c1=yellow; c1=white;A 1B 3C 5D 624.设有说明 int ptr;其中标识符ptr是 ;A 是一个指向整形变量的指针B 是一个指针,它指向一个函数值是int的函数C 是一个函数名 D定义不合法25.定义由n个指向整形数据的指针组成的数组p,其正确的方式为 ;A int p;B int pn;C int pn;D int p ;二判断对错,对的划“√”,错的划“×”每小题1分,共20分1.在Turbo C中,整型数据在内存中占2个字节;2.int i=20;switchi/10{case 2:printf"A";case 1:printf"B";}的输出结果为A; 3.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环;4.函数的递归调用不过是一个函数直接或间接地调用它自身;5.函数strlen"ASDFG\n"的值是7;6.通过return语句,函数可以带回一个或一个以上的返回值;7.结构体类型只有一种;8.char p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl";9.若有定义:char pchar a10;则p是函数名;10.用fopen"file","r+";打开的文件"file"可以进行修改;11.参加位运算的数据可以是任何类型的数据;12.若有定义和语句:int a;char c;float f;scanf"%d,%c,%f",&a,&c,&f;若通过键盘输入:10,A,,则a=10,c=‘A’,f=;语言把文件看作是一个字符字节的序列;14.若有宏定义:define Sa,b t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的;15.在Turbo C中,下面的定义和语句是合法的:file fp;fp=fopen"","r";16.若有定义:char s ="china";则Turbo C系统为数组s开辟6个字节的内存单元;17.若有定义和语句:int a33={{3,5},{8,9},{12,35}},i,sum=0;fori=0;i<3;i++ sum+=ai2-i;则sum=21;18.若有定义和语句:struct student { int num; char name10; float score;} s5={{1,"lili",},{9,"xiaohua",66}},p=s;printf"%d",p++;输出结果是1;19.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量;20.在Turbo C中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=enum aa5;三、阅读下列程序,在处填入适当内容,使程序完整每个空5分,共30分1.有一个34矩阵,求其中的最大元素;max_value 1{ int i,j,max;max=array00;fori=0;i<3;i++forj=0;j<4;j++ifarrayij>maxmax=arrayij;2 ;}main{ int a34, i,j;fori=0;i<3;i++forj=0;j<4;j++3 ;printf“max value is %d\n”,max_valuea;}2.输入x、y两个整数,按先大后小的顺序输出x、y;include “”main{ int x,y, px,py, 4 ;scanf“%d%d”,&x,&y;5 ;6 ;ifx<y{ p=px; px=py; py=p; }printf“x=%d,y=%d\n”,x,y;printf“MAX=%d,MIN=%d\n”,px,py;}C语言考卷的答案一选择题每小题2分1. B2. C3. B4. B5. C6. A7. B8. A9. A10. C 11. A 12. A 13. B 14. D 15. B 16. C 17 .B 18. D 19.D 20. A 21. D 22. A 23. D 24. B 25. C二判断对错,对的划“√”,错的划“×”每小题1分1.×2.×3.√4.√5.×6.×7.×8.×9.√ 10.√11. × 12. √ 1 3. √ 14. × 15. ×16. √ 17. √ 18. × 19. √ 20. √四阅读下列程序,在处填入适当内容,使程序完整每个空5分1.1int array34int array4 2returnmax 3scanf“%d”,&aij2.4p 5px=&xpy=&y 6py=&ypx=&x2003C语言试题3一选择题24分,每小题2分1.已知函数fread的调用形式为freadbuffer,size,count,fp,其中buffer代表的是 ;A 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数2.以下程序的输出结果为 ;main{ int i=010,j=10;printf"%d,%d\n",i++,j--;}A 11,9B 9,10C 8,10D 9,93.设a为int型变量,执行下列赋值语句后,a的取值分别是 ;a=;a=3;a=int%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,,31,20D ,,2,204.设i和k都是int类型,则for循环语句 ;fori=0,k=-1;k=1;i++,k++ printf"\n";A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.以下程序的输出结果为 ;main{ char c;int i;fori=65;i<68;i++{ c=i+32;switchc{ case 'a':case 'b':case 'c':printf"%c,",c;break;default:printf"end";}}}A a,b,c,endB a,a,a,endC a,a,a,D a,b,c,6.函数调用语句:fseekfp,-10L,2;的含义是 ;A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为 ;main{ char s140="country",s220="side";int i=0,j=0;whiles1i='\0' i++;whiles2j='\0' s1i++=s2j++;s1i=0;printf"%s\n",s1;}A sideB countryC sidetryD countryside8.下列说法不正确的是 ;A 主函数main中定义的变量在整个文件或程序中有效B 不同函数中,可以使用相同名字的变量C 形式参数是局部变量D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效9.在下列程序段中,枚举变量 c1的值是 ;enum color { red,yellow,blue=4,green,white}c1; c1=yellow; c1=white;A 1B 3C 5D 610.设有说明 int ptr;其中标识符ptr是 ;A 是一个指向整形变量的指针B 是一个指针,它指向一个函数值是int的函数C 是一个函数名 D定义不合法11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为 ;A int p;B int pn;C int pn;D int p ;12.具有相同类型的指针类型变量p与数组a,不能进行的操作是 ;A p=a;B p=a0;C p=&a0;D p=&a;二判断对错,对的划“√”,错的划“×”20分,每小题2分1.参加位运算的数据可以是任何类型的数据;2.若有定义和语句:int a;char c;float f;scanf"%d,%c,%f",&a,&c,&f;若通过键盘输入:10,A,,则a=10,c=‘A’,f=;3.C语言把文件看作是一个字符字节的序列;4.若有宏定义:define Sa,b t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的;5.在Turbo C中,下面的定义和语句是合法的:file fp;fp=fopen"","r";6.若有定义:char s ="china";则Turbo C系统为数组s开辟6个字节的内存单元;7.若有定义和语句:int a33={{3,5},{8,9},{12,35}},i,sum=0;fori=0;i<3;i++ sum+=ai2-i;则sum=21;8.若有定义和语句:struct student { int num; char name10; float score;} s5={{1,"lili",},{9,"xiaohua",66}},p=s;printf"%d",p++;输出结果是1;9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量;10.在Turbo C中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=enum aa5;三写出下列程序的运行结果36分,每小题6分{ int i=29,j=6,k=2,s;s=i+i/j%k-9;printf“s=%d\n”,s;}{ int x=31,y=2,s=0;do{ s-=xy;x+=2;y-=3;} while x%3==0;printf“x=%d\ty=%d\ts=%d\n”,x,y,s; }{ int a6={10,20,30,40,50,60},i;inverta,0,5;fori=0;i<6;i++ printf“%d,”,ai; printf“\n”;}invertint s ,int i,int j{ int t;ifi<j{ inverts,i+1j-1;t=si;si=sj;sj=t;}}4.include<>main{ char str =“The C program”,c;int i;fori=2;c=stri=‘\0’;i++{ switchc{ case ‘g’: ++i; break;case ‘o’: continue;default: printf“%c”,c; continue;}printf“”;}printf“\n”;}w{ char low;char high;};union u{ struct w byte;short word;}uw;main{ int result;=0x1234;printf“word value:%04x\n”,;printf“high byte:%02x\n”printf“low byte:%02x\n”printf“word value:%04x\n”,;result=+0x2a34;printf“the result:%04x\n”,result;}6.main{ char s2=“I love China”,s1=&s2;char s3,c,s4=“w”;s3=&c;s3=‘H’;s2=s2+2;printf“%s\t%c\t%s\t%c\n”,s2,s3,s4,s1;}四阅读下列程序,在处填入适当内容,使程序完整20分,每个空2分1. 百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹main{ int hb,hm,hl,n=0;forhb=0;hb<=100;hb+= 1forhm=0;hm<=100-hb;hm+= 2{ hl=100-hb- 3 ;ifhb/3+hm/2+2 3 ==100{ n++;printf"hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2hl;}}printf"n=%d\n",n;}2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出; define N 10char strN;main{ int i,flag;forflag=1;flag==1;{ scanf"%s",str;flag=0;printf"\n";}sort___4___;fori=0;i<N;i++printf"%c",stri;printf"\n";}sortchar strN{ int i,j;char t;forj=1;j<N;j++fori=0;i<N-j&&stri='\0';i++ifstri>stri+1{ t=stri;____5____;____6____;}}3.以下程序是一个函数,功能是求二阶矩阵m行n列矩阵的所有靠外侧的各元素值之和;本程序中二阶矩阵用一维数组来表示;例如,矩阵为:3 0 0 32 5 7 31 0 4 2则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18;addint m,int n,int arr{ int i,j,sum=0;fori=0;i<m;i=i+m-1forj=0;j<n;j++sum=sum+ 7 ;forj=0;j<n;j=j+n-1fori=1; 8 ;i++sum=sum+arrin+j;returnsum;}4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值; define N 10main{ void maxminint arr,int pt1,int pt2,int n;int arrayN={10,7,19,29,4,0,7,35,-16,21},p1,p2,a,b; p1=&a; p2=&b;maxminarray,p1,p2,N;printf"max=%d,min=%d",a,b;}void maxminint arr,int pt1,int pt2,int n{ int i;pt1=pt2=arr0;fori=1;i<n;i++{ ifarri>pt1 9 ;ifarri<pt2 10 ;}}答案一选择题24分,每小题2分1. B2. C3. B4. D5. D6. A7. D 8. A 9. D 10. B 11. C 12. D 二判断对错,对的划“√”,错的划“×”20分,每小题2分1. ×2. √3. √4. ×5. ×6. √7. √8. ×9. √ 10. √三写出下列程序的运行结果36分,每小题6分1. s=20 =35 y=-4 s=-29 ,50,40,30,20,10,C pram value:1234 China H w lhigh byte:12low byte:34word value:1274the result:3ca8四阅读下列程序,在处填入适当内容,使程序完整20分,每个空2分1.1 3 2 2 3hm hl2.4 str 5 stri=stri+1 6 stri+1=t3.7 arrin+j或者arri10+j8 i<m-1或者i<=m-24.9 ptr1=arri 10 ptr2=arri。
《 电机拖动与控制C卷 》期末考试试卷附答案
《 电机拖动与控制C 卷 》期末考试试卷附答案一.填空题(每空1分,共22分)1. 按电流种类不同,动力电机又分为 电机和 电机。
2. 变压器等效电路中的X 0称为 ,R 0称为 。
3. 一台2kVA ,400/100V 的单相变压器,低压侧加100V ,高压侧开路,P 0=20W ;当高压侧加400V ,低压侧开路,则可测得P 0= W 。
4. 当s 在0<s<1范围内,三相异步电机运行于 状态;当s 在s<0范围内,三相异步电动机运行于 状态。
5. 三相绕线式异步电动机,当定子绕组加频率为50Hz 的额定电压在额定状态下运行,其额定转差率为04.0=N s ,则转子绕组中电量的频率为 Hz 。
6. 生产机械的负载特性主要有以下三种: 负载, 负载,通风机负载。
7. 三相异步电动机的制动状态主要有:能耗制动, 和回馈制动。
8. 三相同步电动机可以通过调节 来调节其功率因数。
9. 一般三相同步电动机的制动方式只有 。
10. 直流电机的励磁方式主要有 、 、 和复励。
11. 他励直流电动机的调速方法有 调速、 调速和 调速。
12. 步进电机的转角与 成正比,其转速与输入脉冲的 成正比。
13. 电动机在额定工作条件下的允许输出功率称为 。
二.判断题(每题2分,共26分)1. 磁场强度H 是描述磁介质中实际磁场强弱和方向的物理量。
( )2. 一台变压器一次电压U 1不变,二次侧接电阻性负载或接电感性负载,如果负载电流相等,则两种情况下,二次电压也相等。
( )3. 联结组别分别为Y ,d11和Y ,y0的两台变压器可以并联运行。
( )4. 改变三相电流的相序,可以改变三相旋转磁通势的转向。
( )5. 三相异步电动机的效率特性与变压器相似,也有效率最高点。
( )6. 电动机拖动生产机械起动的正常转矩条件是L S T T )2.1~1.1(≥。
( )7. 三相绕线式异步电动机提升位能性恒转矩负载,当转子回路串接适当的电阻值时,重物将停在空中。
2011-2012学年度第二学期C语言程序设计期末考试试卷和答案
************(本科)试卷(A 卷)2011--2012学年第 二 学期《C 程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带 入场40分每题1分):答案必须填写在答题卡的相应位置上,否则不得分。
.C 语言中字符型(char )数据在内存中的存储形式是________。
A 、原码 B 、反码 C 、补码 D 、ASCII 码 .C 语言中基本的数据类型包括________。
A 、整型、实型、逻辑型 B 、整型、实型、字符型 C 、 整型、字符型、逻辑型 D 、整型、实型、逻辑型、字符型 .在C 语言中,int 类型数据在内存中占用________。
A 、2字节 B 、4字节 C 、由编译系统决定 D 、由用户决定 .运算符有优先级,C 语言中关于运算符优先级的正确叙述是________。
A 、逻辑运算符高于算术运算符,算术运算符高于关系运算符; B 、算术运算符高于关系运算符,关系运算符高于逻辑运算符; C 、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符; D 、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。
.下面关于C 语言语句的叙述,错误的是________。
A 、C 语言一行可以允许写多条语句; B 、C 语言语句用分号结束; C 、语句一行写不下时,可以用逗号换行 ; D 、语句一行写不下时,可在任意一空格处回车换行 。
.下面数据中不属于字符型常量的是________。
A 、“\n ” B 、…\0‟ C 、…A ‟ D 、…\t ‟.11.以下选项中,当x 为大于1的奇数时,值为0的表达式__________ 。
A 、 x%2==1B 、 x/2C 、x%2!=0D 、x%2==0 .C 语言源程序名的后缀是__________ 。
A 、 .exeB 、 .C C 、 .objD 、 .cp9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是________。
C++期末考试试卷题库含答案
C++期末考试试卷题库(含答案)一、填空题1、C++控制台应用程序的上机步骤是,先通过编辑操作得到扩展名为.CPP 的源程序,再通过编译操作得到扩展名为.OBJ 的目标程序,最后通过连接操作得到扩展名为EXE 的可执行程序。
2、C++程序的三种基本结构分别是顺序结构、选择结构和循环结构。
3、在C++中,switch 语句只能用于整型、常量和字符型类型数据。
4、当定义的C++函数无返回值时,则函数类型用void 关键字声明。
在C++程序中函数直接或间接地调用该函数自身的过程,被称为递归函数。
5、面向对象程序设计中的抽象的作用是表示同一类事物的本质。
6、为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为私有的。
7、类可以体现数据的封装性和信息隐蔽。
8、类拥有两类成员,即数据成员和成员函数。
9、如果类A 继承自类B,则类A 称为派生类,类B 称为基类。
10、面向对象程序设计有四个主要特点:封装性、抽象性、继承性和多态性。
11、构造函数不需要用户来调用它,而是建立对象时自动执行。
12、析构函数的作用并不是删除对象,而是撤销对象占用的内存之前完成一些清理工作,使这部分内存可以被程序分配给新对象使用。
13、静态数据成员的初始化形式为数据类型类名::静态数据成员名=初值;。
14、在继承中由基类派生新类的过程经历了从基类接收成员、调整从基类接收的成员、在声明派生类时增加成员三个步骤。
15、在一个类中以另一个类的对象作为数据成员的,称为。
16、设置虚基类的目的是解决动态多态问题,可通过关键字virtual标识虚基类。
17、从系统实现的角度看,多态性可分为两类:动态多态性和静态多态性。
二、单项选择0、this指针知识点。
1、面向对象程序设计的英文缩写为( D )。
A、OOAB、OODC、OOTD、OOP2、在面向对象程序设计框架中,(D)是程序的基本单位。
A、对象B、函数C、块D、类3、一个C++控制台应用程序的执行是从(D)。
c语言期末考试卷答案
试卷编号:451所属语言:C语言试卷方案:2019-2020(2)C语言期中考试试卷总分:100分共有题型:4种一、判断共25题(共计25分)第1题(1.0分)题号:1114 难度:中第1章在C语言程序设计中,"/*"和"*/"之间的内容是C语言的注释.答案:Y第2题(1.0分)题号:1115 难度:易第1章c程序总是从程序的第一条语句开始执行.答案:N第3题(1.0分)题号:1152 难度:中第2章int k=8567;printf("|%-6d|\n",k);的输出为|008567|.答案:N第4题(1.0分)题号:1132 难度:中第2章C程序中的关键字必须小写,其他标识符不区分大小写.答案:N第5题(1.0分)题号:1174 难度:中第3章在C程序中,赋值运算符的优先级最低.答案:N第6题(1.0分)题号:1168 难度:中第3章若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真".答案:Y第7题(1.0分)题号:1164 难度:中第3章7&3+12的值是15.答案:N第8题(1.0分)题号:1173 难度:中第3章在C程序中,逗号运算符的优先级最低.答案:Y第9题(1.0分)题号:1172 难度:中第3章关系运算符<= 与 == 的优先级相同.答案:N第10题(1.0分)题号:1184 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x<=10;"后,t的值为1.答案:Y第11题(1.0分)题号:1181 难度:中第4章若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数据. 答案:N第12题(1.0分)题号:1179 难度:中第4章若a和b的类型相同,在执行了a=b;后,b中的值将丢失.答案:N第13题(1.0分)题号:1178 难度:中第4章x*=y+8 等价于 x=x*(y+8).答案:Y第14题(1.0分)题号:1180 难度:中第4章若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变. 答案:Y第15题(1.0分)题号:1182 难度:中第4章若a是实型变量,在执行了a=5;后,a将变为整型变量.答案:N第16题(1.0分)题号:1185 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0.答案:Y第17题(1.0分)题号:1186 难度:中第4章在C程序中,j++;是一条赋值语句.答案:Y第18题(1.0分)题号:1197 难度:中第5章与 if(E) 语句中的(E)等价的表达式是 (E==0).答案:N第19题(1.0分)题号:1187 难度:中第5章C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是任意的. 答案:N第20题(1.0分)题号:1198 难度:中第5章在C语言中,逻辑"真"等价于不等于0的数.答案:Y第21题(1.0分)题号:1189 难度:中第5章if后面的控制表达式可以不用括号括起来.答案:N第22题(1.0分)题号:1194 难度:中第5章int i=3,j=5; if(i>j);是正确的.答案:Y第23题(1.0分)题号:1190 难度:中第5章if语句后面的控制表达式只能使用关系表达式或逻辑表达式.答案:N第24题(1.0分)题号:1201 难度:中第5章开关语句switch最多可形成三个分支.答案:N第25题(1.0分)题号:1200 难度:中第5章int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A.答案:N二、单选共25题(共计25分)第1题(1.0分)题号:6170 难度:中第1章C语言程序的基本单位是().A:函数B:过程C:子程序D:子例程答案:A第2题(1.0分)题号:5214 难度:中第1章一个C语言程序是由().A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第3题(1.0分)题号:5284 难度:中第2章若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97), 则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch,k); printf("k=%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%dD:61,141,k=%12答案:C第4题(1.0分)题号:5232 难度:中第2章C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().A:必须为字母B:必须为下划线C:必须为字母或下划线D:可以是字母,数字和下划线中任一字符答案:C第5题(1.0分)题号:5343 难度:中第3章若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第6题(1.0分)题号:6234 难度:中第3章语句printf("%d",(a=2)&&(b=-2));的输出结果是().A:无输出B:结果不确定C:-1D:1答案:D第7题(1.0分)题号:5301 难度:中第3章C语言能正确处理的指数是().A:8.5e4288B:e-32C:123000000000D:4.5e-5.6答案:C第8题(1.0分)题号:5350 难度:中第3章下列运算符中优先级最高的是().A:<B:+C:&&D:!=答案:B第9题(1.0分)题号:5304 难度:中第3章逻辑运算符两侧运算对象的数据类型().A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第10题(1.0分)题号:5384 难度:中第4章以下不符合C语言语法的赋值语句是().A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第11题(1.0分)题号:5374 难度:中第4章若有以下定义:char s='\092'; 则该语句().A:使s的值包含1个字符B:定义不合法,s的值不确定C:使s的值包含4个字符D:使s的值包含3个字符答案:B第12题(1.0分)题号:5380 难度:中第4章先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(). A:c='a';B:c="a";C:c="97";D:C='97'答案:A第13题(1.0分)题号:6244 难度:中第4章能正确表示a和b同时为正或同时为负的逻辑表达式是().A:(a>=0||b>=0)&& (a<0||b<=0)B:(a>=0&&b>=0)&& (a<0&&b<=0)C:(a+b>0)&& (a+b<=0)D:a * b >0答案:D第14题(1.0分)题号:5379 难度:中第4章下列语句的结果是().main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3B:3,4C:4,3D:4,4答案:D第15题(1.0分)题号:6246 难度:中第4章下列关于switch语句和break语句的结论中,正确的是().A:break语句是switch语句中的一部分B:在switch语句中可以根据需要使用或不使用break语句C:在switch语句中必须使用break语句D:break语句只能用于switch语句中答案:B第16题(1.0分)题号:6251 难度:中第4章有一函数如图: ,以下程序段中不能根据x值正确计算出y值的是().A:if(x >0) y =1;else if(x = =0) y =0;else y = -1;B:y =0;if(x >0) y =1;else if (x <0) y = -1;C:y=0;if(x > =0)if(x >0) y =1;else y =-1;D:if(x > =0)if(x >0) y =1;else y =0;else y = -1;答案:C第17题(1.0分)题号:5370 难度:中第4章若变量均已正确定义并赋值,以下合法的C语言赋值语句是().A:x=n/2.5;B:x==5;C:x+n=I;D:5=x=4+1;答案:A第18题(1.0分)题号:5400 难度:中第5章int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第19题(1.0分)题号:5401 难度:中第5章int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第20题(1.0分)题号:6274 难度:中第5章有以下程序段:int k=0;while(k=1)k++;while循环执行的次数是().A:无限次B:有语法错误,不能执行C:一次也不执行D:执行一次答案:A第21题(1.0分)题号:6275 难度:中第5章以下程序中,while循环的循环次数是().#include<stdio.h>void main(){ int i=0;while(i<10){ if(i<1) continue;if(i= =5) break;i++; }……}A:1B:10C:6D:死循环,不能确定次数答案:D第22题(1.0分)题号:5407 难度:中第5章在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式().A:只能用逻辑表达式B:只能用关系表达式C:只能用逻辑表达式或关系表达式D:可用任意表达式答案:D第23题(1.0分)题号:6256 难度:中第5章下列程序执行后的输出结果是().void main(){ int k=5;while(--k) printf("%d",k-=3);printf("\n"); }A:1B:2C:4D:死循环答案:A第24题(1.0分)题号:5408 难度:中第5章执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第25题(1.0分)题号:6268 难度:中第5章在while(x)语句中的x与下面条件表达式等价的是().A:x= =0B:x= =1C:x!=1D:x!=0答案:D三、程序填空共3题(共计30分)第1题(10.0分)题号:961 难度:中第3章/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为: 2,在程序中定义的变量名要与公式的变量相同)。
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
C语言期末考试题(含答案)
《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。
B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C )C 语言源程序经编译形成的二进制代码可以直接运行。
D )C 语言中的函数不可以单独进行编译。
2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( )A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不.相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语言中用于结构化程序设计的3种基本结构是( )A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下面条件表达式等价的是( )A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#include <stdio.h>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#include <stdio.h>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执行后的输出结果是( )A )自然数1~9的累加和B )自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);二、填空题(10x2’=20’)11、C语言描述“x和y都大于或等于z”的表达式是:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟题一一、单项选择题(本大题共10 小题,每小题2 分,共20 分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填在题后的括号。
错选或未选均无分。
1.在C++中,函数原型不能标识( )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过( )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为( )A.0B.1C.2D.34.下面函数模板定义中不正确的是()A.template<class Q>B.template<class Q>QF(Qx){ QF(Qx){return Q+x; return x+x;} }C.template<class T>D.template<class T>TF(Tx){ TF(Tx){return x*x; return x>1;} }5.友元关系不能( )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率6.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且( )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说确的是( )A.联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的联函数必须在类体定义D.类的联函数必须在类体外通过加关键字inline 定义8.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是( )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( )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;}};下面正确的叙述是( )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数二、填空题(本大题共10 小题,每小题2 分,共20 分)不写解答过程,将正确的答案写在每小题的横线处。
错填或不填均无分。
11.定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。
12.在C++程序设计中,建立继承关系倒挂的树应使用_________继承。
13.表达式cout<<end1 还可表示为_________。
14.基类的公有成员在派生类中的访问权限由_________决定。
15.C++支持的两种多态性分别是_________多态性和_________多态性。
16.C++中语句const char * const p=″hello″;所定义的指针p 和它所指的容都不能被_________。
17.假定AB 为一个类,则语句AB(AB&x);为该类_________构造函数的原型说明。
18.将关键字const 写在成员函数的_________和_________之间时,所修饰的是this 指针。
19.在C++中,访问一个对象的成员所用的运算符是_________,访问一个指针所指向的对象的成员所用的运算符是_________。
20.派生类从一个或多个以前定义的该类的____模拟题一参考答案一、单项选择题(本大题共10 小题,每小题2 分,共20 分)1.D2.B3.B4.A5.A6.A7.B8.D9.C 10.C第二部分非选择题(共80 分)二、填空题(本大题共10 小题,每小题2 分,共20 分)11.无参12.单一(或单)13.cout<<′\n′(或cout<<′\12′,或cout<<′\xA′,或其它等价形式)14.访问控制(或其它等价形式)15.编译时的(或静态,或操作重载)运行时的(或动态,或虚函数)16.改变(或重新赋值)17.复制初始化(或拷贝)18.函数头(或参数表) 函数体19.成员选择运算符(或“.”) 成员访问运算符(或“>”)20.基类模拟题二一、单项选择题(每题2分,共20分)1. 派生类对象可访问基类中的什么成员()A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员2. 定义析构函数时,应该注意()。
A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句3. 如果类A被说明成类B的友元,则( )。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元4. 应在下列程序划线处填入的正确语句是()#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. 面向对象程序设计将数据与( )放在一起,做为一个相互依存、不可分割的整体来处理。
7. 在派生类中重新定义虚函数时必须在( )方面与基类保持一致。
8. 下面关于C++中类的继承与派生的说法错误的是( )。
A .基类的protected 成员在公有派生类的成员函数中可以直接使用B .基类的protected 成员在私有派生类的成员函数中可以直接使用C .公有派生时,基类的所有成员访问权限在派生类中保持不变D .基类的protected 成员在保护派生类的成员函数中可以直接使用10. 语句 ofstream f(″SALARY.DAT ″,ios::app |ios::binary); 的功能是建立流对象 f ,试图打开文件 SALARY.DAT 并与之连接,并且 ( )A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件二、填空题(每空2分,共30分)1. 假定 AB 为一个类,则语句 AB(AB&x) ;为该类 _________ 构造函数的原型说明。
2. C++ 支持的两种多态性分别是 _________ 多态性和 _________ 多态性。
A. 对数据的操作 B. 信息 C. 数据隐藏 D. 数据抽象6. 在类中声明转换函数时不能指定( )。
A. 参数B. 访问权限C. 操作D. 标识符A. 参数类型B. 参数名字C. 操作容D. 赋值9. 重载赋值操作符时,应声明为( )函数。
A. 友元B. 虚C. 成员D. 多态3. 定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。
4. 运算符重载时,其函数名由构成。
成员函数重载双目运算符时,左操作数是,右操作数是。
5.C++标准库中的异常层次的根类为类;MFC类库中绝大多数类都源自根类类。
6.在下面横线处填上适当字句,完成类中成员函数的定义。
class A{int*a;public:A(int aa=0){a=_________; //用aa初始化a所指向的动态对象}~A(){_________;}//释放动态存储空间};7.C++支持面向对象程序设计的四个要素是:封装性、继承性、和。
8.模板分为模板和模板。
模拟题二参考答案一、单项选择题(每题2分,共20分)1.A 2. C 3. D 4. C 5. A 6. A 7. A 8. C 9. C 10. A二、填空题(每空2分,共30分)1.拷贝或复制2.运行(时) 编译(时)(二者位置可互换)(或改为静态和动态也可)3.无参(缺省或默认均可)4.operator运算符(运算符可写为,若没写扣1分)(当前)对象函数的形参(参数)5.exception(若e写为大写字母则扣0.5分,单词稍微写错扣0.5分)CObject(字母CO为大写字母,写为小写各扣0.5分)6.new int(aa) delete a(有new、delete各给1分,int给0.5分)7.抽象性多态性(二者位置可互换)8.类函数(二者位置可互换)模拟题三一、单项选择题(每题2分,共20分)1. 在下面选项中,对类的拷贝构造函数的声明形式是()A. A::A(&)B. A::A(constA&)C. A::A(A)D. void A::A(A&a)2. 下面关于成员函数特征的描述中,错误的是()A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是联函数D.成员函数可以是静态的3. 下面关于类模板叙述不正确的是()A.可以有多个构造函数 B. 类模板是模板类的实例C. 一个类模板可以用来实例化多个模板类D. 类模板可以有多个参数4. 要使一个类成为抽象类,这个类应具有的条件是()A.至少有一个纯虚函数 B. 至少有一个虚函数C. 只含有一个纯虚函数D.只含有一个虚函数5. 有关运算符重载正确的描述是()A. C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能6. 下列说确的是()。