c语言笔试题(答案)(精心整理)

合集下载

c语言笔试模拟题以及答案

c语言笔试模拟题以及答案

1.一、单选题:(每题1.5分,共60分)

1、 C语言程序的基本单位是_______.

A. 语句

B. 函数

C. 程序行

D. 字符

答案: B

2、 C语言程序由( )组成

A. 子程序

B. 过程

C. 函数

D. 主程序段程序

答案: C

3、算法的表示方法有________。

A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B. 高级语言,汇编语言,机器语言

C. C语言,QBASIC语言,InterDev

D. 图形图像法,描述法,编程法

E. 计算机语言

答案: A

4、以下程序的输出结果是

main( )

{ int k=17;

printf(“%d,%o,%x \n”,k,k,k);

}

A. 17,021,0×11

B. 17,17,17

C. 17,0×11,021

D. 17,21,11

答案: D

5、下列变量定义中合法的是

A. short _a=1-.le-1;

B. double b=1+5e2.5;

C. long do=0xfdaL;

D. float 2_and=1-e-3;

答案: A

6、 C语言中合法的字符常量是____

A. ‘\084′

B. ‘\X43′

C. ‘ab’

D. “\0″

答案: B

7、下面说法中正确的是( )

A. int型和long型运算先将int型转换成unsigned型,再转换

B. 两个float型运算结果为double型

C. 只要表达式中存在double型,所有其他类型数据都必须转

D. 表达式中的类型转换与运算顺序有关

答案: C

8、以下不正确的叙述是

A. 在C程序中,逗号运算符的优先级最低

C语言笔试题答案

C语言笔试题答案

C语言笔试题答案

C语言笔试题难吗?下面就由小编为大家介绍一下C语言笔试题答案的文章,欢迎阅读。

C语言笔试题答案篇1

(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

答案:C

评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构 B)栈与队列是非线性结构

C)线性链表是非线性结构 D)二叉树是线性结构

答案:A

评析:一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值

B)可能缺少若干个左右叶子结点

C)完全二叉树一般不是满二叉树

D)具有结点的完全二叉树的深度为[log2n]+1

答案:B

评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

C语言笔试题答案篇2

(1)结构化程序设计主要强调的是_________。

A)程序的规模 B)程序的易读性

C)程序的执行效率 D)程序的可移植性

答案:B

评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(2)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案

一、选择题

1. 在C语言中,字符型数据使用的关键字是:

A. char

B. int

C. float

D. double

答案:A

2. 下列标识符中合法的是:

A. 123name

B. _name

C. name$

D. %name

答案:B

3. 表达式"5 + 3 * 2 - 4 / 2"的值是:

A. 9

B. 12

C. 10

D. 8

答案:C

4. 下列哪个语句可以用于在屏幕上输出字符型变量c的值:

A. printf("%c", c);

B. printf("%d", c);

C. printf("%s", c);

D. printf("%f", c);

答案:A

5. 下列哪个语句可以用于从键盘输入整型变量a的值:

A. scanf("%d", a);

B. scanf("%f", &a);

C. scanf("%s", a);

D. scanf("%c", &a);

答案:B

二、编程题

1. 编写一个程序,输入一个整数n,计算并输出n的阶乘。答案:

```c

#include <stdio.h>

int main() {

int n, i;

long long factorial = 1;

printf("请输入一个整数:");

scanf("%d", &n);

for (i = 1; i <= n; i++) {

factorial *= i;

}

printf("%d的阶乘为:%lld\n", n, factorial);

return 0;

}

```

2. 编写一个程序,输入一个整数n,判断并输出n是否为素数。答案:

c语言常见笔试题及答案

c语言常见笔试题及答案

c语言常见笔试题总结

c语言笔试题(九)

2006-09-06

Tag: C语言

1.

#include "stdio.h"

int main()

{

int a;

int *p;

p = &a;

*p = 0x500;

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

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

if(a == (int)p)

printf("equal !\n");

else

printf("not equal !\n");

}

