C语言第二单元单元测验答案.doc

合集下载

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

计算机二级C语言测试题及答案解析

计算机二级C语言测试题及答案解析

2016年计算机二级C语言测试题及答案解析(二) 基本输入输出及流程控制1.#in elude?mai n(){ int a=1,b=3,c=5;if (c==a+b)prin tf("yes\n");elseprin tf(" no\n");}运行结果为:no详见教材p89选择结构详见教材p91关系符号详见附录D p378符号的优先级==表示判断符号两边的值是否相等;二表示将符号右边的值赋给左边的变量本题考点是选择结构3种基本形式的第二种选择结构三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf 操作没有加{ }若c==a+b 成立,则执行printf("yes\n");否则(即c==a+b不成立),执行printf("no\n");+的优先级高于==,因此先算a+b,值为4,表达式5==4不成立,因此执行printf("no\n"); 即输出字符串no2.?#in clude?mai n(){ int a=12, b= -34, c=56, min=0;mi n=a;if(mi n>b)?mi n=b;if(min >c)?mi n=c;prin tf("mi n=%d", mi n);}运行结果为:min二-34详见教材p89选择结构本题考点是选择结构3种基本形式的第一种一共包含了两个选择结构(两个if语句)定义变量,并赋值此时a=12, b= -34, c=56, min=O将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。

若min>b成立,则执行min二b;若min>c成立,则执行min二c;输出min中的值12大于-34,第一个if语句的表达式成立,因此执行min二b;执行后min 中的值被更新为-34.-34小于56,第二个if语句的表达式不成立,因此不执行min二c;最后输出min中的值,为-34.3.#in elude?mai n(){ int x=2,y= -1,z=5;if(x if(yvO)?z=0;elsez=z+1;printf( “ %d\n” ,z);}运行结果为:5遇到选择结构,首先要明确条件表达式成立时执行哪些操作。

(完整版)C语言选择题(附答案)

(完整版)C语言选择题(附答案)

第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。

A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。

A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。

A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。

A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。

A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。

A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。

A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。

A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。

A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。

A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。

A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。

计算机二级C语言章节练习题及答案

计算机二级C语言章节练习题及答案

1.2算法1[填空题]一颗二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】O参考解析:[2】DEBFCA【解析】根据二叉树的中序遍历原则可知D为二叉树的最左边的叶子结点,根据二叉树的前序遍历原则可知A是二叉树的根结点,就可以确定二叉树的结构,所以二叉树的后序遍历结果为:DEBFCA02[填空题]队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。

允许删除的一端称作。

参考解析:队头【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。

允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

3[填空题]在最坏情况下,堆排序需要比较的次数为。

参考解析:0(nlog2n)【解析】在最坏情况下,冒泡排序所需要的比较次数为n(nr1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为0(nl.5);堆排序所需要的比较次数为0(nlog2n)。

4[单选题]算法的有穷性是指()。

Λ,算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用参考答案:A参考解析:算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

,④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

⑤输出:一个算法有一个或多个输出。

5[单选题]下列叙述中正确的是()。

A.数据的逻辑结构与存储结构是一一对应的B.算法的时间复杂度与空间复杂度一定相关C.算法的效率只与问题的规模有关,而与数据的存储结构无关D.算法的时间复杂度是指执行算法所需要的计算工作量参考答案:D参考解析:根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

带答案C语言2-10章作业

带答案C语言2-10章作业

带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。

(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。

(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。

x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。

A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。

#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。

A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。

int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。

c语言第二章课后习题答案

c语言第二章课后习题答案

第3章数据类型、运算符与表达式习题答案一、选择题1.以下表示正确常量的是()。

(A) E-5 (B) 1E5.1 (C) 'a12' (D) 32766L【答案】D2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式(x=a>b)&&(y=c>d) 的值为()。

(A)0 (B) 1 (C) 5 (D) 6【答案】A3.以下()是正确的字符常量。

(A)"c" (B) '\\'' (C) 'W' (D) "\32a"【答案】C4.以下()是不正确的字符串常量。

(A) 'abc' (B) "12'12" (C) "0" (D) " "【答案】A5.以下是正确的浮点数的是()。

(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6.若有定义:int a=2; 则正确的赋值表达式是()。

(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。

(A) (B)1111,222,33(C)1111 222 33 (D)1111+222+33【答案】D8.已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为11和22,正确的数据输入是哪一个?()(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9.已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是()。

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是C语言中合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3][4]-128 [ 5 ]2.26 【参考答案】[1]32767 [2]-32768 [3]000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

第2行的错误:(1) main()是主函数的起始行,不是语句,因此最后不应当有分号(;)。

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3][4]-128 [ 5 ]2.26 【参考答案】[1]32767 [2]-32768 [3]000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

第2行的错误:(1) main()是主函数的起始行,不是语句,因此最后不应当有分号(;)。

C语言-数据类型习题及答案

C语言-数据类型习题及答案

第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。

A)…\t?B) “A” C)…a?D)?\x32?2、合法的字符常量是(D)。

A)…\084?B) …\84? C)…ab?D)?\x43?2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y234.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;11.(B)是非法的C语言转义字符。

