龙空技术网

C语言面试题二

有灵魂的程序猿 37

前言:

目前你们对“c语言第三章课后编程题答案大全”都比较注意,你们都需要知道一些“c语言第三章课后编程题答案大全”的相关内容。那么小编也在网上网罗了一些关于“c语言第三章课后编程题答案大全””的相关资讯,希望姐妹们能喜欢,大家一起来学习一下吧!

单选题 下列程序的输出结果是

#include<string.h>

#include<stdio.h>

#include<iostream>

using namespace std;

int main(){

char p1[10] = "abcd", *p2, str[10] = "xyz";

p2 = "ABCD";

strcpy(str + 2, strcat(p1 + 2, p2 + 1));

printf(" %s", str);

}

A xyabcAB

B abcABz

C ABabcz

D xycdBCD

正确答案:D

单选题 有语句char str[] = "abcde";请问表达式sizeof(str)的值是()

A 1

B 4

C 5

D 6

正确答案:D

单选题 若有定义int i;float x;为使i等于1,x等于6.6666,当执行“scanf(“%3d%f”,&i,&x);”时,正确的输入应该是:

A 1,6.6666 回车

B 16.6666 回车

C 001 6.6666 回车

D i=001,x=6.6666 回车

正确答案:C

单选题 指针变量p进行自加运算(即 执行p++;)后,地址偏移值为1,则其 数据类型为 char。说法是否正确?

A 正确

B 错误

正确答案:B

单选题 已知有声明为int x=2,下列表达式中值不为8的是()

A x+=2,x*2

B x+=x*=x

C (x+7)/2*((x+1)%2+1)

D x*7.2/x+1

正确答案:D

int型和double型混合运算,整型会自动转成double型再进行运算。2.0*7.2/2.0+1.0=8.2

单选题 以下正确的描述是( )。

A 函数的定义可以嵌套,函数的调用不可以嵌套

B 函数的定义不可以嵌套,函数的调用可以嵌套

C 函数的定义和函数的调用均可以嵌套

D 函数的定义和函数的调用均不可以嵌套

正确答案:B

单选题 下面程序输出为()

#include <stdio.h>

int fun(int a) {

int b = 0;

static int c = 3;

b++;

c++;

return (a+b+c);

}

int main( ) {

int i=0;

for(; i < 3; i++)

printf("%d",fun(2));

return 0;

}

A 777

B 789

C 7911

D 71320

正确答案:B

单选题 对C++语言和C语言的兼容性,描述正确的是( )

A C++兼容C

B C++部分兼容C

C C++不兼容C

D C兼容C++

正确答案:B

单选题()运算符把其操作数中所有值为0和所有值为1的位分别在结果的相应中设置1和0

A &

B |

C !

D ~

正确答案:D

多选题 X定义如下,若存在则a.y[1]的值可能为()

X a;

a.x = 0x11223344; union X{

int x;

char y[4];

};

A 11

B 22

C 33

D 44

正确答案:BC

单选题 结构化程序设计由三种基本结构组成,下面哪个不属于这三种基本结构之一()

A 顺序结构

B 环形结构

C 选择结构

D 循环结构

正确答案:B

单选题 指针变量 p1,p2 类型相同,要使 p1,p2 指向同一变量,哪个语句是正确的( )

A p2=*&p1

B p2=**p1

C p2=&p1

D p2=*p1

正确答案:A

单选题 如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是()

A virtual show()=0;

B virtual void show();

C virtual void show()=0;

D void show()=0 virtual;

正确答案:C

官方解析:正确答案:C

纯虚函数的格式:virtual 返回值类型 函数名(参数列表) = 0;

单选题 假设函数原型和变量说明如下:

void f3(int(*p)[4]);

int a[4]={1,2,3,4},

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

下面调用非法的是()

A f3(&a);

B f3(b[1]);

C f3(&b[1]);

D f3(b);

正确答案:B

单选题 考虑下面函数原型

void hello(int a,int b=7,char* pszC="*");

下面的函数调用不合法的是()

A hello(5)

B hello(5,8)

C hello(6,"#")

D hello(0,0,"#")

正确答案:C

单选题 在C语言源程序的开始处通常加上预处理命令 #include <stdio.h> 的原因是()

A stdio.h文件中包含标准输入输出函数的函数声明,通过引用此文件以便能正确使用printf、scanf等函数

B 将stdio.h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接

C 将stdio.h中标准输入输出函数的源程序插入到引用处,以便进行编译链接

D 将stdio.h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行

正确答案:A

单选题 在C语言中,顺序存储长度为3的字符串,需要占用()个字节。

A 3

B 4

C 6

D 12

正确答案:B

单选题 以下代码输出什么____.

#include <stdio.h>

int main(){

int a[5] = {1, 2, 3, 4, 5};

int *p = (int *)(&a + 1);

printf("%d", *(p - 1));

}

A 1

B 2

C 5

D 出现错误

正确答案:C

单选题 假设C语言程序里使用malloc申请了内存,但是没有free掉,那么当该进程被kill之后,操作系统会()

A 内存泄露

B segmentation fault

C core dump

D 以上都不对

正确答案:D

单选题 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值()

A 1

B 2

C 3

D 4

正确答案:A

单选题 对if语句中表达式的类型,下面正确的描述是()

A 必须是关系表达式

B 必须是关系表达式或逻辑表达式

C 必须是关系表达式或算术表达式

D 可以是任意表达式

正确答案:D

单选题 C语言用()表示逻辑“真”。

A true

B 整数值

C 非零值

D T

正确答案:C

单选题 为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。

A auto

B register

C static

D extern

正确答案:B

多选题 指出下列代码的缺陷()

float f[10];

// 假设这里有对f进行初始化的代码

// ….

for(int i = 0; i < 10;) {

if(f[++i] == 0)

break;

}

A for(int i = 0; i < 10;)这一行写错了

B f是float型数据直接做相等判断有风险

C f[++i]应该是f[i++]

D 没有缺陷

正确答案:BC

单选题 下列变量说明语句中,正确的是()

A char:a b c;

B char a;b;c;

C int x;z;

D int x,z;

正确答案:D

单选题 请选择表达式 '0' + 1 的结果(本题数值均为十进制)()

A 2

B 31

C 32

D 49

正确答案:D

单选题 C++是否支持嵌套函数定义,如下代码所示?

fun1() {

fun2() {

fun3() {

}

}

}

A 允许

B 不允许

正确答案:B

单选题 对于以下代码,说法正确的是

char * p= new char[100]

A p 和 new出来的内存都在栈上

B p 和 new出来的内存都在堆上

C p在栈上 new出来的在堆上

D p在堆上 new出来的在栈上

正确答案:C

单选题 下面程序运行结果为()

int main() {

char c = 'a';

if ('a' < c <= 'z') printf("Low”);

else printf("UP");

}

A LOW

B UP

C LOWUP

D 程序语法错误

正确答案:A

标签: #c语言第三章课后编程题答案大全