文档库 最新最全的文档下载
当前位置:文档库 › [精选]浙江理工大学C语言期末试卷(含答案)

[精选]浙江理工大学C语言期末试卷(含答案)

[精选]浙江理工大学C语言期末试卷(含答案)
[精选]浙江理工大学C语言期末试卷(含答案)

C程序设计试卷

一、单选题(本题共20分,每小题2分)

(1) 以下C语言常量中,表达错误的是___(1)___。

[A] 0xFF [B] 3.2e0.5 [C] 5.6 [D] ‘\n’

(2) C程序的基本结构有___(2)___。

[A] 选择、重复和模块[B] 顺序、选择和模块

[C] 顺序、选择和循环[D] 逻辑、物理和程序

(3) 在C语言程序中,关于字符串的描述正确的是___(3)___。

[A] 可定义一个字符串变量来存储字符串;

[B] 可定义一个字符变量来存储任意字符串;

[C] 可定义一个字符数组来存储字符串;

[D] 可定义一个字符指针来存储字符串;

(4) 在C语言中,用关键字___(4)___定义双精度类型变量。

[A] single [B] double [C] float [D] int

(5) 下面叙述中不正确的是___(5)___。

[A] 不同函数中可以使用相同名字的变量

[B] 形式参数是局部变量

[C] 在一个函数内部的复合语句中定义的变量在本函数范围内有效

[D] 在一个函数内部定义的变量只能在本函数范围内有效

(6) 下面程序段的输出结果是___(6)___。

int i=100;

while(i>120)

i=i+1;

printf(″%d″,i);

[A] 100 [B] 101 [C] 120 [D] 121

(7) 以下定义语句中正确的是___(7)___。

[A] char a='A' b='B';

[B] float a=b=10.0;

[C] int a=10, *b=&a;

[D] float *a,b=&a;

(8) 已有定义:int i, a[10], *p;,则合法的赋值语句是___(8)___。

[A] p=100; [B] p=a[5]; [C] p=a[2]+2; [D]p=a+2;

(9) 设有定义:int a,*p1=&a; 以下scanf语句中能正确为变量a读入数据的是___(9)___。

[A] scanf(“%d”,p1);

[B] scanf(“%d”,a);

[C] s canf(“%d”,&p1);

[D] scanf(“%d”,*p1);

(10) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是___(10)___。

[A] if((a>b)&&(b>c)) k=1 else k=0;

[B] if((a>b)||(b>c)) k=1 else k=0;

[C] if(a<=b) k=0;

[D] if(a>b) k=1;

二、程序填空题(本题共30分,每小题2分)

阅读下列程序说明和程序代码,在每小题提供的若干可选项中,挑选一个最佳的选项。(1)【程序说明】

输入整数n,输出共有n层的金字塔图形。例如:

【程序代码】

# include

void main() {

int i,j,n;

char c='*';

printf("输入层数:");

scanf("%d",&n);

for(i=1; (11) ;i++){

for(j=1;j<=n-i; (12) )

printf(" ");

for(j=1; (13) ;j++){

printf( (14) ,c);

}

printf("\n"); //换行,在内嵌循环结束后执行

(15)

}

【选项】

(11) [A] i<=n+1 [B] i<=n [C] i

(12) [A] i++ [B] j=i+1 [C] j++ [D] i=j+1

(13) [A] j>=2*i-1 [B] j<=2*i-1 [C] j<=2*n-1 [D] j<=n

(14) [A] "%d" [B] "%s" [C] "%c" [D] "%f"

(15) [A] } [B] )[C] };[D] 以上选项都不正确 (2)【程序说明】输入年份判断是否闰年。

【程序代码】

#include

main() {

int year,leap;

scanf("%d", (16) );

if (year%4==0) {

if (year%100==0)

{

if (year%400==0)

leap=1;

(17)

leap=0;

}

else

leap=1;

}

else

(18) ;

if ( (19) )

printf ("%d is ", (20) );

else

printf ("%d is not ",year);

printf ("a leap year.\n");

}

