今天给各位分享c语言校招笔试题的知识,其中也会对c语言招聘笔试题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、知名企业招聘软件工程师的C语言笔试题和面试题答案2、C语言笔试题一道3、经典c语言笔试题和面试题答案4、C语言笔试题!求答案!另送100积分!
知名企业招聘软件工程师的C语言笔试题和面试题答案
C语言笔试题(1)
第1题:完成文件的拷贝,srcFileName为源文件名,dstFileName 为目标文件名。
int copy_file(const char *srcFileName, const char *dstFileName);
第2题:设有文件a.file, 请写出程序在文件的开头插入 字符串 “ file start: ”;
第3题:
已知
union un {
short s;
char a[3];
};
求sizeof(union un)?
第4题:
请描述以下代码中的p,
char(*(*p())[])(int, void (*)())
第5题:
已知
union un {
short s;
char a[3];
};
求sizeof(union un)?
C语言笔试题(2)
第1题:已知 char a[] = “abc\0efg”, 求sizeof(a) 和 strlen(a);
第2题:1, 写程序完成M进制转N进制,M、N为1~10之间。
mton(const char* mNum, int m, char *nNum, int n);
第3题:完成16进制字符串相加,返回相加后的16进制字符串。
char* sum_str16(const char* str1, const char* str2);
第4题:完成strlen函数,要求除参数外,不能使用变量和库函数。
第5题:用链表完成结点的添加、删除操作。
typedef struct student
{
int studentNum,
struct student *next;
}STU;
C语言笔试题(3)
第1题:两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
第2题:printf (“%d%d\n”,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?
第3题:printf (s);
请问这样的语句有没有问题?(s为一指向有效字符串的指针)
第4题:两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现?
第5题:数据结构指针传给函数,函数能访问数据单元,但不能修改实际的内容,如何实现?
C语言笔试题(4)
第1题:两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
第2题:char *a = “hello”;
char *b = “hello”;
if(a= =b)
printf(“YES”);
else
printf(“NO”);
第3题:简述stack frame 的含义
第4题:printf (“%d%d\n”,++n, power(2,n)); 其中power(2,n)为实现一定功能的函数 如 2^n 。请问这种表示方法有什么潜在的问题?
第5题:printf (s);
请问这样的语句有没有问题?(s为一指向有效字符串的指针)
C语言笔试题(5)
第1题:在头文件中定义静态变量,可能产生什么问题?
第2题:malloc()与 calloc()的区别?
第3题:寄存器变量可不可以访问其地址?可否是全局变量?在什么场合使用寄存器变量?
第4题:“\n” ‘\n’ 的区别?
第5题:#include “stdio.h”
int main()
{
int a;
int *p;
p = a;
*p = 0×500;
a = (int )(*(p));
a = (int )((*p));
if(a == (int)p)
printf(“equal !\n”);
else
printf(“not equal !\n”);
}
请问本程序的输出显示是什么?
C语言笔试题一道
整形数字去减字符2, 等于 c 的 ASCII 值 减 字符2 的ASCII 值。
2743回车:
c = ‘2’, c-‘2’ 等于 0。进case 0: case 1:
打 ASCII 值 等于 c+4 的符号 ,就是符号6,
没有 break; 进case 2:
打 ASCII 值 等于 c+4 的符号 ,就是 符号6,
break 了。
c = ‘7’, c-‘2’ 等于 5。没case。退出开关。
c = ‘4’,c-‘2’ 等于 2。进case 2:
打 ASCII 值 等于 c+4 的符号 ,就是 符号8,
break 了。
c = ‘3’,c-‘2’ 等于 1。进case 1:
打 ASCII 值 等于 c+4 的符号,就是 符号7,
没有 break; 进case 2:
打 ASCII 值 等于 c+4 的符号 ,就是 符号7,
break 了。
回车,满足 while 跳出条件,做最后的printf(“\n”)
结果是:
66877
经典c语言笔试题和面试题答案
编程区:《《《《冒泡排序,二分查找,筛选法,的考察》》》》
100、
有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中.
#include
#include
int main(int argc,char* argv[])
{
FILE* fp;
int i,j,k,num,NUM;
char c[50],t,ch;
if((fp=fopen(“A”,”r”))==NULL)
/*can be replaced by open
* int fd=open(“A”,O_RDONLY|O_CREAT);*/
{
printf(“fileA cannot be opened\n”);
exit(0);
}
printf(“\nA contents are:\n”);
for(i=0;(ch=fgetc(fp))!=EOF;i++)/*一个字符一个字符读*/
{
c[i]=ch;
putchar(c[i]);
}
num=i+1;
fclose(fp);
if((fp=fopen(“B”,”r”))==NULL)
{
printf(“fileB cannot be opened\n”);
exit(0);
}
printf(“\nB contents are :\n”);
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{
c[num+i]=ch;
putchar(c[num+i]);
}
fclose(fp);
NUM=num+i+1;
for(k=0;k
{
for(j=0;j
C语言笔试题!求答案!另送100积分!
我看你前面带答案了。我就做了最后两个。我把整体的再给你发一遍!
1.说说下列声明的不同之处
char *a = “abc”;
char b[] = “abc”;
char c[3] = “abc”;
a是一个字符型指针变量,起内容为字符串”abc”的首地址,字符串”abc”存放在常量区。
b[ ]占4个字节,b[0]=’a’ ,b[1]= ‘b’,b[2]=’ c’,[3]=’\0’
c[3]占3个字节,c[0]=’a’ ,c[1]= ‘b’,c[2]= ‘c’
2.以下为Windows NT下的32位C程序,请填空 。
例如:int i; long int j; char k;sizeof(i) = 4; sizeof(j) = 8; sizeof(k) = 1;
在32位系统下,整形所占的字节数是4。长整形所占的字节数是8,字符型所占的字节数是1。
(1)
typedef struct
{
int iPara1;
union
{
char iPara2[5];
int iPara3;
char iPara4;
} Params;
char cPara5;
char cPara6[12];
} TEST_INFO_T;
TEST_INFO_T stTestInfo;
请计算
sizeof (stTestInfo ) = 28
(这个答案我没验证,但是我感觉结构体的大小得看对齐位数是多少。正常对齐位数是4,可能不一样的系统默认的设置不一样。我记得我原来用的Solaris默认是8,你也可以自己改。)
(2)
void Func ( char str[3])
请计算
sizeof( str ) =4
(3)
void *p = malloc( strlen(“hello world”) );
请计算
sizeof ( p ) =4
(4)
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) =6
sizeof ( p ) =4
sizeof ( n ) =4
3. 请问运行此程序后,在终端上输出的结果是什么?
char acFileName_p[2][50]; /*全局变量,在整个程序运行期间有效*/
int FileExists(char* name)
{
int i;
for(i = 0; i 2; i++)
{
if( strcmp (( char*) name, (char*)acFileName_p [i] ) = = 0)
{
return 1;
}
}
return 0;
}
void CheckFileName(char *name)
{
static char suffix[3] = “_1”;
if( FileExists(name) )
{
if(suffix[1] != ‘1’)
{
name[strlen(name) – 2] = ‘\0’;
}
strcat(name, suffix);
suffix[1]++;
CheckFileName(name);
}
else
{
suffix[1] = ‘1’;
}
}
main
{
char cString1[50];
char cString2[50];
strcpy(acFileName_p[0], “test1”);
strcpy(cString1, “test1”);
strcpy(cString2, “test2”);
CheckFileName(cString1);
printf(“Output1 = %s\n”, cString1);
CheckFileName(cString2);
printf(“Output1 = %s\n”, cString2);
strcpy(acFileName_p[1], cString1);
CheckFileName(cString1);
printf(“Output1 = %s\n”, cString1);
}
答:
Output1 = test1_1
Output1 = test2
Output1 = test1_1_1
你的代码有错误,最明显的main函数你得加对小括号啊!!!
4、请找出下面代码中的所有错误
说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”
(1)#include”string.h”
(2)main()
(3){
(4)char*src=”hello,world”;
(5) char* dest=NULL;
(6)int len=strlen(src);
(7)dest=(char*)malloc(len);
(8)char* d=dest;
(9)char* s=src[len];
(10)while(len–!=0)
(11)d++=s–;
(12)printf(“%s”,dest);
(13)return 0;
(14)}
我把改过的重新写了一遍,
#include string.h
#include stdlib.h
#include stdio.h
int main()
{
char *src = “hello,world”;
char* dest =NULL;
int len = strlen(src);
dest = (char*)malloc(len);
char* d = dest;
char* s= src[len-1];
printf(“%s\n”,s);
printf(“%d\n”,len);
while(len–!=0){
*(d++) = *(s–);
}
printf(“%s\n”,dest);
free(dest);
dest=NULL;
return 0;
}
关于c语言校招笔试题和c语言招聘笔试题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。