计算机国二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;}```解析:本题考查了循环语句、输入输出函数等基本知识。

NCRE二级C语言真题与答案

NCRE二级C语言真题与答案

NCRE二级C语言真题与答案一、真题回顾NCRE(National Computer Rank Examination)是全国计算机等级考试,其C语言级别分为一级和二级。

本文将回顾NCRE二级C语言的真题,并给出相应的答案。

1.1 第一题题目描述:请编写一个程序,实现将输入的字符串逆序输出。

示例输入:Hello World!示例输出:!dlroW olleH解答:```c#include <stdio.h>#include <string.h>void reverseString(char * str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char input[100];printf("请输入一个字符串:");scanf("%s", input);reverseString(input);printf("逆序输出:%s\n", input);return 0;}```1.2 第二题题目描述:请编写一个程序,实现将给定的整数数组按照从小到大的顺序排序。

示例输入:6 3 8 2 9示例输出:2 3 6 8 9解答:```c#include <stdio.h>void bubbleSort(int arr[], int num) { int i, j, temp;for (i = 0; i < num - 1; i++) {for (j = 0; j < num - i - 1; j++) { if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[100], num, i;printf("请输入数组的长度:"); scanf("%d", &num);printf("请输入数组元素:");for (i = 0; i < num; i++) {scanf("%d", &arr[i]);}bubbleSort(arr, num);printf("从小到大排序结果:");for (i = 0; i < num; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```二、答案解析2.1 第一题解析该题要求逆序输出输入的字符串。

国二c语言考试题库及答案解析

国二c语言考试题库及答案解析

国二c语言考试题库及答案解析一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable nameD. $variable答案:B3. C语言中,用于计算两个整数相加的运算符是什么?A. +=B. +=C. +D. -答案:C4. 若有定义`int a = 5;`,则执行`a += 3;`后,变量a的值是多少?A. 3B. 5C. 8D. 无法确定5. 在C语言中,哪个函数用于计算数组的长度?A. strlenB. sizeofC. lengthD. size答案:B6. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. {"Hello", "World"}答案:A7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[2][3];B. int a[][] = {1, 2, 3};C. int a[2] = {1, 2, 3};D. int a[2][3] = {1, 2};答案:A8. C语言中,以下哪个选项是正确的条件语句?A. if (condition) { statement; }B. if condition statement;C. if (condition) statement;D. if condition { statement; }答案:A9. 在C语言中,以下哪个函数用于输入一个字符?B. getchar()C. putc()D. scanf()答案:B10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; };C. struct Student { int age; name[20]; };D. struct { int age; char name; };答案:A二、填空题(每题2分,共10分)1. 在C语言中,`printf`函数用于输出格式化的______。

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

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

计算机二级c语言考试题目及答案考试题目一:1. 下面哪个选项是 C 语言中的预处理指令?A. #includeB. intC. printfD. if答案:A. #include考试题目二:2. 在 C 语言中,如何声明一个整型变量?A. String num;B. int num;C. float num;D. num int;答案:B. int num;考试题目三:3. C 语言中的逻辑与运算符是什么?A. &&B. ||C. !D. &答案:A. &&考试题目四:4. 下面哪个选项是正确的C语言定义和初始化数组的方法?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = (1, 2, 3, 4, 5);C. int arr = [1, 2, 3, 4, 5];D. int arr[5] = [1, 2, 3, 4, 5];答案:A. int arr[5] = {1, 2, 3, 4, 5};考试题目五:5. 下面程序的输出结果是什么?```c#include <stdio.h>int main() {int i = 5;if (i == 5) {printf("Hello, World!");}else {printf("Goodbye, World!");}return 0;}```A. Hello, World!B. Goodbye, World!C. 编译错误D. 运行错误答案:A. Hello, World!考试题目六:6. 下面哪个选项是 C 语言中的循环语句?A. chooseB. forC. switchD. if答案:B. for考试题目七:7. 在 C 语言中,如何访问数组的第一个元素?A. arr[0]B. arr[1]C. arr[-1]D. arr[first]答案:A. arr[0]考试题目八:8. 下面哪个选项是 C 语言中的条件语句?A. do-whileB. switchC. breakD. continue答案:B. switch考试题目九:9. 下面哪个选项是 C 语言中的自增运算符?A. +=B. -=C. ++D. --答案:C. ++考试题目十:10. 下面程序的输出结果是什么? ```c#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("%d ", i);i++;}return 0;}```A. 0 1 2 3 4B. 1 2 3 4 5C. 0 1 2 3 5D. 编译错误答案:A. 0 1 2 3 4以上是计算机二级C语言考试题目及答案。

