计算机国二C语言考试试题 第一套

合集下载

2级计算机等级考试c语言试题及答案

2级计算机等级考试c语言试题及答案

2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2ndVariableB. intC. _firstVariableD. variable-name答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. 下列哪个选项不是C语言的标准库函数?A. printfB. scanfC. strcatD. main答案:D4. C语言中,以下哪种数据类型用于存储字符?A. intB. charC. floatD. double5. 在C语言中,以下哪个选项是正确的字符串定义?A. "Hello"B. 'Hello'C. "Hello"[]D. 'Hello'[]答案:A6. C语言中,以下哪个选项用于定义一个整型数组?A. int array[10];B. int array[];C. int array[10]={0};D. int array[]={0};答案:A7. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 0B1010答案:A8. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a comment */D. /* This is a comment */答案:B9. C语言中,以下哪个选项用于定义一个结构体?B. classC. unionD. enum答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

全国计算机等级考试二级C语言-笔试第一套

全国计算机等级考试二级C语言-笔试第一套

全国计算机等级考试二级C语言-笔试第一套考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(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)假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A)log2n B)n2 C)O(n1..5) D)n(n-1)/2(8)在深度为5的满二叉树中,叶子结点的个数为A)32 B)31 C)16 D)15(9)数据库系统的核心是A)数据库B)数据库管理系统C)模拟模型D)软件工程(10)一个关系中属性个数为1时,称此关系为A)对应关系B)单一关系C)一元关系D)二元关系(11)下面各选项中,均是C语言合法标识符的选项组是A)33 we auto B)_23 me _3ew C)_43 3e_ else D)ER -DF 32(12)可在C程序中用作用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bl C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(15)现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为:A)int B)double C)float D)char(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)有以下程序段int j;float y;char name[50];scanf(%2d%f%s,j,y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(18)若变量已正确定义,有以下程序段i=0;do printf(%d,,i);while(i++);printf(%d\n,i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(19)下列程序的运行结果是#include stdio.hmain(){ int x=-9,y=5,z=8;if(xif(y0)z=0;else z+=1;printf(%d\n,z);}A)6 B)7 C)8 D)9(20)若程序执行时的输入数据是2473,则下述程序的输出结果是#includevoid main(){ int cs;while((cs=getchar())!=; \n){switch(cs-2){ case 0case 1: putchar(cs+4);case 2: putchar(cs+4);break;case 3: putchar(cs+3); default: putchar(cs+2); } } }A)668977B)668966C)6677877D)6688766(21)以下程序的输出结果是main(){ int a,i;a=0;for(i=1;i5;i++){ switch(i){ case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5; }}printf(%d\n,a);}A)31 B)13 C)10 D)20(22)现有如下程序段#include stdio.hmain(){ int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){ if(k[i]%2==0||k[i]%5==0)count++;i++; }printf(%d,%d\n,count,i);}则程序段的输出结果为A)7,8 B)8,8 C)7,10 D)8,10(23)若有以下程序#includeint a[]={2,4,6,8};main(){ int i;int *p=a;for(i=0;i4;i++)a[i]=*p;printf(%d\n,a[2]);}上面程序的输出结果是A)6 B)8 C)4 D)2(24)有以下程序#includemain(){ int i,j,m=55;for(i=1;i=3;i++)for(j=3;j=i;j++)m=m%j;printf(%d\n,m);}程序的运行结果是A)0 B)1 C)2 D)3(25)已知字符A的ASCII码值是65,字符变量cl的值是A,c2 的值是D。

全国计算机2级c试题及答案

全国计算机2级c试题及答案

全国计算机2级c试题及答案一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组的索引从0开始。

B. 数组的大小在声明时必须确定。

C. 数组可以存储不同类型的数据。

D. 数组的元素在内存中是连续存储的。

答案:C3. 在C语言中,哪个关键字用于声明函数?A. classB. functionC. defD. int答案:D4. 以下哪个选项是C语言中的合法整数常量?A. 0x1AB. 01AC. 1.2E3D. 0b1010答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:B6. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 02A答案:A7. 以下哪个选项是C语言中的合法浮点数常量?A. 1.23B. .23C. 123.D. 1.23E+5答案:D8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;};B. struct Student {int age;float height;};C. struct Student {int age;float height;} student1;D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p = 0;C. int *p = NULL;D. All of the above答案:D10. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include "stdio"D. #include <stdio>答案:A11. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159;D. #define PI 3.14159答案:A12. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) {// code}D. All of the above答案:C13. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (i = 0; i < 10; i++)C. for (int i = 0; i <= 10; i++)D. All of the above答案:A14. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. All of the above答案:D15. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. enum Color {0, 1, 2};D. All of the above答案:D16. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D17. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)xB. int(x)C. x(int)D. All of the above答案:A19. 在C语言中,以下哪个选项是正确的多文件程序结构?A. main.cB. main.hC. main.c and main.hD. All of the above答案:C20. 在C语言中,以下哪个选项是正确的内存分配方式?。

国二计算机考试c语言试题及答案

国二计算机考试c语言试题及答案

国二计算机考试c语言试题及答案一、选择题1. 下面关于C语言的描述中,错误的是:A. C语言是一种高级程序设计语言。

B. C语言是一种通用的、结构化的编程语言。

C. C语言可以直接操作硬件,并提供了丰富的库函数。

D. C语言的语法是区分大小写的。

2. 下列关于C语言的数据类型中,不属于基本数据类型的是:A. intB. charC. floatD. string3. C语言中的运算符“&&”表示:A. 逻辑与运算B. 逻辑或运算C. 逻辑非运算D. 逻辑异或运算4. 在C语言中,以下关于数组的说法正确的是:A. 数组可以包含不同类型的数据。

B. 数组的大小不可以在运行时改变。

C. 数组的下标从1开始。

D. 数组的元素可以通过下标访问。

5. 下面关于函数的说法中,错误的是:A. C语言中的函数由函数名、参数列表、函数体组成。

B. 函数可以返回多个值。

C. 函数可以调用其他函数。

D. 函数的参数可以是无效值。

二、填空题1. C语言中,输出到屏幕上的函数是______。

2. C语言中,定义常量的关键字是______。

3. C语言中,用来接收键盘输入的函数是______。

4. C语言中,用来声明一个变量的关键字是______。

5. C语言中,for循环语句的基本结构是______。

三、编程题编写一个C语言程序,实现以下功能:1. 定义一个函数,接收两个整数参数a和b,返回它们的和。

2. 在主函数中,从键盘输入两个整数,调用定义的函数,将两个整数相加并输出结果。

以下是答案:一、选择题1. A2. D3. A4. D5. B二、填空题1. printf2. const3. scanf4. int5. for (初始化表达式; 循环条件; 更新表达式) {循环语句块}三、编程题```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int result = add(num1, num2);printf("两个整数的和为:%d\n", result);return 0;}```以上为国二计算机考试C语言试题及答案。

计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。

答案:scanf2. 在C语言中,用于输出的函数是___________。

答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。

答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。

答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)

