二级C语言笔试-227

合集下载

c语言省二级考试笔试试题及答案

c语言省二级考试笔试试题及答案

c语言省二级考试笔试试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B3. 若有定义 `int a = 5;`,则表达式 `a++` 的值是多少?A. 4B. 5C. 6D. 0答案:B4. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-nameD. variable$name5. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. include答案:D6. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 在C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A8. 若有定义 `int a = 10;`,则表达式 `a % 3` 的值是多少?A. 1B. 2C. 3D. 0答案:A9. 在C语言中,以下哪个选项用于声明一个指针?B. int &C. int $D. int %答案:A10. C语言中,以下哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. int []答案:D11. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A12. 若有定义 `int a = 10;`,则表达式 `a / 3` 的值是多少?A. 3B. 3.333C. 3.0D. 3.33333答案:A13. 在C语言中,以下哪个选项用于声明一个二维数组?A. int a[2][3];B. int a[][];C. int a[2][];答案:A14. C语言中,以下哪个函数用于计算并返回两个整数的差?A. abs()B. diff()C. subtract()D. max()答案:A15. 在C语言中,以下哪个选项用于声明一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 若有定义 `int a = 10;`,则表达式 `a << 2` 的值是多少?A. 40B. 20C. 30D. 50答案:A17. 在C语言中,以下哪个选项用于声明一个联合体?A. structB. unionC. enumD. typedef答案:B18. C语言中,以下哪个函数用于将字符串连接到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:C19. 在C语言中,以下哪个选项用于声明一个单精度浮点数?A. floatB. doubleC. long doubleD. int答案:A20. 若有定义 `int a = 10;`,则表达式 `a > 5 && a < 15` 的值是多少?A. 1B. 0C. -1D. 2答案:A二、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案
常将有日思无日,莫待无时思有时。——《增广贤文》
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题全国计算机等级考试二级C语言笔试试题一、单项选择题(每题2分,共40分)1. C语言中,一个整型变量所占的基本存储单位是()。

A. 1个字节B. 2个字节C. 3个字节D. 4个字节2. 下列关于C语言函数的描述,错误的是()。

A. 函数可以返回一个结构体类型的值B. 函数可以没有返回值,也可以返回一个值C. C语言中,main函数可以没有返回值D. 函数的返回值类型必须与定义时的类型一致3. 在C语言中,用于定义字符串的标识符是()。

A. char *B. char[]C. stringD. text4. 下列关于C语言数组的描述,正确的是()。

A. 数组在定义时必须初始化B. 数组的元素可以是不同数据类型的C. 数组在定义后,其元素的个数不能改变D. 数组的元素个数可以是变量5. C语言中,表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &6. 下列关于C语言指针的描述,错误的是()。

A. 指针是一个变量,用于存储另一个变量的地址B. 指针的值是它所指向的变量的地址C. 指针变量可以重新赋值为任意地址D. 指针可以进行算术运算7. C语言中,用于文件操作的库函数是()。

A. math.hB. stdio.hC. string.hD. conio.h8. 下列关于C语言结构体的描述,错误的是()。

A. 结构体是一种构造数据类型B. 结构体可以包含不同类型的成员C. 结构体的所有成员必须同时初始化D. 结构体可以定义为函数的参数9. C语言中,表示关系“小于等于”的运算符是()。

A. <B. >C. <=D. >=10. 在C语言中,用于实现循环结构的语句有()。

A. forB. whileC. do-whileD. 所有选项二、填空题(每空3分,共30分)11. C语言中,一个浮点型变量所占的存储空间通常是________字节。

c语言二级考试考试题及答案

c语言二级考试考试题及答案

