c算法面试题及答案
Ⅰ c语言面试题
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面就由我为大家介绍一下C语言面试题的文章,欢迎阅读。
C语言面试题篇1
1、已知字母b的ASCII码的十进制代码为98,则执行下列语句输出为( C)
ch=’b’;
ch–;
printf(%d,%c ”,ch,ch);
A)a,b B)运算不合法,故有语法错 C)97,a
D)格式描述和输出项不匹配,输出无值
2、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( C)
A)a=(a*100+0.5)/100.0 B)a=(a*100+0.5)/100 C)a=(int)(a*100+0.5)/100
D)a=(a/100+0.5)*100.0
3、下列程序段的输出结果是(B )
int a=5,b=7;
printf(“%d,%d”,a++,++b);
A)5, 7 B)5, 8 C)6, 7 D)6, 8
C语言面试题篇2
1、下列程序的输出结果是(D )
main()
{ int a=4;
a*=a+=6;
printf(“%d ”,a);
}
A)40 B)60 C)80 D)100
2、下列程序的输出结果是( C)
main()
{int a=8;
printf(“%a”,(a=a*5,a+6));
}
A)14 B)40 C)46 D)50
C语言面试题篇3
1、定义a为整型,下列表达式a=3>6的运行后,a的值为(A )
A)0 B)1 C)3 D)表达式错误
2、、如果a=1,b=2,c=3,d=4,则条件表达式a>b?a: c>d?c: d的值为( D)
A)1 B)2 C)3 D)4
3、下述程序段的输出结果是( A)
{int a=5;
a%=7;
printf(“%d, ”,a);
a+=a*=a-=a*=2;
printf(“%d”,a);
}
A)5, 0 B)0, 0 C)5, 12 D)0, 12
4、下列变量名中合法的是(A )
A)Tom B)3a6b C)6a7b D)5ABC
5、对于条件表达式(M)?(a++): (a–),其中的表达式M等价于(C )
A)M= =0 B)M= =1 C)M!=0 D)m!=1
Ⅱ 计算机二级C语言笔试题和面试题答案目
如下这份计算机二级C语言笔试题目对于要考基计算机二级证书的朋友来说,应该会很有帮助,需要的朋友赶紧收藏吧!
一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1. 下列叙述中正确的是
A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D 上述三种说法都不对 答案:B
2. 下列叙述中正确的是
A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D 上述三种说法都不对 答案:C
3. 软件测试的目的是
A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误
D 发现程序中的错误 答案:B
4. 下面描述中,不属于软件危机表现的是
A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制
D 软件成本不断提高 答案:A
5. 软件生命周期是指
A 软件产品从提出、实现、使用维护到停止使用退役的过程
B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程
D 软件的运行维护过程 答案:A
6. 面向对象方法中,继承是指
A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D
7. 层次型、网状型和关系型数据库划分原则是
A 记录长度 B 文件的大小 C 联系的复杂程度
D 数据之间的联系方式 答案:D
8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
A 一对一B 一对多C 多对多D 多对一 答案:C
9. 数据库设计中反映用户对数据要求的模式是
A 内模式B 概念模式C 外模式D 设计模式 答案:C
10. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
A 自然连接B 交C 投影D 并 答案:A
11. 以下关于结构化程序设计的叙述中正确的是
A 一个结构化程序必须同时由顺序、分支、循环三种结构组成
B 结构化程序使用goto语句会很便捷 C 在C语言中,程序的模块化是利用函数实现的
D 由三种基本结构构成的程序本文由论文联盟http://www.LWLm.coM收集整理只能解决小规模的问题 答案:C
12. 以下关于简单程序设计的步骤和顺序的说法中正确的是
A 确定算法后,整理并写出文档,最后进行编码和上机调试
B 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 答案:D
13. 以下叙述中错误的是
A C程序在运行过程中所有计算都以二进制方式进行 B C程序在运行过程中所有计算都以十进制方式进行 C 所有C程序都需要编译链接无误后才能运行
D C程序中整型变量只能存放整数,实型变量只能存放浮点数 答案:B
14. 有以下定义:inta; longb; doublex,y;则以下选项中正确的表达式是
A a%(int)(x-y) B a=x!=y; C (a*y)%b D y=x+y=x 答案:C
15. 以下选项中能表示合法常量的是
A 整数:1,200 B 实数:1.5E2.0 C 字符斜杠:‘\’ D 字符串:"\007" 答案:C
16. 表达式a+=a-=a=9的值是
A 9 B _9 C 18 D 0 答案:D
17. 若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
A a<>b+c B ch=getchar() C a==b+c D a++ 答案:A
18. 有以下程序
#include
main()
{inta=1,b=0;
if(!a) b++;
elsEif(a==0)if(a)b+=2;
elseb+=3;
printf(”%d\n”,b);
}
程序运行后的输出结果是
A 0 B 1 C 2 D 3 答案:C
20. 有以下程序
#include
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%二10;}
printf(”%d,%d\n”,a,b);
}
程序运行后的输出结果是
A 5,11 B 7,1 C 7,11 D 6,1 答案:D
21. 有以下程序
#include
main()
{int y=10;
while(y--);
printf(”Y=%d\n”,Y);
}
程序执行后的输出结果是
A y=0 B y= -1 C y=1 D while构成无限循环 答案:B
22. 有以下程序
#include
main()
{char s[”=”rstuv";
printf(”%c\n”,*s+2);
}
程序运行后的输出结果是
A tuv B 字符t的ASCII码值 C t D 出错 答案:D
23. 有以下程序
#include
#include
main()
{char x[]=”STRING”;
x[0”=0;x=’\0’;x[2”=’0’;
printf(”%d%d\n”,sizeof(x),strlen(x));
}
程序运行后的输出结果是
A 61 B 70 C 63 D 71 答案:B
24. 有以下程序
#include
Int f(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序运行后的输出结果是
A 1 B 2 C 4 D 8 答案:D
25. 以下程序段完全正确的是
A int *p;scanf("%d",&p); B int *p;scanf(“%d”,p);
C int k, *p=&k;scanf("%d",p); D int k, *p:;*p= &k; scanf(“%d”,p); 答案:D
26. 有定义语句:int *p[4];以下选项中与此语句等价的是
A intp[4]; B int**p; C int*(p“4”); D int (*p)“4”; 答案:D
27. 下列定义数组的语句中,正确的是
A B C intx[0..10]; D int x[]; 答案:B
28. 若要定义一个具有5个元素的整型数组,以下错误的定义语句是
A inta[5]=﹛0﹜; B intb[]={0,0,0,0,0}; C intc[2+3]; D inti=5,d[i]; 答案:A
29. 有以下程序
#include
voidf(int *p);
main()
{inta[5]={1,2,3,4,5},*r=a;
f(r);printf(”%d\n”;*r);
}
void f(int *p)
{p=p+3;printf(”%d,”,*p);}
程序运行后的输出结果是
A 1,4 B 4,4 C 3,1 D 4,1 答案:D
30. 有以下程序(函数fun只对下标为偶数的元素进行操作)
# include
void fun(int*a;int n)
{int i、j、k、t;
for (i=0;i
Ⅲ C语言面试题
任意取两个点,计算连线y=ax+b中的a和b.计算出来之后,把其他点的坐标代入这条线的公式里计算是否在这条直线上。统计在这条线上的点的个数。这是一种其中的一种方案。
遍历这个集合中的所有的可能,应该有Cn2种方案。然后其中点数最多的方案找出来就可以了。
算法笨了一点,但应该管用。
Ⅳ 经典C语言面试算法题
经典C语言面试算法题
1.写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回
9,outputstr所指的值为123456789。
#include
#include
#include
int FindMax_NumStr(char *outputstr,char *inputstr)
{
char *in = inputstr,*out = outputstr,*temp;
char *final;
int count = 0;
int maxlen = 0;
int i;
while(*in!='