春考c语言考试题库必考题_第1页
春考c语言考试题库必考题_第2页
春考c语言考试题库必考题_第3页
春考c语言考试题库必考题_第4页
春考c语言考试题库必考题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

春考c语言考试题库第一部分单选题(50题)1、若inta=5,p=&a;执行p=8;后a的值是?()

A.5

B.8

C.&a

D.无定义

【答案】:答案解析:*p=8通过指针修改指向变量a的值,a变为8,故选B。2、以下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。3、以下哪个不是C语言的关键字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C语言关键字,if(条件)、else(否则)、for(循环)均是,故选C。4、下列变量定义语法正确的是?()

A.inta=5;

B.inta=b=5;

C.int5a;

D.inta;b;

【答案】:答案解析:B不能连续赋值定义,C标识符开头错误,D分号分隔需分别定义(inta;intb;),故选A。5、若inta=10,*p=&a,q=p;则q的值是?()

A.10

B.&a

C.p

D.无定义

【答案】:答案解析:q=p使q指向a,*q=10,故选A。6、函数调用时,实参和形参的个数必须?()

A.相等

B.实参多于形参

C.形参多于实参

D.无要求

【答案】:答案解析:函数调用时实参和形参个数、类型需匹配,否则编译错误,故选A。7、若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。8、以下关于动态内存分配的说法正确的是?()

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

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

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

D.以上都正确

【答案】:答案解析:A、B、C均是动态内存分配的核心规则,故选D。9、若inti=0;执行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}输出结果是?()

A.13

B.024

C.01234

D.无输出

【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。10、逻辑表达式!0的结果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。11、以下关于指针的说法正确的是?()

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

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

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

D.以上都正确

【答案】:答案解析:A、B、C均是野指针的核心知识点,故选D。12、以下字符串数组定义正确的是?()

A.charstr[5][10]={"hello","world"};

B.charstr[5][]={"hello","world"};

C.charstr[][10]={"hello","world","!"};

D.charstr[5][10]={"hello","world","!"};

【答案】:答案解析:B第二维不能省略,A、C、D均正确?D最完整(5行10列,初始化3个字符串),故选D。13、二维数组a[3][4]的元素个数是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12个元素,故选B。14、若charstr[]="helloworld";则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11个字符(不含\0),长度为11,故选B。15、逻辑表达式3&&0的结果是?()

A.0

B.1

C.3

D.真

【答案】:答案解析:逻辑与&&只要有一个operand为0则结果为0,3为真,0为假,故选A。16、以下定义指向数组的指针正确的是?()

A.inta[5],*p=a;

B.inta[5],*p=&a;

C.inta[5],p=a;

D.inta[5],*p=a[0];

【答案】:答案解析:a是数组名(首元素地址),p=a等价于p=&a[0],B&a是数组地址(类型不匹配),Cp是普通变量,Dp不能赋a[0]的值,故选A。17、指针的自增运算(p++)的含义是?()

A.指针值加1

B.指针指向的变量值加1

C.指针指向地址偏移一个类型大小

D.指针指向地址偏移1字节

【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。18、若inta=5,*p=&a;则&*p的值是?()

A.5

B.&a

C.p

D.无定义

【答案】:答案解析:&*p等价于p,即&a(a的地址),故选B。19、以下哪个赋值语句是正确的?()

A.inta=5;

B.a=5;

C.inta=b=5;

D.a=b=5;

【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。20、数组在内存中的存储方式是?()

A.随机存储

B.连续存储

C.链式存储

D.散列存储

【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。21、以下函数调用错误的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.无错误(需看函数定义)

【答案】:答案解析:调用需匹配函数定义,A对应无参函数,B对应单参函数,C对应双参函数,均可能正确,故选D。22、逻辑表达式!5的结果是?()

A.0

B.1

C.5

D.真

【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。23、指针作为函数参数时,传递的是?()

A.指针的值

B.指针的地址

C.变量的值

D.变量的地址

【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。24、以下关于函数的说法正确的是?()

A.函数必须有返回值

B.函数可嵌套定义

C.函数可递归调用

D.函数名可重定义

【答案】:答案解析:A函数可无返回值(void),B不能嵌套定义(可嵌套调用),D函数名不能重定义,C递归调用正确,故选C。25、若intx=3,y=5;则表达式x>y?x:y的结果是?()

A.3

B.5

C.true

D.false

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

A.指针可用于实现多返回值函数

B.指针可提高程序效率

C.指针可用于动态内存分配

D.以上都正确

【答案】:答案解析:指针的核心用途包括多返回值、高效访问、动态内存分配,故选D。27、若intx=2;执行switch(x){case1:printf("a");case2:printf("b");case3:printf("c");}输出结果是?()

A.b

B.bc

C.abc

D.无输出

【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出bc,故选B。28、若charstr="Clanguage";则(str+2)的值是?()

A.'C'

B.''

C.'l'

D.'a'

【答案】:答案解析:str+2指向第三个字符,值为'l',故选C。29、以下哪个函数用于读取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。30、C语言中,宏定义的预处理命令关键字是?()

A.include

B.define

C.ifdef

D.endif

【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。31、while循环的语法格式正确的是?()

A.while(条件)语句;

B.while条件语句;

C.while(条件);语句;

D.while(条件){语句}

【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。32、以下if-else语句中,代码块正确的是?()

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

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

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

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

【答案】:答案解析:else需与最近的if匹配,A、C、D中else前有独立printf,语法错误,B用{}包裹代码块正确,故选B。33、以下关于函数递归的说法错误的是?()

A.必须有终止条件

B.可能导致栈溢出

C.效率比循环高

D.代码简洁

【答案】:答案解析:递归调用会创建栈帧,效率低于循环,A、B、D正确,C错误,故选C。34、函数参数为数组时,形参的写法错误的是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。35、若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。36、若inta=3,b=4;则表达式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。37、以下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。38、执行scanf("%d,%d",&a,&b);时,正确的输入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗号分隔符,输入需严格对应,故选C。39、若inta[3][3]={{1,2},{3,4},{5,6}};则a[1][1]的值是?()

A.2

B.4

C.5

D.6

【答案】:答案解析:a[1][1]是第二行第二列,值为4,故选B。40、若floatf=5.9;强制转换为整型的表达式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。41、若inta=10;执行if(a%2==0)printf("偶数");elseprintf("奇数");输出结果是?()

A.偶数

B.奇数

C.10

D.无输出

【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。42、表达式5>3&&2<4的结果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:5>3为真(1),2<4为真(1),逻辑与&&结果为1,故选B。43、以下函数调用正确的是?()

A.fun(5);

B.fun(3,4);

C.fun("hello");

D.取决于函数定义

【答案】:答案解析:函数调用需匹配函数定义的参数类型和个数,A、B、C是否正确取决于函数定义,故选D。44、C语言中,语句结束的标志是?()

A.逗号

B.分号

C.冒号

D.句号

【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。45、若charc='A';执行c=c+32后,c的值是?()

A.'a'

B.'B'

C.65

D.97

【答案】:答案解析:大写字母ASCII码比对应小写字母小32,'A'(65)+32='a'(97),故选A。46、以下函数声明中,返回类型为float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。47、若inta=2

温馨提示

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

最新文档

评论

0/150

提交评论