A)…\b?B)…\0xf? C)…\037? D)…\??12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。

全国计算机等级测验二级教程C语言程序设计课后习题答案

全国计算机等级测验二级教程C语言程序设计课后习题答案
3.31ﻫ#include
main()ﻫ{ﻫint a,b; ﻫa=1500;b=350;ﻫprintf("a divb is: %d\n",a/b);
printf("a mod bis :%d\n",a%b);ﻫ}
3.32
#include
main()
{ ﻫdoublea,b,c,ave;ﻫprintf("input 3 double number:\n"); ﻫscanf ("%lf%lf%lf",&a,&b,&c);ﻫprintf ("%.1f\n",(a+b+c)/3); ﻫ}ﻫ3.33 ﻫ#include

ﻫ第四章ﻫ一.选择题ﻫ4.1 A4.2 A 4.3 A4.4D 4.5C4.6A4.7 B 4.8C4.9 D4.10 C
二.填空题
4.11非00ﻫ4.12 <> >=<=同级== !=同级ﻫ4.13! && ||
4.15 ! ﻫ4.16a ==b ||a<cx>4|| x <-4 ﻫ4.171 ﻫ4.18x<=01>0ﻫ4.193 22
函数结束处遗失了一个“}”
ﻫ2.29ﻫ#include"stdio.h"
main/*mainfunction*/main后遗失了“()”

floata,b,c,v; /*a,b,c aresides, v isvolume ofcube */ ﻫa=2.0; b=3.0; c=4.0行尾遗失了“;”ﻫv=a*b*c;
1.3顺序 选择 循环
ﻫ第二章ﻫ一.选择题ﻫ2.1 B 2.2 D 2.3 B 2.4A 2.5 C2.6A2.7 B

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】 EXE1.2 【参考答案】[1] .C [2] .OBJ [3] .EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章 C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】 B)2.2 【参考答案】 D)2.3 【参考答案】 B)2.4 【参考答案】 A)2.5 【参考答案】 C)2.6 【参考答案】 A)2.7 【参考答案】 B)2.8 【参考答案】 B)2.9 【参考答案】 D)2.10 【参考答案】 C)2.11 【参考答案】 B)2.12 【参考答案】 B)2.13 【参考答案】 A)二、填空题2.14 【参考答案】[1] 11 [2] 122.15 【参考答案】[1] 4.2 [2] 4.22.16 【参考答案】[1] { [2] } [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1] int [2] float [3] double2.19 【参考答案】 float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1] a*b/c [2] a/c*b [3] b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2] 1位二进制数据(0或1)2.25 【参考答案】[1] 8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1] 32767 [2] -32768 [3] 10000000000000002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

全国计算机等级考试二级教程--C语言程序设计课后习题答案(最新整理)

