2021扬州大学C语言0606、0706期末试题

设变量已正确定义并赋值,以下正确的表达式是

A)x=y*5=x+z

B)int(15.8%5)

C)x=y+z+5,++y

D)x=25%5.0


正确答案:C


若有语句 double x=17;int y; ,当执行 y=(int)(x/5)%2; 之后 y 的值为 【 7 】 。


正确答案:


执行下列程序段后,变量a,b,c的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?x:++y; b=++x; c=y;

A.a=5,b=5,c=5

B.a=4,b=5,c=5

C.a=5,b=6,c=5

D.a=1,b=5,c=6


正确答案:B
解析: 本题考查自加(++)、自减(--)运算符的使用。“++i,--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;“i++,i--”,先使用此时的i的值参与运算,在使用i之后,再使i的值加1或者减1。
对于第1个表达式--x=4,y++=4。两者相等,--x==y++为真,所以a=x=4,执行完此语句后y的值是5。
第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。


( 9 )有如下的函数定义:

int Xfun(int x){

int y=x;

{int x=10; y+=x;}

return x+y;

}

通过表达式 Xfun(5) 调用该函数,则得到的返回值为 【 9 】 。


正确答案:


以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。

A.int x=y=z=5;

B.int x,y,z=5;

C.int x=5,y=5,z=5;

D.x=5,y=5,z=5;"


参考答案C


