c试题+答案
c语言试题及答案
1、以下正确的说法是( B )(A) 用户若需要调用标准库函数,调用前必须重新定义(B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义(C) 系统根本不允许用户重新定义标准库函数(D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调2、以下正确的函数声明形式是( A )(A) double fun(int x, int y)(B) double fun(int x; int y)(C) double fun(int x, int y);(D) double fun(int x,y);3、以下正确的函数形式是( D )(A) double fun(int x, int y) { z=x+y; return z;}(B) fun(int x,y) { int z; return z;}(C) fun(x,y) { int x,y; double z; z=x+y; return z;}(D) double fun(int x, int y) { double z; z=x+y; return z;}4、以下正确的说法是( A )在C语言中(A) 实参和与其对应的形参各占用独立的存储单元(B) 实参和与其对应的形参共占用一个存储单元(C) 只有当实参和与其对应的形参同名时才共占用存储单元(D) 形参是虚拟的,不占用存储单元5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A )该函数(A) 没有返回值(B) 返回若干个系统默认值(C) 能返回一个用户所希望的函数值(D) 返回一个不确定的值6、以下不正确的说法是( B )C语言规定(A) 实参可以是常量、变量和表达式(B) 形参可以是常量、变量和表达式(C) 实参可以为任意类型(D) 形参应与其对应的实参类型一致7、以下正确的说法是( C )(A) 定义函数时,形参的类型说明可以放在函数体内(B) return后边的值不能为表达式(C) 如果函数值的类型与返回值类型不一致,以函数值类型为准(D) 如果形参与实参的类型不一致,以实参类型为准8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B )(A) 地址传递(B) 单向值传递(C) 由实参传给形参,再由形参传回给实参(D) 由用户指定传递方式9、以下程序有语法性错误,有关错误原因的正确说法是( C )void main(){int G=5,k;void prt_char();......k=prt_char(G);......}(A) 语句void prt_char(); 有错,它是函数调用语句,不能用void说明(B) 变量名不能使用大写字母(C) 函数说明和函数调用之间有矛盾(D) 函数名不能使用下划线10、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )(A) float型(B) int型(C) long型(D) double型11、C语言规定,函数返回值的类型是由( D )(A) return语句中的表达式类型所决定(B) 调用该函数时的主调函数类型所决定(C) 调用该函数时系统临时决定(D) 在定义该函数时所指定的函数类型所决定12、下面函数调用语句含有实参的个数为( B )func((exp1,exp2),(exp3,exp4,exp5));(A) 1(B) 2(C) 4(D) 513、以下错误的描述是( D )函数调用可以(A) 出现在执行语句中(B) 出现在一个表达式中(C) 做为一个函数的实参(D) 做为一个函数的形参14、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
c语言试题及答案
c语言试题及答案c语言试题及答案C语言是一门通用计算机编程语言,应用广泛。
小编收集了c语言试题及答案,欢迎阅读。
c语言试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是( )。
main( ){ int a=7,b=5;printf("%d ",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是 ( )。
int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D 循环体语句执行一次6.以下程序的输出结果为( )。
int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf(" ");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有( )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为( )。
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
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语言试题及答案
《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。
A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。
A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示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>010.C语言中,合法的字符型常数是_________。
完整word版,C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
C语言试题(部分有答案)
选择题1.1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束。
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束1.2.以下叙述正确的是()A.在C语言中,main函数必须位于程序的最前面。
B.C语言的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C语言进行编译的过程中,可发现注释中的拼写错误1.3.C语言规定:在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()A.7 B.8 C.6 D.22.3.若有说明语句:char c=‟\66‟ ; 则说明c ()A.包括1个字符B.包括2字符C.包括3字符D.一个不合法的表达式,c的值不确定2.4.设变量a 是int,f是float, i是double,则表达式10+‟a‟+i*f值的数据类型为()A.int B.float C.double D.不确定3.1.已知ch是字符变量,下面不正确的赋值语句是()A.ch=‟a+b‟B.ch=‟\0‟C.ch=‟7‟+‟8‟D.ch=5+93.2.设x、y均为float型变量,则以下不合法的赋值语句是()A.++x B.y=(x%2)/10 C.x*=y+8 D.x=y=04.1.逻辑运算符两侧运算对象的数据类型()A.只能是0或1 B.只能是0或非0整数C.只能是整型或字符型数据D.可以是任何类型数据4.2.判断char型变量ch是否为大写字母的正确表达式是()A.‟A‟<=ch<=‟Z‟B.(ch>=‟A‟)&(ch<=‟Z‟)C.(ch>=‟A‟)&&(ch<=‟Z‟) D.(…A‟<=ch)AND(…Z‟>=ch)4.3.已知x=43,ch=‟A‟,y=0;则表达式(x>=y&&ch<‟B‟&&!y)的值是()A.0 B.语法错C.1 D.‟假‟4.4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()If(x>y)z=x;x=y;y=zA.x=10,y=20,z=30 B.x=20,y=30,z=30C.x=20,y=30,z=10 D.x=20,y=30,z=204.5.以下程序的运行结果是()main(){int m=5;if (m++>5) printf(“%d”,m);else printf(“%d”,m--);}A.4 B.5 C.6 D.74.6.以下程序的运行结果是()main(){ int k=4,a=3,b=2,c=1;printf(“%d”,k<a?k:c<b?c:a);}A.4 B.3 C.2 D.15.1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.2.语句while(! E);中的表达式!E等价于()A.E= =0 B.E ! = 1 C.E ! = 0 D.E= =15.3.下面程序段的运行结果是()int n=0;while(n++<=2); printf(“%d”,n);A.2 B.3 C.4 D.有语法错5.4.以下程序段()x=-1;do{x=x*x}while(! x)A.死循环B.循环执行二次C.循环执行一次D.有语法错误5.5.以下不是无限循环的语句是()A.for(y=0,x=1;x>y++y;x=i++) i=x; B. for( ; ; x++=i );C.while(1){x++;} D.for(i=10; ;i--)sum+=i5.6.执行语句for(i=1;i++<4; );后变量i的值是()A.3 B.4 C.5 D.不确定6.1.在C语言中,引用数组元素时,其下标的数据类型允许是()A.整型常量B.整型表达式C.A或B D.任何类型6.2.若有说明:int a[][4]={0,0};则下面不正确的叙述是()A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维大小为1C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值06.3.若二维数组a有m列,则在a[i][j]前的元素个数为()A. j*m+iB. i*m+jC. i*m+j-1D. i*m+j+16.4.下面程序的运行结果是()main(){ int a[6], i ;For (i=1; i<6; i++){ a[i] = 9 * (I – 2 + 4 * ( i > 3)) % 5;Printf( “%2d”, a[i] );}}A. -4 0 4 0 4B. -4 0 4 0 3C. -4 0 4 4 3D. -4 0 4 4 06.5 下面程序段的运行结果是()char c[5] = {…a‟, …b‟, …\0‟, …c‟, …\0‟};printf(“%s”, c);A. …a‟‟ b‟B. abC. ab cD. ab6.6 下面程序段的运行结果是()char a[7] = “abcdef”;char b[4] = “ABC”;strcpy(a, b);printf(“%c”, a[5]);A. 空格B. \0C. eD. f6.7 有下面程度段char a[3], b[]= “China”;a = b;printf(“%s”, a);则()A.运行后将输出China B.运行后将输出ChC.运行后将输出Chi D.编译出错6.8 下面程序的功能是将字符串s中所有的字符c删除。
C语言试题库(含答案)
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语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。
D、do-while循环中,根据情况可以省略while。
4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
c程序测试题(答案)
一、选择题1. 以下叙述正确的是(A)。
A.C语言允许直接访问物理地址,可以直接对硬件进行操作B.C语言程序不必编译,即可在计算机上运行C.C语言不允许直接访问物理地址,不可直接对硬件进行操作D.C语言程序只需编译,不需要连接即可在计算机上运行2. 在一个C程序中(B)。
A.main函数出现在所有函数之前。
C程序不必都有main函数B.main函数可以在任何地方出现。
一个C程序必须有且仅有一个main函数C.main函数必须出现在所有函数之后。
一个C程序只能有一个main函数D.main函数出现在固定位置。
一个C程序可以有多个main函数3. 下列叙述正确的是(B)。
A.C语言中既有逻辑类型也有构造类型数据B.C语言中没有逻辑类型,但有构造类型C.C语言中有逻辑类型,但没有构造类型E.C语言中既没有逻辑类型也没有构造类型4. 下列关于C语言用户标识符的叙述中正确的是(B)。
A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在标识符开头D.用户标识符中可以出现下划线和数字,他们都可以放在标识符开头5. 下列转义字符中,错误的是(A)。
A.‘\0xa5’ B. ‘\031’ C. ‘\b’ D.‘ \”’6. 字符串“\\\\1234\\\\\n”在内存中占用的字节数是(C)。
A.14B. 9C. 10D. 117. 已知梯形的上底为a, 下底为b,高为h,用C语言写的正确的面积公式是(B)。
A. 1/2*(a+b)*hB. 2*(a+b)*hC. (a+b)hD. 2*a+b*h8. 与k=n++完全等价的表达式是(D)。
A. n=n+1, k=nB. k+=n+1C. K=++nD. k=n, n=n+19. 已定义char s1, s2;, 下面正确的语句是(C)。
A. scanf(“%s%c”, s1,s2);B. scanf(“%s%c”, s1, &s2);C. scanf(“%c%c”, &s1,&s2);D. scanf(“%c%c”, s1,s2);10. 为下面的程序输入数据,使得i=10, k=’a’, j=15, 正确的键盘输入方法是(D)。
C 试题及答案
C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
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程序设计考试题目及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定答案:C4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. $variableD. variable!答案:B5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][];B. int array[][3];C. int array[3][3];D. int array[][];答案:C7. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > y)B. if x > yC. if (x > y) elseD. if (x > y) else if答案:A8. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for i = 0; i < 10; i++C. for (int i = 0; i < 10;)D. for (i = 0; i < 10; i++)答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b)C. int add(int, int) {}D. int add(a, b)答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr[10];D. int ptr(int);答案:A二、填空题(每题2分,共20分)1. 在C语言中,`printf`函数用于__输出__。
C语言程序设计期末考试试题含答案
C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。
2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。
3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。
4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。
5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。
c 等级考试试题及答案
c 等级考试试题及答案C 等级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. boolD. list答案:A2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. intD. variable$答案:B3. C语言中,用于定义一个整型变量的关键字是:A. floatB. doubleC. intD. char答案:C4. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. -=答案:A6. 在C语言中,用于输入的函数是:A. printf()B. scanf()C. puts()D. gets()答案:B7. 下列哪个选项是C语言中的循环控制语句?A. ifC. forD. while答案:C8. 在C语言中,以下哪个选项用于定义一个字符型变量?A. intB. charC. floatD. double答案:B9. C语言中,用于输出的函数是:A. scanf()B. printf()C. gets()答案:B10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. 以上都是答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:intarray_name[size]; 其中,array_name 是数组的______,size 是数组的______。
答案:名称;大小2. C语言中,用于计算两个整数的乘积的运算符是 ______ 。
答案:3. 在C语言中,若要声明一个指向整型的指针变量,可以使用______ 作为类型说明符。
答案:int4. C语言中,用于计算两个整数的和的运算符是 ______ 。
心理c证试题及答案
心理c证试题及答案一、单选题(每题1分,共10分)1. 心理C证考试的目的是:A. 提升个人心理素养B. 获得心理咨询资格C. 了解心理健康知识D. 以上都是答案:D2. 以下哪项不是心理C证考试的内容?A. 心理测量学B. 心理咨询技巧C. 心理治疗技术D. 心理诊断方法答案:C3. 心理C证考试的合格标准是:A. 60分B. 70分C. 80分D. 90分答案:A4. 心理C证考试的题型包括:A. 单选题B. 多选题C. 判断题D. 以上都是答案:D5. 心理C证考试的报名条件包括:A. 年满18周岁B. 具有高中以上学历C. 无犯罪记录D. 以上都是答案:D6. 心理C证考试的考试时间通常为:A. 120分钟B. 150分钟C. 180分钟D. 200分钟答案:B7. 心理C证考试的通过率一般为:A. 60%B. 70%C. 80%D. 90%答案:B8. 心理C证考试的考试形式是:A. 笔试B. 机考C. 面试D. 笔试和机考答案:D9. 心理C证考试的考试费用一般为:A. 100元B. 200元C. 300元D. 400元答案:C10. 心理C证考试的复习资料包括:A. 教材B. 习题集C. 模拟试题D. 以上都是答案:D二、多选题(每题2分,共10分)1. 心理C证考试的报名流程包括:A. 在线报名B. 现场确认C. 缴纳考试费D. 领取准考证答案:ABCD2. 以下哪些是心理C证考试的复习方法?A. 阅读教材B. 参加培训课程C. 做模拟试题D. 与他人讨论答案:ABCD3. 心理C证考试的评分标准包括:A. 客观题B. 主观题C. 总分D. 平均分答案:ABC4. 心理C证考试的考试内容涉及:A. 心理学基础知识B. 心理咨询技巧C. 心理测量技术D. 心理诊断技能答案:ABCD5. 心理C证考试的考试形式包括:A. 笔试B. 机考C. 面试D. 实操答案:AB三、判断题(每题1分,共10分)1. 心理C证考试每年举行两次。
C试题附答案
B)构造函数D)普通函数C)析构函选择题:1. 关于类和对象不正确的说法是(C)A类是一种类型,它封装了数据和操作B)对象是类的实例C)一个类的对象只有一个D)一个对象必属于某个类2. 在类定义的外部,可以被访问的成员有(C)A)所有类成员B) private 或protected 的类成员C) public 的类成员D) public 或private 的类成员3. 关于this指针的说法错误的是(A)A)this 指针必须显示说明B)当创建一个对象后,this指针就指向该对象C)成员函数拥有this指针D)静态成员函数不拥有this指针4. 声明一个类的对象时,系统自动调用(B )函数,撤消对象时,系统自动调用(C )函数A)成员函数数5. 下面对构造函数的不正确描述是(回值C)构造函数可以重载参数6. 下面对析构函数的正确描述是(C)A)系统不能提供默认的析构函数义C)析构函数没有参数以设置默认参数7. 对静态成员的不正确描述是(C )A静态成员不属于对象,是类的共享成员D)构造函数可以设置默认B)析构函数必须由用户定D)析构函数可B)静态数据成员要在类外定义和初始化C)调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D)非静态成员函数也可以操作静态数据成员8. 下面选项中,不是类的成员函数为(C)A构造函数B)析构函数C)友元函数D)缺省参数的构造函数方言9. 下面对友元的错误描述是(D)A)关键字friend 用于声明友元B)一个类的成员函数可以是另一个类的友元C)友元函数访问对象的成员不受访问特性影响D)友元函数通过this指针访问对象成员10. 在C++中,类与类之间的继承关系具有( C )A)自反性B)对称性C)传递性D)反对称性11. 下列关于类的继承描述中,( A )是错误的A派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数B)派生类也是基类,但基类不一定具有派生类的全部属性和方法C)继承描述类的层次关系,派生类可以具有与基类相同的属性和方法D)一个基类可以有多个派生类,一个派生类可以有多个基类12. 当一个派生类仅有继承一个基类时,基类中的所有公有成员成为派生类的(A)A)public 成员B) private 成员C) protected 成员D)友元13. 当一个派生类私有继承一个基类时,基类中的所有仅有成员和保护成员成为派生类的(B)A)public 成员B) private 成员C) protected 成员D)友元14. 不论派生类以何种方法继承基类,都不能使用基类的( B )A) public 成员B) private 成员C) protected 成员D) public 成员和protected 成员15. 下面描述中,错误的是(BC )(两个答案)A)在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B)在基类定义的public和protected 成员在私有继承的派生类中可见,在类外可以被访问C)在基类定义的public和protected 成员在保护继承的派生类中不可见D)在派生类中不可见的成员要变成可访问的,需要进行访问声明16. 在C++中,不能被派生类继承的函数是(BC )(两个答案)A)成员函数B)构造函数C)析构函数D)静态成员函数17. 在创建派生类对象时,构造函数的执行顺序是(D)A)对象成员构造函数、基类构造函数、派生类本身的构造函数B)派生类本身的构造函数、基类构造函数、对象成员构造函数C)基类构造函数、派生类本身的构造函数、对象成员构造函数D)基类构造函数、对象成员构造函数、派生类本身的构造函数18. 当不同的类具有相同的间接基类时,有特点(AD )(两个答案)A)各派生类对象将按继承路线产生自己的基类版本B)派生类对象无法产生自己的基类版本C)为了建立惟一的间接基类版本,在基类定义前加virtual即可D)为了建立惟一的间接基类版本,应该声明虚继承19. 在C++中,要实现动态联编,必须使用(D )调用虚函数A)类名B)派生类指针C)对象B )构造函数 D )析构函数C )成员函 A) void fun ()=0; C) virtual void fun(); D) virtual void fun(){}; 23.若一个类则该类称为( A )基类 B) 纯基类 C )派生 24.假设A 为抽象类,下列声明 B )是正确的 A) A fun (i nt); B) A *p; C) int fun(A); 25.下面描述中,正确的是( BD )(两个答案) A )虚函数是没有实现的函数 B )纯虚函数的实现在派生类中 C )抽象类是没有纯虚函数的类 D)抽象类指针可以指向不同的派生类 A 普通函数 数 21. 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺 序和函数的返回值( B ) A )不同 B )相同 C )相容 D )部分相同 22. 下面函数原型声明中,( B )声明了 fun 为虚函数 B) virtual void fun( )=0;D )抽象类D) A Obj;26.关于函数模板,描述错误的是A)函数模板必须由程序员实例化为可执行的函数模板B)函数模板的实例化由编译器实现C)一个类定义中,只要有一个函数模板,则这个类是类模板D)类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化27.下列的模板说明中,正确提(AD )(两个答案)A)template <type name T1, type name T2>B)template <class T1, T2>C)template <class T1, class T2>D)template <type name T1; type name T2>28.假设有函数模板定义如下:Template <type name T>Max(T a, T b, T &c){ c=a+b; }下列选项正确的是( AD )(两个答案)A)float x,y; float z; Max(x,y,z);B)int x,y, z; Max(x,y,z);C)int x,y; float z; Max(x,y,z);D)float x; int y, z; Max(x,y,z);29.关于类模板,描述错误的是( D )A)一个普通基类不能派生类模板B)类模板从普通类派生,也可以从类模板派生A基类a派生类C)模板类a对象A)标准类B)标准对象数D)标准类模板C)标准函32. 下列类中(BD (两个答案)不是输入/输出流类iostream的派生类A) fstream strstream33. 在下列选项中(B) ofstreamD)ostrstreamBCDC)(三个答案)是ostream类的对象D)函数的类模板参数须通过构造函数实例化30. 建立类模板对象的实例化过程为( C )B)构造函数a对象D)模板类a模板函数31. 在C++中,容器是一种(D )A) cin B) cerr C)clog D) cout34. read函数的功能是从输入流中读取( D )A)一个字符B)当前字符C)一行字符D)指定若干个字符35. 下列选项中,用于清除基数格式位置以十六制输出的语句是( B )A) cout<<setf(ios::dec, ios::basefield);B) cout<<setf(ios::hex, ios::basefield);C) cout<<setf(ios::oct, ios::basefield);D) cin> >setf(ios::hex, ios::basefield);36.下列格式控制符, 在iostream.h中定义的是)AD )(两个答,在案)ioma nip.h中定义的是(BC )(两个答案)A) endl B) setfill C)setw D) oct37.下列串流类,在strstream.h 中定义的是(BD )(两个答案),在sstream 中定义的是(AC )A) istri ngstream B) istrstream C) ostri ngstream D) ostrstream38.包含类fstream定义的头文件是) A )A) fstream.h B) ofstream.h C)ifstream.h D) iostream.h39.要求打开文件d:\file.dat ,可与入数据,正确的语句是) D )A)ifstream in file(“d: \f ile.dat ”,ios::i n);B)ifstream in file(“ d: file.dat,IOS::I n);C)ofstream in file(“ d: file.dat ”,ios::out);D)fstream in file(“ d: file.dat ”,ios::i n| ios::out);40. 假定已定义浮点型变量data ,以二进制方式把data的值写入输出文件流对象outfile 中去,正确的语句是(C)A)outfile.write((float *) & data, sizeof(float));B) outfile.write((float *) & data, data);C) outfile.write((char *) & data, sizeof(float));D) outfile.write((char *) & data, data);二、简答题:1. 什么是预编译,何时需要预编译:回答:总是使用不经常改动的大型代码体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设int a = 3, b = 4, c = 5; 表达式(a+b)> c&&b==c 的值是(C)A、2B、-1C、0D、12、下列标识符中,不合法的用户标识符为(A)A、a#bB、_intC、a_10D、PAD3、while(!x) 中的(!x)与下面条件那个等价(D)A、x == 1B、x != 1C、x !=0D、x==04、定义一个char * * p; 请选择sizeof(p)的值(D)A、1B、2C、3D、45、在switch(key)开关语句中的键值可以时那种数据类型(C)A、doubleB、floatC、charD、string6、ANSI C中ASCII的值域如下哪些正确(B)A、0-255B、0-127C、0-128D、-128 - +1277、int t = 128;char * p = &t;printf("%d\n", *p); 请判断输出结果(D)A、127B、-127C、128D、-1288、如下那些函数能够动态分配一个一维数组(B)A、mallocB、callocC、xmallocD、realloc9、如下对C中宏定义的解释不正确(B)A、宏可以代表一个变量的别名B、宏是一个变量C、宏可以代表函数的别名D、宏可以带参数10、Gcc 编译器是否支持内联汇编(A)A、支持B、不支持C、在某些情况下支持D、在某些情况下不支持11、ANSI C中的可变长参数的所支持的参数个数(D)A、1B、2C、3D、任意多个12、ANSI C 中在调用函数并传递参数时,参数被存储在哪里(A)A、栈中B、堆中C、堆栈中D、哪里都没有13、ANSI C中调用函数并传递参数时,参数被入栈顺序(B)A、从左至右B、从右至左C、从上到下D、从下到上14、C中的Global变量的存储分配方式(A)A、静态分配B、动态分配C、栈分配D、寄存器分配15、定义struct A{int a, b;char c;char c;char c;};则printf("%d\n", sizeof(struct A))值是多少(用Gcc编译) (B)A、10B、12C、14D、1116、void fun(int a[100]){printf("%d\n", sizeof(a));}其输出结果是(D)A、100B、400C、200D、417、C++存储分配的操作符new如何动态分配一个二维整型数组(2行3列)是(A)A、new int[2][3]B、new int(2)(3)C、new int(2 * 3)D、new int(6)18、C++存储分配的操作符delete如何释放一个二维整型数组a[2][3]是(B)A、delete [2][3] aB、delete [] aC、delete a[2][3]D、delete [3][2]a19、C++ 中struct A{private:int a, b;char * p;char c;public:A(){}~A(){}cout << sizeof(struct A) << endl;输出结果是:(C)A、10B、12C、16D、1420、C++ 中class A{int a, b;};成员a, b对于外部的可见性:(C)A、publicB、protectedC、privateD、prott21、C++ 中struct B{public:static int a;static int b;char c;};cout << sizeof(struct B) << endl;输出结果(A)A、1B、2C、4D、322、C++ 中提供了很安全的类型转换符号:其中那个是用于内置类型变量完成强制变换(C)A、dynamic_castB、static_castC、repre_castD、都不是23、C++ 标准库默认归属的名字空间是(A)A、stdB、stlC、ss24、C++ 名字空间可以包含- 那个不正确(D)A、类型定义B、变量定义C、函数定义D、以上都不对25、C++ 中const int * p表述正确的是(D)A、p的值是只读B、p的值是只写的C、*p的值是只写的。
D、p的值是可变的26、C++ 中如何把一个整型指针变量p变为只读(C)A、const int * pB、int const *pC、const int const *pD、const int p27、C++ cout , cin 的数据类型是(B)A、iostream, iosB、ostream ,istreamC、ost istD、streamos streamis28、关于静态变量(static variable)不正确的说法是:(A)A、静态变量对整个程序的所有部分都是可见的B、静态变量在程序执行期间都是存在的C、在文件中的全局静态变量只在它被定义的文件中是可见的D、一个函数内部的局部变量也可以是静态变量,只是无论在函数内还是函数外,它都是存在的29、关于inline函数不正确的说法是(C)A、inline函数是在编译期间被展开到调用它的模块中B、inline函数和普通函数相比执行速度更快C、inline函数在运行时有一定的函数调用开销,但比普通函数小的多D、inline函数在编译时需要gcc打开优化开关O3才会生效30、如果想让一个类的成员变量能被它的子类访问但不能被其他类所访问,怎样做才能实现? (C)A、在变量前加上PublicB、在变量前加上PrivateC、在变量前加上ProtectedD、不加任何修饰符31、定义析构函数时,应该注意(C)A、其名与类名完全相同B、返回类型是void类型C、无形参,也不可重载D、函数体中必须有delete语句32、关于构造函数不正确的说法是(D)A、构造函数是创建对象时自动被调用的B、构造函数不能被继承C、构造函数用来生成对象,并对它初始化.D、构造函数不可以被直接调用33、有一段C程序如下#define cube(r) (r*r*r)int main(void){int a;printf("请输入边长:");scanf("%d",&a);printf("体积是%d\n",cube(2a));return 0;}在编译时其中cube(2a)被展开为(D)A、2*a*a*aB、2a*2a*2aC、2r*2r*2rD、编译错误34、有关文件的操作不正确的叙述是:(D)A、输入流stdin,输出流stdout是一种特殊的文件B、所有对文件的读写操作都要通过缓冲区进行C、如果用fopen打开一个文件,并做了修改,但忘了用fclose关闭,那所作的修改是无效的D、fseek()函数是用来操作文件读取指针的,它只能用于文本文件35、有关文件的存取方式正确的叙述是(B)A、文件有两种存取方式,顺序存取和随机存取,一般对二进制文件采用顺序存取,文本文件采用随机存取B、无论是文本还是二进制文件,都可采用顺序存取和随机存取C、随机存取的速度低于顺序存取D、顺序存取函数有fget,fput,scanf,getch,fread,fwrite等等,随机存取函数有read,write等36、下列哪些是不正确的main()函数声明? (D)A、int main(int argc, char * * argv, char * * envp)B、int main(int argc, char *argv[], char * envp[])C、void main(void)D、int main(int argc,char **argv[], char * envp[])37、关于i18n不正确的说法是(B)A、i18n是internationalization的缩写B、不同的语言的文本信息是硬编码在源程序里的C、一个满足i18n的c程序以什么语言显示和当前语言环境有关D、C语言中gettext()函数将原始文本语言翻译成当前语言38、有关中文处理的不正确说法是(C)A、中文字符在c/c++语言中是以2个字节表示的B、中文编码有很多种,同一个字在不同种编码中的码字是不同的C、目前中文编码的最新标准是gbkD、中文的字形信息是放在字库里的,有两种字库:点阵和矢量39、若有下面的说明和定义(LINUX GCC 缺省编译)struct test{int ml;char m2;float m3;union uu{char ul[5];int u2[2];} ua;} myaa;则sizeof(struct test )的值是(C)A、12B、16C、20D、不确定40、以下哪种函数参数传递方式在内存中会产生副本(A)A、传值B、传址C、引用D、都不会41、c程序中,若x = 10,则++x -= 5,结果是(C)A、x = 6B、x = 5C、编译错误D、x = 1042、C语言中,要求定义具有80个、char类型元素的一维数组,错误的定义语句是(B)A、#define N 80char s[N];B、int N=80;char s[N];C、#define N 40char s[2*N];D、char s[40+40];43、若有以下定义语句int a[]={0,1,2,3,4,5,6,7,8,9,10};则值为6的表达式是: (C)A、a[5]B、a[a[4]]C、a[a[6]]D、a[a[5]]44、若有以下定义语句double a[5],*p=a; int i=2;则对不能正确表示a数组元素地址的表达式是: (B)A、*pB、&a[5]C、a+3D、p+i45、C程序中若int a[2][3] ,如下正确的答案(A)A、a + 1 等于a[0] + 1B、*(a + 1)等于a[1][0]C、**(a + 1)等于a[1][0]D、*a + 1 等于a + 146、设int a[3], 如下哪些正确(D)A、a = a + 1B、a++C、a--D、都不正确47、若有定义和语句int **pp, *p, a=10, b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);则输出结果是: (D)A、10,20B、10,10C、20,10D、20,2048、若int a = 5, b = 2; float f;f = (float)(5 .00% 2);printf("f = %.2f\n", f);则输出(A)A、编译错误B、2.50C、1D、2.0049、C/C++中,以下定义和赋值哪个是正确的(B)A、int a = 10, b = 2;const int *p = &a;*p = 7;B、int a = 10, b = 2;const int *p = &a;p = &b;C、int a = 10, b = 2;const int * const p = &a;*p = 9;D、int a = 10, b = 2;const int * const p = &a;p = &b;50、有以下C程序#include <stdio.h>int main(int argc, char *argv[]){int i = 13;printf("%d\n", ~i );return 0; }输出: (A)A、-14B、2C、0D、12。