cc面试题及答案
【篇一:c语言基础面试题】
表达式与代数式 (a+b)+c计算结果不一致的是 a.(a+b)*c/2 b.(1/2)*(a+b)*c c.(a+b)*c*1/2 d.c/2*(a+b)
参考答案:b,因为a,b,c三个变量都是浮点数,所以在b答案中其结果是0,因为在计算1/2是就是0,如果改成1/2.0就正确了。
2:为了向二进制文件尾部增加数据,打开文件的方式应采用 a.″ab″ b.″rb+″ c.″wb″ d.″wb+″
参考答案:d
3:下述程序执行后的输出结果是 #include main() {
int x=f;
printf(%c\n,a+(x-a+1)); } a.g b.h c.i d.j
参考答案:a
4:c语言中,下列运算符优先级最高的是 a.! b.% c. d.= =
参考答案:a
5:数组定义为“ int a [ 4 ] ; ”,表达式 ( ) 是错误的。 a.*a b.a [ 0 ] c.a
d.a++
参考答案:d
6:执行语句“ k=71; ”后,变量 k 的当前值是 a.15 b.31 c.3 d.1
参考答案:c
7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型 a.void b.char c.float d.int
参考答案:d
8:若main()函数带参数,参数个数最多是 a.0 b.1 c.2 d.3
参考答案:c 只知道有定义形式main(int argc,char* argv[]))复合赋值运算符的含义
9:若有宏定义:#define mod(x,y) x%y 则执行以下语句后的输出结果是 int a=13,b=94;
printf(″%d\n″,mod(b,a+4)); a.5 b.7 c.9 d.11
参考答案:b
10:下列各个错误中,哪一个不属于编译错误
a.改变 x 原值 3 为 5 ,写作“ x==5 ;” b.花括号不配对
c.复合语句中的最后一条语句后未加分号 d.变量有引用、无定义
参考答案:a
11:下列程序段运行后, x 的值是( )
a=1;b=2;x=0; if(!( -- a))x -- ; if(!b)x=7;else ++x; a.0 b.3 c.6 d.7
参考答案:a
12:设
#define n 3
#define y(n) ((n+1)*n)
则表达式2*(n+y(5+1))的值是 a.42 b.48 c.54 d.出错 参考答案:b y(5+1) 传递过去的应该是6,而不是简单的把5+1给替换掉
13:若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是 a.def b.d c.e d.0
参考答案:c
14:下列转义字符中错误的是 a.′\000′ b.′\14′ c.′\x111′ d.′\2′
参考答案:c error c2022: 273 : too big for character
15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为 a.算术运算、赋值运算、关系运算
b.算术运算、关系运算、赋值运算 c.关系运算、赋值运算、算术运算 d.关系运算、算术运算、赋值运算 参考答案:b
16:设#define n 3
#define y(n) ((n+1)*n)
则表达式2*(n+y(5+1))的值是 a.42 b.48 c.54 d.出错
参考答案:b
17:表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个 a.非零整数 b.浮点数 c.0 d.字符
参考答案: a
18:设struct { short a; char b; float c; }cs;
则sizeof(cs)的值是 a.4 b.5 c.6 d.7
参考答案: d 字节对齐的话应该是8
19:若变量已正确定义,表达式( j=3 , j++ )的值是 a.3 b.4 c.5 d.0
参考答案:a
20:c 语言中运算对象必须是整型的运算符是
a.% b./ c.! d.**
参考答案:a 简答题
21:打印一个n*n的方阵,n为每边字符的个数( 3〈n〈20 ),要求最外层为“x”,第二层为“y”,从第三层起每层依次打印数字0,1,2,3,...
例子:当n =5,打印出下面的图形: x x x x x x y y y x x y 0 y x x y y y x x x x x x
22:谈谈com的线程模型。然后讨论进程内/外组件的差别。
23:多态类中的虚函数表是compile-time,还是run-time时建立的? 参考答案:
虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.
而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键.
24:#includevoid main(){ int c;
while ((c=getchar())!= ′\ n ′ )switch(c - ′ 2 ′ ){ case 0:
case 1:putchar(c+4);break;case 2:putchar(c+4);break;case 3:putchar(c+3);break;default:putchar(c+2);break;}
printf( ″\ n ″ );
}
运行时输入: 2473 ,输出结果: 参考答案:6897 vc++6.0测试过 25:用两个栈实现一个队列的功能? 参考答案:
设2个栈为a,b, 一开始均为空.入队: 将新元素push入栈a;出队: (1)判断栈b是否为空; (2)如果不为空,则将栈a中所有元素依次pop出并push到栈b;
(3)将栈b的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是o(1),
26:写一语句实现x是否为2的若干次幂的判断。
参考答案:!(x)(x-1)
27:解二次方程:a*x*x+b*x+c
int quadratic( double a,double b,double c,double x1,double x2); 返回值:解的个数
28:如何判别一个数是unsigned。 参考答案;
#define issignal(x) ((x=0 ~x=0) ? 1:0) //为1是无符号 为0有符号
29:执行下述程序的输出结果是 abcdefcdefef 。 #include
char b[]=abcdef; main() {
char *bp;
for (bp=b;*bp;bp+=2) printf(%s,bp); printf(\n); }
30:已知一个数组table,用一个宏定义,求出数据的元素个数。 参考答案:#define ntbl #define ntbl (sizeof(table)/sizeof(table[0]))
【篇二:c_sharp精华面试题及答案】
.选择,填空题
1. 在ado中,对于command对象的executenonquery()方法和executereader()方法,
下面叙述错误的是(c)。
a) insert、update、delete等操作的sql语句主要用executenonquery()方法来执行; b) ex
ecutenonquery()方法返回执行sql语句所影响的行数。
c) select操作的sql语句只能由executereader()方法来执行;~
d) executereader()方法返回一个datareder对象;
2. 面向对象的语言具有__继承性_性、_封装性_性、_多态性 性。
3. 能用foreach遍历访问的对象需要实现 ________________接口或声明
________________方法的类型。(@)
答:ienumerable 、 getenumerator()
4. 在c#中,表示一个字符串的变量应使用以下哪条语句定义?( b )
a. cstring str;
b. string str;
c. dim str as string
d. char * str;
5. 在c#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪
条语句?( a )
a. decimal themoney;
b. int themoney;
c. string themoney;
d. dim themoney as double
6. c#中,新建一字符串变量str,并将字符串”toms living room”保存到串中,则应该 使用下列哪条语句?(b)
a. string str = “tom\s living room”;
b. string str = “toms living room”;
c. string str(“toms living room”);
d. string str(“tom”s living room”);
7. 应用ado 访问数据时,connection 对象的连接字符串中initial catalog 子串的 含义是 ( a )
a. connection 对象连接到的数据库的名称
b. connection 对象的身份验证信息
c. connection 对象的最大连接时间
d. connection 对象使用的缓存大小
8. 使用visual studio 的”新建c# 项目”创建一个名为”simpleform”的windows 表单应用程序,则在生成_______文件中可设置该程序集的copyright、trademark 等属
性信息.( d )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论