【选项】

(16) [A] year [B] &year [C] &n [D] &leap

(17) [A] else if [B]else; [C] else [D] else if(leap==1)

(18) [A] leap=0 [B] leap=1 [C] year=0 [D] year=1

(19) [A]year=1 [B] leap [C] leap =0 [D]以上选项都不正确

(20) [A]leap [B] &leap [C]year [D]&year

(3)【程序说明】输入十个整数并保存在一维数组中,使数组中每个元素都增加10。

【程序代码】

#include

main() {

int a[10],i;

(21)

p=a;

for (i=0;i<10;i++){

scanf("%d", (22) );

(23) ;

}

for (p=a;p<(a+10);p++)

(24)

printf("\n");

(25) ;

for (;p<(a+10);p++)

printf("%d ",*p);

}

【选项】

[A] int p[10] [B] int *p; [C] int p; [D] int a; (21

)

(22

[A] a++ [B] a[p] [C] *p [D] p

)

[A] p++ [B] a++ [C]*p++ [D] *a++

(23

)

(24

[A] *a=*a+10; [B] *p=*(p+10); [C] *p=*p+10; [D] *a=*(a+i); )

[A] p=a[0] [B] p=*a [C] p=a [D] *p=&a

(25

)

三、程序阅读题(本题共20分,每小题2分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案。(1)【程序说明】运行程序并回答问题。

【程序代码】

#include

#include

void main()

{ int n,s=0;

scanf("%d",&n);

n=fabs(n);

while(n>1) {

s=s+n%10;

n=n/10;

}

printf("%d\n",s);

}

【选项】

(26) 程序运行时输入312,输出___(26)__。

[A] 213 [B] 6 [C] 312 [D] 3为。

(27) 程序运行时输入-5104,输出___(27)__。

[A]-5104 [B]–4015 [C]10 [D] 51.04

(2)【程序说明】运行程序并回答问题。

【程序代码】

# include

void main(){

int a,b,c,temp;

a=5;b=12;c=6;

printf("a=%d,b=%d,c=%d\n",a,b,c);

if(a

if(a

printf("a=%d,b=%d,c=%d\n",a,b,c);

if(b

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

void swap(int *x,int *y){

int temp;

temp=*x;

*x=*y;

*y=temp;

}

【选项】

(28) 程序运行时,第1行输出___(28)__。

[A] a=5,b=12,c=6 [B] a=%d,b=%d,c=%d

[C] a=5.0,b=12.0,c=6.0 [D] a=12,b=5,c=6

(29) 程序运行时,第2行输出___(28)__。

[A] a=5,b=12,c=6 [B] a=6,b=12,c=5

[C] a=12,b=5,c=6 [D] a=12,b=6,c=5

(30) 程序运行时,第3行输出___(30)__。

[A] a=5,b=12,c=6 [B] a=6,b=12,c=5

[C]a=12,b=5,c=6 [D] a=12,b=6,c=5

(3)【程序说明】运行程序并回答问题。

【程序代码】

#include

void main()

{

char s1[40];

int i=0;

printf("\nInput a string:");

scanf("%s",s1);

while (s1[i] !='\0'){

if (s1[i]>='A' && s1[i] <='Z')

s1[i]=s1[i]+32;

i++;}

printf("\n%s\n",s1);

}

【选项】

(31) 程序运行时,输入abc30DCA,输出___(31)__。

[A] 62 [B] abc30dca [C] abc [D] DCA

(32) 程序运行时,输入Face,输出___(32)__。

[A] Face32 [B] FACE [C] face [D] f

(4)【程序说明】运行程序并回答问题。

【程序代码】

#include

void main(){

FILE *fp;

int i,j,k,x,y;

scanf("%d%d",&i,&j);

fp=fopen("t.dat","w");

fprintf(fp,"%d\n",i);

if (i

k=j;

else if(i>j)

k=i;

else

k=i+j;

fprintf(fp,"%d\n",k);

fclose(fp);

fp=fopen("t.dat","r");

fscanf(fp,"%d%d",&x,&y);

printf("x=%d,y=%d\n",x,y);

fclose(fp);

}

【选项】

(33) 程序运行时,输入20 12 输出___(33)__。

[A] x=20,y=20 [B] x=20,y=12 [C] x=12,y=20 [D] x=12,y=12

(34) 程序运行时,输入10 35输出___(34)__。

[A] x=45,y=45 [B] x=10,y=10 [C] x=10,y=35 [D] x=35,y=35

(35) 程序运行时,输入12 12输出___(35)__。

[A] x=24,y=24 [B] x=12,y=12 [C] x=24,y=12 [D] x=12,y=24

四、 程序设计题(本题共30分,每小题10分)

(1)编写程序,要求从键盘上输入一个数给x ,计算并输出分段函数y 的值。

1

5++x e x x

0≤x ≤10

提示:sqrt( ),指数函数为: exp( ),正切函数为: tan( ),正弦函数为: sin( ),所有这些函数在math.h 头文件中。

(2)从键盘输入一个正整数n ,编写程序计算1/1!+1/2!+1/3!+……+1/n!的值并输出结果, 要求

定义和调用函数fact (n)计算n 的阶乘。

(3)随机产生20个大于等于1小于等于100的数,并按从大到小排序。请输出排序后的数,要求每行输出5个数。

浙江理工大学2005/2006下学期期末考试---C 程序设计试题

参考答案与评分标准

一、单选题(本题共20分,每小题2分)

二、程序填空题(本题共30分,每小题2分)

三、程序阅读题(本题共20分,每小题2分)

四、编程题(本题共30分,每小题10分) 1、

# include # include void main(){ float x,y;

scanf("%f",&x); if(x>10) y=x+10;

else if(x>=0) y=(sqrt(5*x)+exp(x))/(x+1); else y=tan(x)*sin(x); printf("y=%f\n",y); } 2、

#include float fact(int n){

float t=1.0;int i=1;

while (i<=n)

t=t*i++;

return(t);

}

void main(){

int n,i ;float sum=1.0;

scanf("%d",&n);

for (i=2;i<=n;i++)

sum=sum+1.0/fact(i);

printf("%f\n",sum);

}

3、

#include

#include

void main(){

int i,j,n=0,temp,x[20];

srand(time(NULL));

printf("原始数据:\n");

for(i=0;i<=19;i++){

x[i]=rand()%100+1; //产生20个随机数 if(i%5==0)printf("\n");

printf("%-6d",x[i]);

}

printf("\n");

for(i=0;i<19;i++){ //从大到小排序

for(j=0;j<19-i;j++)

if(x[j]

temp=x[j];

x[j]=x[j+1];

x[j+1]=temp;

}

}

printf("排序后数据:\n");

for(i=0;i<20;i++){

if(i%5==0)printf("\n");

printf("%-6d",x[i]);

}

printf("\n");

}

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.wendangku.net/doc/d53489434.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

13浙江理工数据结构真题

浙江理工大学 2013年硕士学位研究生招生入学考试试题 考试科目:数据结构代码:991 (请考生在答题纸上答题,在此试题纸上答题无效) 一、单选题(在每小题的四个备选答案中选出一个正确答案。每小题2分,共20分。) 1.链表不具备的特点是______。 A. 可随机访问任一结点 B. 插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与其长度成正比 2.设线性表有n个元素,以下算法中,在顺序表上实现比在链表上实现效率更高。 A. 交换第0个元素与第1个元素的值 B. 顺序输出这n个元素的值 C. 输出第i(0≤i≤n-1)个元素值 D. 输出与给定值x相等的元素在线性表中的序号 3.设输入序列为a、b、c、d,则借助栈所得到的输出序列不可能是_________。 A. a、b、c、d B. d、c、b、a C. a、c、d、b D. d、a、b、c 4.为解决计算机主机与打印机之间的速度不匹配问题,通常设计一个打印数据缓冲区,主机将要 输出的数据依次写入到该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是。 A. 栈 B. 队列 C. 树 D. 图 5.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有 个空指针域。 A. 2m B. 4m C. 2m+1 D. 2m -1 6.二叉树若用顺序存储结构表示,则下列四种运算中最容易实现。 A. 先序遍历二叉树 B. 层次遍历二叉树 C. 中序遍历二叉树 D. 后序遍历二叉树 7.以下关于有向图的说法正确的是。 A. 强连通图是任何顶点到其他所有顶点都有边 B. 完全有向图一定是强连通图 C. 有向图中某顶点的入度等于出度 D. 有向图边集的子集和顶点集的子集可构成原有向图的子图 8.若一个有向图中的顶点不能排成一个拓扑结构序列,则可断定该有向图____________。 A. 含有多个出度为0的顶点 B. 是个强连通图 C. 含有多个入度为0的顶点 D. 含有顶点数目大于1的强连通分量 9.顺序查找法适合于存储结构为的线性表。 A. 哈希存储 B. 压缩存储 C. 顺序存储或链式存储 D. 索引存储 10.在所有排序方法中,关键字比较的次数与记录地初始排列次序无关的是。 A. shell排序 B.冒泡排序 C. 直接插入排序 D. 简单选择排序

汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( B )。 A.(AX)=1001H; B.(AX)=0FFFH; C.(AX)=1000H; D.(AX)=0111H。 6.串指令中的目的操作数地址一定是由____A_ _提供。()A.ES:[DI] ; B.SS:[BP]; C.DS:[SI] ; D.CS:[IP]。 7.将DX的内容除以2,正确的指令是( C )。 A.DIV 2 ; B.DIV DX,2 ; C.SAR DX,1; D.SHL DX,1。 8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。 A.目标程序; B.汇编语言源程序; C.可执行程序; D.汇编程序。 9.用一条指令仅实现将AX←BX+SI的方法是( D )。 A.XCHG AX,[BX][SI] ; B.MOV AX,[BX+SI]; C.LEA AX,BX[SI] ; D.LEA AX,[BX][SI]。 10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。 A.1FFFH; B.1998H; C.1FFEH; D.2002H。 2. C 二、指出下列指令的出错原因,并改正。(每小题2分,共12分) 1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX TEST BX,[SI] 5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX] SUB AX,[BP+SI] 或:MOV AL,[BX] SUB AL,[BP+SI] 6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分) 1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

浙江理工大学数据结构与算法期末样卷 (3)

模拟试卷三 一、单选题(每题2 分,共20分) 1.对一个算法的评价,不包括如下()方面的内容 A.健壮性和可读性 B.并行性 C.正确性 D.时空复杂度 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( ) A.p->next=HL->next; HL->next=p; B.p->next=HL; HL=p; C.p->next=HL; p=HL; D.HL=p; p->next=HL; 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( ) A.2 3 1 B.3 2 1 C.3 1 2 D.1 2 3 5.AOV网是一种() A.有向图 B.无向图 C.无向无环图 D.有向无环图 6.采用开放定址法处理散列表的冲突时,其平均查找长度() A.低于链接法处理冲突 B.高于链接法处理冲突 C.与链接法处理冲突相同 D.高于二分查找 7.若需要利用形参直接访问实参时,应将形参变量说明为()参数 A.值 B.函数 C.指针 D.引用 8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。 A.行号 B.列号 C.元素值 D.非零元素个数 9.快速排序在最坏情况下的时间复杂度为() A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( ) A.O(n) B.O(1) C.O(log2n) D.O(n2) 二、运算题(每题6 分,共24分) 1.数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

大学计算机C语言期末试卷02

一、选择题,(1-50)每题1分,下列各题A)、B)、C)、D)四个选项中,只有一个选项是 正确的,请将正确选项涂写在试卷最后答题纸相应位置上,答在试卷上不得分。 (1) 用8位表示,-2的补码是D A) 10000001 B) 11111111 C) 00000001 D) 11111110 (2) 在VC中,实型float占用的字节数是c A) 1 B) 2 C) 4 D) 8 (3) unsigned short的取值范围是d A) 0~ 255 B) -128 ~ 127 C) -32768 ~ +32767 D) 0 ~ 65535 (4) 十六进制数FE的十进制结果为A A) 254 B) 512 C) 1024 D) 64 (5) 源程序ex1.c编译后生成的文件名为 C A) ex1.doc B) ex1.obj C) ex1.exe D) ex1.cpp (6) C语言源程序的后缀为B A) .cpp B) .c C) .exe D) .doc (7) 工程文件名的后缀为A A) .prj B) .c C) .cpp D) .bin (8) 字符’B’的ASCII值是A A) 66 B) 0x3A C) 0x42 D) 49 (9) 将十进制数132转为二进制数的结果是D A) 11001100 B) 110011011 C) 10101010 D) 10000100 (10) 终止死循环用组合键B A) Alt+F10 B) Ctrl+C或Ctrl+Break C) Ctrl+F1 D) Ctrl+Shit或Ctrl+ESC (11) 在VC中,编译的快捷键是B A) F7 B) Ctrl+F7 C) Ctrl+F5 D) F5 (12) 以下选项中可作为C语言合法整数的是D A) 10110B B) 0386 C) 0Xffa D) x2a2 (13) 以下不能定义为用户标识符的是D A) scanf B) Void C) _3com_ D) int (14) 以下程序 swap(int x, int y) {int temp; temp=x; x=y; y=temp; } main() {int a=10,b=20; swap(a,b); printf("a=%d,b=%d\n",a,b); } 的运行结果是B A)a=20,b=10 B)a=10,b=20 C)10,20 D)20,10 (15) 以下程序: main() {int a=0x55, b=0xaa; printf("%d\n", a^b); } 的运行结果是:C A) 0 B) 1 C) 255 D) 0xaa (16) 有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