请问本程序的输出显示是什么?

答案:输出显示为”equal!”

2.

struct {

signed int bit0:1;

signed int bit1:1;

signed int bit2:1;

signed int bit3:1;

signed int bit4:1;

signed int bit5:1;

signed int bit6:1;

signed int bit7:1;

}bits;

请问sizeof(bits)是否是正确的表达式?

请问语句bits mybits; 的定义是否正确?如果不正确,要如何修改上述的结构定义才能使该语句正确?修改后的结构定义是否会影响sizeof(bits)的正确性?如果正确则该表达式的值为多少?如果将上述的结构中int类型改为char类型,此时sizeof(bits)的大小为多少?

答案:1)是正确的表达式,因为sizeof后面的内容可以是类型,也可以是变量。

2)该语句的定义不正确,因为此时的bits为一个变量;应该这样修改结构的定义

typedef struct {

signed int bit0:1;

100条经典C语言笔试题目(全)

100条经典C语言笔试题目(全)

100条经典C语言笔试题目

1、请填写bool,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE 或者“空指针”。例如int变量n与“零值”

比较的if语句为:

if ( n == 0 )

if ( n != 0 )

以此类推。

(1)请写出 bool flag 与“零值”比较的 if 语句:

【标准答案】if ( flag )

if ( !flag )

(2)请写出 float x 与“零值”比较的 if 语句:

【标准答案】 const float EPSINON = 0.00001;

if ((x >= - EPSINON) && (x <= EPSINON)

不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成

“>=”或“<=”此类形式。

(3)请写出 char *p 与“零值”比较的 if 语句

【标准答案】 if (p == NULL)

if (p != NULL)

2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。

char str[] = “Hello” ;

char *p = str ;

int n = 10;

请计算(1)sizeof (str ) =

(2)sizeof ( p ) =

(3)sizeof ( n ) =

【标准答案】(1)6、(2)4、(3)4

(4)void Func ( char str[100]) {

……;

} 请计算 sizeof( str ) = (5)void *p = malloc( 100 );

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面是c语言笔试题目及答案,请参考。

c语言笔试题目及答案

一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选

项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构是指________。

A)存储在外存中的数据 B)数据所占的存储空间量

C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示

答案:D

评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。

(2)下列关于栈的描述中错误的是________。

A)栈是先进后出的线性表

B)栈只能顺序存储

C)栈具有记忆作用

D)对栈的插入与删除操作中,不需要改变栈底指针

答案:B

评析:栈是一种特殊的线性表,又称先进后出表(FILO—First In Last Out)。

(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是

________。

A)冒泡排序为n2 B)冒泡排序为n

C)快速排序为n D)快速排序为n(n一1)/2

答案:D

评析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。快速排序法的最坏情况比较次数也是n(n-1)/2。

c语言笔试题带答案

c语言笔试题带答案

c语言笔试题带答案

【篇一:c语言的面试题_带答案-中软国际整理】

p class=txt>1)限制变量的作用域

2)设置变量的存储域(堆,主动分配内存也是堆)

1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维

持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模

块内所用函数访问,但不能被模块外其它函数访问。它是一个本地

的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函

数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在栈

6.堆栈溢出一般是由什么原因导致的?

堆栈溢出一般是循环的递归调用导致的,如果使用的大数据结构的

局部变量,也可能导致堆栈溢出。没有回收垃圾资源导致的是内存

泄露最后内存耗尽。

20.不能做switch()的参数类型是:

switch的参数不能为实型。(只能是int char)

9.写出float x 与“零值”比较的if语句。

if(x0.000001x-0.000001)

3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这

个函数的原型是什么?函数名: atol

功能: 把字符串转换成长整型数

函数的原型: long atol(const char *nptr);

程序例:

#include stdlib.h

#include stdio.h

int main(void)

