谭浩强c语言考试试题及答案_第1页
谭浩强c语言考试试题及答案_第2页
谭浩强c语言考试试题及答案_第3页
谭浩强c语言考试试题及答案_第4页
谭浩强c语言考试试题及答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

谭浩强c语言考试试题及答案

一、单项选择题(每题2分,共10题)

1.C语言中,以下哪个是正确的标识符?

A.2variable

B.variable2

C.variable-2

D.variable$2

答案:B

2.C语言中,以下哪个是合法的整型常量?

A.0x12

B.08

C.0.5

D.1e2

答案:A

3.C语言中,以下哪个是正确的字符串字面量?

A."Hello,World!"

B.'Hello,World!'

C."Hello,World!"'

D.'Hello,World!"'

答案:A

4.C语言中,以下哪个是合法的数组声明?

A.inta[];

B.inta[10];

C.inta=10;

D.inta{10};

答案:B

5.C语言中,以下哪个是合法的函数声明?

A.intadd(intx,inty);

B.intadd(int,int);

C.intadd();

D.intaddx,y);

答案:A

6.C语言中,以下哪个是合法的指针声明?

A.int*ptr;

B.int*ptr=10;

C.intptr=10;

D.int*ptr="Hello";

答案:A

7.C语言中,以下哪个是合法的循环结构?

A.for(inti=0;i<10;i++)

B.while(i<10)

C.do-while(i<10)

D.repeat(i<10)

答案:A

8.C语言中,以下哪个是合法的条件语句?

A.if(x>0){...}

B.ifx>0{...}

C.switch(x){...}

D.casex:{...}

答案:A

9.C语言中,以下哪个是合法的函数调用?

A.add(10,20);

B.add10,20;

C.add(10+20);

D.add(10,20)=30;

答案:A

10.C语言中,以下哪个是合法的宏定义?

A.definePI3.14159

B.definePI=3.14159

C.definePI3.14159;

D.definePI"3.14159"

答案:A

二、多项选择题(每题2分,共10题)

1.C语言中,以下哪些是合法的变量名?

A._variable

B.2variable

C.variable_

D.variable$

答案:A,C

2.C语言中,以下哪些是合法的整型常量?

A.0x1A

B.0123

C.1.5

D.1e3

答案:A,B

3.C语言中,以下哪些是合法的字符串字面量?

A."Hello"

B.'Hello'

C."Hello""

D.'Hello"'

答案:A

4.C语言中,以下哪些是合法的数组声明?

A.inta[10];

B.inta[];

C.inta={1,2,3};

D.inta[10]={1,2,3};

答案:A,D

5.C语言中,以下哪些是合法的函数声明?

A.intadd(intx,inty);

B.intadd(int,int);

C.voidadd();

D.intadd(intx,y);

答案:A,B

6.C语言中,以下哪些是合法的指针声明?

A.int*ptr;

B.int*ptr=NULL;

C.intptr=NULL;

D.int*ptr=10;

答案:A,B

7.C语言中,以下哪些是合法的循环结构?

A.for(inti=0;i<10;i++)

B.while(i<10)

C.do{...}while(i<10);

D.repeat(i<10)

答案:A,C

8.C语言中,以下哪些是合法的条件语句?

A.if(x>0){...}

B.ifx>0{...}

C.switch(x){...}

D.casex:{...}

答案:A,C

9.C语言中,以下哪些是合法的函数调用?

A.add(10,20);

B.add10,20;

C.add(10+20);

D.add(10,20)=30;

答案:A

10.C语言中,以下哪些是合法的宏定义?

A.definePI3.14159

B.definePI=3.14159

C.definePI3.14159;

D.definePI"3.14159"

答案:A,D

三、判断题(每题2分,共10题)

1.C语言中,所有的变量都必须在使用前声明。(对/错)

答案:对

2.C语言中,数组的索引是从0开始的。(对/错)

答案:对

3.C语言中,字符串字面量可以用单引号或双引号括起来。(对/错)

答案:错

4.C语言中,函数的返回值类型必须与声明的类型一致。(对/错)

答案:对

5.C语言中,指针可以存储任何类型的数据。(对/错)

答案:错

6.C语言中,循环结构中的条件判断是必须放在循环开始的。(对/错)

答案:错

7.C语言中,条件语句if后面必须跟大括号。(对/错)

答案:错

8.C语言中,宏定义可以包含复杂的表达式。(对/错)

答案:错

9.C语言中,函数可以没有返回值,此时应该声明为void类型。(对/错)

答案:对

10.C语言中,全局变量的作用域是整个程序。(对/错)

答案:对

四、简答题(每题5分,共4题)

1.请简述C语言中数组和指针的区别。

答案:

数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种特殊的变量,用于存储另一个变量的地址。数组名代表数组的首地址,而指针变量可以被赋予不同的地址值。数组的大小在声明时确定,而指针可以指向不同大小的内存块。

2.请解释C语言中的宏定义和内联函数的区别。

答案:

宏定义是通过预处理器实现的,它在编译之前进行文本替换,不进行类型检查,可能导致宏展开后的代码出现错误。内联函数是通过编译器实现的,它在编译时被插入到调用点,可以进行类型检查和优化,但可能增加编译后的代码大小。

3.请简述C语言中结构体和联合体的区别。

答案:

结构体是一种复合数据类型,可以包含不同类型的成员,每个成员都有自己的内存空间。联合体也是一种复合数据类型,但它的所有成员共享同一块内存空间,同一时间只能存储其中一个成员的值。

4.请解释C语言中全局变量和局部变量的区别。

答案:

全局变量是在函数外部定义的变量,它具有全局作用域,可以在程序的任何地方被访问和修改。局部变量是在函数内部定义的变量,它具有局部作用域,只能在定义它的函数内部被访问和修改。

五、讨论题(每题5分,共4题)

1.讨论C语言中为什么需要指针,指针在编程中的作用是什么?

答案:

指针在C语言中非常重要,它们允许程序直接访问内存地址,这在动态内存分配、数组操作、函数参数传递等方面非常有用。指针使得程序能够更加灵活地处理数据,但也增加了编程的复杂性和出错的可能性。

2.讨论C语言中宏定义的使用场景和潜在问题。

答案:

宏定义常用于定义常量、条件编译和代码复用。然而,宏定义可能导致代码难以调试,因为它们在预处理阶段就被替换,而且不进行类型检查,可能导致宏展开后的代码出现错误。

3.讨论C语言中结构体和联合体的使用场景和区别。

答案:

结构体适用于需要存储多种类型数据的场景,而联合体适用于需要节省空间且同一时间只需要存储一种类型数据的场景

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论