电大c语言期末试题及1套完整答案_第1页
电大c语言期末试题及1套完整答案_第2页
电大c语言期末试题及1套完整答案_第3页
电大c语言期末试题及1套完整答案_第4页
电大c语言期末试题及1套完整答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电大c语言期末试题第一部分单选题(50题)1、以下函数定义正确的是?()

A.voidfun(){printf("hello");}

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正确

【答案】:答案解析:A无参无返回值,B有参无返回值,C无参有返回值,均符合语法,故选D。2、若intx=2;执行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}输出结果是?()

A.01

B.23

C.0123

D.无输出

【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出23,故选B。3、do-while循环中,循环体至少执行几次?()

A.0次

B.1次

C.2次

D.不确定

【答案】:答案解析:do-while“先执行后判断”,无论条件是否满足,循环体至少执行一次,故选B。4、以下指针运算中,结果为指针的是?()

A.*p

B.p+1

C.&a

D.B和C

【答案】:答案解析:p+1是指针偏移,&a是取地址,结果均为指针;*p是解引用(获取值),故选D。5、若inti=0;执行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}输出结果是?()

A.012

B.01

C.01234

D.无输出

【答案】:答案解析:i=2时break,输出012,故选A。6、以下数组定义中,长度为5的是?()

A.inta[5];

B.inta[]={1,2,3,4,5};

C.charstr[]="abcd";

D.以上都是

【答案】:答案解析:A长度5,B长度5,C字符串"abcd"含\0共5个字符,故选D。7、函数定义和函数声明的区别是?()

A.定义包含函数体,声明不包含

B.声明包含函数体,定义不包含

C.定义和声明无区别

D.定义在程序开头,声明在结尾

【答案】:答案解析:函数定义是完整实现(含函数体),声明是告诉编译器函数名、参数、返回类型(不含函数体),故选A。8、函数参数的默认值在______指定?()

A.函数定义时

B.函数声明时

C.函数调用时

D.C语言不支持默认参数

【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。9、putchar()函数的功能是?()

A.读取一个字符

B.输出一个字符

C.读取字符串

D.输出字符串

【答案】:答案解析:putchar()用于输出单个字符,getchar()读取单个字符,puts()输出字符串,故选B。10、若intx=9;执行以下代码后输出结果是?()if(x>10)printf("A");elseif(x>8)printf("B");elseif(x>6)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=9>8,执行第二个分支,输出B,故选B。11、逻辑表达式!0的结果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。12、函数定义的格式是?()

A.返回类型函数名(参数列表){函数体}

B.函数名(返回类型,参数列表){函数体}

C.函数名(参数列表)返回类型{函数体}

D.返回类型函数名{参数列表,函数体}

【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。13、以下if语句中,赋值表达式作为条件的是?()

A.if(x==3)

B.if(x=3)

C.if(x>3)

D.if(x!=3)

【答案】:答案解析:x=3是赋值表达式,结果为3(非0,真),其余是判断表达式,故选B。14、若inti=0,s=0;执行do{s+=i;i++;}while(i<5);后s的值是?()

A.10

B.15

C.5

D.0

【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。15、指针变量的作用是存储?()

A.变量的值

B.变量的地址

C.函数的地址

D.数组的元素

【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。16、以下哪个条件表达式表示“x是奇数”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。17、若inti=0;执行for(;;){if(i==4)break;printf("%d",i);i++;}输出结果是?()

A.0123

B.01234

C.无限循环

D.无输出

【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。18、以下switch语句中,default的作用是?()

A.匹配所有case

B.匹配除case外的所有情况

C.终止switch语句

D.无实际作用

【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。19、指针作为函数参数时,传递的是?()

A.指针的值

B.指针的地址

C.变量的值

D.变量的地址

【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。20、若inta=1,b=2;则表达式(a==b)的结果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判断,a==b为假,C语言中假用0表示,故选B。21、若inti=0;执行do{i++;printf("%d",i);}while(i<3);输出结果是?()

A.123

B.012

C.12

D.无输出

【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。22、以下if语句中,条件表达式正确的是?()