{

long l;

char *str = 98765432;

C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案c语言笔试题目及答案

c笔试题目及答案:c语言笔试题目及答案

c笔试题目汇总篇1

1.谋下面函数的返回值(谷歌)

intfunc(x)

{

intcountx=0;

while(x)

{

countx++;

x=x&(x-1);

}

returncountx;

}

假定x=。答案:8

思路:将x转变为2十进制,看看所含的1的个数。

2.什么是“引用”?申明和使用“引用”要注意哪些问题?

请问:提及就是某个目标变量的“别称”(alias),对应用领域的操作方式与对变量轻易操作方式效果完全相同。言明一个提及的时候,切勿必须对其展开初始化。提及声明完后,相等于目标局部变量存有两个名称,即为该目标原名称和提及名,无法再把该提及名做为其他局部变量的别称。声明一个提及,不是崭新定义了一个变量,它只则表示该提及名就是目标局部变量的一个别称,它本身不是一种数据类型,因此提及本身不占到存储单元,系统也不给提及分配存储单元。无法创建数组的提及。

3.将“引用”作为函数参数有哪些特点?

(1)传达提及给函数与传达指针的效果就是一样的。这时,被调函数的形参就沦为原来主调函数中的实参变量或对象的一个别称去采用,所以在被调函数中对形参变量的操作方式就是对其适当的目标对象(在主调函数中)的操作方式。

(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案

一、选择题(每题2分,共20分)

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

A. 2variable

B. variable-name

C. variable_name

D. variable$name

答案:C

2. 下列哪个选项是C语言的关键字?

A. define

B. int

C. integer

D. float

答案:B

3. 以下哪个语句不能通过编译?

A. int a = 10;

B. int b = 10.5;

C. int c = 'a';

D. int d = 1.0;

答案:B

4. C语言中,以下哪个函数用于计算两个数的和?

A. pow()

B. sqrt()

C. sin()

D. sum()

答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)

5. 以下哪个选项是正确的C语言数组声明?

A. int numbers[];

B. int numbers[10] = {};

C. int numbers = 10;

D. int [10] numbers;

答案:B

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

A. "Hello World"

B. 'Hello World'

C. "Hello\nWorld"

D. "Hello\"World"

答案:A

7. 在C语言中,以下哪个是正确的函数声明?

A. void myFunction();

B. int myFunction;

C. myFunction();

D. int myFunction()

答案:A

8. 下列哪个选项不是C语言的标准输入输出库函数?

c语言笔试试题及答案

c语言笔试试题及答案

c语言笔试试题及答案

一、

1、一个完整的计算机系统包括

A)主机与外部设备

B)主机与操作系统

C)硬件系统与软件系统

D)CPU、存储器与外部设备本题的正确答案是:C)

2、计算机的存储器完整的应包括

A)内存储器与外存储器

B)磁盘、磁带与光盘

C)RAM与ROM

D)软盘与硬盘

本题的正确答案是:A)

解析:

存储器包括内部存储器和外部存储器,而选项B,D只能统称为外部存储器,选项C 属于内部存储器。

3、十进制数927的十六进制值表示形式为

A)39F

B) 39E

C) 3AE

D) 361

本题的正确答案是:A)

解析:

本题考查不同进制数之间的转换.

4、WPS字处理软件属于

A)系统软件

B)应用软件

C)管理软件

D)多媒体软件

5、在计算机内部,一切信息的存取、处理与传送均采用

A)二进制

B)十六进制

C)BCD码

D)ASCII码

本题的正确答案是:A)6、计算机中,能够用来与外存交换信息的是

A)键盘

B)RAM

C)显示器

D)ROM

本题的正确答案是:B)

解析:

RAM中存储着当前使用的程序、数据、中间结果和与外存交换的数据,CPU根据需要可以直接读/写RAM中的内容。

7、微机的主机与外设相连的设备是

A)磁盘驱动器

B)输入/输出接口电路

C)总线

D)内存

