大学c语言考试题库(达标题)_第1页
大学c语言考试题库(达标题)_第2页
大学c语言考试题库(达标题)_第3页
大学c语言考试题库(达标题)_第4页
大学c语言考试题库(达标题)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

大学c语言考试题库第一部分单选题(50题)1、以下函数定义中,参数为指针的是?()

A.voidfun(int*a){printf("%d",*a);}

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

C.voidfun(inta[]){printf("%d",a[0]);}

D.A和C

【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。2、定义单精度浮点型变量y并赋值2.718的语句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。3、若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。4、do-while循环中,循环体至少执行几次?()

A.0次

B.1次

C.2次

D.不确定

【答案】:答案解析:do-while“先执行后判断”,无论条件是否满足,循环体至少执行一次,故选B。5、指针与字符串的关系,以下说法正确的是?()

A.字符串常量是字符数组,数组名是指针

B.字符串可通过指针遍历

C.字符指针可指向字符串常量

D.以上都正确

【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。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、以下哪个for循环是无限循环?()

A.for(i=0;i<5;i++)

B.for(;;)

C.for(i=0;i<5;i--);

D.for(i=5;i>0;i--)

【答案】:答案解析:for循环三个表达式均省略时,条件恒为真,是无限循环,A执行5次,C、D初始条件不满足(执行0次),故选B。8、若inti=1;执行while(i<=4){printf("%d",i);i+=3;}输出结果是?()

A.14

B.1234

C.1

D.无输出

【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。9、以下函数调用时,实参为常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是变量,C是变量地址,D是字符串常量,题目问“常量”,A正确,故选A。10、若charstr="Clanguage";则(str+2)的值是?()

A.'C'

B.''

C.'l'

D.'a'

【答案】:答案解析:str+2指向第三个字符,值为'l',故选C。11、若inti=1;执行while(i<5){printf("%d",i);i+=2;}输出结果是?()

A.13

B.135

C.1234

D.无输出

【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。12、指针变量的作用是存储?()

A.变量的值

B.变量的地址

C.函数的地址

D.数组的元素

【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。13、以下循环语句中,执行次数为5次的是?()

A.for(i=0;i<5;i++)

B.while(i<5){i++;}

C.do{i++;}while(i<5);

D.for(i=1;i<=5;i--)

【答案】:答案解析:A执行5次(0-4),B、C未初始化i(若i初始0则5次,否则不确定),D初始i=1>0,执行0次,故选A。14、以下哪个是C语言中的赋值运算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是赋值运算符,==是等于判断,+=是复合赋值,!=是不等于判断,故选B。15、若charstr[]="Clanguage";则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串长度以\0结束,"Clanguage"含10个字符(不含\0),故选A。16、continue语句只能用于以下哪种结构?()

A.循环语句

B.switch语句

C.if语句

D.所有结构

【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。17、以下哪个操作会导致野指针?()

A.指针未初始化

B.指针指向的内存被释放后未置空

C.指针越界访问

D.以上都是

【答案】:答案解析:野指针是指向无效地址的指针,A、B、C均会导致野指针,故选D。18、以下关于动态内存分配的说法正确的是?()

A.malloc函数用于动态分配内存,返回void*

B.free函数用于释放动态分配的内存

C.动态分配的内存需手动释放,避免内存泄漏

D.以上都正确

【答案】:答案解析:A、B、C均是动态内存分配的核心规则,故选D。19、C语言中,宏定义的预处理命令关键字是?()

A.include

B.define

C.ifdef

D.endif

【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。20、以下if-else语句中,代码块执行顺序正确的是?()

A.先执行if条件,满足则执行if代码块,否则执行else代码块

B.先执行else代码块,再执行if条件

C.同时执行if和else代码块

D.仅执行else代码块

【答案】:答案解析:if-else逻辑为“条件判断→满足执行if,否则执行else”,互斥执行,故选A。21、若inta[4]={1,2,3,4};则*(a+1)的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。22、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?()

A.5

B.6

C.3

D.4

【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。23、以下数组初始化中,未赋值元素默认为0的是?()

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

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。24、以下数组定义错误的是?()

A.inta[0];

B.inta[5];

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

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

【答案】:答案解析:数组长度不能为0,编译报错,其余正确,故选A。25、以下关于return语句的说法正确的是?()

A.函数中可有多条return语句

B.函数中必须有return语句

C.return语句必须在函数末尾