C程序设计语言期末考试题A有答案)

期末试题——C#程序设计语言(A卷) 说明:本试卷共四大题,试卷满分100分,考试时间120分钟。 一.判断题(每题1分,共10分,正确的打√,错误的打×) ( ) 1.“+、-、*、/、%、++、--均属于二元运算符。 ( ) 2.字符串类型属性引用类型。 ( ) 3.Visual Studio控件的属性窗口中,按钮“A->Z”点击后,属性列表会先按照功能分类排列属性后在每个单元中以名称排序。 ( ) 4.派生类可以继承基类的成员,以及方法的实现;派生的接口继承了父接口的成员方法,并且也继承父接口方法的实现。 ( ) 5.当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。 ( ) 6.隐式类型转换就是不需要声明目标类型就可以进行的转换? ( ) 7.如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数。 ( ) 8.在C#中在派生类中重新定义基类类的虚函数必须在前面加override。 ( ) 9.C#中方法的参数中输出型参数(out)的实参在传递给形参前,不需要明确赋值,但需在方法返回前对该参数明确赋值。 ( ) 10.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数。 二.单项选择题(每题2分,共40分) 一、(说明:每题有且仅有一个正确答案,请将正确答案填入下表) 1.C#程序设计语言属于什么类型的编程语言:a A.高级语言 B.自然语言 C.机器语言 D.汇编语言 2.如有int a=11;则表达式(a++*1/3)的值是:b A.0 B.3 C.4 D.12 3.类的字段和方法的默认访问修饰符是:b A. public B. private C. protected D. internal 4.对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。如圆周率PI始终为。现 在要声明一个名为PI的圆周率常量,下面哪段代码是正确的?b float PI;PI = ; float PI = ; const PI;PI = ; const PI = ; 5.请问经过表达式a=3+3>5?0:1的运算,变量a的最终值是什么?。c

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