本题的正确答案是:B)

解析:

外部设备是通过接口电路连至主机。总线是CPU、存储器和输入输出接口之间的通道。

8、在多媒体计算机系统中,不能存储多媒体信息的是

A)光盘

B)磁盘

C)磁带

D)光缆

解析:

光缆是多媒体信息的传输通道,不能存储多媒体信息。

9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是

c语言笔试题答案

c语言笔试题答案

笔试题

一、填空题每个空4分;共28分

1struct tagABC

{

char name10;

char sex;

long sno;

float score4;

}pAbc;四字节对齐

pAbc=NULL;

那么;执行pAbc+=2;之后pAbc的值为64 2如下代码;最终value的值是8

int p1;p2;

int value;

p1=int0×400;

p2=int0×408;

value = p2-p1;

3如下代码;printf的结果为2

include〈stdio.h〉

include〈string.h〉

void mainvoid

{

char acNew20= “\\0\0”;

printf“%d\n”;strlenacNew;

}

4 有如下程序段;运行该程序的输出结果是33

main

{

int y=3;x=3;z=1;

printf“%d%d\n”;++x;y++;z+2;

}

5设有:int a=1;b=2;c=3;d=4;m=2;n=2;执行m=a>b&&n=c>d后;n的值为2

6struct tagAAA

{

Unsigned char ucId:1;

Unsigned char ucPara0:2;

Unsigned char ucState:6;

Unsigned char ucTail:4;

Unsigned char ucAvail;

Unsigned char unTail2:4;

Unsigned long ulData;

}AAA_S

问:AAA_S在字节对齐分别为1;4情况下;占用的空间大小分别是多少 9

C语言笔试试题及答案

C语言笔试试题及答案

C语言笔试试题及答案

C语言笔试试题及答案

引导语:C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,以下是店铺整理的C语言笔试试题及答案,欢迎参考阅读!

选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。

(1) 所谓"裸机"是指

A) 单片机 B) 单板机

C) 不装备任何软件的计算机 D) 只装备操作系统的计算机

(2) 下列存储器中,存取速度最快的是

A) 软盘 B) 硬盘 C) 光盘 D) 内存

(3) 系统软件中最重要的是

A) 操作系统 B) 语言处理程序 C) 工具软件 D) 数据库管理系统

(4) CPU处理的数据基本单位为字,一个字的字长

A) 为8个二进制位 B) 为16个二进制位

C) 为32个二进制位 D) 与CPU芯片的型号有关

(5) 打印当前屏幕内容应使用的控制键是

A) Scroll-Lock B) Num-Lock C) PgDn D) PrtSc(Print Screen)

(6) 能将高级语言源程序转换成目标程序的是

A) 调试程序 B) 解释程序 C) 编译程序 D) 编辑程序

(7) 二进制数1110111.11转换成十进制数是

A) 119.375 B) 119.75 C) 119.125 D) 119.3

(8) 十六进制数FF.1转换成十进制数是

A) 255.0625 B) 255.125 C) 127.0625 D) 127.125

C语言笔试题100道

C语言笔试题100道

C语言笔试题100道

C语言笔试题100道

以下是店铺为您收集整理的C语言笔试题100道,欢迎参考学习!更多内容请关注店铺!

1) 设x,y均为整型变量,且x=10 y=3,则以下C语言的输出结果是()。(选择一项)

printf(“%d,%d\n”,x–,–y);

a)10,3

b)9,3

c)9,2

d)10,2

2)在C语言中,要计算一个数(变量i)的开平方,下面代码正确的是()。(选择一项)

a)printf(sqrt(t), “\n Square of%d”,i)

b)printf(“\n Square of %d is %d”,i,sqrt(i))

c)printf(sqrt(i),i,t, “\n Sqrt of %d is %d”)

d)printf(i,t,”\n Square of%d”)

e)scanf(i,”\n Square of%d is %d”,sqrt(i))