c语言二级考试考试题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable_nameC. variable-nameD. variable$name答案:B2. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0.0C. 0LD. 0E1答案:A3. 若有以下代码段:```cint a = 5, b = 10;printf("%d", a + b);```该代码段的输出结果是什么?A. 15B. 25C. 10D. 5答案:A4. 以下哪个选项表示C语言中的逻辑与操作?A. &&B. ||C. !D. |答案:A5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. char str[] = {'H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!', '\0'};D. char str = {'H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!', '\0'};答案:A6. 对于以下代码段:```cint i = 10;while(i > 0) {i--;}```循环体执行的次数是多少?A. 10B. 11C. 9D. 8答案:C7. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add(a, b);D. int add(int a; int b);答案:A8. 若有以下代码段:```cint x = 20;printf("%d", x++);```该代码段的输出结果是什么?A. 20B. 21C. 19D. 22答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr = {1, 2, 3, 4, 5};D. int arr[5] = 1, 2, 3, 4, 5;答案:B10. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

二级C语言笔试题汇编及答案 (新).

二级C语言笔试题汇编及答案 (新).

则正确的switch语句是__________。 (A) switch (x) { case 1.0:printf("*\n"); case 2.0:printf("**\n"); } (B) switch (x) { case 1,2:printf("*n"); case 3:printf(" **\n"); } (C) switch (a+b) { case 1:printf("*\n"); case "1+2":printf("**\n"); } (D) switch (a+b) { case 1:printf("*\n"); case 2:printf("**\n"); } 15.一个c语言由若干个c函数组成,各个函数在文件中的书写位置为________。 A 任意 B 第一个函数必须是主函数,其他函数任意 C 必须完全按调用的顺序排序 D 其他函数必须在前,主函数必须在最后 16.程序 #define NUM 30+4 main() { printf("NUM*20=%d",NUM*20); } 的执行结果为__________。 (A) NUM*20=110 A printf("%d\n",a) C a=b;b=c;c=a; (A) 字长 A 程序行 A B C D (B) 字 B 语句 (B) NUM*20=680 (C) NUM*20=604 (D) 以上都不对 17.下面属于C语句的是________。 B #include<stdio.h> D /*this is a program */ (C) 字节 C 函数 (D) 二进制位 D 字符

全国计算机等级考试二级C语言笔试试题

全国计算机等级考试二级C语言笔试试题

全国计算机等级考试二级C语言笔试试题全国计算机等级考试二级C语言笔试试题计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

那么全国计算机等级考试二级C语言会怎么考?以下仅供参考!一、选择题(1-30 每小题1 分,31-45 每小题2 分,共60 分)下列各题A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。

答在试卷上不得分。

(1) 二进制数101110 转换为等值的八进制数是()。

A.45B.56C.67D.78(2) CPU 是由()组成的。

A.内存储器和控制器B.控制器和运算器C.内存储器和运算器D.内存储器、控制器和运算器(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的()磁盘操作系统。

A.多用户多任务B.单用户单任务C.分时D.分布式(4) 启动MS-DOS 操作系统后,()已驻留内存。

A.B.C.D.CCCC.EXE(5) 设驱动器B 中软盘上的目录结构如下图所示。

设当前目录为F2,则把A 盘根目录下的PROG.BAS 文件复制到B 盘F3 子目录中的命令是()。

A.COPY PROG.BAS B:B.COPY A:PROG.BAS B:C.COPY A:PROG.BAS B:F3D.COPY A:PROG.BAS B:F3(6) 下面四组DOS 命令中,意义完全相同的一组是()。

A.COPY 和DISKCOPYB.COMP 和DISKCOMPC.DEL 和RDD.RENAME 和REN(7) 防止软盘感染病毒的有效方法是()。

A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁D.定期对软盘格式化(8) 双面高密度5 英寸软磁盘的容量是()。

计算机二级《C语言》专项试题及答案

计算机二级《C语言》专项试题及答案

计算机二级《C语言》专项试题及答案计算机二级《C语言》专项试题及答案为帮助考生们备战2017下半年计算机二级考试时更快的掌握相应知识点,下面是店铺为大家整理的计算机二级《C语言》专项试题及答案,欢迎参考~计算机二级《C语言》专项试题及答案1). 数据库设计包括两个方面的设计内容,它们是A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计正确答案:A答案解析:数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。