扬州大学C语言0606、0706期末试题202106一、单选题(每小题2分,共30分)1.下列表示中,不是C语言合法字符常量的是(1)。A. 0xffB. 65C. $D. x2a2.设有如下定义:float y=3.45678;int x;则下列表达式中能实现将y中数值保留至小数点后2位,小数点后第3位四舍五进的表达式是(2)。A. y=(y*100+0.5)/100.0B. x=y*100+0.5, y=x/100.0C. y=y*100+0.5/100.0D. y=(y/100+0.5)*100.03.下列表示中,能在C语言中正确定义三个整型变量a、b、c,且能给它们均赋值5的是 (3) 。A. int a=b=c=5;B. int a,b,c=5;C. int a=5,b=5,c=5;D. a=b=c=5;4.设有数学命题“当整数a的值为奇数时,表达式的值为真,否则为假”,则下列C语言表达式中,不能满足该数学命题要求的是 (4) 。A.a%2=1B. !(a%2)C. !(a%2=0)D. a%25.执行下列程序段后,变量i的值是(5)。int i=1;switch(i) case 0: i+=1;case 1: i+=1;case 2: i+=1;default: i+=1;A. 1B. 2C. 3D. 46.在C语言中,break语句(6)。A. 能用在C源程序中的任何位置B. 只能用在循环体内C. 只能用在循环体内或switch语句中D. 可用作函数内的任一语句7.设有程序段:int x=10;while (x=0) x=x-1;则下列叙述中正确的是 (7) 。A. while循环执行10次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句只执行一次8.在C语言中,数组名可作为实在参数传递给函数的形式参数,此时,作为实在参数的数组名被处理为(8) 。A. 该数组的长度B. 该数组的元素个数C. 该数组中元素的值D. 该数组的首地址9.以下关于函数定义的叙述中,正确的是 (9) 。A. 构成C语言源程序的基本单位之一是函数定义B. 所有被调用的函数必须在调用之前定义C. main函数的定义必须放在其他函数定义之前D. 定义main函数时,main函数的函数体内必须至少包含一条语句或声明10.设有下列程序段:struct personchar name9; int age; ;struct person class10=“John”,17, “Paul”,19, “Mary”,18, “adam”,16;则下列选项中,能打印出字母“M”的语句是 (10) 。A. printf(“%cn ”,class3.name);B. printf(“%cn ”,class3.name1);C. printf(“%cn ”,class2.name1)D. printf(“%cn ”,class2.name0)11. 以下能将字符串“good !”正确地存放在字符数组s 中,或使指针变量s 能正确地指向这个字符串的是(11) 。A. char s5=g , o , o , d , !;B. char s5;s=“good!”;C. int s5=“good!”;D. char *s ;s=“good!”;12. 若有语句:char s110,s210=“books ”;则下列表示中,能正确地将字符串“books ”赋给数组s1的是 (12) 。A. s1=“books ”B. strcpy(s1,s2)C. s1=s2D. strcpy(s2,s1)13. 以下正确的函数说明语句是 (13) 。A. int fun(int a, b)B. float fun(int a; int b)C. double fun()D. int fun(char a)14. 设有说明语句char *s=“abcd ”;则执行s+=2后,*s 的内容是 (14) 。A. aB. bC. cD. cd15. 下列对typedef 的叙述中,错误的是 (15) 。A. 用typedef 可以增加新类型B. 用typedef 可以定义各种类型名,但不能用来定义变量C. 用typedef 只是将已存在的类型用一个新的标识符来代表D. 使用typedef 有利于程序的通用和移植二、填空题(每空1分,共20分)1. 一个C 语言源程序是由若干个(1) 组成的;C 语句的分隔符是(2) 。2. 程序的三种基本控制结构分别是(3) 、选择和(4) 。3. 数学表达式“b a yx +22”所对应的C 语言表达式为(5) 。在C 程序中要计算这样的表达式,通常必须包含头文件(6) 。4. 在C 语言中,声明变量的格式为:存储类别 类型名 变量名表;其中,变量有四种存储类别,它们分别是(7) 、register 、extern 和(8) 。5. 若有定义:“int a34=1,2,3,4,5,6,7,8; ”,则执行该说明语句后,a12=(9) ,a21=(10) 。6. 在C 程序中,若有函数定义如下:void f() static int i ; 其中,void表明函数f(11);而i是一个(12)整型变量。7.在C语言程序设计中,预处理命令行必须以(13)开头,该命令是在(14)被处理的。8.若一结构的成员项是指向本结构类型的结构指针,则称该结构为(15)。定义这种结构类型的一般形式如下:struct node int data;(16) next;9.在C语言源程序中,函数内部说明局部变量时若缺省了存储类型,则该变量的存储类型为(17);定义一个函数时,若缺省该函数返回值的类型,则默认返回值为(18)型。10.设有以下说明语句:struct student int x;int *y;int dt4=1,2,3,4;struct student a4=10, &dt3, 20, &dt2, 30, &dt1, 40, &dt0, *p=a;则表达式+p-x的值为(19),表达式*(+p)-y的值为(20)。三、阅读程序写出结果(每小题4分,共20分)1.下列程序的运行结果是。#include main() int s=0,n=135;do s+=n%10;n/=10;while(n);printf(“%dn”,s);getch();2.下列程序的运行结果是。#include void f(int x,int y) int t;t=x;x=y; y=t;main( ) int a=1,b=100;f(a,b);printf (“%d,%dn”,a,b);getch();3.以下程序运行的结果是。#include #include main() int i;for(i=0;iprintf(%3d ,f(i);getch();f(int x) int y=0;static int z=1;y+,z+;return(x+y+z);4. 下面程序段运行的结果是_。#include #include main() int i=1,j=0,m=1,n=1;switch(i) case 1:m+;n+;case 2:switc

下列变量定义正确的是________。

A. int x_1 ; y;

B. intx=y=5 ;

C. intfor=4;

D. int printf=2,x_y=2;


参考答案:D


执行下列程序后,变量a,b,C的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?X:++y; b=++x: c=y:

A. a=5,b=5,c=5

B.a=4,b=5,c=5

C.a=5,b=6,c=5

D.a=1,b=5,c=6


正确答案:B
本题考查自加(++)、自减(--)运算符的使用。“++x,--x”,在变量x前使用,先使X的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x--”,先把使用X的值参与运算,在使用X之后,再使x的值加1或者减1。对于表达式--x=4,y++=4,两者相等,--x=y++为真,所以a=x=4,执行完此语句后y的值是5。第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。故B正确。


若X和n均是int型变量,且x=12,n=5,则执行y=x%=(n%_2)表达式后Y的值为________ 。


正确答案:
O【解析】 n%=2等价于n=n%2,结果为1;x%=1等价于x=x%1,结果为0。


设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)


正确答案:D
解析:该题考查逻辑与“&&”和逻辑或“||”以及逻辑非“!”符号的用法。选项A)即3&&4为真,选项B)即3=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。