四川计算机二级c语言考试21次机试试真题

四川计算机二级c语言考试21次机试试真题

一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为test1-1.c的C程序文件,其功能是将字符串中的小写字母都改成对应的大写字母,其他字母不变。

请更改程序中的错误。

注意:不得增行或删行,也不得更改程序的结构。

#include <stdio.h>#include <string.h>char *fun( char str){ int i ;for(i=0 ; str; i++)if(('a'<=str[i])||(str[i]<='z'))str[i]+=32;return *str;}main(){char str[81];printf("\n Please enter a string:");gets(str[81]);printf("\n The result string is:\n%s" , fun(str));}二、编写程序(程序文件名取为test1-2.c)(60分)在磁盘上的test1-2.txt文件中放有10个不小于2的正整数,用函数调用方式编写程序。

要求实现:1. 在被调函数prime中,判断和统计10个整数中的素数以及个数。

2. 在主函数中将全部素数追加到磁盘文件test1-2.txt的尾部,同时输出到屏幕上。

一、程序调试题(文件名test2-l.c)(40分)N个有序数数列已放在一维数组中。

下列程序中,函数fi的功能是:利用折半查找算法查找整数m在数组中的位置,返回其下标值;反之返回-1。

折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(Iow<high),然后把m与中间位置(mid)中元素的值进行比较。

如果m的值大于中间位置元素中的值,则下次的查找范围放在中间位置之后的元素中;反之,下一次的查找范围在中间位置之前的元素中。

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)

国家二级C语言机试(C语言程序设计)模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.若x为int变量,则以下语句的输出结果是( )。

x=1234;printf(“|\%-06d|n”,x);A.输出格式描述符不合法B.输出为|001234|C.输出为|1234|D.输出为|-01234|正确答案:C解析:本题主要考查C语言prinltf函数中格式控制字符串的使用,%表示格式说明的起始符号,“-”表示输出是否左对齐,“0”表示输出是空位是否填0。

在本题中格式字符串的“f”将原样输出。

若用格式描述’%6d’输出x值,则输出占6格,右对齐,左边用空格填满。

若用格式描述%06d,将输出x值,输出同上,只是左边用0填满。

若用格式描述%-06d,输出为左对齐即左边没有空位置,右边有空位置。

知识模块:C语言程序设计2.已知定义k为double类型变量,k=260.72631:p血t”%-6.2e \n”,k);则以上语句的输出结果是( )。

A.输出格式描述的域宽不够,不能输出B.输出为26.07e+01C.输出为2.6e+02D.输出为-2.64e2正确答案:C解析:在C语言中,使用e格式描述符输出浮点数时(浮点数将以指数形式输出),用户可指定输出数据的宽度和小数部分的位数,其一般形式为%m.he 或%-m.ne,其中m、n和字符“-”的含义均与上题所述相同。

需要指出的是,在不同的计算机系统中,虽然对指数部分应占宽度的规定不同,但是数值部分均按标准化指数形式输出(即小数点前必须有而且仅有一位非零数字)。

本题按标准化指数形式输出k值的整数部分,截去小数点并四舍五入,输出项k的实际宽度为9列,而格式说明中所给定的域宽为6,因此,将自动突破规定宽度,而按实际宽度输出,输出结果为2.6e+02。

知识模块:C语言程序设计3.若m是int型变量,n是noat型变量,所用的scanf调用语句格式为:scanf(“m=%d,n=%f,”&m,&n);则为了将数据10和66.6分别赋给m 和n,正确的输入应当是( )。

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

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

2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,用于定义一个字符型变量的关键字是?A. charB. stringC. intD. float答案:A3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array(10);答案:A5. 下列哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个无符号整数变量的关键字是________。

答案:unsigned int2. C语言中,用于计算两个整数相加的运算符是________。

