C语言程序设计期末练习(填空题)资料
- 格式:doc
- 大小:93.01 KB
- 文档页数:11
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10;switch(i+1){ case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1;}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e);中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0 D) 运行时出错(5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c9.有以下函数定义:(c)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)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(b)A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100;int num[N]; int num[N];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二)阅读程序,写出程序运行结果(1) #include<stdio.h>main(){ char ch=’A’;ch=(ch>=’A’&& ch<=’Z’)?(ch+32):ch;printf(“%c”,ch);}程序的运行结果是:(2) #include<stdio.h>main( ){ int sum=0,i=11;while (i<=10){sum=sum+i;i++;}printf(“%d”,sum);}程序的运行结果是:(3) #include<stdio.h>main(){ char str[ ]=”1a2b3c”;int i;for(i=0;str[i]!=’\0’;i++)if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]);}程序的运行结果是:(4) main(){ int a,b;a=5;b=8;p(a,b);p(a+b,a);}p(int x,int y){y=x+y;printf(“%d %d”,x,y);}程序的运行结果是:(5) #include<stdio.h>void main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int j,s=1;for(j=0;j<=2;j++)s=s*a[j][j];printf("%d",s);}程序的运行结果是:Key: (1) a (2) 0 (3) 123 (4) 5 13 13 18 (5) 45 三)改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句)(1)下段程序的功能是先输入一个整数,然后将输入的整数输出。
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
面向对象程序设计期末综合练习二〔填空题〕填空题1. C++语言是在_________语言的根底上开展起来的。
2. C++语言的编译单位是扩展名为__________的__________文件。
3. 行尾使用注释的开场标记符为__________。
4. 多行注释的开场标记符和完毕标记符分别为__________和__________。
5. 用于输出表达式值的标准输出流对象是_________。
6. 用于从键盘上为变量输入值的标准输入流对象是________。
7. 一个完整程序中必须有一个名为________的函数。
8. 一个函数的函数体就是一条_________语句。
9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
10. 在C++程序中包含一个头文件或程序文件的预编译命令为__________。
11. 程序中的预处理命令是指以______字符开头的命令。
12. 一条表达式语句必须以______作为完毕符。
13. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
14. 使用#include命令可以包含一个头文件,也可以包含一个______文件。
15.一个函数定义由________和________两局部组成。
16.假设一个函数的定义处于调用它的函数之前,则在程序开场可以省去该函数的______语句。
17.C++头文件和源程序文件的扩展名分别为______和______。
18.程序文件的编译错误分为________和________两类。
19.当使用_______保存字作为函数类型时,该函数不返回任何值。
20.当函数参数表用______保存字表示时,则表示该参数表为空。
21.从一条函数原型语句“int fun1(void);〞可知,该函数的返回类型为______,该函数带有______个参数。
一、填空共219题第1题题号:422设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 .Struct stud{ char num[6];int s[4];double ave;} a,*p;答案:1). 22第2题题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:1). 3第3题题号:496静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.答案:1). 编译2). 函数调用第4题题号:96已知a=13,b=6, a&b的十进制数值为【1】.答案:1). 4第5题题号:398程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案:1). 0第6题题号:651设w=5;w+= -2;则w的值为【1】.答案:1). 3第7题题号:258下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf("%d\n",a);答案:1). 12第8题题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:1). 1第9题题号:402设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数是【1】.答案:1). 11110000第10题题号:311若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n");答案:1). YESYES第11题题号:663int x=2;z=++x+1; 则z的值为【1】.答案:1). 4第12题题号:1442设有int x=11,则表达式(x++ * 1/3)的值是【1】。
期末复习填空题部分一、填空题1 设x为int型变量,写出描述“x是偶数与y是奇数”的表达式是x%2==0 && y%2==1 。
2 以下程序的输出结果是-27 。
#include<>void main(){ char c;c=0345;printf("%d\n",c);}3 设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是-12 。
4 若float x;以下程序段的输出结果是x=;printf("%f\n",(int)(x*1000+/(float)1000);5 下面的程序运行时从键盘上输入90<回车>,程序的输出结果是a=123,b=,c=789。
#include<>void main(){int a;float b,c;scanf("%3d%3f%3f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}6 若输入字符串:abcdefg<回车>,则以下while循环体将执行0 次。
while((ch=getchar())=='g') printf("*");7 下面程序的输出结果是_67,D__。
main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}8 执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是20 。
9 下列程序的输出结果是3,2 -1 。
文案大全C 语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ){ int k = 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 = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
C语言程序设计习题-填空题C语言程序设计习题(填空题习题1(填空题)[知识点:基础知识C源程序的基本单位是______。
习题1-参考答案函数习题2(填空题)[知识点:基础知识]一个C源程序中至少应包括一个______习题2-参考答案main()函数习题3(填空题)[知识点:基础知识在一个C源程序中,注释部分两侧的分界符分别为______。
习题3-参考答案/*和*/习题4(填空题)[知识点:基础知识在C语言中,输入操作是由库函数______完成的。
习题4-参考答案scanf()习题5(填空题)[知识点:基础知识在C语言中,输出操作是由库函数______完成的。
习题5-参考答案printf()习题6(填空题)[知识点:数据类型在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数、一个int型数据在内存中所占的字节数分别为______。
习题6-参考答案1和2习题7(填空题)[知识点:数据类型在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数、一个double型数据在内存中所占的字节数分别为______。
习题7-参考答案4和8习题8(填空题)[知识点:数据类型若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是______。
习题8-参考答案习题9(填空题)[知识点:数据类型在C语言中的实型变量分为两种类型,它们是______。
习题9-参考答案float和double习题10(填空题)[知识点:基础知识C语言所提供的基本数据类型包括:______。
习题10-参考答案单精度型、双精度型、字符型、整型、枚举类型习题11(填空题)[知识点:数据类型1/25C语言程序设计习题-填空题若s是int型变量,则表达式s%2+(s+1)%2的值为______。
习题11-参考答案1习题12(填空题)[知识点:数据类型若a 是int型变量,则表达式(a=4*5,a*2),a+6的值为______。
C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。
3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。
4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。
6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。
函数可以没有返回值,此时函数类型为 void 。
7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。
8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
一、单项选择题(每题1分,共20分)(1)()是构成C语言程序的基本单位。
A)子例程B)过程C)子程序D)函数(2)下面标识符中正确的是()。
A) d&ef B) 6a C) z4x5c D) a3/b4(3)C语言规定,函数返回值的类型是由()。
A) return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4)以下选项中非法的表达式是()。
A) 0<=x<100 B) x+l=x+l C) (char)(65+3) D) i=j=0(5)表达式3.6-5/2+1.2+5%2 的值是()。
A) 3.8 B) 4.8 C) 3.3 D) 4.3(6)设int a=12,则执行完语句a+=a-=a*a后,a的值是()。
A) 552 B) -264 C) 144 D) 264(7)对if语句中表达式的类型,下面正确的描述是()。
A)必须是关系表达式B)必须是关系表达式或逻辑表达式C)必须是关系表达式或算术表达式D)可以是任意表达式⑻设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是.A) *p=*q; B) p=q; C) *p=&nl; D) p=*q;(9)有以下程序#include <stdio.h>void main()( char cl,c2;cl='A'+'8'*4';c2='A'+'8'-'5‘;printf("%c,%d\n”,cl,c2); }已知字母A的ASCII码为65,程序运行后的输出结果是()。
A) E,D B) D,69 C) E,68 D)输出无定值(10)下列叙述中正确的是()。
A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(11)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。
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。
《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。
A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。
9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。
A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。
1. 在考生目录下,给定程序FILL1.C的功能是:计算正整数num的各位上的数字之积。
例如,若输入:252,则输出应该是:20。
若输入:202,则输出应该是:0。
程序有两个空(1)、(2)需要补充完整。
并将程序调试出所需的结果。
注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <conio.h>main( ){long int num,k;/************found************/_____(1)_______ k=1;clrscr() ;printf("\Please enter a number:") ;scanf("%ld",&num) ;do{ k*=num%10 ;/************found************/_____(2)______ num=num/10;} while(num) ;printf("\n%ld\n",k) ;}2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。
例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。
程序有两个空(1)、(2)需要补充完整。
请将程序调试出所需的结果。
注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!#include "stdio.h"main(){ char s[10]; int i;long int n=0;clrscr();/**************found************/___(1)___; scan(“%s”,s);/**************found************/for(i=0;___(2)___;i++) i<strlen(s) 或者s[i]=’\0’n=n*10+s[i]-'0';printf("n=%ld\n",n);}3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的项值,要求每行输出5个数。
面向对象程序设计期末综合练习二(填空题)填空题1. C++语言是在_________语言的基础上发展起来的。
2. C++语言的编译单位是扩展名为__________的__________文件。
3. 行尾使用注释的开始标记符为__________。
4. 多行注释的开始标记符和结束标记符分别为__________和__________。
5. 用于输出表达式值的标准输出流对象是_________。
6. 用于从键盘上为变量输入值的标准输入流对象是________。
7. 一个完整程序中必须有一个名为________的函数。
8. 一个函数的函数体就是一条_________语句。
9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。
10. 在C++程序中包含一个头文件或程序文件的预编译命令为__________。
11. 程序中的预处理命令是指以______字符开头的命令。
12. 一条表达式语句必须以______作为结束符。
13. 在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
14. 使用#include命令可以包含一个头文件,也可以包含一个______文件。
15.一个函数定义由________和________两部分组成。
16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。
17.C++头文件和源程序文件的扩展名分别为______和______。
18.程序文件的编译错误分为________和________两类。
19.当使用_______保留字作为函数类型时,该函数不返回任何值。
20.当函数参数表用______保留字表示时,则表示该参数表为空。
21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。
22. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到________的开始位置。
23. 假定x=5,y=6,则表达式x++*++y的值为__________。
24. 假定x=5,y=6,则表达式x--*--y的值为__________。
25. 假定x=5,y=6,则执行表达式y*=x++计算后,x和y的值分别为__________和__________。
26. 假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为__________和__________。
27. C++常数0x145对应的十进制值为__________。
28. C++常数0345对应的十进制值为__________。
29. 十进制常数245对应的十六进制的C++表示为__________。
30. 十进制常数245对应的八进制的C++表示为__________。
31. signed char类型的值域范围是________至__________之间的整数。
32. int和float类型的数据分别占用_________和__________个字节。
33. float和double类型的数据分别占用_________和________个字节。
34. bool和char类型的数据分别占用_________和________个字节。
35. unsigned short int和int类型的长度分别为_________和________。
36. 字符串”This\’s a book.\n ”的长度为__________。
37. 字符串”\nThis\’s a pen\n\n ”的长度为__________。
38. 在C++中存储字符串”abcdef ”至少需要________个字节。
39. 在C++中存储字符串”a+b=c ”至少需要________个字节。
40. 假定x 和y 为整型,其值分别为16和5,则x%y 和x/y 的值分别为__________和__________。
41. 假定x 和y 为整型,其值分别为16和5,则x/y 和double(x)/y 的值分别为__________和__________。
42. 假定x 是一个逻辑量,则x && true 的值为__________。
43. 假定x 是一个逻辑量,则x || true 的值为__________。
44. 假定x 是一个逻辑量,则x && false 的值为__________。
45. 假定x 是一个逻辑量,则x || false 的值为__________。
46. 假定x 是一个逻辑量,则!x || false 的值为__________。
47. 假定x 是一个逻辑量,则x && !x 的值为__________。
48. 假定x 是一个逻辑量,则x || !x 的值为__________。
49. 数学算式xyy x 2+的C++表达式为________________。
50. 数学算式yx xy +3的C++表达式为________________。
51. 数学算式221by ax +的C++表达式为________________。
52. 设enum Printstatus{ready,busy,error}; 则 cout<<busy 的输出结果是________。
53. 设enum Printstatus{ready=2,busy,error}; 则cout<<busy 的输出结果是________。
54. 常数-4.205和6.7E-9分别具有__________和__________位有效数字。
55. 枚举类型中的每个枚举值都是一个__________,它的值为一个__________。
56. 常数100和3.62的数据类型分别为__________和__________。
57. 若x=5, y=10, 则计算y*=++x 表达式后,x 和y 的值分别为______和______。
58. 假定x 和ch 分别为int 型和char 型,则sizeof(x)和sizeof(ch)的值分别为______和______。
59. 假定x=10,则表达式x<=10?20:30的值为______。
60. 表达式sqrt(81)和pow(6,3)的值分别为______和______。
61. 含随机函数的表达式rand()%20的值在_____至______区间内。
62. 在switch 语句中,每个语句标号所含关键字case 后面的表达式必须是_______。
63. 在if 语句中,每个else 关键字与它前面同层次并且最接近的________关键字相配套。
64. 作为语句标号使用的C++保留字case 和defaule 只能用于________语句的定义体中。
65. 执行switch 语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)________执行。
66. 若while 循环的“头”为“while(i++<=10)”,并且i 的初值为0,同时在循环体中不会修改i 的值,则循环体将被重复执行______次后正常结束。
67. 若do 循环的“尾”为“while(++i<10)”,并且i 的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。
68. 当在程序中执行到________语句时,将结束本层循环类语句或switch语句的执行。
69. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。
70. 在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
71.在程序执行完________函数调用后,将结束整个程序的执行过程,返回到C++集成开发窗口。
72. 元素类型为int的数组a[10]共占用________字节的存储空间。
73. 元素类型为double的二维数组a[4][6]共占用________字节的存储空间。
74. 元素类型为char的二维数组a[10][30]共占用________字节的存储空间。
75. 存储字符’a’和字符串”a”分别需要占用________和________个字节。
76. 空串的长度为________,存储它需要占用________个字节。
77. 字符串”\’a\’xy=4\n”的长度为________。
78. 字符串”a:\\xxk\\数据”的长度为________。
79. 用于存储一个长度为n的字符串的字符数组的长度至少为________。
80. 若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为__________。
81. 若a是一个字符数组,则向屏幕输出a中所存字符串的表达式为__________。
82. 一个二维字符数组a[10][20]能够存储________个字符串,每个字符串的长度至多为________。
83. 对一个二维字符数组a进行初始化的数据为{”123”,”456”,”789”},则a[1]元素对应的字符串为__________。
84. strlen(”apple”)的值为________,strcmp(”a”,”A”)的值为________。
5 185. 若需要把一个字符串”aaa”赋值到字符数组a中,则需要执行________函数的调用来实现。
85. 假定对数组a[]进行初始化的数据为{2,7,9,6,5,7,10},则a[2]和a[5]分别被初始化为________和________。
86. 假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]和a[2][3]分别被初始化为_______和________。
87. 在C++语言中,一个函数由函数头和__________组成。
88. 重载一个函数的条件是:该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。
89. 如果一个函数只允许同一程序中的函数调用,则应在该函数定义前加上__________C++保留字。
90. 若“double x=100;”是文件F1.CPP中的一个全局变量定义语句,若文件F2.CPP中的某个函数需要访问此x , 则应在文件F2.CPP中添加对x的声明语句为_________________。
91. 定义一个函数模板要用到的第一个修饰符是____________。
92. 在函数模板的参数中,用class修饰的参数称为__________参数。