2). 以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)( )A.printf (″%c ″, ′a′-32);B.printf (″%d ″, ′A′);C.printf (″%c ″, 65);D.printf (″%c ″, ′B′-1);正确答案:B答案解析:在选项B的输出函数中,大写字符′A′以整型数据的形式输出。

3). 下列描述中正确的是( )A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合正确答案:D答案解析:计算机软件与硬件是计算机系统中相互依存的'两部分。

计算机软件是包括程序、数据及相关文档的完整集合。

软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。

软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。

②软件的生产与硬件不同,它没有明显的制作过程。

③软件在运行、使用期间不存在磨损、老化问题。

④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。

⑤软件复杂性高,成本昂贵。

⑥软件的开发涉及诸多社会因素。

4). 以下不合法的用户标识符是( )。

A.804zhangB._ hhC.yy614D.If正确答案:A答案解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

2005 年 4 月全国计算机等级考试二级C 语言笔试试题及答案一、选择题(( 1)~( 10)每小题 2 分,( 11)~( 50)每小题 1 分,共 60 分)下列各题 A )、 B)、 C)、D )四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

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

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是______。

A .栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。

A .冒泡排序为B.冒泡排序为C.快速排序为D.快速排序为n/2nnn(n-1)/2(4)对长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为A . log2nB. n/2C. nD. n+1(5)下列对于线性链表的描述中正确的是______。

A .存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是______。

______。

A .软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求______。

A .模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是______。

二级C语言笔试题库及答案

二级C语言笔试题库及答案
printf("%d\n",s);}
该程序的输出结果是
A)69825 B)63825 C)6385 D)693825
(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(26)有如下程序
main()
{ char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>′\0′;j+=2)
s=10*s+p[i][j]-′0′;
B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D) 由于p和q数组中都没有字符串结束符,故长度都不能确定
(23)下面程序的输出结果是
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));}
A)3 B)4 C)1 D)2
(24)以下错误的定义语句是
A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题

全国计算机等级考试二级c语言笔试试题全国计算机等级考试二级C语言笔试试题计算机技术的发展日新月异,而计算机等级考试则是评估一个人在计算机领域知识和技能水平的重要标准之一。

其中,C语言作为一种广泛应用于软件开发和系统编程的编程语言,也成为了计算机等级考试中的重要内容之一。

在本文中,我们将探讨全国计算机等级考试二级C语言笔试试题,以及一些相关的知识和技巧。

一、基础知识题1. 下列哪个选项是C语言的关键字?A. mainB. programC. beginD. start正确答案是A. main。

在C语言中,main函数是程序的入口点,是程序执行的起点。

2. 下列哪个选项是C语言的运算符?A. ifB. forC. +D. void正确答案是C. +。

加号是C语言中的一个运算符,用于执行加法运算。

3. 在C语言中,如何定义一个整型变量?A. intB. floatC. charD. string正确答案是A. int。

在C语言中,int用于定义一个整型变量。

二、编程题1. 编写一个C语言程序,要求用户输入一个整数,然后判断该数是否为偶数,并输出结果。

```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语言程序,通过使用if语句和取余运算符,判断用户输入的整数是否为偶数,并输出结果。

2. 编写一个C语言程序,要求用户输入一个字符串,然后统计该字符串中字母的个数,并输出结果。

```c#include <stdio.h>#include <string.h>int main() {char str[100];int count = 0;printf("请输入一个字符串:");scanf("%s", str);for (int i = 0; i < strlen(str); i++) {if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {count++;}}printf("字符串中字母的个数为:%d\n", count);return 0;}```以上是一个简单的C语言程序,通过使用for循环和条件判断,统计用户输入的字符串中字母的个数,并输出结果。

c语言二级考试题库

c语言二级考试题库

c语言二级考试题库第一篇c语言二级考试题库:2021计算机二级《C语言》考试题及答案一、选择题(每小题1分。

共40分)(1)程序流程图中带有箭头的线段表示的是( )。