答案:+3. 在C语言中,用于声明一个指针变量的语法是________。

答案:type *var_name;4. C语言中,用于输出字符串的函数是________。

答案:printf("%s", str);5. C语言中,用于定义一个函数的关键字是________。

答案:void 或 int 或其他类型三、简答题(每题10分,共20分)1. 请简述C语言中结构体的定义和作用。

答案:结构体在C语言中用于创建复杂的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

定义结构体使用关键字struct,后跟结构体的名称和一对花括号,花括号内定义了结构体的成员。

2. 解释C语言中的递归函数是什么,并给出一个简单的例子。

答案:递归函数是在其定义中调用自身的函数。

递归函数通常用于解决可以分解为更小、相似问题的任务。

国家二级C语言机试(公共基础知识)模拟试卷1(题后含答案及解析)

国家二级C语言机试(公共基础知识)模拟试卷1(题后含答案及解析)

国家二级C语言机试(公共基础知识)模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。

知识模块:公共基础知识2.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。

这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。

算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步;确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。

知识模块:公共基础知识3.以下关于算法的叙述错误的是A.算法可以用伪代码、流程图等多种形式来描述B.用流程图描述的算法可以用任何一种计算机高级语言编写程序代码C.一个正确的算法必须有输入D.一个正确的算法必须有输出正确答案:C解析:本题考查算法的基本概念。

选项C错误,算法不一定需要输入,但是一定有输出。

知识模块:公共基础知识4.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

知识模块:公共基础知识5.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。

是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。

算法不等于程序,也不等于计算方法。

设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。

知识模块:公共基础知识6.算法的空间复杂度是指A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数正确答案:A解析:算法的空间复杂度是指执行这个算法所需要的内存空间。

国二c语言笔试题库(试题)

国二c语言笔试题库(试题)

第一章C语言概述一单项选择题1.一个C程序的执行是从()。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序的main函数结束2.以下叙述正确的是()。

A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是()。

A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面4.C语言规定,在一个源程序中,main函数的位置()。

A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后5.一个C语言源程序是由()。

A) 一个主程序和若干子程序组成 B) 函数组成C) 若干过程组成 D) 若干子程序组成二填空题1.C源程序的基本单位是。

2.一个C源程序中至少应包括一个。

3.在一个C源程序中,注释部分两侧的分界符分别为和。

4.一个函数是由两部分组成的,它们分别是和。

5.在C语言中,一个函数的函数体一般包括和。

6.在每个C语句和数据定义的最后必须有一个。

7.C语言本身没有输入输出语句。

其输入输出是由来完成。

8.程序是指。

9.源程序是指。

C源程序文件的扩展名为. 。

10.目标程序是指。

目标程序文件的扩展名为. 。

11.可执行程序是指。

可执行程序文件的扩展名为。

12.上机运行一个C源程序的步骤一般为:①;②;③;④。

第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。

A) define IF Type B) getc char printfC) include scanf case D) while go pow2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

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

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

2级计算机等级考试c语言试题及答案本文为2级计算机等级考试C语言试题及答案,以下是试题及对应答案。

第一部分:单选题(共10题,每题2分,共20分)1. 下列关于C语言的表述中,错误的是:A. C语言是面向过程的编程语言。

B. C语言是一种高级语言。

C. C语言是由贝尔实验室的Dennis Ritchie于1972年发明的。

D. C语言是一种解释性语言。

答案:D2. 以下哪个不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,可以使用下面哪个关键字来定义常量?A. finalB. varC. constD. let答案:C4. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {printf("%d\n", sizeof(int));return 0;}A. 2B. 4C. 8D. 编译错误答案:B5. 下列关于指针的说法中,错误的是:A. 指针存储的是变量的地址。

B. 可以使用指针来间接访问变量。

C. 指针变量必须在使用之前初始化。

D. C语言不支持指针。

