C 语言基础笔试题库(含答案 + 解析适合校招 - 实习生笔试)_第1页
C 语言基础笔试题库(含答案 + 解析适合校招 - 实习生笔试)_第2页
C 语言基础笔试题库(含答案 + 解析适合校招 - 实习生笔试)_第3页
C 语言基础笔试题库(含答案 + 解析适合校招 - 实习生笔试)_第4页
C 语言基础笔试题库(含答案 + 解析适合校招 - 实习生笔试)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

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

文档简介

C语言基础笔试题库(含答案+解析,适合校招/实习生笔试)覆盖:变量、数据类型、运算符、分支循环、数组、函数、指针、字符串、结构体、预处理、内存基础,难度基础,适合笔试刷题。一、单选题1.以下不属于C语言基本数据类型的是()A.intB.floatC.stringD.char答案:C解析:C没有string基础类型,string是C++的;C语言字符串用char数组实现。2.`charc='A';`变量c在内存占几个字节(一般32/64位编译器)A.4B.1C.2D.8答案:B解析:char固定1字节。3.`inta=5;intb=a++;`执行后a、b的值是()A.a=5,b=6B.a=6,b=5C.a=6,b=6D.a=5,b=5答案:B解析:后置++:先取值赋值,再自增。4.下面哪个是C语言合法标识符()A.123abcB.intC._numD.a-b答案:C解析:标识符只能由字母、数字、下划线组成,不能数字开头,不能是关键字,不能有减号。5.`intx=3,y=4;printf("%d",x&y);`输出结果?A.7B.0C.1D.12答案:B解析:3二进制011,4是100,按位与&结果000。6.数组`intarr[5]={1,2};`剩下元素默认值是?A.随机值B.0C.NULLD.无答案:B解析:部分初始化,未显式赋值元素自动初始化为0。7.关于指针`int*p;`说法正确的是()A.p是一个int变量B.p存放一个int类型地址C.*p表示p的地址D.p可以直接存浮点数答案:B8.`#defineN10`属于()A.C语句B.预处理指令C.函数D.变量定义答案:B9.下面会造成死循环的是()A.`for(inti=0;i<10;i++)`B.`while(0){}`C.`while(1){}`D.`do{}while(0)`答案:C10.字符串`chars[]="hello";`sizeof(s)结果是?A.5B.6C.7D.不确定答案:B解析:字符串末尾自带`\0`结束符,一共6字节。二、判断题(√/×)C语言变量必须先定义后使用。(√)`==`是赋值运算符。(×,是比较,=才是赋值)数组下标从1开始。(×,从0开始)指针可以指向任意类型地址,类型不匹配也能直接赋值。(×,需要强制转换)`'\0'`ASCII码值等于0。(√)函数内部定义的局部变量默认初始值为0。(×,局部栈变量是随机垃圾值)return可以提前结束函数。(√)const修饰的变量值绝对不能修改。(√,只读)三、填空题C语言程序入口函数是:intmain()求两个数最大值的三目运算符:max=a>b?a:b;数组inta[10];,数组最大下标:9字符串结束标志:\0取地址符号是&,解引用符号是*四、读程序写输出(高频笔试题)题1c

题1

#include<stdio.h>

intmain()

{

inta=10;

intb=a--;

printf("%d%d",a,b);

return0;

}输出:`910`题2c

题2

#include<stdio.h>

intmain()

{

inti;

for(i=0;i<3;i++)

{

if(i==1)continue;

printf("%d",i);

}

return0;

}输出:`02`continue:跳过本次循环剩下代码,直接进入下一轮。题3c

题3

#include<stdio.h>

intfunc(intx)

{

staticinta=0;

a+=x;

returna;

}

intmain()

{

printf("%d,",func(1));

printf("%d",func(2));

return0;

}输出:`1,3`解析:static静态局部变量,只初始化一次,值保留。题4c

题4

#include<stdio.h>

intmain()

{

charstr[]="abc";

printf("%d",strlen(str));

return0;

}输出:3strlen:统计有效字符,不含`\0`;sizeof包含`\0`。五、编程简答题(笔试手写代码)1.写程序:输入2个整数,输出最大值c

求两数最大值

#include<stdio.h>

intmain()

{

inta,b,max;

scanf("%d%d",&a,&b);

if(a>b)

max=a;

else

max=b;

printf("max=%d\n",max);

return0;

}2.求1~100累加和c

1~100累加和

#include<stdio.h>

intmain()

{

intsum=0,i;

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

{

sum+=i;

}

printf("sum=%d",sum);

return0;

}结果:50503.简单冒泡排序(从小到大排序数组)c

冒泡排序

#include<stdio.h>

intmain()

{

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

intn=sizeof(arr)/sizeof(arr[0]);

inti,j,temp;

for(i=0;i<n-1;i++)

{

for(j=0;j<n-1-i;j++)

{

if(arr[j]>arr[j+1])

{

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

for(i=0;i<n;i++)printf("%d",arr[i]);

return0;

}4.字符串反转(基础指针版)c

字符串反转

#include<stdio.h>

#include<string.h>

voidreverse(char*s)

{

intl=0,r=strlen(s)-1;

chart;

while(l<r)

{

t=s[l];

s[l]=s[r];

s[r]=t;

l++;r--;

}

}

intmain()

{

charbuf[]="hello";

reverse(buf);

printf("%s",buf);

return0;

}六、简答问答题(面试官常问)1.局部变量和全局变量区别?局部:函数内,栈区,生命周期限于函数内,不初始化是随机值;全局:函数外,静态存储区,程序运行全程有效,默认初始0。2.static关键字3个作用局部static

温馨提示

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

评论

0/150

提交评论