(NEW)浙江理工大学信息学院991数据结构历年考研真题汇编

目 录 2014年浙江理工大学信息学院991数据结构考研真题2013年浙江理工大学信息学院991数据结构考研真题2012年浙江理工大学信息学院991数据结构考研真题2011年浙江理工大学信息学院991数据结构考研真题2008年浙江理工大学信息学院935数据结构考研真题2007年浙江理工大学信息学院435数据结构考研真题

2014年浙江理工大学信息学院991数据结构 考研真题 浙江理工大学 2014年硕士学位研究生招生入学考试试题 考试科目:数据结构 代码:991 (请考生在答题纸上答题,在此试题纸上答题无效) 一、单选题:(每小题2分,共30分) 1.不带头结点的单链表simple List为空的判定条件是______。 A.simple List == null B.simple List->next == null C.simple List->next = simple List D.simple List!= null 2.某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用______存储方式最节省运算时间。 A.单链表 B.仅有头结点的单循环链表 C.双链表

D.仅有尾指针的单循环链表 3.向一个栈顶指针为top的链栈中插入一个S所指结点时,则执行______。 A.top->next = S; B.S->next = top->next top->next = S; C.S->next = top; top = S D.S->next = top; top = top->next; 4.一维数组和线性表的区别是______。 A.前者长度固定,后者长度可变 B.后者长度固定,前者长度可变 C.两者长度均固定 D.两者长度均可变 5.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1, n(n-1)/2]中,对任一下三角部分中任一元素a ij(),在一组数组B的下标位置K的值是______。 A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1