国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。

【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。

在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。

所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。

所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。

知识模块:公共基础知识2.下列叙述中正确的是( )。

【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。

栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。

知识模块:公共基础知识3.软件测试的目的是( )。

【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。

知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。

【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

国二c试题及答案

国二c试题及答案

国二c试题及答案一、单选题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的控制语句?A. ifB. whileC. switchD. continue答案:D3. 在C语言中,以下哪个函数用于将字符串从ASCII码转换为对应的数值?A. atoiB. atolC. atollD. atof答案:A二、填空题1. 在C语言中,定义一个字符数组时,数组的大小必须______。

答案:确定2. C语言中,用于声明一个函数的关键字是______。

答案:int3. C语言中,用于声明一个指针的关键字是______。

答案:*三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数之和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("Sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,将一个字符串反转。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```四、简答题1. 描述C语言中指针和数组的关系。

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

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

全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。

编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。

2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。

试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。

答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。

2. 以下程序的输出结果是()。

```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。

在本题中,5除以3的余数为2,因此输出结果为2。

试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。

```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。

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

第一套1.串的长度是( )A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数分析:串的长度指的是串中的字符的个数,且其字符个数可以为零。

2.以下不属于对象的基本特点的是( )A.分类性B.多态性C.继承性D.封装性分析:对象有如下一些基本特点,即标识惟一性、分类性、多态性、封装性和模块独立性。

3.下面不属于软件设计原则的是( )A.抽象B.模块化C.自底向上D.信息隐蔽分析:软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们是抽象、模块化、信息隐蔽和数据独立性。

自底向上是集成测试中增量测试的一种。

4.下列SQL语句中,用于修改表结构的是( )A.ALTERB.CREATEC.UPDA TED.INSERT分析:SQL语句中凡创建都用CREATE,删除都用DROP,改用ALTER,再跟类型和名字,附加子名。

5.关系模型允许定义3类数据约束,下列不属于数据约束的是( )A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束分析:关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束及用户自定义的完整性约束。

其中前两种完整性约束由关系数据库系统支持,对于用户自定义的完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。

6.非空循环单链表head的尾结点(由p所指向),满足( )A.p->next==NULLB.p==NULLC.p->next=headD.p=head分析:循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点),即p->next=head。

