笔试题(C基础)

原创 2012年03月29日 22:48:08

C语言基础

选择题:

1、下列选项中,合法的C语言关键字是    D

A.VAR      B. cher      C. integer       D. default

 

2、若aint类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是  C

A.-3       B.9          C.-12         D.6

 

3、以下程序的输入结果是  A

main( )
{
 int i=010,j=10,k=x10;

  printf("%d,%d,%d ",i,j,k);

}

A.8,10,16       B.8,10,10    C.10,10,10      D.10,10,16

 

4设有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; A

int (*prt)[3]=a, * p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是  D

A.*((*prt+1)[2])       B.*(*(p+5))       C.(*prt+1)+2     D.*(*(a+1)+2)

 

5、以下对C语言函数的有关描述中,正确的是 A

A. C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B. C函数既可以嵌套定义又可以递归调用

C .函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

 

6、在以下一组运算中,优先级最高的运算符是?  C

A. <=          B.=           C.%          D.&&

 

7、若有定义:int a[3][4];不能表示数组元素a[1][1]的是 C

A.*(a[]+1)       B.*(&a[1][1])       C.(*(a+1))[1]        D.*(a+5)

 

8、程序中定义以下宏 #define S(a,b) a*b     A

若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:

A.10           B.12         C.21          D.28

 

9、以下关于typedef的叙述中错误的是: A

A. typedef可以增加新的类型

B. typedef可以定义各种类型名,但不能用来定义变量

C. typedef只是将已有的类型用新的标识符来代表

D. 使用typedef有利于程序的通用和移植

10、以下关于宏替换的叙述不正确的是:  D

A.宏替换只是字符替换                       B.宏名无类型

C.宏替换不占用运行时间                      D.宏替换不占用编译时间

 

11、以下所列的各函数首部中,正确的是    C

A.void play(var :Integer,var b:Integer)             B.void play(int a,b)

C.void play(int a,int b)                          D.Sub play(a as integer,b as integer)

 

12、为表示关系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)

 

13、下列对C语言字符数组的描述中错误的是  D

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 

D.不可以用关系运算符对字符数组中的字符串进行比较

 

14、若有以下说明和语句,则输出结果是?  C
char str[]="\"c:\\abc.dat\""; 
printf("%s",str);

A.字符串中有非法字符    B.\"c:\\abc.dat\"      C."c:\abc.dat"      D."c:\\abc.dat"

 

15、若有以下定义和语句: 
int w[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是  C

A.*(w[0]+2)          B.*(pw+1)[2]             C.pw[0][0]            D.*(pw[1]+2)

 

16、若有以下定义和语句:  B
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是

A.*p                B.a[10]                  C.*a                 D.a[p-a]

 

17、若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是  B

A.2,M      B.3,E     C.2,E    D.输出项与对应的格式控制不一致,输出结果不确定

 

18、正确的标识符是: D

A.?a          B.a=2      C.a.3        D.a_3

 

19、若执行完成下列语句:
int a=3,b=6,c;
c=a
b<<2;
则变量c的二进制值为:D

A.00011100             B.00010100            C.0001000            D.00011011

 

20、若执行以下程序时从键盘上输入9
Main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
则输出结果是: B

A.11          B.10          C.9           D.8

 

21、设有以下定义或语句,则输出的结果是?  A
(
small模式编译,指针变量占2个字节
)
struct date
{long *cat;
struct date *next;
double dog;
}too

printf("%d",sizeof(too));

A.20         B.16          C.14          D.12

 

22、以下程序的输出结果是 C
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}

A.0         B.29          C.31         D.无定值

 

23、设xyt均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为   A

A.不定值     B.4           C.3          D.1

 

24、若x=4,则x*=x+2的值为:B

A.36           B.24            C.18           D.20

 

25、执行下列语句中,sum变量的值是:D
int sum=0
for(int i=0;i<10;i++,sum+=i);

A.45           B.55            C.0            D.编译错误

 

 

 

 

 

 

 

 

 

 

 

问答题

1、 请给出下列代码的输出结果

union

{

unsigned char a;

struct

{

unsigned i:3;

unsigned j:2;

unsigned k:3;

}b;

}u_ab;

 

void main(void)

{

        u_ab.a = 45;

       

        printf(“u_ab.b.k = %d\n”, u_ab.b.k);

}

输出结果:

 答:如果是小端模式则为 1,如果为大端模式则为:6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C/C++基础笔试题1.1.1(运算符十问)

运算符,你应该很熟悉吧?快来秒杀我的十个问题?!!!快!

C/C++基础笔试题1.1.2(运算符十问之解)

继上一次的十问的解答。

java基础面试笔试题及其答案

  • 2012年08月23日 23:16
  • 25KB
  • 下载

Objective-C笔试题整理

1、 不会立刻使引用计数器改变的是: 答案:(C) A、release //立即引用计数-1 B、alloc//引用计数+1 C、autorelease //出了释放池之后才会起作用 D、retain...

2016阿里巴巴c/c++研发工程师在线笔试题(选择题)

自己回忆的题目,反正就这个意思(一个六个选项,没有全部罗列) 一个单链表,已知一个有俩个相邻的结点A和B,此时有一个新结点 r,问在A结点后插入r,如何执行() A. r->next = B...

嵌入式软件常见的笔试题(c)

找工作的事情告一段落,现在把一些公司常见的笔试题型整理一下,本人主要是找嵌入式软件方面的工作,笔试的也主要是C语言、数据结构,大体上都比较基础,但是得早作准备,才会占得先机。   1:整型数求反 ...

2016届 阿里巴巴校招研发工程师C/C++笔试题--2015.08.23

一、 给出一组整数对 {(a[0], b[0]), (a[1], b[1]) ... (a[n-1], b[n-1]) },所有 a 值 和 b 值分别不重复(任意 i!= j 满足 a[i] != ...

C/C++在线笔试题总结(持续更新)

下午在牛客网上试做了一下2015校招研发岗位的笔试题,错了蛮多的,这里总结一些题目吧。 1、不算main这个进程,到底创建了多少个进程? int main(int argc, char* argv[]...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔试题(C基础)
举报原因:
原因补充:

(最多只允许输入30个字)