3)运行下列C程序:

#include

void fun(int x,int y,int z)

{z=x*x+y*y;}

void main()

{

int a=31;

fun(5,2,a);

printf(“%d”,a);

}

输出结果是()。(选择一项)

b)29

c)31

d)无定值

4)在C语言中,下面选项()是合法的变量名。(选择两项)

a)Minimum

b)3 rd_row

c)n1+n2;

d)Doubles

e)

5)运行下面的C程序:

#include

void main()

{

int n;

scanf(“%d”,&n);

if(n++<10)

printf(“%d\n”,n);

c语言笔试题带答案

c语言笔试题带答案

c语言笔试题带答案第一题:

```c

#include <stdio.h>

int main() {

printf("Hello World!\n");

return 0;

}

```

答案:输出 "Hello World!"

第二题:

```c

#include <stdio.h>

int main() {

int a = 5;

int b = 3;

int c = a + b;

printf("%d\n", c);

return 0;

}

```

答案:输出 "8"

第三题:

```c

#include <stdio.h>

int main() {

int x = 10;

int y = 3;

float z = (float) x / y; printf("%.2f\n", z); return 0;

}

```

答案:输出 "3.33"

第四题:

```c

#include <stdio.h>

int main() {

int num;

printf("请输入一个整数:");

scanf("%d", &num);

if (num % 2 == 0) {

printf("%d是偶数\n", num);

} else {

printf("%d是奇数\n", num);

}

return 0;

}

```

答案:根据输入的整数判断是偶数还是奇数并打印相应结果。第五题:

```c

#include <stdio.h>

int main() {

int n;

scanf("%d", &n);

int sum = 0;

int num;

c语言笔试题(答案)

c语言笔试题(答案)

c语言笔试题(答案)

笔试题

一、填空题(每个空4分,共28分)

1)struct tagABC

{

char name[10];

char sex;

long sno;

float score[4];

}*pAbc;(四字节对齐)

pAbc=NULL;

那么,执行pAbc+=2;之后pAbc的值为(64 )

2)如下代码,最终value的值是(8)int *p1,*p2;

int value;

p1=(int*)0×400;

p2=(int*)0×408;

value = p2-p1;

3)如下代码,printf的结果为(2)#include〈stdio.h〉

#include〈string.h〉

void main(void)

{

char acNew[20]= “\\0\0”;

printf(“%d\n”,strlen(acNew));

}

4) 有如下程序段,运行该程序的输出结果是(33)

main ()

{

int y=3,x=3,z=1;

printf(“%d%d\n”,(++x,y++),z+2);

}

5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA

{

Unsigned char ucId:1;

Unsigned char ucPara0:2;

Unsigned char ucState:6;

Unsigned char ucTail:4;

Unsigned char ucAvail;

Unsigned char unTail2:4;

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案

1. 编写一个程序,从键盘上输入两个整数,然后输出它们的和。```c

#include <stdio.h>

int main() {

int num1, num2, sum;

printf("输入两个整数:");

scanf("%d %d", &num1, &num2);

sum = num1 + num2;

printf("它们的和为:%d\n", sum);

return 0;

}

```

2. 编写一个程序,判断一个输入的整数是奇数还是偶数。

```c

#include <stdio.h>

int main() {

int num;

printf("输入一个整数:");

scanf("%d", &num);

if (num % 2 == 0) {

printf("%d是偶数\n", num);

} else {

printf("%d是奇数\n", num);

}

return 0;

}

```

3. 编写一个程序,输入一个字符,判断它是否为小写字母。```c

#include <stdio.h>

int main() {

char ch;

printf("输入一个字符:");

scanf(" %c", &ch);

if (ch >= 'a' && ch <= 'z') {

printf("%c是小写字母\n", ch);

} else {

printf("%c不是小写字母\n", ch);

}

return 0;

}

```

4. 编写一个程序,计算输入的两个数的最大公约数。```c

#include <stdio.h>

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

笔试题

一、填空题(每个空4分,共28分)

1)struct tagABC

