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

下载本文档

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

文档简介

电大c语言期末试题第一部分单选题(50题)1、continue语句在循环中的作用是?()

A.终止整个循环

B.跳过本次循环剩余部分,继续下一次

C.暂停循环

D.无作用

【答案】:答案解析:continue跳过本次循环剩余代码,直接进入下一次循环条件判断,故选B。2、若inta=4;执行if(a--<4)printf("A");elseprintf("B");输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:a--是后置自减,条件判断时a=4,4<4为假,执行else(输出B),后a变为3,故选B。3、以下if语句语法正确的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

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

D.if(x>0){printf("yes")}

【答案】:答案解析:if后条件需加括号,B缺少括号,C分号导致语句结束,D缺少分号,故选A。4、若inti=0;执行for(i=1;i<=5;i++){if(i%3==0)continue;printf("%d",i);}输出结果是?()

A.1245

B.12345

C.3

D.无输出

【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。5、do-while循环的语法格式正确的是?()

A.do语句;while(条件);

B.do{语句}while(条件)

C.do语句while(条件);

D.do;语句;while(条件);

【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。6、若inti=0;执行do{i++;printf("%d",i);}while(i<=2);输出结果是?()

A.123

B.012

C.12

D.无输出

【答案】:答案解析:do-while执行3次,i=1、2、3,输出123,故选A。7、以下关于循环语句的说法错误的是?()

A.for循环三个表达式均可省略

B.while循环先判断后执行

C.do-while循环至少执行一次

D.continue可用于switch语句

【答案】:答案解析:continue仅用于循环语句,不能用于switch,A、B、C说法正确,故选D。8、以下关于二维数组的说法正确的是?()

A.二维数组是数组的数组

B.二维数组元素在内存中按列存储

C.二维数组长度必须是常量

D.二维数组不能作为函数参数

【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。9、下列变量定义语法正确的是?()

A.inta=5;

B.inta=b=5;

C.int5a;

D.inta;b;

【答案】:答案解析:B不能连续赋值定义,C标识符开头错误,D分号分隔需分别定义(inta;intb;),故选A。10、指针作为函数参数时,传递的是?()

A.指针的值

B.指针的地址

C.变量的值

D.变量的地址

【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。11、若floatf=5.9;强制转换为整型的表达式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。12、若inti=0;执行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}输出结果是?()

A.012

B.0123

C.01234

D.无输出

【答案】:答案解析:i=3时break,输出012,故选A。13、以下函数参数传递方式中,能修改实参值的是?()

A.值传递

B.地址传递

C.都能

D.都不能

【答案】:答案解析:值传递修改的是形参(副本),不影响实参;地址传递通过指针修改实参值,故选B。14、以下循环中,用于计算1到10的乘积的是?()

A.s=0;for(i=1;i<=10;i++)s+=i;

B.s=1;for(i=1;i<=10;i++)s*=i;

C.s=0;while(i<=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i<=10);

【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。15、函数的形参在______时分配内存?()

A.函数定义

B.函数声明

C.函数调用

D.程序编译

【答案】:答案解析:形参是局部变量,函数调用时分配内存,调用结束释放,故选C。16、指针的核心优势是?()

A.间接访问变量,灵活操作内存

B.提高程序效率,减少内存开销

C.支持动态内存分配和函数回调

D.以上都正确

【答案】:答案解析:指针的核心优势包括间接访问、高效、动态内存、回调等,故选D。17、以下关于函数参数的说法正确的是?()

A.形参是局部变量

B.实参是局部变量

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

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

【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。18、若intx=3,y=5;则表达式x>y?x:y的结果是?()

A.3

B.5

C.true

D.false

【答案】:答案解析:三元运算符格式“条件?值1:值2”,x>y为假,取y=5,故选B。19、以下关于函数参数的说法正确的是?()

A.形参是函数定义时的变量

B.实参是函数调用时的变量/常量

