武汉轻工大学 期末C语言题库21

合集下载

大学C语言期末考试试题(含答案)

大学C语言期末考试试题(含答案)

第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。

但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。

如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。

*1.2以下叙述正确的是 C 。

A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。

因此,如果注释中存在错误,系统是不可能发现的。

另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。

1.3以下叙述不正确的是 D 。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。

C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。

1.4 C语言规定:在一个源程序中,main函数的位置 C 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。

A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

c语言大期末考试题库及详解答案

c语言大期末考试题库及详解答案

c语言大期末考试题库及详解答案1. 选择题(1) 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A(2) 以下哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:A2. 填空题(1) 在C语言中,用于定义一个函数的关键字是____。

答案:void(2) 当使用指针变量时,用于获取指针所指向的值的运算符是____。

答案:*3. 简答题(1) 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指向数组首元素的指针使用。

数组的每个元素可以通过指针偏移量来访问。

(2) 解释C语言中的预处理指令#include的作用。

答案: #include预处理指令用于在编译前将指定的文件包含到当前文件中,通常用于包含标准库或自定义的头文件。

4. 编程题(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 even 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;}}```5. 论述题(1) 论述C语言中指针的重要性及其应用场景。

大学生期末c语言试题及答案

大学生期末c语言试题及答案

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的元素类型必须一致C. 数组的下标可以是实数D. 数组的下标可以是负数答案:B3. C语言中,用于文件操作的库函数位于哪个头文件中?A. stdio.hB. math.hC. string.hD. stdlib.h答案:A4. 下列哪个运算符不能用于赋值?A. =B. +=C. *=D. %答案:D5. C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:B6. 下列关于指针的描述中,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. C语言中,用于定义一个宏的预处理指令是:A. #defineB. #includeC. #pragmaD. #if答案:A8. 下列关于循环的描述中,正确的是:A. for循环可以没有初始化表达式B. while循环可以嵌套C. do-while循环至少执行一次D. 所有循环都可以使用break语句退出答案:C9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列关于函数的描述中,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数可以嵌套定义答案:D二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是______。

答案:652. 若int a = 10; int b = 20; 则表达式a++ + b的结果是______。

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。

以下是一些典型的试题及其答案,供同学们复习参考。

1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了C语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。

(2021年整理)C语言程序设计期末考试试题(含答案)

(2021年整理)C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言程序设计期末考试试题(含答案)(推荐完整))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言程序设计期末考试试题(含答案)(推荐完整)的全部内容。

C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 C语言程序设计期末考试试题(含答案)(推荐完整)这篇文档能够给您的工作和学习带来便利。

同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈C语言程序设计期末考试试题(含答案)(推荐完整)> 这篇文档的全部内容。

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 ( )A、 C语言简洁、紧凑B、能够编制出功能复杂的程序C、 C语言可以直接对硬件进行操作D、 C语言移植性好2、以下不正确的C语言标识符是()A、 ABCB、 abcC、 a_bcD、 ab.c3、一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性"等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为 ( )A、 intB、 floatC、 doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(〈CR〉表示回车),x的值是 ( )。

大学c语言期末考试题及答案

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的执行方式是编译执行C. C语言支持面向对象编程D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后不能改变答案:D4. 在C语言中,用于文件操作的库函数是:A. printfC. fopenD. getchar答案:C5. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以被赋值为NULLD. 指针可以存储函数的地址答案:D6. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:B7. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环可以和break语句一起使用C. do-while循环至少执行一次D. 循环体内不能使用continue语句答案:D8. 在C语言中,用于定义一个宏的预处理命令是:B. #includeC. #pragmaD. #import答案:A9. 下列关于函数的描述中,错误的是:A. 函数可以有返回值B. 函数可以没有参数C. 函数可以没有返回值D. 函数可以没有定义答案:D10. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与运算的运算符是____。

答案:&&3. 当需要在C语言中表示一个常量时,可以使用关键字____。

武汉轻工大学高级语言程序设计C++(专升本)期末考试复习题

武汉轻工大学高级语言程序设计C++(专升本)期末考试复习题

武汉轻工大学继续教育学习平台高级语言程序设计C++(专升本)期末考试课程名称:高级语言程序设计C++(专升本)1.(单选题)( )是程序设计的灵魂。

(本题2.5分)A. 人B.算法C. 公式D. 方程答案:B.解析:无.2.(单选题)cout是某个类的标准对象的引用,该类是 ( )(本题2.5分)A.ostreamB.istreamC.stdoutD.stdin答案:A.解析:无.3.(单选题)下列关于C++函数的说明中,正确的是 ( )(本题2.5分)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.调用一个函数之前,如果还没有定义这个函数,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式答案:C.解析:无.4.(单选题)一个友元函数能够访问该类的()。

(本题2.5分)A.私有成员B.保护成员C.公有成员D.所有成员答案:D.解析:无.5.(单选题)存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的? ( )(本题2.5分)A.x=*pa;B.x=*(a+1);C.x=*(pa+1);D.x=a[1];答案:A.解析:无.6.(单选题)派生类中的成员不能直接访问基类中的哪一种成员 ( )(本题2.5分)A.publicB.privateC.virtualD.protected答案:B.解析:无.7.(单选题)下列是重载加法运算符的函数原型声明,其中错误的是 ( )(本题2.5分)A.MyClass operator+(double,double);B.MyClass operator+(double,MyClass);C.MyClass operator+(MyClass,double);D.MyClass operator+(MyClass,MyClass);答案:A.解析:无.8.(单选题)下列哪个是c++语言的有效标识符 ( )(本题2.5分)A.N01B.No.1C.12345D.int答案:A.解析:无.9.(单选题)假定MyCIass为一个类,那么下列的函数说明中哪一个为该类的无参构造函数 ( )(本题2.5分)A.void MyClass();B.~MyClass(int n);C.MyClass( );D.~MyClass( );答案:C.解析:无.10.(单选题)如果在类MyClass的外面使用函数调用MyClass::f();则函数f()是类MyClass的 ( )(本题2.5分)A.静态成员函数B.非静态成员函数C.友元函数D.前面都不正确答案:A.解析:无.11.(单选题)下面程序错误的语句是( ) ①#include<iostream> ②using namespace std; ③void main( ) ④{ ⑤int *p=new int[1]; ⑥ p=9;⑦cout << *p <<endl; ⑧ delete[] p; }(本题2.5分)A.⑤B.⑥C.⑦D.⑧答案:B.解析:无.12.(单选题)下列说法正确的是 ( )(本题2.5分)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义答案:B.解析:无.13.(单选题)在下面的类定义中,错误的语句是 ( ) classsample{ public: sample(in tval); //① ~sample( ); //② private:inta=2.5; //③ public:sample( ); //④ };(本题2.5分)A.①B.②C.③D.④答案:C.解析:无.14.(单选题)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是 ( )(本题2.5分)A.公有类型B.私有类型C.保护类型D.友元类型答案:D.解析:无.15.(单选题)下列C++标识符中,正确的是 ( )(本题2.5分)A.doubleB.abc**C._doubleD.2c答案:C.解析:无.16.(单选题)C++表达式6>3 && 5<15的值是 ( )(本题2.5分)A.falseB.非法表达式C.不确定D.true答案:D.解析:无.17.(单选题)用C++语言编制的源程序要变为目标程序必须要经过 ( )(本题2.5分)A.编辑B.编译C.汇编D.解释答案:B.解析:无.18.(单选题)关于群体数据——栈的特性下列描述中正确的是 ( )(本题2.5分)A.栈是非线性群体B.栈中的数据先进后出C.栈中的数据先进先出D.栈中的数据后进后出答案:B.解析:无.19.(单选题)以下对结构类型变量的定义中不正确的是()。

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

若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。

A2.0执行下面程序中的输出语句后,输出的值是:( ),main(){int a=5; printf("%d\n",(a=3*5,a*4,a+5));}A 20以下不正确的if语句形式是()。

B if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);执行下面程序段后,s的值是()。

int s=5;C 10下面程序段运行的结果是( ).x=-1;A XUN HUAN ZHI XING YI CI下面程序是从键盘输入4位正整数,输入0或负数时结束循环.A处填写内容是( )。

.#include "stdio.h"B NUM>0程序main( ){char s[10]; s="abcd";printf("%s\n",s);}的运行结果(以下U代表空格)是( ).C 编译不通过函数的形式参数系统默认存储类型说明是()。

D auto若file1中包含file2,file2中要用到file3,若file2中不用 #include "file3.h",则在file1.c中应进行如下定义( ).D #include“file3.h”和#include“file2.h若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

C p=nY OR N1.for循环的三个表达式中间用逗号相分隔. N2.在C程序中,逗号运算符的优先级最低 Y3.设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0. N4. for循环的三个表达式都可以省略. Y5. do-while循环的while后的分号不可以省略. Y6. 若定义 int array[5] , *p; 则赋值语句 p=array;是正确的. Y7. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5. N8. 用一个#include命令可以同时指定数个被包含文件. N9. 下列的语句是正确的:int **p; Y10. 两个类型相同的结构体变量,可以互相赋值.Y填空1.已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=___9__,n=___10__。

2.当a=1,b=2,c=3时,执行以下程序段后b=__2___. if (a>c) b=a; a=c; c=b;3.以下程序的输出结果为___10__,#include "stdio.h"void main(){int a;for(a=0;a<10;a++);printf("%d",a);}4.复制字符串的库函数是__strcpy___,只写函数名即可.5.将file_point定义为文件指针的语句为__FILE *file_point; ___,写出应包含的头文件语句__#include <stdio.h> ___。

设计【程序设计】--------------------------------------------------功能:从键盘输入一个大于3的整数,调用函数fun判断其是否为素数,然后在main函数中输出相应的结论信息。

例如:素数是仅能被1和自身整除的数。

7是素数,8不是素数。

请编写fun函数。

-------------------------------------------------*/#include "stdio.h"int fun(int n){/*********Begin**********//********** End **********/}void TestFunc(){FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen("5.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed"); }OUT=fopen("5.out","w");if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed"); }for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}main(){int m,flag;printf("input an integer:");scanf("%d",&m);flag=fun(m);if(flag)printf("%d is a prime.\n",m);elseprintf("%d is not a prime.\n",m);TestFunc();}【参考代码】int i, j;j= 1;for(i=2;i<n;i++){if(n%i==0) j= 0;}return j;===============【程序改错】-------------------------------------------------------- 功能:找出大于m的最小素数,并将其作为函数值返回。

------------------------------------------------------*/ #include "math.h"#include "stdio.h"int fun( int m){int i,k;for(i=m+1;;i++){/**********ERROR**********/for(k=1;k<i;k++)/**********ERROR**********/if(i%k!=0) break;/**********ERROR**********/if(k<i)/**********ERROR**********/return k;}}main(){int n;scanf("%d",&n);printf("%d\n",fun(n));}【参考答案】【改错1】for(k=2;k<i;k++)for(k=2;i>k;k++)for(k=2;k<=i-1;k++)for(k=2;k<i/2;k++)for(k=2;i/2>k;k++)for(k=2;k<=sqrt(i);k++)for(k=2;sqrt(i)>=k;k++)============================================================【改错2】错误【参考答案】if(i%k==0) break;if(!(i%k)) break;/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。

--------------------------------------------------------- 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!-------------------------------------------------------*/ #include "stdio.h"void strcopy(char *str1,char *str2,int m){char *p1,*p2;/***********FILL***********/_____;p2=str2;while(*p1)/***********FILL***********/_____;/***********FILL***********/_____;}main(){int i,m;char str1[80],str2[80];gets(str1);scanf("%d",&m);/***********FILL***********/_____;puts(str1);puts(str2);}【空 1 】错误【学生答案】_____;【参考答案】p1=str1+m============================================================【空 2 】错误【学生答案】_____;【参考答案】*p2++=*p1++*(p2++)=*(p1++)*p2=*p1,p2++,p1++*p2=*p1++,p2++*p2++=*p1,p1++============================================================【空 3 】错误【学生答案】_____;【参考答案】*p2='\0'*p2=0*p2=NULL============================================================【空 4 】错误【学生答案】_____;【参考答案】strcopy(str1,str2,m)。

相关文档
最新文档