全国计算机等级考试二级教程--C语言程序设计课后习题答案(最新整理)
return; }
4.23 #include
void main() { int a; printf ("请输入一个整数 :"); scanf ("%d",&a); if (a%2==0) { printf ("%d 是偶数\n", a); } else { printf ("%d 是奇数\n", a); } }
《全国计算机等级考试二级教程--C 语言程序设计》课后习题答案
第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序 选择 循环
第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义 执行语句 2.17 关键字 用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量 10 赋给变量 s 2.24 位 1 或 0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 1000000000000000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}”

C语言各章节单元测试题及答案(一)

C语言各章节单元测试题及答案(一)

12 以下叙述中正确的是( )
A.C 语言程序所调用的函数必须放在 main 函数的前面
B.C 语言程序总是从最前面的函数开始执行
C.C 语言程序中 main 函数必须放在程序的开始位置
D.C 语言程序总是从 main 函数开始执行
13 以下叙述中正确的是( )
ቤተ መጻሕፍቲ ባይዱ
A.每个后缀为.C 的 C 语言源程序都可以单独进行编译
在c程序中模块化主要是通过函数来实现的12以下叙述中正确的是ac语言程序所调用的函数必须放在main函数的前面bc语言程序总是从最前面的函数开始执行cc语言程序中main函数必须放在程序的开始位置dc语言程序总是从main函数开始执行13以下叙述中正确的是a
单元一 认识 C 语言
1 计算机能直接执行的程序是( )。 A.源程序 B.目标程序 C.汇编程序 D.可执行程序 2 以下叙述中错误的是( ) A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中 D.C 语言源程序经编译后生成后缀为.obj 的目标程序 3 下列叙述中错误的是( ) A.C 程序可以由多个程序文件组成 B.一个 C 语言程序只能实现一种算法 C.C 程序可以由一个或多个函数组成 D.一个 C 函数可以单独作为一个 C 程序文件存在 4 以下四个程序中,完全正确的是( ) A. #include <stdio.h> main(); {/*/ programming /*/ printf("programming!\n");} B. #include <stdio.h> main() {/* programming */ printf("programming!\n"); } C. #include <stdio.h> main()

二级C语言课本课后习题参考答案

二级C语言课本课后习题参考答案