7.对建立好程序设计风格,下面描述正确的是( )A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无分析:程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。

8.在软件生产过程中,需求信息的给出是( )A.程序员B.项目管理者C.软件分析设计人员D.软件用户分析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

9.NULL是指( )A.0B.空格C.未知的值或无任何值D.空字符串分析:此题属于记忆性的题目,NULL是指未知的值或无任何值。

10.下列说法中,不属于数据模型所描述的内容的是( )A.数据结构B.数据操作C.数据查询D.数据约束分析:数据模型所描述的内容3有个部分,它们是数据结构、数据操作和数据约束。

其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要描述在相应数据结构上的操作类型与操作方式。

11.在C语言中,退格符是()A.\nB.\tC.\fD.\b分析:C语言的转义字符见下表所示。

转义字符转义字符的意义\n 回车换行\t 横向跳到下一制表位置\v 竖向跳格\b 退格\r 回车\f 换页\\反斜线符“\”\’单引号符\a 鸣铃\ddd 1~3位八进制数所代表的字符\xhh 1~2位十六进制数所代表的字符12.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25 &&b--<=2 &&c? printf(″***a=%d,b=%d,c=%d\n″,a,b, c):printf(″###a=%d,b=%d,c=%d\n″,a,b,c);程序输出结果是()A.* * *a=25,b=13,c=19B.* * *a=26,b=14,c=19C.### a=25,b=13,c=19D.### a=26,b=14,c=19分析:此题综合考查多种运算符的使用。

首先计算表达式a<=25 &&b--<=2 &&c的值,很容易看出b--<=2的值为假,因此表达式为假;根据三目运算的特点,由于前面的表达式为假,应执行printf(″###a=%d,b=%d,c=%d\n″,a,b,c),应注意a的值依然为25,b的值经过b--运算后改变为13,而c的值仍为19。

13.若运行以下程序时,从键盘输入Adescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()#include <stdio.h>main(){ char c;int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case′A′:case′e′:case′E′:case′i′:case′I′:case′o′:case′O′:case′u′:case′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf(″v0=%d,v1=%d,v2=%d\n″,v0,v1,v2);}A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=12分析:本题考查switch语句的掌握。

必须掌握以下内容:首先应该明白switch语句的语法格式:switch语句的语法格式为:switch(表达式){case常量表达式1:语句组1;case常量表达式2:语句组2;…case常量表达式n:语句组n;default:语句组n+1;}另外,注意以下几点关于switch语句的重点:①系统在执行时计算开关表达式的值;②根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的标号(本中匹配的是case ′B′:);③找到匹配后执行后面相应的语句表,顺序往下执行;④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+1;当不存在default标号时,不执行switch中的任何一个语句表。

一般而言,在多分支结构中总会出现“意外”的情况,这时均可归入default:程序段,作统一的处理。

default标号是可选性的,不必每次都有,视需要而定。

switch语句中还可以包含switch语句,形成switch的嵌套14.执行下面的程序段后,变量k中的值为()int k=3,s[2];s[0]=k;k=s[1]*10;A.不定值B.33C.30D.10分析:如果定义数组时没有进行初始化,则其各个成员的值不确定,所以k=s[1]*10的值也不定。

15.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为()A.tureB.falseC.0D.1分析:在C语言中,逻辑运算符中一共有4个,它们分别是!(逻辑非)、||(逻辑或)、&&(逻辑与)、^(异或)。

在位运算里面还有&(位与)、|(位或)的运算。

本题考查逻辑与运算符的用法,在表达式x=(a&&b)&&(c<′B′);中,先判断a&&b条件,逻辑与条件的两边都要保证为1,即a和b都成立,当然c<′B′是成立的,显然,该表达式的值为1。

16.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]>a[p])_______return(p);}在下划线处应填入的内容是()A.i=pB.a[p]=a[i]C.p=jD.p=I分析:该题目所要求的是最大数的位置(下标),而不是最大数的数值!因此,在进行逐个比较的过程中,需要记录下的是最大数的下标i,根据给出的程序可以知道,该下标记录存在变量p中,所以,如果a[i]>a[p]这一关系成立,应该把i的值赋给p,这样才满足题目的要求。