答案:D6. 以下哪个关键字可以用于声明一个函数?A. functionB. voidC. methodD. return答案:B7. 在C语言中,使用以下哪个关键字来定义一个结构体?A. newB. classC. structD. typedef答案:C8. 下列代码段中,输出结果是什么?#include <stdio.h>int sum(int a, int b) {return a + b;}int main() {int result = sum(3, 5);printf("%d\n", result);return 0;}A. 3B. 5C. 8D. 编译错误答案:C9. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};printf("%d\n", arr[3]);return 0;}A. 1B. 2C. 3D. 4答案:D10. 在C语言中,下列哪个运算符用于取两个数中的较大值?A. maxB. >C. &D. ||答案:B第二部分:填空题(共5题,每题2分,共10分)1. C语言中,行注释以(//)开头,块注释以(/*)开头,以(*/)结尾。

国二考试C语言程序设计上机题及答案

国二考试C语言程序设计上机题及答案

使用说明:此100套编程题来源于清华同方光盘电子出版社出版的《全国计算机等级考试二级C语言程序设计上机考试题库》,特此声明。

国二考试二级C语言程序设计100套题,各个版本的书大概都差不多。

以下是本人精心整理的题库100题(包括答案以及题目要求),希望给悉心复习的你一点小小的启发和帮助啦。

因为写得匆忙,如果有不恰当之处,恳请各路编程高手给予批评指正(本人纯属业余的编程爱好者)!注:答案仅供参考!!——作者100套题第1套编程题#include <>#define M 100void fun (int m,int *a,int *n){int i;*n=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[(*n)++]=i;}main( ){ int aa[M],n,k;fun(50,aa,&n);for(k=0;k<n;k++)if((k+1)%20==0) printf("\n");else printf("%4d",aa[k]);printf("\n") ;}题目要求:将1~m之间能被7或11整除的所有整数放入数组a,通过n返回数的个数。

如m=50,则程序输出:7 11 14 21 22 28 33 35 42 44 49.100套题第2套编程题#include<>voidfun(intm,int*k,intxx[]){inti,j,t=0;for(i=4;i<m;i++){for(j=2;j<i;j++)if(i%j==0){xx[t++]=i;break;}}*k=t;main(){intm,n,zz[100];printf("\nPleaseenteranintegernumberbetween10and100:");scanf("%d",&n);fun(n,&m,zz);printf("\n\nThereare%dnon-primenumberslessthan%d:",m,n);for(n=0;n<m;n++)printf("\n%4d",zz[n]);}题目要求:将所有大于1小于整数m的非素数存入xx数组,其个数通过k返回。

国二考试C语言程序的设计上机100题与答案

国二考试C语言程序的设计上机100题与答案

使用说明:此100套编程题来源于清华同方光盘电子出版的《全国计算机等级考试二级C语言程序设计上机考试题库》,特此声明。

国二考试二级C语言程序设计100套题,各个版本的书大概都差不多。

以下是本人精心整理的题库100题(包括答案以及题目要求),希望给悉心复习的你一点小小的启发和帮助啦。

因为写得匆忙,如果有不恰当之处,恳请各路编程高手给予批评指正(本人纯属业余的编程爱好者)!注:答案仅供参考!!——作者100套题第1套编程题#include <stdio.h>#define M 100void fun (int m,int *a,int *n){int i;*n=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[(*n)++]=i;}main( ){ int aa[M],n,k;fun(50,aa,&n);for(k=0;k<n;k++)if((k+1)%20==0) printf("\n");else printf("%4d",aa[k]);printf("\n") ;}题目要求:将1~m之间能被7或11整除的所有整数放入数组a,通过n返回数的个数。

如m=50,则程序输出:7 11 14 21 22 28 33 35 42 44 49.100套题第2套编程题#include <stdio.h>void fun( int m, int *k, int xx[] ){int i,j,t=0;for(i=4;i<m;i++){for(j=2;j<i;j++)if(i%j==0){xx[t++]=i;break;}}*k=t;}main(){int m, n, zz[100];printf( "\nPlease enter an integer number between 10 and 100: " ); scanf( "%d", &n );fun( n, &m, zz );printf( "\n\nThere are %d non-prime numbers less than %d:", m, n ) ;for( n = 0; n < m; n++ )printf( "\n %4d", zz[n] );}题目要求:将所有大于1小于整数m的非素数存入xx数组,其个数通过k返回。

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

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

第一套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.程序的注释可有可无分析:程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。

  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语句终止。

相关文档
最新文档