A.图元关系B.数据流C.掌握流D.调用关系(2)结构化程序设计的基本原则不包括( )。

A.多态性B.自顶向下C.模块化D.逐步求精(3)软件设计中模块划分应遵循的准则是( )。

A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是( )。

A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试方案(5)算法的有穷性是指( )。

A.算法程序的运行时问是有限的。

B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏状况下,比较次数不是n(n一1)/2的排序方法是( )。

A.快速排序B.冒泡排序C.直接插入排序D.堆排序(7)下列关于栈的叙述正确的是( )。

A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据(8)在数据库设计中,将E—R图转换成关系数据模型的过程属于( )。

A.需求分析阶段B.概念设计阶段C.规律设计阶段D.物理设计阶段(9)有三个关系R、s和T如下:由关系R和s通过运算得到关系T,则所使用的运算为( )。

A.并B.自然连接C.笛卡尔积D.交(10)设有表示同学选课的三张表,同学s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成果),则表sc 的关键字(键或码)为( )。

A.课号,成果B.学号,成果C.学号,课号D.学号,姓名,成果(11)以下叙述中错误的是( )。

A.c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D.c语言源程序经编译后生成后缀为.obj的目标程序(12)以下选项中,合法的一组c语言数值常量是( )。

二级C语言程序设计笔试资料

二级C语言程序设计笔试资料

C语言程序设计笔试辅导资料考试内容:一、C语言的结构1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志。

3. C语言的风格。

二、数据类型及其运算(基础)1.C的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。

三、基本语句(基础)1.表达式语句,空语句,复合语句。

2.数据的输入和输出,输入输出函数的调用。

3.复合语句。

4.GOTO语句和语句标号的使用。

(这个了解即可)四、选择结构程序设计1.用if语句实现选择结构。

(基础)2.用switch语句实现多分支选择结构。

(笔试有)3.选择结构的嵌套。

五、循环结构程序设计(基础)1.for 循环结构。

2.while和do while循环结构。

3.continue语句和break语句。

4.循环的嵌套。

(基础)六、数组的定义和引用1.一维数组和多维数组的定义、初始化和引用。

2.字符串与字符数组。

七、函数(基础)1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值的传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。

8.内部函数与外部函数。

八、编译预处理(基础,笔试有考到宏替换)1.宏定义:不带参数的宏定义;带参数的宏定义。

2.“文件包含”处理。

九、指针(这个很重要,上机题有这方面的)1.指针与指针变量的概念,指针与地址运算符。

2.指针类型、指针变量与指针引用数据。

3.用指针作函数参数。

4.返回指针值的指针函数。

5.指针数组,指向指针的指针,MAIN函数的命令行参数。

十、结构体(即“结构”)与共用体(即“联合”)1.结构体和共用体类型数据的定义方法和引用方法。

计算机二级《C语言程序设计》笔试试题及答案

计算机二级《C语言程序设计》笔试试题及答案

计算机二级《C语言程序设计》笔试试题及答案计算机二级《C语言程序设计》笔试试题及答案单项选择题(1)下列数据结构中,属于非线性结构的是A)循环队列B) 带链队列C) 二叉树D)带链栈(2)下列数据结果中,能够按照“先进后出”原则存取数据的是A) 循环队列B) 栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A) 可封装D) 自顶向下C) 模块化D) 逐步求精(7)软件详细设计产生的图如下:该图是A) N-S图B) PAD图C) 程序流程图D) E-R图(8)数据库管理系统是A)操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统D) 一种操作系统(9)在E-R图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形(10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A) 选择B) 投影C) 交D) 并(11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c;B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c;D)if(a>b) {c=a;a=b;b=c;}(18)有以下程序#includemain(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5C)7D)9(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1;else k=0;20)有以下程序#includemain(){ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是A)0B)2C)3D)5下载文档。

2023年3月二级C语言笔试试卷及参考答案