二级C语言课本课后习题参考答案第一章程序设计基本概念**************************************************(1) exe(2) C,obj , exe(3) 顺序,选择,循环***************End of Chapter 1*******************第二章C程序设计的初步知识**************************************************一、选择题(1) B (2) D (3) B (4) A (5) C(6) A (7) B (8) B (9) A (10) C(11)B (12)B (13)A二、填空题(14)11,12(15) 4.2,4.2(16) { ,} 说明,执行(17) 关键字,用户标识符(18) int ,float ,double(19) float a1=1,a2=1 ;(20) 存储单元(21) 3.5(22) a*b/c a/c*b a*(b/c)(23) 10赋给变量s(24) 位,0或1(25) 8 ,255 ,11111111,0,00000000(26) 32767 ,-32768 ,10000000 00000000(27)十,八,十六三、上机改错题——————————————————————————————————————(28) 请指出以下C程序的错误所在#include stdio.h ;main( ); / * main function * /float r, s; /* /*r is radius*/,/*s is area of circular*/*/r = 5.0 ;s=3.14159 * r * r ;printf("%f\n",s);※正确应为:#include 或#include"stdio.h"main( ) /* main function */{float r,s; /*r is radius, s is area of circular*/r = 5.0 ;s = 3.14159 * r * r ;printf("%f\n",s);} ——————————————————————————————————————(29) 请指出以下C程序的错误所在#include stdio.hmain /* main function */{float a,b,c,v; /*a,b,c are sides, v is volume of cube*/a = 2.0 ;b = 3.0 ;c = 4.0v = a * b * c;printf("%f\n",v);}※正确应为:#include"stdio.h"main( ) /* main function */{float a,b,c,v; /*a,b,c are sides, v is volume of cube*/a = 2.0 ;b = 3.0 ;c = 4.0;v = a * b * c;printf("%f\n",v);}***************End of Chapter 2*******************第三章顺序结构**************************************************一、选择题(1) C (2) C (3) D (4) C (5) D(6) B (7) C (8) D (9) A (10)B(11)C (12)D (13)D (14)A (15)C(16)C (17)C (18)均不对,应为scanf( “%6f”,&c) (18) C (20) B二、填空题(21) ①-200,2500 ②i=-200, j=2500 ③i = -200 , j = 2500(22) 12 ,0 ,0(23) 语句块,{ ;}(24) ;(25) 100<空格>25.81<空格>1.89234 /*可用一个或几个空格作为输入时的间隔符*/ 10025.811.89234 /*Tab(制表符)也可以作为输入时的间隔符*/10025.811.89234 /*CR(回车符)也可以作为输入时的间隔符*/(26) x = 127,x =ццц127,x=ццц177, x=цццц7f, x=ццц127。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7printf(n%d\nn,a[0]);
8}
A)第2行有错误B)第6行有错误
C)第7行有错误D)没有错误
参考答案:D
8.下面程序有错误的行是(行前数字表示行号)。
1main()
2{
3int a[3]={l};
4int i;
5scanf(,*%d',,&a);
6for(i=l ;i<3;i++) a[O]=a[O]+a[i];
A)a[10]B)a[3,5]C)a(5)D)a[10-10]
参考答氨D
3.以下能对二维数组a进行正确初始化的语句是o
A)int a[2][戶{{1,0,1},{5,2,3}};
B)inta[][3]={{l,2,3},{4,5,6}};
C)inta[2][4]={{l,2,3},{4,5},{6}};
25.有已排好序的字符串a,下面的程序是将字符串s中的每个字符按升序的规律 插入到a中。请选择填空。
#include<stdio.h>
main()
{char a[20]=!'cehiknqtwn;
char s[]=nfblaH;
int i,k,j;
fdr(k=0;s[k]!=,\0,;k++)
(j=0;
printf(,,%2d,,,a[i][j]);
printff'n”);
参考答案:C
14. 下面程序的运行结果是
#include<stdio.h> main() {int a[6],i;for(i=l;i<6;i++) {a[i]=9*(i・2+4*(i>3))%5; printf(,,%2d,,,a[i]);
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)因为二维数组a中第二维大小的值除初值个数的商为0,故数组a的行数 为1
D)只有元素a[0][0]和a[0][l]可得到初值0,其余元素均得不到初值0参考答案:D
6.若有说明:static int a[3][4J;则数组中各元素。
A)可在程序的运行阶段得到初值0
while(s[k]>=a[j]&&a[j]!=*\0*)j++;
for([ 1 ])【2】;
sU]=s[k];
}
puts(a);
}
【1】A)i=strlen(a)+k;i>^j;i-B)i=strlen(a);i>^j ;i-・
C)i^j;i<=strlen(a)+k;i++D)i=j;i<=strlen(a);汁+
main()
{chars[80],cl,c2=‘:
int i=0,num=0;
gets(s);
while(s[i]!='\0‘)
{cl=s[ij;
) num++;
i++; c2=cl;
printf(HThere are %d words.\n役num);
}
A)cl==* '&&c2='' B)cl !=' &&c2==‘'
参考答案:B
33.以下正确的函数定义形式是o
D)对数组a进行选择排序(降序)
参考答案:B
13•下面程序的运行结果是o
#include<stdio.h>
main()
{int a[6][6],ij;
for(i=l;i<6;i++)
for(j=l;j<6;j++)
a[i]UHi/j)*0/i);
for(i=l;i<6;i++)
{for(j=l;j<6;j++)
12.以下程序段的作用是。
int a[]={4,0,2,3,l},i,j,t;
for (i=l;i<5;i++)
{t=a[i];j=i-l;
while (j>=0&&t>a[j])
{a[j+l]=a|j];j-
a[j+lFt;
}
A)对数组a进行插入排序(升序)
B)对数组a进行插入排序(降序)
C)对数组a进行选择排序(升序)
A)输出ChinaB)输出Chi C)输出ChD)编译出错
参考答案:D
20.下面程序段的运行结果是。
char c[]=,,\t\v\\\0will\nn;
printf(H%dn,strlen(c));
A)3B)6C)9D)14
参考答案:A
21.判断字符串a和b是否相等,应当使用o
A)if(a=b) B)if(a=b) C)if(strcmp(a,b)) D)if(strcmp(a,b)==O)参考答案:D
参考答案:D
1&下面程序段的运行结果是O
char a[7]=,,abcdef,,b[4]=,,ABCu;
strcpy(a,b);
printf(K%cM,a[4]);
A).B)\0 C)e D)ef
参考答案:C
19.有下面程序段,上机运行,将。
char a[3],b[]=HChinaH;
a=b;
printf(M%s'\a);
【2】A)a[i]=a[i+1]B)a[i+1 ]=a[i]
C)a[i]=a[i-1]D)a[i-l]=a[i]
参考答案:【1】B [2] B
参考分析:向有序数据中插入数据关键在于两点,一是查找插入位置查找插
入位置注意两个问题,插入的数据与有序数组中数据的大小关系和注意防止向右 越界。再一个是有序数组元素后移时自后向前。
27.下面程序的功能是将字符串s中所有的字符C删除。
#include”stdio.h"
main()
{char s[80];
int ij;
gets(s);
for (i=j=O;s[i]!=,\O,;i++)
if(s[i]!=V);
s[j]='\O:
puts(s);}
A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[i];j卄D)sUJ=s[i]
22.判断字符串si是否大于字符串s2,应当使用o
A)if (sl>s2) B) if (strcmp(sl,s2)
C)if(strcmp(s2,s 1 )>0)D)if(strcmp(s 1 ,s2)>0)
参考答案:D
23•下面描述正确的是o
A)两个字符串包含的字符个数相同时,才能比较字符串
B)字符个数多的字符串比字符个数少的字符串大
7printf(na[O]=%d\nn,a[O]);
8}
A)3B)6C)7D)5
参考答案:D
9.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]
位于数组的第一个位置上)O
A)i*m+j B)j*m+i C)i*m+j・l D)i*m+j+l参考答案:D
10.若有说明:inta[][3]={l,2,3,4,5,6,7};则a数组第一维的大小是。
k++;
} c[k]-\O;if(【3】)p=b+j; else p=a+i; strcat(c,p); puts(c);
[1] [2]
B) c[k]=b[j];i++
D)c[kFb[j];j++
B)a[i]!=,\O,C)a[i-l]=,\O,
[2] D [3] A
参考分析:归并排序的要点是将两个数组a和b的下标逐次后移,存放的是那个 数组的元素,就移动那个数组的下标,而目标数组c则每次循环都要移动,当a, b数组其中一个到达结束标志后,再将没到达结束标志的数组中剩余的数据全部 写到目的数组中。
A)2B)3C)4 D)无法确定
参考答案:B
11.定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,&9};则下面语句的输出结果 是O
for(k=0;k<3;k++) printf(u%dH,a[k][2-k]);
A)3 5 7B)3 6 9C)1 5 9D)1 4 7
参考答案:A
A)提高程序的执行效率B)提高程序的可读性
C)减少程序的篇幅D)减少程序文件所占内存
参考答案:B
32.以下正确的说法是o
A)用户若需要调用标准库函数,调用前必须重新定义
B)用户可以重新定义标准库函数,若如此,该函数将失去原有意义
C)用户系统根本不允许用户重新定义标准库函数
D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包 括到用户源文件中,系统自动寻找该文件。
参考答案:C
15.下面是对s的初始化,其中不正确的是o
A)char s[5]={”abc”};B)char s[5]={,a,;b7c,};
C)char s[5]=,,n;D)char s[5]=,,abcdeu;
参考答案:D
16.有两个字符数组a、b,则以下正确的输入语句是o
A)gets(a,b);B)scanf(,,%s%s'\a,b);
C
一、选择题
1.以下对一维数组a的正确说明是o
A)int n; scanf(”%d”,&n); int a[n]; B)int n=10,a[n];
相关文档
最新文档