17.有如下程序main(){ char s[]=″ABCD″,*p;for(p=s+1;p<s+4;p++)printf(″%s\n″,p);}该程序的输出结果是()A.ABCDB.ABCD BCD CD DC.BD.BCDC CDD D分析:本题考查指向字符串的指针的运算方法。

指针变量p首先指向字符串中的第一个字符A,执行p=s+1后,p 指向字符串中的第二个字符B,然后输出值“BCD”并换行。

依次执行循环语句。

18.以下正确的说法是()A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准分析:本题中的二维数组的每个元素就是一个由三个元素构成的一维数组,根据条件for(k=0;k<3;k++)和要求的a[k][k]可以得出本题的答案应该是9 5 1。

19.结构化程序设计的三种基本逻辑结构是( )A.选择结构、循环结构和嵌套结构B.顺序结构、选择结构和循环结构C.选择结构、循环结构和模块结构D.顺序结构、递归结构和循环结构分析:选项A中定义函数时,形参的类型说明应该放在形参表列内说明。

老版本C语言中,对形参类型的声明是放在函数定义的第2行,也就是不在第1行的括号内指定形参的类型,而在括号外单独指定。

选项B中return后面的值可以是一个表达式。

选项D中实参与形参的类型应相同或赋值兼容。

如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换,以形参类型为准。

20.设有如下定义struck sk{ int a;float b;} data;int * p;若要使p指向data中的a域,正确赋值语句是()A.p=8a;B.p=data.a;C.p=&data.a;D.*p=data.a;分析:在做本题的时候,我们要特别注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。

引用结构体变量中成员中的方式为:结构体变量名.成员名,指针变量名->成员名,(*指针变量名).成员名。

21.在下述程序中,判断i>j共执行的次数是()main(){ int i=0,j=10,k=2,s=0;for(;;){ i+=k;if(i>j){ printf(″%d″,s);break;}s+=I;}}A.4B.7C.5D.6分析:本题涉及到break语句,重在循环次数的判定。

本题的循环由于无出口,只能借助break语句终止。

相关文档
最新文档