2023年3月二级C语言笔试试卷及参考答案

绝密★启用前3月全国计算机等级考试二级笔试试卷C语言程序设计及参照答案(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。

共70分)下列各题A)、B)、C)、D)四个选项中,只有一种选项是对旳旳,请将对旳选项涂写在答题卡上,答在试卷上不得分。

(1) 下列论述中对旳旳是A)对长度为n旳有序链表进行查找,最坏状况下需要旳比较次数为nB)对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(n/2)C)对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(log2n)D) 对长度为n旳有序链表进行对分查找,最坏状况下需要旳比较次数为(n log2n)(2) 算法旳时间复杂度是指A)算法旳执行时间B)算法所处理旳数据量C)算法程序中旳语句或指令条数D)算法在执行过程中所需要旳基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件旳是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试旳任务是A)诊断和改正程序中旳错误B)尽量多地发现程序中旳错误C)发现并改正程序中旳所有错误D)确定程序中错误旳性质(5) 数据流程图(DFD图)是A)软件概要设计旳工具B)软件详细设计旳工具C)构造化措施旳需求分析工具D)面向对象措施旳需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7) 数据库管理系统中负责数据模式定义旳语言是A)数据定义语言B)数据管理语言 C)数据操纵语言D)数据控制语言(8) 在学生管理旳关系数据库中,存取一种学生信息旳数据单位是A)文献B)数据库C)字段D)记录(9) 数据库设计中,用E-R图来描述信息构造但不波及信息在计算机中旳表达,它属于数据库设计旳A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10) 有两个关系R和T如下:R T选择B)投影C)交D)并(11) 如下论述对旳旳是A)C语言程序是由过程和函数构成旳B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文献形式存在(12) 如下有关C语言旳论述中对旳旳是A)C语言中旳注释不可以夹在变量名或关键字旳中间B)C语言中旳变量可以再使用之前旳任何位置进行定义C)在C语言算术旳书写中,运算符两侧旳运算数类型必须一致D)C语言旳数值常量中夹带空格不影响常量值旳对旳表达(13) 如下C语言顾客标示符中,不合法旳是A)_1 B)AaBc C)a_b D)a--b(14) 若有定义:double a=22;int i=0,k=18;则不符合C语言规定旳赋值语句是A)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#include <stdio.h>main(){char a,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一种字符)12<CR>34<CR>则输出成果是:A、1234B、12C、12D、123 3416、如下有关C语言数据类型使用旳论述中错误旳是:A、若要精确无误旳表达自然数,应使用整数类型。

2023年3月计算机二级C语言笔试真题及答案版

2023年3月计算机二级C语言笔试真题及答案版

3月二级c语言笔试真题及答案试题:一、选择题(11) 如下论述对旳旳是A)C语言程序是由过程和函数构成旳B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文献形式存在(12) 如下有关C语言旳论述中对旳旳是A)C语言中旳注释不可以夹在变量名或关键字旳中间B)C语言中旳变量可以再使用之前旳任何位置进行定义C)在C语言算术旳书写中,运算符两侧旳运算数类型必须一致D)C旳数值常量中夹带空格不影响常量值旳对旳表达(15)#include <stdio.h>void main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一种字符)12<CR>34<CR>则输出成果是:A、1234B、12C、12D、123 34 16、如下有关C语言数据类型使用旳论述中错误旳是:A、若要精确无误旳表达自然数,应使用整数类型。

B、若要保留带有多位小数旳数据,应使用双精度类型。

C、若要处理如”人员信息”等具有不一样类型旳有关数据,应自定义构造体类型。

D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。

