C语言基础笔试真题(含详细答案解析)_第1页
C语言基础笔试真题(含详细答案解析)_第2页
C语言基础笔试真题(含详细答案解析)_第3页
C语言基础笔试真题(含详细答案解析)_第4页
C语言基础笔试真题(含详细答案解析)_第5页
全文预览已结束

下载本文档

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

文档简介

C语言基础笔试真题(含详细答案解析)适用场景:新手入门考核、校招基础笔试、期末复习测试试卷说明:满分100分,答题时间60分钟,题型包含选择题、填空题、程序阅读题、编程题,所有答案附带详细思路解析一、单项选择题(共10题,每题3分,共30分)1、以下不属于C语言基本数据类型的是()A、intB、charC、stringD、float答案:C解析:C语言基础数据类型包含整型(int)、字符型(char)、浮点型(float、double)。string是C++、Java等语言的字符串类型,标准C语言没有string基础类型,C语言字符串需通过字符数组实现。2、在C语言中,定义常量的关键字是()A、defineB、constC、staticD、extern答案:B解析:const用于定义只读常量;define是预处理指令,用于宏定义,不属于变量常量定义关键字;static是静态变量修饰符,extern是外部变量声明修饰符。3、已知inta=5;执行a+=a-=a*a;后,a的值为()A、-15B、-40C、0D、-20答案:B解析:复合赋值运算符优先级从右往左计算。第一步计算a*a=25;第二步a-=25,即a=5-25=-20;第三步a+=-20,即a=-20+(-20)=-40。4、以下关于switch语句说法正确的是()A、switch括号内可以是浮点型变量B、case语句必须加breakC、default语句可以省略,且位置任意D、case后面可以跟变量答案:C解析:switch表达式仅支持整型、字符型,不支持浮点型;case不加break会发生穿透,不是必须添加;case后必须是常量表达式,不能是变量;default为可选语句,可放在任意位置。5、数组intarr[3][4]一共包含多少个元素()A、7B、12C、9D、10答案:B解析:二维数组元素总数=行数×列数,3行4列,总元素数3×4=12。6、C语言中函数返回值类型默认是()A、voidB、intC、charD、float答案:B解析:标准C语言中,未显式声明返回值类型的函数,默认返回值为int整型。C99及后续标准建议必须显式声明返回值类型。7、以下运算符中优先级最高的是()A、算术运算符B、逻辑运算符C、赋值运算符D、关系运算符答案:A解析:运算符优先级从高到低:算术运算符>关系运算符>逻辑运算符>赋值运算符。8、已知charstr[]="abc";则sizeof(str)的值为()A、3B、4C、5D、2答案:B解析:sizeof计算数组实际占用内存大小,字符串默认自带结束符'\0',"abc"包含a、b、c、\0共4个字符,char类型占1字节,结果为4。9、指针变量的本质是()A、变量的值B、变量的地址C、变量名D、数据类型答案:B解析:指针变量专门用来存放内存地址,指针变量的值就是目标变量的内存地址。10、while(1)循环的特点是()A、执行1次B、无限循环C、不执行D、执行2次答案:B解析:C语言中非0即为真,1为恒真条件,该循环无终止条件时会一直循环,即死循环。二、填空题(共5题,每题4分,共20分)1、C语言程序的入口函数是________。答案:main函数解析:所有C语言可执行程序,都是从main函数开始执行,唯一程序入口。2、if语句、while语句的判断条件中,条件成立代表值为________。答案:非0解析:C语言逻辑规则:非0为真,0为假,任意非0数字、字符都可代表条件成立。3、int*p;该代码定义的p是________类型变量。答案:整型指针解析:*代表指针,int*表示指向整型数据的指针变量,p只能存放整型变量的地址。4、数组下标从________开始,数组下标越界会造成________问题。答案:0、内存非法访问解析:C语言数组下标统一从0起始,超出数组定义范围访问数据,会读取或修改未知内存,引发程序报错、崩溃。5、break语句的作用是________当前循环或switch结构。答案:终止(跳出)解析:break直接结束当前所在的最近一层循环或switch分支,continue仅跳过本次循环,不终止整体循环。三、程序阅读题(共3题,每题10分,共30分)1、写出以下程序运行结果c

#include<stdio.h>

intmain()

{

inti,sum=0;

for(i=1;i<=5;i++)

{

if(i%2==0)

continue;

sum+=i;

}

printf("%d",sum);

return0;

}运行结果:9解析:循环遍历1-5,遇到偶数执行continue跳过累加,只累加奇数1、3、5,1+3+5=9。2、写出以下程序运行结果c

#include<stdio.h>

intmain()

{

inta=10,b=20;

int*p=&a;

p=&b;

printf("%d",*p);

return0;

}运行结果:20解析:指针p先指向变量a,后续重新赋值指向变量b,*p表示取指针指向地址的值,最终读取b的值20。3、写出以下程序运行结果c

#include<stdio.h>

intmain()

{

intarr[5]={1,2,3,4,5};

printf("%d",arr[2]);

return0;

}运行结果:3解析:数组下标从0开始,arr[0]=1、arr[1]=2、arr[2]=3,因此输出3。四、编程题(共1题,20分)题目:编写C语言程序,实现输入一个正整数,判断该数是否为偶数,是偶数输出“偶数”,否则输出“奇数”。参考答案代码:c

#include<stdio.h>

intmain()

{

intnum;

//接收用户输入的整数

scanf("%d",&num);

//判断奇偶:能被2整除为偶数

if(num%2==0)

{

printf("偶数\n");

}

else

{

printf("奇数\n");

}

return0;

}代码解析:1、定义整型变量nu

温馨提示

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

评论

0/150

提交评论