汇编语言期末试卷复习附答案

选择题 1. 已知X=78,Y= -83则[X+Y]补=() A.0F5H B.0A1H C.0FBH D.65H 2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是() A.基址寻址 B.立即寻址 C.变址寻址 D.基址变址寻址 3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为() A.17500H B.16500H C.14500H D.13500H 4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是() A.AX,BX,CX,DX B.BP,SP,IP,CS C.BX,BP,SI,DI D.BH,BL,CH,CL 5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是() A. 表示结果中含1的个数为偶数 B. 表示结果中含1的个数为奇数 C. 表示该数为偶数 D. 表示结果中低八位含1的个数为偶数 6. 下列传送指令中,有语法错误的指令是()。 A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX 7. MOV SP,3210H PUSH AX执行上述指令序理后,SP寄存器的值是()。 A.3211H B. 320EH C.320FH D. 3212H 8. 设(DH)=20H,执行NEG DH指令后,正确的结果是() A.(DH)=20H CF=1 B.(DH)=20H CF=0 C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1 9. 执行下面指令序列后,结果是() MOV AL,82H CBW A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

汇编语言基础试题

第一章基本知识 一、单项选择题(共40分,每题2分) 1.若十进制数为13 2.75,则其十六进制数为(B) A.21.3 B.84.C C.4.6 D.6 2.若[X补]=11111,则其十进制真值为(C) A.-31 B.-15 C.-1 D.31 3.某定点整数64位,含1位符号位,补码表示,则其绝对值最大负数为(A) A.-263 B.-264 C.-(263-1) D.-(263-1) 4.原码乘法是(D) A.用原码表示操作数,然后直接相乘 B.被乘数用原码表示,乘数取绝对值,然后相乘 C.乘数用原码表示,被乘数取绝对值,然后相乘 D.先取操作数绝对值相乘,符号位单独处理 5.在微机系统中分析并控制指令执行的部件是(C) A.寄存器 B.数据寄存器 C.CPU D.EU 6.已知X=76,则[X]补=(B) A.76H B.4CH C.0B4H D.0CCH 7.已知[X]补=80H, 则X=(D) A.80H B.0 C.0FFH D.-80H 8.已知[X]补=98H, 则[X]补/2=(A) A.0CCH B.4CH C.49H D.31H 9.已知X=78,Y=-83则[X+Y]补=(C) A.0F5H B.0A1H C.0FBH D.65H 10.在计算机的CPU中执行算术逻辑运算的部件是(A) A.ALU B.PC C.AL D.AR 11.将125转换成二进制数的结果(A) A.7DH B.7CH C.7EH D.7BH 12.将93H看成一个组合BCD码,其结果是(B) A.10010101 B.10010011 C.10000011 D.10000001 13.能被计算机直接识别的语言是(C) A.C语言 B.汇编语言 C.机器语言 D.面向对象语言