{

char name[10];

char sex;

long sno;

float score[4];

}*pAbc;(四字节对齐)

pAbc=NULL;

那么,执行pAbc+=2;之后pAbc的值为(64 )

2)如下代码,最终value的值是(8)

int *p1,*p2;

int value;

p1=(int*)0×400;

p2=(int*)0×408;

value = p2-p1;

3)如下代码,printf的结果为(2)

#include〈stdio.h〉

#include〈string.h〉

void main(void)

{

char acNew[20]= “\\0\0”;

printf(“%d\n”,strlen(acNew));

}

4) 有如下程序段,运行该程序的输出结果是(33)

main ()

{

int y=3,x=3,z=1;

printf(“%d%d\n”,(++x,y++),z+2);

}

5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA

{

Unsigned char ucId:1;

Unsigned char ucPara0:2;

Unsigned char ucState:6;

Unsigned char ucTail:4;

Unsigned char ucAvail;

Unsigned char unTail2:4;

Unsigned long ulData;

}AAA_S

问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )

二、选择题(每题2分,共34分)

1)若有说明int(*p)[3];以下叙述正确的是( D )

A:p是指针数组

B:(*p)[3]和*p[3]等价

C:p是指向一维数组中任何一个元素的指针

D:p是指向含有3个整型元素的一维数组的指针

2)以下关于单元测试的描述,哪些是对的?(D)

A:黑盒测试针对软件的功能,不考虑功能的实现细节;

B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;

C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;

D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)

A:共享内存 B:信号量

C:消息队列和管道 D:socket调用

4)有关结构,以下哪些描述是对的?(BC)

A:为了测试方便,尽量把一个结构的功能设计得多一些

B:不同结构间的关系不要过于复杂

C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中

D:结构中元素的布局与排列顺序可以随意设计

5)关于强制类型转化,下面说法正确的是(ABCD)

A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;

B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;

C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;

6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。它有利于(A BCD) A:缺陷及早暴露,加快定位进程;

B:明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性;

C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度;

D:强化编程接口之间的契约,增强软件的可维护性;

7)对于循环体的执行效率,下述说法正确的是(ABCD )

A:循环体内工作量最小化

B:在多重循环中,应将最忙的循环放在最内层

C:尽量减少循环的嵌套层次

D:避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中

8)设数组a[5]={10,20,30,40,50};已知指针p指向a[1];则表达式*++p的值是(A) A.20

B.21

C.30

D.31

9)有以下程序段, 执行后,mul的值为(B)

int a[ ]={1,3,5,7,9};

int mul, *data, x;

mul=1;

data=&a[1];

for(x=0; x<3; x++) mul *= *(data+x);

B.105

C.315

D.945

10)有以下程序段,执行后的结果为(D)

int list[ ]={6,7,8,9,10};

int * p;p=list;

*(p+2)=10;

printf(”%d, %d\n”,*p,*(p+2));

A.8, 10

B.6, 8

C.7, 9

D.6, 10

11)以下语句不能正确赋值的是(A)

A.char s1[10]; s1=”China”;

B.char s2[ ]={ ’C’,’h’,’i’,’n’,’a’}; C.char s3[20]=”China”;

D.char *s=”China”;

12)C语言中,定义PI为一个符号常量,正确的是(A)

A.#define PI 3.14

B.define PI 3.14

C.#include PI 3.14

D.include PI 3.14

13)有以下程序,该程序输出的结果为(B)

#define N 3

#define M N+2

#define NUM 2*M+1

main()

{

int i;

i=NUM;

printf(”%d\n”,i);

}

A.11 、

B.9

C.7

D.5

14)有以下程序,程序运行后的输出结果是(D )

#include

#include

main()

{ char *p=“abcde\0fghjik\0”;

printf(“%d\n” , strlen(p)); }

相关文档
最新文档