C++试题

合集下载

C语言基础知识 试题 精选

C语言基础知识 试题 精选

C语言基础知识试题精选work Information Technology Company.2020YEARC语言基础知识题目精选[1] 下面叙述中正确的是__B__。

A.调用函数时的实参只能是有确定值的变量B.return( )语句中的括号中,可以是变量,常量或有确定值的表达式C.C语言中,函数调用时实参变量和形参变量间的参数传递方式都不是值传递D.实参和形参若类型不匹配,编译时将报错[2]下面叙述中错误的是__A__A.主函数中定义的变量在整个程序中都是有效的B.在其它函数中定义的变量在主函数中也不能使用C.形式参数也是局部变量D.复合语句中定义的函数只在该复合语句中有效[3]下列说法中正确的是__A__。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[4] 完成将文件指针fp重新指向文件的开头位置的函数是__D__。

A.feof(fp)B.ferror(fp)C.fseek(fp)D.rewind(fp)[5] 下面说法中错误的是_D___。

A.以二进制形式输出文件,则文件的内容与内存中完全一致B.定义:int a=123;若以ASCII文件的形式存放,变量a将在磁盘上占三个字节C.C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的D.C语言的文件中,数据以记录为界线,便于区分[6]. C语言中,switch后的括号内表达式的值可以是__D__。

A.只能为整型B.只能为整型,字符型,枚举型C.只能为整型和字符型D.任何类型[7.] 若函数的形参为一维数组,则下列说法中正确的是_B___。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[8]. 系统的标准输出文件是_D___。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A、整型常量B、整型表达式C、整形常量或整形表达式D、任何类型的表达式2、以下对一维整型数组a的正确说明是____A、int a(10) ;B、int n=10,a[n];C、int n;scanf(“%d”,&n);int a[n];D、#define SIZE 10int a[SIZE];3、若有定义:int a[10],则对数组a元素的正确引用是A、a[10]B、a[3.5]C、a(5)D、a[10-10]4、以下能对一维数组a进行正确初始化的语句是。