下列程序的运行结果为 include class Location { protected: int X,Y;

下列程序的运行结果为 #include<iostream.h> class Location { protected: int X,Y; publiC: void SeX(int myx){X=myx;} void SetY(int myy){Y=myy;} void showxy( ) {cout<<"X=" <<X<<" " <<"Y"=<< Y<< endl;} }; Class Rectangle :public Location{

A.X=3 Y=5 X=3 Y=5 H=4 W=6

B.X=3 Y=5 X=3 Y=5 H=3 W=6

C.X=3 Y=5 X=3 Y=4 H=4 W=6

D.X=3 Y=5 X=3 Y=3 H=4 W=6


正确答案:A
解析:本题是一道简单的成员函数应用题,考生只要按着主函数中生成的类Rectangle的对象r1进行成员函数的调用即可得到答案。

更多 “2021扬州大学C语言0606、0706期末试题” 相关考题
考题 若有定义:int x=3,y=4,z=5;则值为0 的表达式是()A.B.C.D.参考答案:D

考题 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是( )。A. B. S设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是( )。A.B.C.D.正确答案:D该题考查逻辑与”&&”和逻辑或”||”以及逻辑非”!¨符号的用法。选项A)即3&&4为真;选项B)即3<=4为真;选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真;此时选项c)变为l&&一1为真。选项D)不用计算,括号内逻辑或右边的值为l,因而括号内的值为1,再进行逻辑非运算得0。

考题 设有如下类:class MyPoint {void myMethod() {int x, y;x = 5; y = 3;System.out.print( " ( " + x + ", " + y + " ) " );switchCoords( x, y );System.out.print( " ( " + x + ", " + y + " ) " );}void switchCoords( int x, int y ) {int temp;temp = x;x = y;y = temp;System.out.print( " ( " + x + ", " + y + " ) " );}}如果执行myMethod()方法,则输出结果为?A. (5, 3、(5, 3、(5, 3、B. (5, 3、(3, 5、(3, 5、C. (5, 3、(3, 5、(5, 3、正确答案:C

考题 单选题若有定义“int x=4,y=5;”,则表达式“y>x++?x--:y++”的值为(  )。A 3B 4C 5D 6正确答案:B解析:表达式“y>x++?x--:y++”含义:若y>x++成立,则表达式等于x--;若y>x++不成立,则表达式等于y++。由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值加1,等于5,此时表达式条件“y>x++”不成立,所以整个表达式的值等于y++的值,y++是后自加运算,值等于5。

考题 若x=6 ,y=5 则表达式int max=x>y?x:y 的结果为()A.6B.5C.trueD.false答案:A解析:三元表达式语法结构:判断条件? 表达式1 : 表达式2当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值

考题 单选题设有定义:int x=7,y=12;,则以下表达式值为3的是(  )。A (y%=x)-(x%=5)B y%=(x%=5)C y%=x-x%5D y%=(x-x%5)正确答案:B解析:A项正确,a%=b表示a=a%(b),A项可改写成y=y%x,x=x%5,再计算y-x计算的结果为3,满足题意;B项为0,C项为2,D项等同于C项。答案选择A选项。

考题 若有定义:int x=5,y=6;则表达式x=(y==6)的值为()A、5B、1C、6D、0正确答案:B

考题 下列程序的输出结果是______。 int t(int x,int y,int cp,int dp) { cp=x*X+y*y; dp=x*x-y*y; } main() { int a=4,b=3,c=5,d=6: t(a,b,c,d); printf("%d%d\n" ,c,d);A.4 5B.4 6C.5 6D.5 5正确答案:C

考题 下列变量定义正确的是()A、int   x_1 ; y;B、int  printf=2,x_y=2;C、int  for=4;D、int  x,y=5 ;正确答案:D

考题 若变量y为float类型,且已经被赋值,则下列语句中能够将y中数值保留到小数点后面两位,并且将第三位四舍五入的是()。 A、y=y*100+0.5/100.0;B、y=(y*100+0.5)/100.0;C、y=(y/100+0.5)*100.0;D、y=(int)(y*100+0.5)/100.0;正确答案:D