C++理论题库.docx
《C++理论题库.docx》由会员分享,可在线阅读,更多相关《C++理论题库.docx(33页珍藏版)》请在冰点文库上搜索。
C++理论题库
1)设a、b和c都是型变量,且3、4、5,则下面的表达式中,值为0的表达式是!
((a
2)设12,则执行完语句*a后,a的值是-264
本题的考查点是赋值表达式的求解。
第一步:
a*144;(此时12)
第二步:
144相当于144,144132;(此时132)
第三步:
相当于,264;
所以该表达式最后的值应当为-264。
故本题答案为D。
3)下列语句分别是不同程序中的第一个输入输出语句。
若去掉其中的"<<",输出效果将发生变化的是<<<<(5)<<357。
4)若语句:
<<('>')<<(5)<<3141512<<(5)<<"!
";是程序的第一个输出语句,则输出结果是3141512>>!
本题主要考查了中格式控制数据的输入输出。
在的流操作中,如果输入字符不足指定字符宽度(可以用来设置要输出的字符的宽度),可以用函数指定用来填充的字符。
在本例中,设置填充字符为">",然后设置了字符输出宽度为5,对于数据,其长度大于5,故直接输出,而对于"!
",其长度为3,不足5,故要在前面填充上两个">",故本题输出应为"3141512>>!
"。
5)有如下程序:
<>
;
()
{
('*');
<<<<(4)<<123<<""<<;
0;
}
执行这个程序的输出结果是123*
本题主要考查了字符串与字符数组。
函数用来设置要填空的字符串,用来表示左对齐,(4)用来表示下一个输出占4个字符的长度。
故本题输出应为"123*"。
6)下面程序
{100,10,20,1=5,2=0;
(a
(15)
(1)1;
(2)10;
1;
<}的输出是-1。本题的考查点是判断语句的循环嵌套。第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断......如此循环,在打印输出语句的前一行,程序给变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1。7)有以下程序<>(){01;>>n;{1;2;}();<}若要使程序的输出值为2,则应该从键盘给n输入的值是-3本题的考查点是语句此语句的一般形式为:语句(表达式)其特点为:先执行语句,后判断表达式。它是这样执行的:先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零("真")时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。当1时,11;21不成立,结束循环,此时s值为1,不符合题意;当3时,11;21成立,继续循环,1=223不成立,此时s值为2,符合题意;8)关于语句的描述不正确的是语句可用在语句中,它可使执行的流程跳出当前的语句。9)以下程序执行后的值是以下程序执行后的值是不确定<>(){i,;(1<6);<<<<;}变量在使用时未赋初值,所以无法确定最终的值。本题答案为C。10)t为类型,进入下面的循环之前,t的值为0,(1){......}则以下叙述中正确的是循环控制表达式的值为111)有如下程序<>(){a[3][3]={{1,2},{3,4},{5,6}},=0;(i=1;i<3;)(j=0;j<=i;)sa[i][j]];<}该程序的输出结果是18。题中的外循环只执行了2次:第1次:a[1][0]=3,a[1][1]=4,所以s=7;第2次:a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。12)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。13)以下程序中的函数的功能是将a所指数组中的内容进行逆置。<>(a[]n){;(0<2){[i][i][1][1];}}(){b[10]={1,2,3,4,5,6,7,8,9,10};0;(b,8);(6<10)[i];<}程序运行后的输出结果是22。本题的考查点是对数组的操作。本题并不是将整个数组中的内容逆置,而是逆置前8个元素。逆置后的数组为:8,7,6,5,4,3,2,1,9,10通过循环计算b[6][7][8][9]即2+1+9+10=22。14)在"a[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是6本题考查二维数组的使用。数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。15)下列描述中不正确的是可以对整型数组进行整体输入、输出本题的考查点是对数组的理解。语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。16)对于下列语句动态分配的内存,其释放语句正确的是[]*[10];17)有以下程序<>f1(y){x>;}f2(y){x>;}(){435;1();1();2();2();;<}执行后输出的结果是5,4,3本题的考查点是条件运算符。条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中唯一的一个三目运算符。条件表达式的一般形式为表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。弄清以上几点,本题也就不难了。18)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数19)下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的在中使用关键字来定义内联函数。关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有说明。一个内联函数可以有,也可以没有语句。内联函数在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。20)为了取代C中带参数的宏,在中使用内联函数21)下面程序的输出结果是123<>;(){a;;<}(){(0<3)();0;}22)以下程序的结果是57<>;(){100;200;}(){57;();<}本题主要考查的是语言中的变量作用域。全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。23)执行下列程序语句后,屏幕输出为4。<>;5;(){3;;;<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
的输出是-1。
本题的考查点是判断语句的循环嵌套。
第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断......如此循环,在打印输出语句的前一行,程序给变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1。
7)有以下程序
{01;
>>n;
{1;2;}
();
<
若要使程序的输出值为2,则应该从键盘给n输入的值是-3
本题的考查点是语句
此语句的一般形式为:
语句
(表达式)
其特点为:
先执行语句,后判断表达式。
它是这样执行的:
先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零("真")时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。
当1时,11;21不成立,结束循环,此时s值为1,不符合题意;
当3时,11;21成立,继续循环,1=223不成立,此时s值为2,符合题意;
8)关于语句的描述不正确的是语句可用在语句中,它可使执行的流程跳出当前的语句。
9)以下程序执行后的值是以下程序执行后的值是不确定
{i,;
(1<6);
<<<<;
变量在使用时未赋初值,所以无法确定最终的值。
本题答案为C。
10)t为类型,进入下面的循环之前,t的值为0,
(1)
{......}
则以下叙述中正确的是循环控制表达式的值为1
11)有如下程序
a[3][3]={{1,2},{3,4},{5,6}},=0;
(i=1;i<3;)
(j=0;j<=i;)
sa[i][j]];
该程序的输出结果是18。
题中的外循环只执行了2次:
第1次:
a[1][0]=3,a[1][1]=4,所以s=7;
第2次:
a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。
12)有以下程序
{a[][3]={{1,2,3},{4,5,0}},(*)[3];
(0<3)
(i<2)[1][i][1][i]-1;
[1][i]=1;
<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。13)以下程序中的函数的功能是将a所指数组中的内容进行逆置。<>(a[]n){;(0<2){[i][i][1][1];}}(){b[10]={1,2,3,4,5,6,7,8,9,10};0;(b,8);(6<10)[i];<}程序运行后的输出结果是22。本题的考查点是对数组的操作。本题并不是将整个数组中的内容逆置,而是逆置前8个元素。逆置后的数组为:8,7,6,5,4,3,2,1,9,10通过循环计算b[6][7][8][9]即2+1+9+10=22。14)在"a[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是6本题考查二维数组的使用。数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。15)下列描述中不正确的是可以对整型数组进行整体输入、输出本题的考查点是对数组的理解。语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。16)对于下列语句动态分配的内存,其释放语句正确的是[]*[10];17)有以下程序<>f1(y){x>;}f2(y){x>;}(){435;1();1();2();2();;<}执行后输出的结果是5,4,3本题的考查点是条件运算符。条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中唯一的一个三目运算符。条件表达式的一般形式为表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。弄清以上几点,本题也就不难了。18)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数19)下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的在中使用关键字来定义内联函数。关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有说明。一个内联函数可以有,也可以没有语句。内联函数在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。20)为了取代C中带参数的宏,在中使用内联函数21)下面程序的输出结果是123<>;(){a;;<}(){(0<3)();0;}22)以下程序的结果是57<>;(){100;200;}(){57;();<}本题主要考查的是语言中的变量作用域。全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。23)执行下列程序语句后,屏幕输出为4。<>;5;(){3;;;<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
执行后输出结果是7
本题的考查点是二维数组和指针数组的应用。
在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
13)以下程序中的函数的功能是将a所指数组中的内容进行逆置。
(a[]n)
{;
(0<2)
{[i][i][1][1];}
{b[10]={1,2,3,4,5,6,7,8,9,10};0;
(b,8);
(6<10)[i];
}程序运行后的输出结果是22。
本题的考查点是对数组的操作。
本题并不是将整个数组中的内容逆置,而是逆置前8个元素。
逆置后的数组为:
8,7,6,5,4,3,2,1,9,10通过循环计算b[6][7][8][9]即2+1+9+10=22。
14)在"a[][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是6
本题考查二维数组的使用。
数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。
15)下列描述中不正确的是可以对整型数组进行整体输入、输出
本题的考查点是对数组的理解。
语言规定只能逐个引用数组元素而不能一次引用整个数组。
字符数组的输入、输出可以将整个字符串一次输入或输出。
所以,选项C的说法是不正确的。
16)对于下列语句动态分配的内存,其释放语句正确的是[]
*[10];
17)有以下程序
f1(y)
{x>;}
f2(y)
{435;
1();1();
2();2();
<}执行后输出的结果是5,4,3本题的考查点是条件运算符。条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中唯一的一个三目运算符。条件表达式的一般形式为表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。弄清以上几点,本题也就不难了。18)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数19)下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的在中使用关键字来定义内联函数。关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有说明。一个内联函数可以有,也可以没有语句。内联函数在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。20)为了取代C中带参数的宏,在中使用内联函数21)下面程序的输出结果是123<>;(){a;;<}(){(0<3)();0;}22)以下程序的结果是57<>;(){100;200;}(){57;();<}本题主要考查的是语言中的变量作用域。全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。23)执行下列程序语句后,屏幕输出为4。<>;5;(){3;;;<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
执行后输出的结果是5,4,3
本题的考查点是条件运算符。
条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中唯一的一个三目运算符。
条件表达式的一般形式为
表达式1?
表达式2:
表达式3
条件运算符的执行顺序:
先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。
若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。
弄清以上几点,本题也就不难了。
18)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数
19)下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的
在中使用关键字来定义内联函数。
关键字放在函数定义中函数类型之前。
不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有说明。
一个内联函数可以有,也可以没有语句。
内联函数在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。
内联函数是通过编译器来实现的。
20)为了取代C中带参数的宏,在中使用内联函数
21)下面程序的输出结果是123
a;
<}(){(0<3)();0;}22)以下程序的结果是57<>;(){100;200;}(){57;();<}本题主要考查的是语言中的变量作用域。全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。23)执行下列程序语句后,屏幕输出为4。<>;5;(){3;;;<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
22)以下程序的结果是57
{100;200;}
{57;
<}本题主要考查的是语言中的变量作用域。全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。23)执行下列程序语句后,屏幕输出为4。<>;5;(){3;;;<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
本题主要考查的是语言中的变量作用域。
全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。
但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。
所以本题主函数的局部变量a,b把同名的全程变量屏蔽了。
23)执行下列程序语句后,屏幕输出为4。
5;
3;
<0;}中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24)有如下程序:<>;(){*p;*p=9;<<"p:"<<*p;0;}编译运行程序将出现的情况是运行时有可能出错25)下面程序<>(){a[10]={1,2,3,4,5,6,7,8,9,10},*;<<*(2)<<;}的输出是3。*语句是使指针p指向数组a的第一个数组元素,因此*(2)即是数组a的第3个元素的值,即a[2]。26)下列程序的输出结果是102030<>;n[][3]={10,20,30,40,50,60};(){(*p)[3];;<0;}二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27)有以下程序<><>{*;};(){*p,*q,*r;(*);(*);(*);>10>20>30;>>;<<>>>;}程序运行后的输出结果是40。>即为10,>>即为>,为30,所以>>>10+30=40。28)设有以下说明语句{x;z;};则下面的叙述中不正确的是是结构体类型名是结构体变量名29)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。<>{;*;};*(*s){*h,*p,*q;(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。30)写出执行完下列程序段以后指定的变量的值:;;;!()();已知,则0。31)下列语句段的输出结果是10241101;(k<){m*=2;;}<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
中变量有全局变量和局部变量。
不在任何函数之内声明的变量即为全局变量。
当在一个函数中声明的局部变量与全局变量重名时。
局部变量会将全局变量屏蔽掉。
如果要引用全局变量可以变量名的前面加“:
:
”。
24)有如下程序:
*p;
*p=9;
<<"p:
"<<*p;
编译运行程序将出现的情况是运行时有可能出错
25)下面程序
a[10]={1,2,3,4,5,6,7,8,9,10},*;
<<*
(2)<<;
的输出是3。
*语句是使指针p指向数组a的第一个数组元素,因此*
(2)即是数组a的第3个元素的值,即a[2]。
26)下列程序的输出结果是102030
n[][3]={10,20,30,40,50,60};
(*p)[3];
二维数组每一行都对应一个指针,这个指针指向每行第一个元素。
题中p[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。
27)有以下程序
{*;};
{*p,*q,*r;
(*);
>10>20>30;
>>;
<<>>>;
程序运行后的输出结果是40。
>即为10,>>即为>,为30,所以>>>10+30=40。
28)设有以下说明语句
{x;z;};
则下面的叙述中不正确的是是结构体类型名
是结构体变量名
29)以下程序的功能是:
建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处有号码的选择出正确的选项。
*;};
*(*s)
{*h,*p,*q;
(*'\0')
{(*);
>*s;
>;
>'\0';
h;
{[]="";
*;
...
本题要求建立一个类型的数据链表,从()函数中可知,是"头指针"变量,它的值是由()带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填*。
30)写出执行完下列程序段以后指定的变量的值:
!
()();
已知,则0。
31)下列语句段的输出结果是1024
1101;
(k<)
m*=2;
<循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。32)以下程序中,函数的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M2N4(a[M][N]*){0;(0<){0;(1<)(a[k][i]>a[j][i]);[k][i];}*;}(){x[M][N]={3,2,5,1,4,1,8,3};();<}33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N3M4(x[N][M]){;(0<){0;(1<)(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
循环是当型循环,本题的条件是k<;k的初始值为1,而每次循环都会执行,循环执行10次,故最后输出1024。
32)以下程序中,函数的功能是:
求出M行N列二维数组每列元素中的最小值,并计算它们的和值。
和值通过形参传回主函数输出。
请填空。
M2
N4
(a[M][N]*)
{0;
(0<)
(1<)
(a[k][i]>a[j][i]);
[k][i];
{x[M][N]={3,2,5,1,4,1,8,3};
33)以下程序中,主函数调用了函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空:
N3
M4
(x[N][M])
(x[i][p]<<""<}}(){x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};(x);}34)以下程序的功能是调用函数计算:1-2+3-4+…+9-10,并输出结果。请填空。(n){01;(1;i<;){*f;;}m;}(){<<""<<(10)<<"\n";}35)以下程序运行后的输出结果是3,2,2,3。(y){;<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
<<""<
{x[N][M]={1,.5,7,4,2,6,4,3,8,2,3,1};
(x);
34)以下程序的功能是调用函数计算:
1-2+3-4+…+9-10,并输出结果。
(n)
(1;i<;)
{*f;
m;
{<<""<<(10)<<"\n";}
35)以下程序运行后的输出结果是3,2,2,3。
(y)
<(){23;();<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
{23;
<}被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36)下面程序的运行结果是:35。(**b){*t;;}(){35,*,*;();<<*p<<*q;}观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。1)若x和y都是型变量,100、200,且有下面的程序片段<<();上面程序片段的输出结果是2本题的考查点是逗号表达式。在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。2)以下程序的输出结果是101091<>(){x=10=10;(i=0>8=)<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
被调函数()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。
36)下面程序的运行结果是:
35。
(**b)
{*t;
{35,*,*;
<<*p<<*q;
观察本题的程序可以看出,被调函数()实现的功能是交换变量的值,但由于函数不返回任何值,所以在()函数中打印出的变量的值并没有发生交换,即仍为3和5。
1)若x和y都是型变量,100、200,且有下面的程序片段
<<();
上面程序片段的输出结果是2
本题的考查点是逗号表达式。
在()中的","是一个特殊的运算符,叫做逗号运算符,它的一般形式为:
表达式1,表达式2,求解过程为:
先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,()的值为200,所以输出结果为200。
2)以下程序的输出结果是101091
{x=10=10;
(i=0>8=)
<<<<""<}语句的一般格式为:(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行函数。是先使用后运算。3)请读程序:<><>(){a,b;(a=1,b=1;a<=100;){(b>=20);(31){b3;;}b5;}<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
语句的一般格式为:
(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行语句中指定的内嵌语句。
所以,本题在条件为真的情况下,先执行函数。
是先使用后运算。
3)请读程序:
a,b;
(a=1,b=1;a<=100;){
(b>=20);
(31){b3;;}
b5;
<}上面程序的输出结果是8。"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。<>(a[]n){;(0<1)(1<)(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
上面程序的输出结果是8。
"%"是求余运算符,执行第一次循环时,条件(31)为真,4,继续下一次循环,如此反复,当22时,条件(b>=20)为假,跳出循环,此时共循环8次,即8。
4)当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为1。
5)以下程序中函数的功能是对a所指数组中的数据进行由大到小的排序。
(0<1)
(a[i]}(){[10]={1,2,3,4,5,6,7,8,9,10};([3],5);(0<10)<<[i];<<;}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。本题的考查点是对数组的操作。本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。6)有以下程序<>(){a[][3]={{1,2,3},{4,5,0}},(*)[3];;(0<3)(i<2)[1][i][1][i]-1;[1][i]=1;<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
{[10]={1,2,3,4,5,6,7,8,9,10};
([3],5);
(0<10)<<[i];
<<;
}程序运行后的输出结果是1,2,3,8,7,6,5,4,9,10,。
本题并不是对数组的所有元素进行排序,而是对从a[3]开始往后的4个元素进行排序。
6)有以下程序
<}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。在所给的程序中,指向二维数组首地址a,接着执行下面的循环,当0或1时,数组元素[1][i]的值减1,当2时,数组元素[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。7)以下程序的输出结果是520。<>(){[20]="\0\t\\";<<()<<()<<;}本题主要考查语言的字符串与库函数。语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。本题中()应为5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的()为20。8)执行下列程序后,输出的结果是10。(n){(n<=1)1;(1);}(){<<(4)<<;0;}9)对于函数(*b);的重载函数,不正确的是(*c);。10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数11)以下程序的输出结果是15<>f(){0;1;;;s;}(){0;(0<5)();<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
7)以下程序的输出结果是520。
{[20]="\0\t\\";
<<()<<()<<;
本题主要考查语言的字符串与库函数。
语言中字符串是以'\0'字符结束的,且()函数计算的是'\0'字符前的所有字符的个数。
本题中()应为5。
数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。
()函数是计算变量或数组的所分配到的内存空间的大小。
所以本题的()为20。
8)执行下列程序后,输出的结果是10。
(n<=1)
(1);
<<(4)<<;
9)对于函数(*b);的重载函数,不正确的是(*c);。
10)在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联函数
11)以下程序的输出结果是15
f()
;;
s;
(0<5)();
<}本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。在函数多次被调用的过程中静态局部变量的值具有可继承性。在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。到第五次调用结束时,i的值是5。而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。12)执行下面程序后,输出的结果是<>;*x[]={"","",""};f(*z[]){<<*<<;}(){**y;;f(y);0;}本题考查的是字符指针的用法。解题思路如下:x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。所以执行完后,z是指向“”的。故最后输出结果是“”。13)若有说明2,*;,则能完成赋值功能的语句是**;本题考查语言中指针赋值运算。指针是一种特殊的变量,它是用来存放变量地址的变量。指针定义时可以为其赋初值。只有指针被赋了值后才能对其使用。14)下列语句中,错误的是;15)有如下程序:<>;(){[100],*p;<<"a:";>>;;(0;*'\0');<0;}运行这个程序时,若输入字符串为则输出结果是7本题考查的是流对象。在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。16)有以下程序:<><>{i;[2];}a;(){[0]=13;[1]=0;<<<<;}程序的输出结果是(注意:[0]在低字节,[1]在高字节)13本题的考查点是共用体类型数据的特点。根据共用体的定义可知:共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。17)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。<>{;*;};*(*s){*h,*p,*q);(*);;(*'\0'){(*);>*s;>;;;}>'\0';h;}(){[]="";*;();...}18)对于枚举类型的定义语句{36};其中枚举常量的值为。719)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
本题主要考的是对变量存储属性的理解,一个变量被指定为静态变量,在编译时就为其分配了存储空间,程序一开始执行便被建立,直到该程序执行结束都存在,而不像动态变量只存在于函数或分程序被调用期间。
在函数多次被调用的过程中静态局部变量的值具有可继承性。
在第一次调用函数结束时,i的值是1,返回值1,第二次调用函数时,i的值保侍为1,执行自加操作后,i的值变成了2,到了第三次调用时,i的值保持了上次调用结束时的值,再执行自加,值变成了3。
到第五次调用结束时,i的值是5。
而s的值不具备i的这种可继承性,每次调用时,它都先被重新赋值为1,再执行下面的操作。
12)执行下面程序后,输出的结果是
*x[]={"","",""};
f(*z[])
<<*<<;
**y;
f(y);
本题考查的是字符指针的用法。
解题思路如下:
x是一个指针数组,当将y传递给函数f时,便将x的地址传递给f,式子*中,的优先级更高一点。
所以执行完后,z是指向“”的。
故最后输出结果是“”。
13)若有说明2,*;,则能完成赋值功能的语句是**;
本题考查语言中指针赋值运算。
指针是一种特殊的变量,它是用来存放变量地址的变量。
指针定义时可以为其赋初值。
只有指针被赋了值后才能对其使用。
14)下列语句中,错误的是;
15)有如下程序:
[100],*p;
<<"a:
";
(0;*'\0');
运行这个程序时,若输入字符串为
则输出结果是7
本题考查的是流对象。
在采用输入字符串时,将以空格分割各字符串,因此在输入"",只将""赋值给,而下面循环的目的是计算该字符串的长度,不难得出该字符的长度为7。
16)有以下程序:
{i;[2];
}a;
{[0]=13;
[1]=0;
程序的输出结果是(注意:
[0]在低字节,[1]在高字节)13
本题的考查点是共用体类型数据的特点。
根据共用体的定义可知:
共用体a的成员i和成员[2]是共用着同一段内存空间,所以,当程序给[0]赋值后,实际上,共用体成员i的值也确定了,为13,所以打印输出的结果应当为13。
17)以下程序的功能是:
建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请为下划线处选择出正确的选项。
{;*;};
{*h,*p,*q);
;
18)对于枚举类型的定义语句{36};其中枚举常量的值为。
7
19)已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为1的单元,其中1<例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。请将语句补充完整:(0<1)a[i][];120)以下程序运行后的输出结果是。3,2,2,3(y){;<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
例如,当4,a中原有的数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。
请将语句补充完整:
(0<1)a[i][];1
20)以下程序运行后的输出结果是。
3,2,2,3
<(){23;();<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
<}21)函数的功能是计算x的n次方。(n){i;1;(1<)*x;y;}主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:^4^4-()^3。实现这一计算的函数调用语句为。(a,4)(b,4)((),3);22)有以下程序f(*x){*x;**;}(){24;f();<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
21)函数的功能是计算x的n次方。
{i;1;
(1<)*x;
y;
主函数中已经正确定义m、a、b变量并赋值,并调用函数计算:
^4^4-()^3。
实现这一计算的函数调用语句为。
(a,4)(b,4)((),3);
22)有以下程序
f(*x)
{*x;**;}
{24;
f();
<}执行后输出的结果。8423)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。24)对于表达式5,5,变量a的值为025)有如下程序:<><>;(){('*');<<<<(4)<<123<<""<<;0;}执行这个程序的输出结果是123*。26)有以下程序<>(){15210;(3){0;1;(2){;0;}}<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
执行后输出的结果。
84
23)与数学式子3乘以x的n次方/(21)对应的语言表达式3*()*(1/(2*1))。
24)对于表达式5,5,变量a的值为0
25)有如下程序:
执行这个程序的输出结果是123*。
26)有以下程序
{15210;
(3)
(2)
<}程序运行后的输出结果是1。因为3是个常数,所以只执行一次就跳出结构。即只执行,此时m为1。27)以下程序的输出结果是A。<>(){0;(<=2){;<<<<;}}A)B)C)D)1111222334本题考查语言的循环语句。语言中语句的一般形式如下:(表达式){语句部分;}该语句的执行过程是:先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。28)若执行下面的程序时从键盘上输入3和4,<>(){;>>a>>b;;(a*s;<}则输出是16。本题的考查点是给变量赋值。用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。29)执行下列语句:<>;(){3;(5)<<<<;<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
}程序运行后的输出结果是1。
因为3是个常数,所以只执行一次就跳出结构。
即只执行,此时m为1。
27)以下程序的输出结果是A。
(<=2)
{;<<<<;}
A)B)C)D)
1111
222
33
4
本题考查语言的循环语句。
语言中语句的一般形式如下:
语句部分;
该语句的执行过程是:
先计算表达式的值,若成立(即值为非零)则重新执行语句部分(循环体),然后再次计算表达式的值,并重复上述过程,直到表达式的值为"假"(值为零)时,退出循环,并转下一语句去执行。
28)若执行下面的程序时从键盘上输入3和4,
>>a>>b;
*s;
则输出是16。
本题的考查点是给变量赋值。
用户输入的3和4分别赋给了a和b,在语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*16,最后的打印结果为16。
29)执行下列语句:
(5)
<0;}程序的输出是5本题考查的是结构和“”运算符与“=”运算符的区别。〈条件〉语句1语句2,语句的执行过程是:首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。30)以下程序的输出结果是26。<>();3;(){i;(1<)();}(){1;x*1;<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
程序的输出是5
本题考查的是结构和“”运算符与“=”运算符的区别。
〈条件〉语句1
语句2,语句的执行过程是:
首先判断条件是否为真(不为0),如果为真则执行语句1,否则执行语句2。
本题的条件是5,意思是把5赋予变量a,它将a置5且返回一个真值。
30)以下程序的输出结果是26。
{i;
(1<)();
{1;
x*1;
<}()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。31)有以下程序段0;{>>;}(12345<3);此处循环的结束条件是p的值等于12345或者n的值大于等于332)有如下程序<>(){n[5
()中定义一个静态局部变量x,它的作用范围仅限于本函数中,而不会影响()函数中的x值,所以()中执行两次循环,第一次调用()函数时,函数中x的初值是1,x*1语句可以写成*
(1),结果x的值变成2,随后输出值2;在第二次调用()函数时,x的值继承了上次调用的运行结果,变成了2,执行了x*1后,x的值是6,故又输出了数字6。
31)有以下程序段
{>>;}(12345<3);
此处循环的结束条件是p的值等于12345或者n的值大于等于3
32)有如下程序
n[5
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2