A.if(x=5)printf("yes");

B.if(x==5)printf("yes");

C.if(x=5;)printf("yes");

D.if(x==5;)printf("yes");

【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。23、若inta=3;执行if(++a>3)printf("A");elseprintf("B");输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:++a是前置自增,a变为4>3,条件为真,输出A,故选A。24、函数嵌套调用是指?()

A.函数调用自身

B.函数调用另一个函数

C.函数定义中包含另一个函数

D.多个函数互相调用

【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。25、以下关于void类型函数的说法正确的是?()

A.不能有return语句

B.可以有return语句(无表达式)

C.必须有return语句

D.可返回任意类型

【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。26、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。27、若intx=5;则表达式++x的结果是?()

A.5

B.6

C.4

D.7

【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。28、以下哪个赋值语句是正确的?()

A.inta=5;

B.a=5;

C.inta=b=5;

D.a=b=5;

【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。29、以下函数调用时,实参为常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是变量,C是变量地址,D是字符串常量,题目问“常量”,A正确,故选A。30、指针与结构体的关系,以下说法正确的是?()

A.结构体指针通过->访问成员

B.结构体变量通过。访问成员

C.结构体指针可指向结构体变量

D.以上都正确

【答案】:答案解析:A、B、C均是结构体与指针的基本规则,故选D。31、以下if语句中,逻辑非运算符使用正确的是?()

A.if(!x)printf("yes");

B.if(!x==0)printf("yes");

C.if(!(x>0))printf("yes");

D.A和C

【答案】:答案解析:!x表示“x为假(0)”,!(x>0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。32、以下函数声明中,返回类型为float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。33、以下关于空指针的定义正确的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正确

【答案】:答案解析:A、B是NULL的常见定义,C是定义空指针,均正确,故选D。34、若inti=0,s=0;执行while(i<=3){s+=i2;i++;}后s的值是?()

A.12

B.6

C.8

D.10

【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故选A。35、以下定义指向二维数组的指针正确的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=&a;

【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。36、以下哪个转义字符表示制表符?()

A.\n

B.\t

C.\b

D.\r

【答案】:答案解析:\t是制表符(Tab),\n换行,\b退格,\r回车,故选B。37、若intx=6;执行以下代码后输出结果是?()if(x<5){printf("A");}elseif(x<8){printf("B");}else{printf("C");}

A.A

B.B

C.C

D.无输出

【答案】:答案解析:x=6<8,执行第二个分支,输出B,故选B。38、数组元素的下标从______开始?()

A.0

B.1

C.-1

D.任意

【答案】:答案解析:C语言数组下标从0开始,是固定规则,故选A。39、数组名作为函数参数时,传递的是?()

A.数组第一个元素的值

B.数组所有元素的值

C.数组第一个元素的地址

D.数组长度

【答案】:答案解析:数组名传参本质是首元素地址(指针传递),函数中可通过指针访问数组,故选C。40、函数参数传递中,值传递适用于?()

A.简单变量,无需修改实参

B.数组,需修改元素

C.指针,需修改实参

D.结构体,需修改成员

【答案】:答案解析:值传递用于简单变量(不修改实参),地址传递用于需修改实参的场景,故选A。41、以下数组定义中,正确的是?()

A.inta[5];

B.inta[5]={1,2,3,4,5};

C.inta[]={1,2,3,4,5};

D.以上都是

【答案】:答案解析:A、B、C均符合数组定义规则,故选D。42、函数返回值的类型由______决定?()

A.return语句中的表达式类型

B.函数定义时的返回类型

C.函数调用时的参数类型

D.编译器默认类型

【答案】:答案解析:函数返回类型在定义时指定,return表达式类型需与返回类型匹配(不匹配则强制转换),故选B。43、若charstr[]="helloworld";则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11个字符(不含\0),长度为11,故选B。44、若inta[5]={10,20,30,40,50};则a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。45、以下关于函数参数的说法正确的是?()

A.形参是局部变量

B.实参是局部变量

C.形参在函数调用后释放

D.实参在函数调用后释放

【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论