(24)如下有关return语句旳论述中对旳旳是A)一种自定义函数中必须有一条return语句B) 一种自定义函数中可以根据不一样状况设置多条return语句C)定义成viod类型旳函数中可以有带返回值旳return语句D)没有return语句旳自定义函数在执行结束时不能返回到调用处(25)下列选项中,可以对旳定义数组旳语句是A)int num[0..]; B) int num[];C) int N=; D) #define Nint num[N]; int num[N](26)有如下程序#include<stdio.h>void fun (char*c,int d){*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);}main(){char b=’a’,a=’A’;fun(&b,a); printf(”%c,%c\n”,b,a);}程序运行后旳输出成果是A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法对旳旳是A)定义了基类型为int旳三个指针变量B)定义了基类型为int旳具有三个元素旳指针数组pt。

历年二级C语言笔试真题及答案

历年二级C语言笔试真题及答案

1)下列数据结构中,属于非线性结构的是A)循环队列B) 带链队列C) 二叉树D)带链栈2)下列数据结果中,能够按照“先进后出”原则存取数据的是A) 循环队列B)栈C)队列D)二叉树3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数5)软件设计中划分模块的一个准则是A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合6)下列选项中不属于结构化程序设计原则的是A) 可封装B) 自顶向下C) 模块化D) 逐步求精7)软件详细设计产生的图如下:该图是A) N-S图B) PAD图C) 程序流程图D) E-R图8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C) 一种编译系统D) 一种操作系统9)在E-R图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A) 选择B) 投影C) 交D) 并11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整12)以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_D)unsigned13)阅读以下程序#include <stdio.h>main(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值14)表达式:(int)((double)9/2)-(9)%2的值是A)0 B)3C)4 D)515)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1016)有以下程序#include <stdio.h>main(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0 B)1,0 C)3,2 D)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}18)有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5 C)7 D)919)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1; else k=0;20)有以下程序#include <stdio.h>main(){ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);} 程序运行后的输出结果是A)0 B)2 C)3 D)521)有以下程序#include <stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);} 程序运行后的输出结果是A)0 2 B)1 3 C)5 7 D)1 222)有以下定义语句,编译时会出现编译错误的是A)char a=’a’B)cha r a=’\n’;C)char a=’aa’; D)char a=’\x2d’;23)有以下程序#include <stdio.h>main(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68 B)D,69C)E,D D)输出无定值24)有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);} 程序运行后的输出结果是A)32 B)12 C)21D)2225)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;} 造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错D)赋值语句max=MIN;放错了位置(26)有以下程序#include <stdio.h>main(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);} 程序运行后的输出结果是A)1,2,1, B)1,2,2,1C)2,1,2, D)2,1,1,227)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1]28)有以下程序#include <stdio.h>#include<string.h>main(){ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);} 程序运行后的输出结果是A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World29)有以下程序#include <stdio.h>main(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);}A)3 3 4 4 B)2 0 5 0 C)3 0 4 0D)0 3 0 430)有以下程序#include <stdio.h>#include<string.h>main(){ char a[10]=”abcd”;print f(“%d,%d\n”,strlen(a),sizeof(a);} 程序运行后的输出结果是A)7,4 B)4,10C)8,8 D)10,1031)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32)下列函数的功能是fun(char * a,char * b){ while((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’33)设有以下函数void fun(int n,char * s) {……} 则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun; C)void *pf(); *pf=fun; D)void (*pf)(int,char);pf=&fun;(34)有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;} 程序运行以后的输出结果是A)7 B)8C)9 D)1035)有以下程序#include <stdio.h>#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);} 程序运行后的输出结果是A)10,64B)10,10 C)64,10 D)64,6436)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a; B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} a;D)struct {int x;int y;int z;} a;37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=str; B)scanf(“%s”,c);C)c=getchar(); D)*c=”string”;38)有以下程序#include <stdio.h>#include<string.h>struct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct Aa={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.039)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16 B)8 C)4D)240)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】14个结点。

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