C.形参和实参类型需匹配

D.以上都正确

【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。20、以下if语句的语法正确的是?()

A.if(x>0){printf("a");elseprintf("b");}

B.if(x>0)printf("a");else{printf("b");}

C.if(x>0)printf("a");elseprintf("b");}

D.if(x>0){printf("a");}elseprintf("b");}

【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。21、预处理命令#definePI3.14159的作用是?()

A.定义变量

B.定义常量

C.函数声明

D.包含头文件

【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。22、函数中局部变量的作用域是?()

A.整个程序

B.函数内部

C.函数外部

D.所有函数

【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。23、函数指针的作用是?()

A.存储函数的地址

B.调用函数

C.实现回调函数

D.以上都正确

【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。24、以下函数参数为指针的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。25、函数参数传递中,值传递适用于?()

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

B.数组,需修改元素

C.指针,需修改实参

D.结构体,需修改成员

【答案】:答案解析:值传递用于简单变量(不修改实参),地址传递用于需修改实参的场景,故选A。26、若inti=0;执行while(i<5){i++;if(i==3)continue;printf("%d",i);}输出结果是?()

A.1245

B.12345

C.01245

D.无输出

【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。27、while循环的语法格式正确的是?()

A.while(条件)语句;

B.while条件语句;

C.while(条件);语句;

D.while(条件){语句}

【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。28、若inta[5]={1,2,3,4,5},p=a;执行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故选B。29、指针变量的作用是存储?()

A.变量的值

B.变量的地址

C.函数的地址

D.数组的元素

【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。30、以下关于数组初始化的说法正确的是?()

A.数组必须初始化

B.数组初始化时元素个数不能少于长度

C.数组初始化时可部分赋值

D.数组初始化后不能修改

【答案】:答案解析:数组可部分赋值(未赋值元素默认0),A数组可不用初始化,B可少于长度,D数组元素可修改,故选C。31、以下哪个是C语言的循环语句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。32、若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。33、C语言程序编译的正确顺序是?()

A.预处理→编译→汇编→链接

B.编译→预处理→汇编→链接

C.预处理→汇编→编译→链接

D.链接→编译→汇编→预处理

【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。34、若int*p=(int)malloc(sizeof(int));则p的值是?()

A.0

B.随机值

C.1

D.无定义

【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。35、若intx=3;执行以下代码后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;

A.10

B.20

C.30

D.无定义

【答案】:答案解析:x=3>2,执行第二个分支,a=20,故选B。36、以下关于函数的说法正确的是?()

A.函数可提高代码复用性

B.函数可简化程序结构

C.函数可便于维护

D.以上都正确

【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。37、continue语句只能用于以下哪种结构?()

A.循环语句

B.switch语句

C.if语句

D.所有结构

【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。38、若intx=3,y=5;执行if(x>y)printf("x大");elseif(x==y)printf("相等");elseprintf("y大");输出结果是?()

A.x大

B.相等

C.y大

D.无输出

【答案】:答案解析:x=3<y=5,执行else,输出y大,故选C。39、以下switch语句中,default的执行时机是?()

A.所有case都不匹配时

B.第一个case不匹配时

C.最后一个case不匹配时

D.任何时候

【答案】:答案解析:default仅在所有case都不匹配时执行,故选A。40、若inta=10;执行if(a%2==0)printf("偶数");elseprintf("奇数");输出结果是?()

A.偶数

B.奇数

C.10

D.无输出

【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。41、若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。42、函数参数的默认值在______指定?()

A.函数定义时

B.函数声明时

C.函数调用时

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

【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。43、若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。44、若inti=0;执行for(;i<5;){printf("%d",i);i++;}输出结果是?()

A.01234

B.12345

C.无限循环

D.无输出

【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。45、若intx=1;执行switch(x){case1:printf("1");case2:pri

温馨提示

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

评论

0/150

提交评论