好文档 - 专业文书写作范文服务资料分享网站

C语言笔试题带答案

天下 分享 时间: 加入收藏 我要投稿 点赞

2#include 3main()

4{char s[]=”string”; 5 puts(s);

6 strcpy(s,”hello”); 7 printf(”%3s\n”,s);}

A)没有错 B)第l行有错 C)第6行有错 D)第7行有错 答案:B

评析:字符串复制函数strcpy包含在头文件string.h中,因此,程序中的第l行文件包含命令是错误的。

(44)若有如下说明,则__________的叙述是正确的。 struct st { int a; int b[2l; }a;

A)结构体变量a与结构体成员a同名,定义是非法的 B)程序只在执行到该定义时才为结构体st分配存储单元 C)程序运行时为结构体st分配6个字节存储单元

D)类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后) 答案:D

评析:结构体变量a与结构体成员a同名是合法的定义,引用成员a的方法是a.a,变量a处于不同的“层次”上,系统完全能够分清。st是一个结构体名,不会为结构体名分配存储空间,应该是在运行时为结构体变量a分配6个字节的存储单元,故选项B和选项C错误。

(45)若有以下结构体定义,则________是正确的引用或定义。 struct example { int x; int y; }v1;

A)example.x=10 B)example v2.x=10 C)struct v2;v2.x=lO D)struct example v2={10}; 答案:D

评析:在定义结构体变量时,不能只用结构体名example或关键字strum进行定义,必需要用结构体类型名struct example定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。

(46)下列程序的执行结果是_________。 #include union un { int i; char c[21; };

void main() { union un x; x.c[0]=10: x.c[1]=1:

printf(“\n%d”,x.i);

}

A)266 B)ll C)265 D)138 答案:A

评析:由于本题定义的是共用体,所以成员表列中的整型变量x与字符数组c共占用同一个存储单元,且此存储单元为2个字节,通常c[O]位于低字节,c[1]位于高字节,所以x.i的值为266。

(47)已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_______。 struct link Data next ___________ }node;

A)struct link next B)link*next C)struct next link D)struct link*next 答案:D

评析:在单向链表中,由于每个结点需要存储下一个结点的地址,且下一个结点的数据类型与前一个结点的数据类型完全相同,故应为struct link*next。

(48)已知小写字母a的ASCII码为97,大写字母A的ASCII.码为65,以下程序的结果是__________。 main()

{ unsigned int a=32,b=66; printf(“%c\n”,atb); }

{ char data;

A)66 B)98 C)b D)B 答案:C

评析:位运算符“l”的作用是按位或,即两个二进制数的相应位中只要有一个为1,该位的结果值为l。最后以字符型输出, 98对应的字符“b”。

(49)C语言库函数龟ets(str,n,fp)的功能是_________。 A)从fp指向的文件中读取长度n的字符串存入str指向的内存

B)从fp指向的文件中读取长度不超过n-l的字符串存入str指向的内存 C)从fp指向的文件中读取n个字符串存/Xstr指向的内存 D)从str读取至多n个字符到文件fp 答案:B

评析:fgets函数的作用是从指定的文件读入一个字符串。fgets(str,n,fp);中的n为要求得到的字符的个数,但只从fb指向的文件输入n-1个字符,然后在最后加一个‘\O’字符,因此得到的字符串共有n个字符。

(50)下述程序向文件输出的结果是__________。 #include void main()

{ FILE*fp=fopen(“TEST”,”wb”);

fprintf(fp,”%d%5.0f%c%d”,58,76273.0,’-',2278); fclose(fp); }

A)58 76273-2278 B)5876273。.000000-2278 C)5876273-2278 D)因文件为二进制文件而不可读 答案:C

评析:fprintf函数工作时,多个数据间不会自动加分隔符,选项A错误;浮点数的输出格式是“%5.0f”表明其小数部分输出O位,即没有输出,所以选项B也是错误的。

二、填空题(每空2分,共40分)

请将每空的正确答案写在【l】至【20】序号的横线上,答在试卷上不得分。 (1)对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素 的个数为 【l】 。 答案:【1】n/2

评析:删除一个元素,平均移动的元素个数为(n-l+n-2+……+0)n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-l+n-2+……+1)n=(n+1)/2;所以总体平均移动元素个数为n/2。

(2)注释说明了程序的功能,它分为 【2】 注释和功能性注释。 答案:【2】序言性

评析:注释一般分为序言性注释和功能性注释。

(3)软件测试中路径覆盖测试是整个测试的基础,它是对软件 【3】 进行测试。

答案:【3】结构

评析:路径测试是白盒测试方法中的一种,它要求对程序中的每条路径最少检查一次,目的是对软件的结构进行测试。

(4)数据库技术的主要特点为数据的集成性、数据的高 【4】 和低冗余性、数据独立性和数据统一管理与控制。 答案:【4】共享性

评析:数据库技术的主要特点有以下几个方面:数据的集成性,数据的高共享性与低冗余性,数据韵独立性,数据统一管理与控制。

C语言笔试题带答案

2#include3main()4{chars[]=”string”;5puts(s);6strcpy(s,”hello”);7printf(”%3s\n”,s);}A)没有错B)第l行有错C)第6行有错D)第7行有错答案:B评析:字符串复制
推荐度:
点击下载文档文档为doc格式
2ey9025wdf1ujtp7zqyg25ui718xfz018ys
领取福利

微信扫码领取福利

微信扫码分享