二级C语言笔试-227(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:70.00)1.以下选项中能表示合法常量的是(分数:2.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:'/'D.字符串:"/007" √解析:[解析] 选项A中,整型常量中出现了“,”,所以错误。

选项B中,实数的表示形式要求e(E)前必须有数字,e(E)后必须是整数,而“2.0”是实数,不满足要求。

表示字符斜杠,正确的写法是'//',所以选项C错误。

选项D正确地表示了一个字符串常量。

2.若有定义语句int a,b; double x; 则下列选项中没有错误的是(分数:2.00)A.switch(x%2)ease 0: a++; break;ease 1: b++; break;default: a++; b++;B.switch((int)x/2.0)case 0: a++; break;case 1: b++; break;default: a++; b++;C.switch((int)x%2)ease 0: a++; break;ease 1: b++; break;default: a++; b++;√D.switch((int)(x)%2)case 0.0: a++; break;ease 1.0: b++; break;default: a++; b++;解析:[解析] switch语句中要求switch后的表达式以及case后的常量表达式必须是整型或字符型数据,所以选项A、B、D均不满足上述要求,只有选项C满足语法要求。

3.以下关于结构化程序设计的叙述中正确的是(分数:2.00)A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用goto语句会更便捷C.在C语言中,程序的模块化是利用函数实现的√D.由3种基本结构构成的程序只能解决小规模的问题解析:[解析] 结构化程序设计由顺序、分支和循环3种结构组成,但不是必须在每个程序中都同时包含这3种结构,这3种基本结构构成的程序也可以解决大规模的问题。

结构化程序设计应该尽量避免使用goto无条件转向语句,这个语句会破坏结构化程序的总体结构。

故选项A、B、D错误。

C语言中,程序模块化是利用函数来实现的。

4.表达式a+=a-=a=9的值是(分数:2.00)A.9B.-9C.18D.0 √解析:[解析] 赋值运算结合性是从右到左,所以先做“a=9”,再做“a-=a”,展开得到等价的表示为“a=a-a”,所以a的值变为0,最后做“a+=a”,即a=a+a=0+0=0。

5.若要使以下程序的运行结果为248,应在下画线处填入的是#include<stdio.h>main()short c=124;c=c______;printf("%d/n", c);(分数:2.00)A.>>2B.1248C.&0248D.<<1 √解析:[解析] 本题考查的是位运算。

248恰好是124的2倍。

若将二进制数左移1位末尾补0得到的新数恰好是原数的2倍。

所以只需对变量C进行左移1位的操作,故选D。

6.以下关于简单程序设计的步骤和顺序的说法中正确的是(分数:2.00)A.确定算法后,整理并写出文档,最后进行编码和上机测试B.首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档√C.先编码和上机测试,在编码过程中确定算法和数据结构,最后整理文档D.先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构解析:[解析] 设计一个能解决实际问题的计算机程序需要经过以下过程:(1) 建立模型。

由实际问题的描述抽象出数学模型,即由物理模型到抽象模型,用形式化方法描述现实世界。

(2) 算法设计。

给出解决问题的步骤(算法)。

(3) 算法表达。

选择一种表达算法的工具,对算法进行清晰的表达。

(4) 编写程序。

选择一种程序设计语言,将以上算法程序化。

(5) 程序调试。

对编写好的程序进行调试,修改程序中的错误。

(6) 程序文档编写与程序维护。

整理和编写程序文档,以便更好地维护程序。

选项B符合上述描述。

7.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(分数:2.00)A.一对一B.一对多C.多对多√D.多对一解析:[解析] 本题考查实体之间的联系。

实体集之间的联系没有多对一,所以排除选项D。

用于一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,所以实体工作人员与实体计算机之间的联系是多对多。

8.以下程序(函数fun只对下标为偶数的元素进行操作)运行后的输出结果是#include<stdio.h>void fun(int *a, int n)int i, j, k, t;for(i=0; i<n-1; i+=2)k=i;for(j=i; j<n; j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t;main()int aa[10]=1, 2, 3, 4, 5, 6, 7, i;fun(aa, 7);for(i=0; i<7; i++) printf("%d, ", aa[i]);printf("/n");(分数:2.00)A.7,2,5,4,3,6,1 √B.1,6,3,4,5,2,7C.7,6,5,4,3,2,1D.1,7,3,5,6,2,1解析:[解析] 本题考查的是选择排序法。

函数fun中,变量i从0开始,每次增加2,变量j从i开始,每次也是增加2,所有循环中只对偶数下标的元素进行了处理。

函数fun是一个典型的选择排序法,只不过只对偶数下标的元素进行降序排列,奇数下标的元素不变。

发现这一特点后,可以直接写出最后的结果7,2,5,4,3,6,1。

9.以下程序(库函数islower(ch)用于判断ch中的字母是否为小写字母)的输出结果是#include<stdio.h>#include<ctype.h>void fun(char *P)int i=0;while(p[i])if(p[i]=="&&islower(p[i-1]))p[i-1]=p[i-1]-'a'+'A';i++;main()char s1[100]="ab cd EFG!";fun(s1); printf("%s/n", s1);(分数:2.00)A.ab cd EFG!B.Ab Cd EFg!C.aB cD EFG! √D.ab cd EFg!解析:[解析] 函数fun中while循环实现的功能是从字符串第一个字符开始,依次取出字符进行判断,若当前的字符等于空格并且当前字符的前一个字符为小写字母的话,就将前一个小写字母转换成大写。

实际上while循环完成的操作是将空格字符前的小写字母转换成大写,所以选择选项C。

10.以下程序段完全正确的是(分数:2.00)A.int *P; scanf("%d", &p);B.int *P; scanf("%d", p);C.int k, *P=&k; scanf("%d", p); √D.int k, *P; *P=&k; scanf("%d", p);解析:[解析] 选项A、B中,指针p是一个变量,但是没有赋值,即p没有指向一个具体的存储空间,所以不能在scanf语句中使用指针p。

选项D中,"*p=&k;"表示错误,"&k"是变量k的地址,只能对指针p赋值,而不是对*p赋值。

11.以下程序运行后的输出结果是#include<stdio.h>#include<string.h>main()char x[]="STRING";x[0]=0; x[1]='/0'; x[2]='0';printf("%d%d/n", sizeof(x),strlen(x));(分数:1.00)A.6 1B.7 0 √C.6 3D.7 1解析:[解析] 本题解题的关键是运算符sizeof和函数strlen的区别。

运算符sizeof的功能是求出变量在内存中存放所需的字节数,函数strlen的功能是求出字符串的实际长度,不包含字符串结束标记'/0'。

程序中使用"char x[]="STRING"; "定义了数组x,字符串"STRING"在内存中存放实际需要7个字节(字符'/0'需要占用1个字节),所以在定义x数组时,系统就为x数组划分了7个字节的存储空间,所以“sizeof(x)”的值为7。

紧接着执行"x[0]=0; ",'/0’的ASCII码值等于0,所以该语句的作用是对x[0]赋予了字符串的结束标记,所以不管x数组后面元素值是多少,"strlen(x)"求出的结果都是0。

12.以下程序运行后的输出结果是#include<stdio.h>int f(int x);main()int n=1, m;m=f(f(f(n))); printf("%d/n", m);int f(int x) return x*2;(分数:1.00)A.1B.2C.4D.8 √解析:[解析] 本题解题的关键是程序中3次调用了函数f,而且上一次的函数返回值作为本次调用的实参。

第1次调用"f(n)",n=1传递给形参x,所以函数f返回值为1*2=2;第2次调用"f(2)",2传递给形参x,函数的返回值为2*2=4;第3次调用"f(4)",4传递给形参x,函数的返回值为4*2=8。

13.以下程序(strcat函数用以连接两个字符串)运行后的输出结果是#include<stdio.h>#include<string.h>main()char a[20]="ABCD/OEFG/0", b[]="IJK";strcat(a, b); printf("%s/n:,(分数:1.00)A.;A) ABCD/0FG/0IJKB.ABCDIJK √C.IJKD.EFGIJK解析:[解析] 本题的关键是看懂字符数组a的定义和初始化。

相关文档
最新文档