D.return语句只能返回一个值

【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。26、while循环的语法格式正确的是?()

A.while(条件)语句;

B.while条件语句;

C.while(条件);语句;

D.while(条件){语句}

【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。27、若intx=5;执行if(x>3&&x<7)printf("yes");elseprintf("no");输出结果是?()

A.yes

B.no

C.yesno

D.无输出

【答案】:答案解析:x=5>3且<7,条件为真,输出yes,故选A。28、若inti=5,s=0;执行while(i>0){s+=i;i--;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。29、以下if-elseif语句的执行逻辑是?()if(x<0)printf("负");elseif(x==0)printf("零");elseprintf("正");

A.多个条件可同时满足

B.仅执行第一个满足的条件分支

C.所有满足的条件分支都执行

D.无满足条件则不执行

【答案】:答案解析:if-elseif是互斥分支,仅执行第一个满足条件的分支,故选B。30、函数嵌套调用是指?()

A.函数调用自身

B.函数调用另一个函数

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

D.多个函数互相调用

【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。31、若inti=0;执行while(1){printf("%d",i);i++;if(i==3)break;}输出结果是?()

A.012

B.0123

C.无限循环

D.无输出

【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。32、若charc='A';执行c=c+32后,c的值是?()

A.'a'

B.'B'

C.65

D.97

【答案】:答案解析:大写字母ASCII码比对应小写字母小32,'A'(65)+32='a'(97),故选A。33、指针的核心优势是?()

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

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

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

D.以上都正确

【答案】:答案解析:指针的核心优势包括间接访问、高效、动态内存、回调等,故选D。34、continue语句在循环中的作用是?()

A.终止整个循环

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

C.暂停循环

D.无作用

【答案】:答案解析:continue跳过本次循环剩余代码,直接进入下一次循环条件判断,故选B。35、递归函数的终止条件是?()

A.函数调用自身

B.函数返回值为0

C.不再调用自身的条件

D.无终止条件

【答案】:答案解析:递归函数必须有终止条件(否则无限递归栈溢出),终止条件是不再调用自身的判断,故选C。36、以下if语句中,逻辑运算符使用正确的是?()

A.if(x>3&&x<7)

B.if(x>3&x<7)

C.if(x>3|||x<7)

D.if(x>3||x<7)

【答案】:答案解析:逻辑与用&&,逻辑或用||,B是按位与,C多写||,D逻辑错误(x>3或x<7恒为真),故选A。37、以下哪个表达式可访问数组a的第i个元素(i从1开始)?()

A.a[i]

B.a[i-1]

C.*(a+i)

D.*(a+i-1)

【答案】:答案解析:数组下标从0开始,第i个元素对应下标i-1,a[i-1]正确,C、D是指针访问(对应下标i),故选B。38、以下关于指针的说法正确的是?()

A.野指针是指向无效地址的指针

B.空指针是野指针的一种

C.避免野指针需初始化并及时置空

D.以上都正确

【答案】:答案解析:A、B、C均是野指针的核心知识点,故选D。39、指针与数组的关系,以下说法正确的是?()

A.数组名是常量指针,不能自增

B.指针可指向数组元素,通过指针遍历数组

C.p[i]等价于*(p+i)

D.以上都正确

【答案】:答案解析:数组名是首元素地址(常量,不可自增),指针可遍历数组,p[i]与*(p+i)等价,故选D。40、若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。41、数组名作为函数参数时,传递的是?()

A.数组第一个元素的值

B.数组所有元素的值

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

D.数组长度

【答案】:答案解析:数组名传参本质是首元素地址(指针传递),函数中可通过指针访问数组,故选C。42、若int*p=(int)malloc(sizeof(int));则p的值是?()

A.0

B.随机值

C.1

D.无定义

【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。43、以下switch语句语法正确的是?()

A.switch(x){case1:printf("1");break;case2:printf("2");}

B.switch(x){case1:printf("1");case2:printf("2");break;}

C.switch(x){case1:printf("1");break;default:printf("0");}

D.以上都正确

【答案】:答案解析:switch语句case后可加break(跳出)或不加(穿透),default可选,A、B、C语法均正确,故选D。44、函数参数的默认值在______指定?()

A.函数定义时

B.函数声明时

C.函数调用时

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

【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。45、以下哪个函数用于读取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。46、若intx=4;执行if(x++>4)printf("A");else

温馨提示

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

最新文档

评论

0/150

提交评论