大学商贸学院专升本C语言考试真题及答案一套_第1页
大学商贸学院专升本C语言考试真题及答案一套_第2页
大学商贸学院专升本C语言考试真题及答案一套_第3页
大学商贸学院专升本C语言考试真题及答案一套_第4页
大学商贸学院专升本C语言考试真题及答案一套_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

大学商贸学院专升本C语言考试真题第一部分单选题(50题)1、shortint类型的有符号取值范围是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.无固定范围

【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。2、以下函数定义中,参数为两个int类型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。3、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},(p)[3]=a;则((p+1)+2)的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:p是指向3列数组的指针,p+1指向第二行,(p+1)+2指向第二行第三列,值为6,故选B。4、以下关于指针的说法正确的是?()

A.指针可用于遍历数组

B.指针可用于字符串操作

C.指针可用于函数参数传递

D.以上都正确

【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。5、递归函数的优点是?()

A.代码简洁,逻辑清晰

B.效率高,占用内存少

C.避免栈溢出

D.适合所有问题

【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。6、指针作为函数参数时,传递的是?()

A.指针的值

B.指针的地址

C.变量的值

D.变量的地址

【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。7、以下switch语句中,break语句的位置正确的是?()

A.case后任意位置

B.必须在case代码最后

C.必须在default后

D.不能在default后

【答案】:答案解析:break可在case代码任意位置(执行到break即跳出),不一定在最后,default后也可加break,故选A。8、以下switch语句中,case穿透的情况是?()

A.case后加break

B.case后不加break

C.有default

D.无default

【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。9、若inti=0;执行for(;i<5;){printf("%d",i);i++;}输出结果是?()

A.01234

B.12345

C.无限循环

D.无输出

【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。10、若inta=1,b=2;则表达式(a==b)的结果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判断,a==b为假,C语言中假用0表示,故选B。11、以下函数调用时,实参为常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

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

A.'d'

B.'e'

C.'\0'

D.无定义

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

A.14

B.1234

C.1

D.无输出

【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。14、定义整型变量x、y并均赋值10的语句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。15、数组名作为函数参数时,传递的是?()

A.数组第一个元素的值

B.数组所有元素的值

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

D.数组长度

【答案】:答案解析:数组名传参本质是首元素地址(指针传递),函数中可通过指针访问数组,故选C。16、若inti=1,s=0;执行while(i<=5){s+=i;i++;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:循环累加1+2+3+4+5=15,s=15,故选A。17、continue语句只能用于以下哪种结构?()

A.循环语句

B.switch语句

C.if语句

D.所有结构

【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。18、若intx=4;执行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}输出结果是?()

A.04

B.4

C.204

D.无输出

【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。19、若inta=10;执行if(a%2==0)printf("偶数");elseprintf("奇数");输出结果是?()

A.偶数

B.奇数

C.10

D.无输出

【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。20、以下函数声明正确的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正确

【答案】:答案解析:函数声明可省略形参名(只留类型),A、B、C均符合语法,故选D。21、若intx=5;则表达式x+++x的结果是?()

A.10

B.11

C.12

D.9

【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。22、若inta=5;执行if(a>10);elsea=20;后a的值是?()

A.5

B.20

C.10

D.无定义

【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。23、若inta[5];执行a[0]=1;a[1]=2;则a[2]的值是?()

A.0

B.3

C.随机值

D.无定义

【答案】:答案解析:全局数组默认0,局部数组未初始化是随机值?题目未说明存储类别,通常默认全局,a[2]=0,故选A。24、函数指针的作用是?()

A.存储函数的地址

B.调用函数

C.实现回调函数

D.以上都正确

【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。25、若int*p=(int)malloc(sizeof(int));则p的值是?()

A.0

B.随机值

C.1

D.无定义

【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。26、若intx=1;执行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}输出结果是?()

A.1

B.12

C.123

D.无输出

【答案】:答案解析:x=1匹配case1,无break,穿透到case2(执行后break),输出12,故选B。27、若intx=10,y=20;则表达式x!=y的结果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。28、指针变量的大小取决于?()

A.指向变量的类型

B.编译器和系统(32位4字节,64位8字节)

C.指针变量的名称

D.变量的值

【答案】:答案解析:指针大小与指向类型无关,取决于系统位数(32位4B,64位8B),故选B。29、以下关于函数参数的说法正确的是?()

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

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

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

D.以上都正确

【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。30、以下指针运算错误的是?()

A.inta=5,*p=&a;p++;

B.inta=5,*p=&a;*p++;

C.inta=5,*p=&a;p=&a+1;

D.inta=5,*p=&a;p=p+2;

【答案】:答案解析:&a是地址常量,不能进行算术运算(&a+1错误),A、B、D均正确,故选C。31、以下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。32、若charstr[10];执行strcpy(str,"hello");后str的长度是?()

A.5

B.6

C.10

D.不确定

【答案】:答案解析:strcpy复制字符串"hello"(含\0),长度为5(不含\0),故选A。33、以下数组初始化错误的是?()

A.inta[5]={0};

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

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

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

【答案】:答案解析:D初始化元素个数超数组长度(5),编译报错,A、B、C正确,故选D。34、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。35、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?()

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

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

C.for(i=0;i<5;i+=2)

D.以上都正确

【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。36、执行scanf("%d,%d",&a,&b);时,正确的输入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗号分隔符,输入需严格对应,故选C。37、若intx=1;执行switch(x){case1:printf("1");break;case1:printf("2");break;}会出现什么情况?()

A.输出1

B.输出2

C.编译错误

D.运行错误

【答案】:答案解析:case后常量不能重复,编译时会报错,故选C。38、以下指针运算中,结果为值的是?()

A.*p

B.p+1

C.&a

D.p-2

【答案】:答案解析:*p是解引用,获取指针指向变量的值,B、C、D结果均为指针,故选A。39、以下字符串数组定义正确的是?()

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。40、以下哪个是C语言中的赋值运算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是赋值运算符,==是等于判断,+=是复合赋值,!=是不等于判断,故选B。41、若inta=6;执行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。42、以下for循环中,循环变量更新表达式为“i-=2”的是?()

A.for(i=10;i>0;i-=2)

B.for(i=0;i<10;i+=2)

C.for(i=10;i>0;i--)

D.for(i=0;i<10;i=2)

【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。43、若charstr[]="helloworld";则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11个字符(不含\0),长度为11,故选B。44、以下switch语句中,default的作用是?()

A.匹配所有case

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

C.终止switch语句

D.无实际作用

【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。45、以下哪个表达式可访问数组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。46、指针与字符串的关系,以下说法正确的是?()

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

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

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

D.以上都正确

【答案】:答案解

温馨提示

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

评论

0/150

提交评论