C语言经典面试题

C语言经典面试题

1、下面程序的输出是___D______
#include<stdio.h>
void main()
{ int k=11;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);
}
A) k=11,k=12,k=11 B) k=11,k=13,k=13
C) k=11,k=013,k=0xb D) k=11,k=13,k=b

解答:答案选择D。%d表示十进制输出为11是没有异议的,%o是按照8进制输出,在这里先将11转换为2进制,为1011,再变成8进制就是13,%x是16进制输出,这里输出的就是b。

2、在下列选项中,不正确的赋值语句是___D_____.
A) ++t; B) n1=(n2=(n3=0));
C) k=i=j; D) a=b+c=1;

解答:答案选择D。

3、下面合法的C语言字符常量是____A______.
A) ‘\t’ B) “A” C) 65 D) A

解答:答案选择A。B选项是字符串,C是数字,D选项是16进制数字。

4、表达式: 10!=9的值是____D________.
A) true B) 非零值 C) 0 D) 1

解答:答案选择D。这题简单的表达式是恒成立的。

5、C语言提供的合法的数据类型关键字是____B_____.
A) Double B) short C) integer D) Char

解答:答案选择B。C语言中只有int,没有integer。Char没有只有char。

6、字符(char)型数据在微机内存中的存储形式是__D__.
A) 反码 B) 补码 C) EBCDIC码 D) ASCII码

解答:本题答案是D。没有什么好说的。

7、C语言程序的基本单位是____C_______.
A) 程序行 B) 语句 C) 函数 D) 字符

解答:答案选择C。函数是C语言中最基本的单位。

8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____
A) 552 B) 264 C) 144 D) -264

解答:答案选择D。12*12=144。
a=12-144=-132
(-132)+(-132)= -264。

9、执行下面程序中的输出语句后,输出结果是___B___.
#include<stdio.h>
void main()
{int a;
printf("%d\n",(a=3 * 5,a * 4,a+5));
}
A) 65 B) 20 C) 15 D) 10

解答:答案选择B,

10、下面程序的输出是____B______.
#include<stdio.h>
void main()
{int x=023;
printf("%d\n",–x);
}
A) 17 B) 18 C) 23 D) 22

解答:答案选择B。首先023是八进制写法,八进制023先减一变成022,在将022转换为10进制。

11、下面程序的输出的是_____C____.
#include<stdio.h>
void main()
{int x=10,y=3;
printf("%d\n",y=x/y);
}
A) 0 B) 1 C) 3 D) 不确定的值

解答:答案选择C。因为是整型输出,所以余数为3。

12、已知字母A的ASCII码为十进制的65,下面程序的输出是___A________.
#include<stdio.h>
void main()
{char ch1,ch2;
ch1=‘A’+‘5’-‘3’;
ch2=‘A’+‘6’-‘3’;
printf("%d,%c\n",ch1,ch2);
}
A) 67,D B) B,C C) C,D D) 不确定的值

解答:答案选择A。输出分别是67和68。在这里%c输出的是字符,所以第二个输出是大写的D。

13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.
A) a<>0 B) !a C) a=0 D) a

解答:答案选择D。光写一个a和a!=0是一样的。

14、以下程序的输出结果是____D_____.
#include<stdio.h>
void main()
{ int x=10,y=10;
printf("%d %d\n",x–,--y);
}
A) 10 10 B) 9 9 C) 9 10 D) 10 9

解答:答案选择D。考察的是–是先执行还是后执行。

15、设有如下定义:
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是_____D____.
A) 1 B) 0 C) 4 D) 3

解答:答案选择D。z=(1,3)的时候,z赋值为3。

16、为表示关系x≥y≥z,应使用C语言表达式___A___.
A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)
C) (x>=y>=z) D) (x>=y) & (y>=z)

解答:答案选择A。此题比较简单,考察了条件语句的拆分。

17、C语言中非空的基本数据类型包括___B____.
A) 整型,实型,逻辑型 B) 整型,实型,字符型
C) 整型,字符型,逻辑型
D) 整型,实型,逻辑型,字符型

解答:答案选择B。逻辑型不是非空的基本数据结构。
基本数据类型它们是算术类型,包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是____A___.
A) 200 B) 100
C) 100 200 D) 输出格式符不够,输出不确定的值

解答:答案选择A。

19、阅读下面的程序
#include<stdio.h>
void main()
{
char ch;
scanf("%3c",&ch);
printf("%c",ch);
}
如果从键盘上输入
abc<回车>
则程序的运行结果是___A____.
A) a B) b C) c D) 程序语法出错

解答:答案选择A。

20、阅读下面的程序
#include<stdio.h>
void main()
{
int i,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是____D____.
A) 1,19 B) -1,19 C) 1,17 D) -1,17

解答:答案选择D。首先i是8进制,转换为十进制就是8。所以8-9=-1;8+9=17。

1、在考生文件夹下,要求程序PROG.C的功能是:
求[1,1000]之间既不能被7整除也不能被5整除的整数之和,将结果存入变量s中。

答案如下 该题目解答的代码

#include “stdio.h”
Void main()
{
    Int s = 0;
    Int I;
   For(I = 1; I <= 1000; i++)
{
	If((I % 7 != 0) && (I % 5 != 0))
		S = s + I;
}

Printf(“s = %d”,s);
}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值