南京邮电大学C语言期末试卷及答案

模拟试卷A 一、单选题 1、C语言中运算对象一定不能是double类型的运算符是___ 。 A、%= B、/ C、= D、<= 2、能正确表达数学逻辑关系"0b) c=0; else c=1; 等价于___。 A、c=(a>b)?1:0; B、c=a>b; C、c=a<=b; D、以上均不是 7、有如下定义语句:int a, b=5, *p=&a; 则能完成a=b赋值功能的语句是___。 A、a=*p; B、*p=*&b; C、a=&b; D、*p =&*p; 8、设int *ptr, x, array[5]={5,4,3,2,1}; ptr=array; 能使x的值为3的语句是___。 A、x=array[3]; B、x=*(array+3); C、x=*(ptr+2); D、array+=2; x=*array; 9、有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10]; 则下列几种调用错误的是___。

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 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("\t"); } 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 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

汇编语言单片机考试试题和答案

一.单项选择题(30分) 在中断服务程序中至少应有一条() A.传送指令 B.转移指令 C.加法指令 D.中断返回指令 2.当MCS-51复位时,下面说法准确的是() A.PC=0000H B.SP=00H C.SBUF=00H D.(30H)=00H 3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符是() A.MOV B.MOVX C.MOVC D.以上都行 4.ORG2000H LACLL3000H ORG 3000H RET 上边程序执行完RET指令后,PC=() A.2000H B.3000H C.2003H D.3003H 5.要使MCS-51能响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是() A.98H B.84H C.42H D.22H 6.JNZREL指令的寻址方式是() A.立即寻址 B.寄存器寻址 C.相对寻址 D.位寻址 7.执行LACLL4000H指令时, MCS-51所完成的操作是( ) A保护PCB.4000HPC C.保护现场 D.PC+3入栈, 4000HPC 8.下面哪条指令产生信号() A.MOVX A,@DPTR B.MOVC A,@A+PC C.MOVC A,@A+DPTR D.MOVX @DPTR,A 9.若某存储器芯片地址线为12根,那么它的存储容量为() A. 1KB B. 2KB C.4KB D.8KB 10.要想测量引脚上的一个正脉冲宽度,则TMOD的内容应为() A.09H B.87H C.00H D.80H 11.PSW=18H时,则当前工作寄存器是() A.0组 B. 1组 C. 2组 D. 3组 12.MOVX A,@DPTR指令中源操作数的寻址方式是() A. 寄存器寻址 B. 寄存器间接寻址 C.直接寻址 D. 立即寻址 13. MCS-51有中断源() A.5 B. 2 C. 3 D. 6 14. MCS-51上电复位后,SP的内容应为( ) A.00H B.07H C.60H D.70H https://www.wendangku.net/doc/d53489434.html,0003H LJMP2000H ORG000BH LJMP3000H 当CPU响应外部中断0后,PC的值是() A.0003H B.2000H C.000BH D.3000H 16.控制串行口工作方式的寄存器是() A.TCON B.PCON C.SCON D.TMOD 17.执行PUSHACC指令, MCS-51完成的操作是() A.SP+1SP, ACCSP B. ACCSP, SP-1SP C. SP-1SP, ACCSP D. ACCSP, SP+1SP 18.P1口的每一位能驱动() A.2个TTL低电平负载 B. 4个TTL低电平负载 C.8个TTL低电平负载 D.10个TTL低电平负载 19.PC中存放的是() A.下一条指令的地址 B. 当前正在执行的指令 C.当前正在执行指令的地址 D.下一条要执行的 指令 20.8031是()A.CPU B.微处理器 C.单片微机 D.控制器 21.要把P0口高4位变0,低4位不变,应使用指令( ) A.ORL P0,#0FH B.ORL P0,#0F0H C.ANL P0,#0F0H D.ANL P0,#0FH

c语言期末测试题附答案)

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第 一、 单项选择题(本大题共 15 小题,每题只有一个正确答案,答对 一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k ); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

相关文档
相关文档 最新文档