A、int a[10]={0,0,0,0,0};B、int a[10]={} ;C、int a[ ] = {0} ;D、int a[10]={10*1} ;5、若有定义:int a[3][4],则对数组a元素的正确引用是________A、a[2][4]B、a[1,3]C、a(5)D、a[10-10]6、以下能对二维数组a进行正确初始化的语句是_______A、int a[2][]={{1,0,1},{5,2,3}} ;B、int a[][3]={{1,2,3},{4,5,6}} ;C、int a[2][4]={{1,2,3},{4,5},{6}} ;D、int a[][3]={{1,0,1},{},{1,1}} ;7、若有说明:int a[3][4]={0};则下面正确的叙述是_______A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值08、下面是对s的初始化,其中不正确的`是_____A、char s[5]={“abc”};B、char s[5]={‘a’,’b’,’c’,’d’,’e’,’0’};C、char s[5]=””;D、char s[5]=”abcdef”;二、程序填空1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。

C语言试卷01

C语言试卷01

C语言试题(一)1.下列关于C语言用户标识符的叙述中正确的是______。

A. 用户标识符中可以出现下划线和中划线(减号)B. 用户标识符中不可以出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.以下叙述不正确的是A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面3.下面能正确进行字符串赋值操作的语句是A.char s[5]={"ABCDE"};B.chars[5]={'A','B','C','D','E'};C.char *s;s="ABCDEF";D.char *s; scanf("%s",s);4.下列叙述中正确的是A. C语言编译时不检查语法B. C语言的子程序有过程和函数两种C. C语言的函数可以嵌套定义D. C语言的函数可以嵌套调用5.以下程序输出的结果是____。

main( ){ float a=5,b=4,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 46.设int a=5,b=6,表达式(b--==6)?++a:--b的值是___A. 5B. 6C. 7D. 47.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为___ 。

for(i=0, j=10; j>=i; i++, j--)k=i+j;A. 10B. 20C. 8D. 08.能正确表示逻辑关系:"1≤a≤9"的C语言表达式是A. a>=1 or a<=9B. a>=1且a<=9C. a>=1&&a<=9D. 1≤a≤99.有以下程序main(){int i=0,k=2;if(++i)printf("%d",k);else printf("%d",-k)}执行后输出结果是A. -2B. 2C. 0D. 110.执行下面的程序段后,变量k中的值为int k=3, s[2];s[1]=k; k=s[1]*10;A.不定值 B.33 C.30 D.10 11.若有以下说明和语句,则输出结果是______。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言试题和答案大全

C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。

A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。

A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。

A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。

A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。

A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。

A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。

A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。

A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。

A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。

(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。

(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。

C语言基础知识测试题-全面完整

C语言基础知识测试题-全面完整

基础知识测试题一.单项选择题1.以下不正确的C语言标识符是(D )A. ABCB. abcC. a_bcD. ab.c2.以下正确的C语言标识符是( C)A. %xB. a+bC. a123D. test!3.一个C语言程序的执行是从(A )。

A. main( )函数开始,直到main( )函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main( )函数开始,直到最后一函数结束4.在C语言程序中,main(C )的位置()。

A. 必须作为第一个函数B.必须作为最后一个函数C.任意D.必须放在它所调用的函数之后5.一个C语言程序是由(B )。

A. 一个主程序和若干个子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成6.C语言源程序的基本单位是(B)。

A. 过程B. 函数C. 子程序D. 标识符7.编辑程序的功能是(A)。

A. 建立并修改程序C.将C源程序编译成目标程序D.调试程序E.命令计算机执行指定的操作8.C编译程序是(D)。

A. C语言程序的机器语言版本B. 一组机器语言指.D. 将C源程序编译成目标程序的程序F. 由制造厂家提供的一套应用软件B9.不属于字符型常量的是( D )A.'A'B."B"C.'\n'D.'\x72'10 .设char ch; 以下正确的赋值语句是:(B )A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";11 .以下使i的运算结果为4的表达式是(D )A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=2;A12 .若t为double类型,表达式t=1,t+5,t++的值是(D)A.1B.6.0 CC13.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是( B)A.0,0B.0,1C.1,0D.1,1B14 .执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(CA.3,3,2B.3,2,2C.3,2,3D.2,3,2B15 .若a=1,b=2,c=3,d=4,则条件表达式a<b?a:a<d?c:d的值为(A )A.1B.2C.3D.416 .设int n=7;则++n+1= =9的结果是(C )A.trueB.falseC.1D.017 .设a=2,b=2;则++a+b的结果是(d),a的结果是(b),b的结果是(a)A.2B.3C.4D.518 .设a=2,则执行b=a==!a;语句后,b的结果是( A)A.0B.1C.2D.319 .设有以下语句,则c的二进制值是()char a=3,b=6,c;c=a^b<<2;A.00011011B.00010100C.00011100D.0001100020 .在C语言类型说明中,int、char、short等类型的长度是( A )A.固定的B.由用户自己定义的C.任意的D.与机器字的长度有关的二.填空题1.C语言中的标识符只能由三种字符组成,它们是、、。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

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

面向对象程序设计模拟试题(1)一、单选题:12分,每题02分1、设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为()。

A:1 B:0C:与x值相同D:与x值相反2、在下面循环语句中循环体执行的次数为()。

for(int i=0; i<n; i++)if(i>n/2) break;A:n/2 B:n/2+1C:n/2-1 D:n-13、 switch语句能够改写为()语句。

A:for B:ifC:do D:while4、在下面的一维数组定义中,哪一个有语法错误。

()A:int a[]={1,2,3}; B:int a[10]=;C:int a[]; D:int a[5];5、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。

A:0 B:4C:8 D:66、以下说法中正确的是()。

A:C++程序总是从第一个定义的函数开始执行B:C++程序总是从main函数开始执行C:C++函数必须有返回值,否则不能使用函数D:C++程序中有调用关系的所有函数必须放在同一个程序文件中7、以下叙述中不正确的是()。

A:在一个函数中,可以有多条return语句B:函数的定义不能嵌套,但函数的调用可以嵌套C:函数必须有返回值D:不同的函数中可以使用相同名字的变量8、函数原型语句正确的是()。

A:int Function(void a); B:void Function (int);C:int Function(a); D:void int(double a);9、设有如下函数定义int f(char *s) {char *p=s;while(*p!=’’) p++;return(p-s);}在主函数中用cout<<f(“good”)调用上述函数, 则输出结果为()。

A:3 B:4C:5 D:610、以下错误的描述是()。

A:被调用函数中可以不用return语句B:被调用函数中可以用多个return语句C:被调用函数中,如果有返回值,就一定要有return语句D:被调用函数中,一个return语句可返回多个值给调用函数11、定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。

A:int *p=new int[30]; B:*p=new int[30];C:int *p=new [30]; D:int *p=new int(30);12、关于封装,下列说法中不正确的是()。

A:通过封装,对象的全部属性和操作结合在一起,形成一个整体B:通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C:通过封装,每个对象都成为相对独立的实体D:通过封装,对象的属性都是不可见的13、在类作用域中能够通过直接使用该类的()成员名进行访问。

A:私有B:公用C:保护D:任何14、在关键字public后面定义的成员为类的()成员。

A:私有B:公用C:保护D:任何15、在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于()中。

A:主文件B:实现文件C:库文件D:头文件16、假定AB为一个类,则执行“AB *s=new AB(a,5);”语句时得到的一个动态对象为_______。

A:s B:s->aC:s.a D:*s17、假定AB为一个类,则( )为该类的拷贝构造函数的原型说明。

A:AB(AB x); B:AB(AB& x);C:void AB(AB& x); D:AB(int x);18、假定AB为一个类,则执行“AB a(2), b[3], *p[4];”语句时共调用该类构造函数的次数为( )。

A:3 B:4C:5 D:919、类的构造函数可以带有( )个参数。

A:0 B:1C:2 D:任意20、引入友元的主要目的是为了()。

A:增强数据安全性B:提高程序的可靠性C:提高程序的效率和灵活性D:保证类的封装性二、编程综合题:32分,每题08分21、#include<iostream.h>#include<string.h>void main() {char a[5][10]={"student","worker","soldier","cadre","peasant"};char s1[10], s2[10];strcpy(s1,a[0]); strcpy(s2,a[0]);for(int i=1;i<5;i++) {if(strcmp(a[i], s1)>0) strcpy(s1,a[i]);if(strcmp(a[i], s2)<0) strcpy(s2,a[i]);}cout<<s1<<’’<<s2<<endl;}参考答案:worker cadre //6分,每个数据3分三、简答题:32分,每题08分22、求出从键盘上输入的10个整数中的最大值,要求输入变量用x表示,存储最大值的变量用max表示。

参考答案:#include<iostream.h>void main(){int x,max;cin>>x;max=x;for(int i=0;i<9;i++) {cin>>x;if(x>max) max=x;}cout<<"max:"<<max<<endl;}23、根据下面类中MaxMin 函数成员的原型和注释写出它的类外定义。

class AA {int* a;int n;int MS;public:void InitAA(int aa[], int nn, int ms) {if(nn>ms) {cout<<"Error!"<<endl; exit(1);}MS=ms;n=nn;a=new int[MS];for(int i=0; i<n; i++) a[i]=aa[i];}int MaxMin(int& x, int& y); //从数组a的前n个元素中求出//最大值和最小值,并分别由引用参数x和y带回,//同时若n大于0则返回1,否则返回0。

};参考答案:int AA::MaxMin(int& x, int& y){int mx,my;mx=my=a[0];for(int i=1; i<n; i++) {if(a[i]>mx) mx=a[i];if(a[i]<my) my=a[i];}x=mx; y=my;if(n>0) return 1; else return 0;}24、根据下面类中Uion函数的原型和注释写出它的类外定义。

class Strings {char *s; //指向动态分配的字符串数组空间int n; //记录字符串长度public:Strings(char*str); //构造函数,利用str字符串长度初始化n,//利用str字符串初始化s所指的字符串空间Strings(Strings& str); //拷贝构造函数Strings& Give(Strings& str); //实现str赋值给*this的功能并返回*this Strings Uion(Strings& str); //实现*this和str中的字符串连接的功能, //把连接结果存入临时对象并返回int Lenth() {return n;} //返回字符串长度void Print() {cout<<s<<endl;} //输出字符串};参考答案:Strings Strings::Uion(Strings& str) {Strings r("");r.n=n+str.n;r.s=new char[r.n+1];strcpy(r.s,s);strcat(r.s,str.s);return r;}25、下列程序段中,A_class的成员函数Variance()可求出两数的平方差,请改写该程序段,把Variance()函数从A_class类中分离出来,用友元函数来实现该函数的功能。

class A_class {private:int x,y,t;public:A_class(int i,int j):x(i),y(j) {if(y>x){t=x;x=y;y=t;}}int Variance(){return x*x-y*y;}//其它函数从略};void main() {A_class A_obj(3,5);cout<<"Result:"<<A_obj.Variance()<<endl;}参考答案:class A_class {private:int x,y,t;public:A_class(int i,int j):x(i),y(j){if(y>x){t=x;x=y;y=t;};}//其它函数从略friend int Variance (A_class& ac); //参数名任意};int Variance (A_class& ac){return ac.x*ac.x-ac.y*ac.y;}void main() {A_class A_obj(3,5);cout<<"Result:"<<Variance(A_obj)<<endl;}四、填空题(主观):24分,每题06分26、一个函数的函数体就是一条_________语句。

参考答案:复合27、假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为__________和__________。

参考答案:41128、在C++中存储字符串”abcdef”至少需要________个字节。

参考答案:729、假定x是一个逻辑量,则!x || false的值为__________。

参考答案:!x30、若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为__________。

参考答案:cin>>a31、一个二维字符数组a[10][20]能够存储________个字符串,每个字符串的长度至多为________。

参考答案:101932、已知int cubin(int n){return n*n*n;}和double cubin(double n){return n*n*n;}是一个函数模板的两个实例,假定类型参数用T表示,则该函数模板的定义是__________________________________。

相关文档
最新文档