海南大学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程上机题附答案及附加题

1. 编写函数long fun(long x),它的功能是:将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回。

高位仍在高位,低位仍在低位。

例如:下面程序运行时输入:2,程序输出:24802.#include<>long fun(long x){long i,m,sum=0;int j=0,n;for(i=x;i>0;){m=i%10;i=i/10;if(m%2==0){j++;for(n=1;n<j;n++)m=m*10;sum+=m;}}return sum;}void main(){long a,b;printf("Enter a number:");scanf("%ld",&a);b=fun(a);printf("b=%ld\n",b);}2. 编写函数void fun(int k,int *p),功能是:将参数k(2≤k≤32767)所有的不相同质因子升序写入p所指的一维数组中,以-1作为所有质因子的结束标志。

例如:下面程序运行时若输入200,输出:2 5;若输入27720,输出:2 3 5 7 11;若输入101,输出101。

#include<>#include<>void fun(int k,int *p){int i,j,t=0;double b;for(i=2;i<=k;i++) 先判断是不是质数,在判断是不是因子。

{b=sqrt(i);for(j=2;j<=b;j++)if(i%j==0)break;if(j>b&&k%i==0){p[t]=i;t++;}p[t]=-1;}}void main(){int x,a[17]={0},i;do{ printf("Enter a number(2-32767):");scanf("%d",&x);}while(x<2);fun(x,a);for(i=0;a[i]!=-1;i++)printf("%d ",a[i]);printf("\n");}3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。

大学c语言考试题及答案

大学c语言考试题及答案

大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。

B. C语言具有跨平台的特性。

C. C语言是面向对象的编程语言。

D. C语言广泛应用于系统软件的开发。

答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. -variableD. variable$答案:B4. C语言中,用于实现顺序结构的控制语句是:A. ifC. whileD. switch答案:A5. 在C语言中,以下哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. strcat()答案:A6. C语言中,用于定义字符型变量的关键字是:A. intB. floatC. charD. double答案:C7. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C8. C语言中,用于定义浮点型变量的关键字是:B. floatC. doubleD. char答案:B9. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. voidD. struct答案:C10. C语言中,用于实现条件选择的控制语句是:A. ifB. forC. whileD. switch答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义布尔型变量的关键字是________。

答案:_Bool2. C语言中,用于定义字符串的字符数组时,最后一个元素必须是________。

答案:'\0'3. C语言中,用于实现循环结构的控制语句是________和________。

答案:for,while4. 在C语言中,________函数用于计算两个数的乘积。

大学c语言考试题及答案

大学c语言考试题及答案

大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,以下哪个是正确的数据类型?A. IntegerB. CharacterC. Both A and BD. None of the above答案:C3. 在C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-twoD. variable_two答案:B4. 以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. exp()答案:A6. C语言中,以下哪个语句用于结束程序?A. break;B. continue;C. return;D. exit();答案:D7. 在C语言中,以下哪个是正确的数组声明?A. int numbers;B. int numbers[10];C. int numbers = 10;D. int numbers[] = {1, 2, 3};答案:B8. C语言中,以下哪个是正确的函数定义?A. int function(int a, int b) { ... }B. void function(int a, int b) { ... }C. int function(int a, int b) = { ... }D. int function(int a, int b) = 0;答案:B9. 在C语言中,以下哪个是正确的条件语句?A. if (a > b)B. if a > bC. if (a > b) { ... }D. if (a > b) then { ... }答案:C10. C语言中,以下哪个是正确的循环结构?A. for (int i = 0; i < 10; i++)B. while (i < 10)C. do { ... } while (condition)D. All of the above答案:D二、简答题(每题5分,共10分)1. 简述C语言中指针的概念及其用途。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

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

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

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. IntegerB. StringC. FloatD. None of the above答案:D2. 在C语言中,定义一个整型变量的正确语法是什么?A. int var;B. var int;C. integer var;D. var integer;答案:A3. 以下哪个表达式的结果不是整数?A. 3 / 2B. 7 % 3C. 10 / 2D. 8 / 2答案:A二、填空题1. 在C语言中,用于定义数组的关键字是________。

答案:Array2. 一个C语言程序的执行从________函数开始。

答案:main3. 以下语句的输出结果是________。

```cint a = 5, b = 10;printf("%d", a + b);```答案:15三、简答题1. 简述C语言中指针的概念及其用途。

答案:指针是C语言中用来存储变量地址的变量。

它允许程序员直接访问内存地址,从而可以动态地操作内存。

指针的用途包括动态内存分配、实现数据结构如链表、数组的遍历等。

2. 解释C语言中的函数重载。

答案:C语言不支持函数重载。

在C语言中,如果两个或多个函数具有相同的名称但参数列表不同,编译器会报错。

这是与支持函数重载的语言(如C++)的主要区别。

四、编程题1. 编写一个C语言程序,实现计算并输出1到100的整数之和。

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

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

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

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

海南大学计算机网络C模拟试题及答案

海南大学计算机网络C模拟试题及答案

计算机网络C一、单项选择题(本大题共25小题,每小题1分,共25分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

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.采用同步TDM时,为了区分不同数据源的数据,发送端采取的措施是( )。

A.在数据中加上数据源标识B.在数据中加上时间标识C.各数据源使用固定时间片D.各数据源使用随机时间片8.采用曼彻斯特编码的编码效率是()。

A.50%B.60%C.80%D.100%9.EIA RS-232C是()层标准。

A.物理层B.应用层C.运输层D.数据链路层10.HDLC监控帧(S帧)控制字段的第3、4位组合中,不包括...()。

A.“00”接收就绪B.“01”拒绝C.“10”接收未就绪D.“11”应答11.PPP协议是()。

A.面向字符的B.面向位的C.面向帧的D.面向报文的12.虚电路服务是()。

A.传输层向应用层提供的服务B.传输层向网络层提供的服务C.网络层向传输层提供的服务D.网络层向应用层提供的服务13.属于动态路由选择算法的是()。

A.最短路由选择算法B.扩散法C.基于流量的路由选择算法D.链路状态路由算法14.IGMP协议工作在TCP/IP协议栈的()。

大学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语言考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 0123C. 123.0D. 1.23e3答案:A2. 以下哪个关键字用于定义C语言中的函数?A. classB. functionC. defD. void答案:D3. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. myVar_C. 2myVarD. myVar答案:C二、填空题1. C语言中,用于定义一个整型变量并赋值为10的语句是 int myInt = 10; 。

2. 若有定义 int a = 5;,则表达式 a++ 的结果是 5 ,a 的新值是 6 。

3. 在C语言中,字符串字面量以 " " 括起来。

三、简答题1. 请解释C语言中的指针是什么?指针是一种特殊的变量,它存储的是另一个变量的内存地址。

通过指针,程序可以间接访问和修改其他变量的值。

2. 描述C语言中数组和指针的关系。

在C语言中,数组名可以被看作指向数组首元素的指针。

因此,可以通过指针运算来访问数组中的元素。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有奇数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of all odd numbers within 100 is: %d\n", sum);return 0;}```2. 请编写一个函数,实现两个整数的交换。

```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```以上是大一C语言考试题库及详解答案的正文内容。

海南大学C语言试卷A

海南大学C语言试卷A

海南大学2010-2011学年度第1学期试卷科目:《C 语言程序设计》试题(A 卷)姓名: 学 号: 学院: 专业班级:阅卷教师: 2011 年 月 日考试说明:本课程为闭卷考试。

一、填空题:(每空1分,共20分)在以下各小题中画有_______处填上答案。

1、 十进制123转换成二进制数为 ,八进制为 ,十六进制为 ,-123在机内的二进制补码表示为______ 。

2、 计算机存储容量的计量单位:1GB = MB = KB = Byte 。

3、ASCII 中文含义是 ,它用 位二进制对英文字符进行编码,如果大写字符‘A ’的ASCII 是41H ,则ASCII 为50H 的字符是 。

4、 C 语言源程序文件,必须经过 生成二进制的目标文件,然后将各目标文件、系统目标库文件进行 后,才最终生成可直接运行的扩展名为.EXE 的可执行文件。

5、 把x ,y 定义成整型变量的定义语句是 。

6、 执行以下for (i=1;i++<=5)语句后,变量i 的值为 。

7、 数组是表示类型相同的数据,而结构体则是若干 数据项的集合。

8、 符号“a”和‘a’的区别___ ___。

9、 有如下输入语句:scanf (“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是______ 。

10、 所谓“指针”就是______ ,“&”运算符的作用是___ ___,“*”运算符的作用是______ 。

二、选择题(每题2分,共40分),将你选择的答1、以下说法中正确的是()。

A. C语言程序总是从main()函数开始执行B. C语言程序总是从第一个的函数开始执行C. 在C语言程序中,要调用的函数必须在main()函数中定义D. C语言程序中的main()函数必须放在程序的开始部分2、选出下列标识符中不是合法的标识符的是()。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

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

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

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中的合法标识符?A. 3aB. intC. _aD. float答案:C2. C语言中,哪个关键字用于定义一个函数?A. ifB. whileC. functionD. void答案:D3. 在C语言中,以下哪个语句可以用于输入数据?A. scanf()B. printf()C. coutD. cin答案:A二、填空题1. 在C语言中,______关键字用于声明一个变量的存储类型。

答案:static2. 一个C语言程序的执行从______函数开始。

答案:main3. 在C语言中,______运算符用于计算两个数的乘积。

答案:*三、简答题1. 简述C语言中数组的定义和初始化方式。

答案:在C语言中,数组是一种基本的数据结构,用于存储相同数据类型的多个元素。

数组的定义格式为:类型名数组名[常量表达式];其中类型名是数组元素的数据类型,数组名是数组的标识符,常量表达式是数组的元素个数。

数组的初始化可以使用花括号{}将初始值包围起来,例如:int arr[5] = {1, 2, 3, 4, 5}。

2. 描述C语言中的指针和引用的区别。

答案:C语言中的指针是一个变量,它存储了另一个变量的内存地址。

指针可以被重新赋值为其他地址,并且可以进行算术运算。

引用在C语言中不存在,但在C++中,引用是别名,它为另一个已存在的变量提供了另一个名字。

引用一旦被初始化后,不能被重新赋值为其他变量的引用,也不能进行算术运算。

四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现对一个字符串进行反转。

大学c语言考试题及答案

大学c语言考试题及答案

大学c语言考试题及答案C语言是计算机科学与技术专业学生必须掌握的一门编程语言,其考试通常包括理论知识和编程实践两个部分。

以下是一套模拟的大学C语言考试题及答案,供同学们参考。

# 大学C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库?- A. `<stdio.h>- B. `<stdlib.h>`- C. `<math.h>`- D. `<string.h>`答案:A2. C语言中,以下哪个是正确的字符串定义方式?- A. `char str[] = "Hello";`- B. `char str = "Hello";`- C. `int str = "Hello";`- D. `float str = "Hello";`答案:A3. 在C语言中,`printf`函数属于哪个库?- A. `math.h`- B. `stdio.h`- C. `stdlib.h`- D. `string.h`答案:B4. 以下哪个是C语言的关键字?- A. `function`- B. `class`- C. `int`- D. `namespace`答案:C5. C语言中,以下哪个语句用于定义一个变量?- A. `int var;`- B. `var int;`- C. `int = var;`- D. `var = int;`答案:A...(此处省略其他选择题)二、填空题(每空2分,共20分)1. 在C语言中,一个完整的程序至少包含一个______函数。

答案:main2. 用于计算两个数的乘积的运算符是______。

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

答案:array 或者不填(取决于具体要求)4. 语句 `for(int i = 0; i < 10; i++)` 循环执行的次数是______。

c语言大一考试题及答案

c语言大一考试题及答案

c语言大一考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. variable答案:A2. C语言中,用于定义一个整型变量的关键字是?A. floatB. doubleC. intD. char答案:C3. 以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C4. 在C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. >D. <答案:A5. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. $variableD. variable!答案:B6. C语言中,用于定义一个字符型变量的关键字是?A. intB. charC. floatD. double答案:B7. 在C语言中,哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getc()答案:C8. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C9. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D10. 下列哪个选项是C语言中合法的注释?A. // This is a commentB. /* This is a comment */C. <!— This is a comment —>D. # This is a comment答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并赋值为10的语句是:________。

答案:int a = 10;2. C语言中,用于计算两个数相加的函数是:________。

答案:sum()3. 在C语言中,用于输出一个整数的函数是:________。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

大学生c语言考试试题及答案

大学生c语言考试试题及答案

大学生c语言考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言支持指针操作答案:B2. C语言中,用于定义一个整型数组的关键字是:A. intB. arrayC. stringD. list答案:A3. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable!2答案:C4. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ==答案:A5. 下列哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A6. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D7. 下列哪个选项是C语言中的合法浮点数?A. 3.14e2B. 3.14EC. 3.14E+D. 3.14e答案:A8. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释 */D. /* 这是一个注释答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

答案:char2. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float3. C语言中,用于定义一个双精度浮点型变量的关键字是________。

c语言大学考试题及答案

c语言大学考试题及答案

c语言大学考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. _variableC. variable2D. variable-2答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 若有定义 int a=5, b=9;,则表达式 a++ + b-- 的值是:A. 13B. 14C. 15D. 12答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. whileC. forD. switch答案:D5. C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. !D. ^答案:A6. 在C语言中,字符'A'和'a'之间的ASCII码值相差:A. 1B. 32C. 64D. 128答案:B7. 下列哪个函数用于在C语言中计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 若有定义 int a[5] = {1, 2, 3, 4, 5};,则数组a中第一个元素的地址是:A. &a[0]B. aC. a[0]D. *a答案:B9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(x, y);D. int add(int, int);答案:A10. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. char str = {'H', 'e', 'l', 'l', 'o'};答案:A二、填空题(每题2分,共20分)1. C语言标准库中,用于输入的函数是。

海南大学C语言考试大题题库

海南大学C语言考试大题题库

/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main( ){char cx , front='\0' ;/***********SPACE***********/while ((【?】)!='\n'){if (cx!=' ') putchar(cx) ;if (cx==' ')/***********SPACE***********/if (【?】)/***********SPACE***********/putchar(【?】);front=cx ;}}/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- del函数的作用是删除有序数组a中的指定元素x,n为数组a的元素个数,函数返回删除后的数组a元素个数。

主函数调用del删除5,输出删除后的数组,请填(3)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main(){ int del (int a[10],int n,int x);int x[10]={1,2,3,4,5,6,7,8,9,10}; int i,y;/***********SPACE***********/y=【?】;for(i=0;i<y;i++)printf("%d ",x[i]);}int del (int a[10],int n,int x) { int p=0,i ;while (x>=a[p]&&p<n)/***********SPACE***********/ 【?】;for (i=p-1; i<n; i++)/***********SPACE***********/ 【?】;return (n-1) ;}/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数。

C语言练习题-陈树振

C语言练习题-陈树振

海南大学应用科技学院C语言练习题陈树振2012/3/19第1部分数据类型、运算符和表达式【1】C语言变量名的第一个字符()A. 必须为字母B. 必须为下划线C. 必须为字母或下划线D. 可以是字母、数字和下划线中的任意一种【2】请选出均可作C语言用户标识符的一组()A. int float aaaB. a_b _ab ab_C. 2ab a2b ab2D.a+b ab aa_bb【3】C语言中,要求运算量必须是整型的运算符是( )。

A. +B. /C. %D. *【4】以下说法错误的是()A.同一种符号作为运算符出现在不同场合可以有不同含义B.某些不同数据类型的数据可以出现在同一表达式中C.赋值运算符的左边和右边的变量的类型有时可以不同D.任何不同数据类型的数据都不可相互转换【6】以下选项不是C语言常量的是()A. ‘\n’B. e-2C. -256至255D. “ok”【7】执行以下程序后,c3的值是()int c1=1, c2=2, c3;c3=c1/c2;A.0B.1/2C. 0.5D.1【8】设x为int型变量,则执行以下语句后,x的值为()x=10; x+=x-=x-x;A. 10B. 20C. 40D. 30【10】下列可以正确表示字符型常量的是()A. "a"B. '\t'C. "\n"D. 65【13】已知int i; float f; 以下正确的是()A.(int f)%iB.double(f)%iC.int(f%i)D.(int)f%i【14】已知:char a; int b; float c; double d; 表达式a+b+c+d运算结果的数据类型是(C)A. intB. charC. floatD.double【16】字符串:"\\\t,\0\n" 的长度是()A. 8B.7C.6D.5【20】已知float x=3, y; 则y=++x+1的结果为()A. 5B.6C.3D.表达式语法是错误的【23】设有如下的变量定义:int i=8, a, b;double x=1.42, y=5.2;则以下符合C语言语法的表达式是( )。

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

/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main( ){char cx , front='\0' ;/***********SPACE***********/while ((【?】)!='\n'){if (cx!=' ') putchar(cx) ;if (cx==' ')/***********SPACE***********/if (【?】)/***********SPACE***********/putchar(【?】);front=cx ;}}/*-------------------------------------------------------【程序填空】---------------------------------------------------------del函数的作用是删除有序数组a中的指定元素x,n为数组a的元素个数,函数返回删除后的数组a元素个数。

主函数调用del删除5,输出删除后的数组,请填(3)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main(){ int del (int a[10],int n,int x);int x[10]={1,2,3,4,5,6,7,8,9,10};int i,y;/***********SPACE***********/y=【?】;for(i=0;i<y;i++)printf("%d ",x[i]);}int del (int a[10],int n,int x){ int p=0,i ;while (x>=a[p]&&p<n)/***********SPACE***********/【?】;for (i=p-1; i<n; i++)/***********SPACE***********/【?】;return (n-1) ;}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数。

请填(4)空使程序完整。

--------------------------------------------------------*/#include<stdio.h>void main(){ int a[10],max,min,i,j,k ;k=0;j=0;for (i=0; i<10; i++)scanf("%d",&a[i]);/***********SPACE***********/【?】=a[0];for (i=0; i<10; i++){/***********SPACE***********/if (a[i]<min) { min=a[i];【?】; }/***********SPACE***********/if (a[i]>max) { max=a[i];【?】; }}a[j]=max;/***********SPACE***********/【?】;for (i=0; i<10; i++)printf("%d ",a[i]);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序的功能是计算函数f=x/y+y/z ,请填(3)空使程序完整。

-------------------------------------------------------*/# include <stdio.h>main ( )/***********SPACE***********/{ 【?】; /*函数原型声明*/float x,y,z,f ;scanf("%f,%f,%f",&x,&y,&z);/***********SPACE***********/f = fun (【?】);/***********SPACE***********/f += fun (【?】);printf("f=%f",f);}float fun(float a,float b){return (a/b) ;}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填(2)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main ( ){ char a[40]="Great ", b[ ]="Wall";int i=0,j=0 ;while (a[i]!='\0') i++ ;/***********SPACE***********/while (【?】) {a[i]=b[j] ; i++ ; j++ ;}/***********SPACE***********/【?】;printf("%s\n",a);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序用"插入法"对数组a进行由小到大的排序,请填(3)空使程序完整。

经典算法提示:简单插入排序算法的基本思想使将数组处理n-1次,第k次处理是将第k个元素插入到目前的位置。

第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],…,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],…a[0]逐个比较(由后向前),若有a[j]<a[k],则a[k]插入到a[j]之后,否则a[k]维持原位不变。

-------------------------------------------------------*/#include<stdio.h>void main ( ){ int a[10]={191,3,6,4,11,7,25,13,89,10} ;int i,j,k ;for (i=1; i<10; i++) {k = a[i] ;/***********SPACE***********/j = 【?】;while (j>=0 && k<a[j] ) {/***********SPACE***********/【?】;j--;}/***********SPACE***********/【?】=k ;}for (i=0; i<10; i++) printf("%d ",a[i]);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------已知程序的功能是输出数组a 中的最大值,及该元素所在的行号和列号,请填(3)空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main( ){ int i,j,row=0,col=0,max;int a[4][3]={{4,5,6},{10,1,23},{2,-8,9},{9,7,18}};max=a[0][0];/***********SPACE***********/for(【?】)for(j=0;j<3;j++)/***********SPACE***********/if(【?】){/***********SPACE***********/【?】;row=i;col=j;}printf("%d,%d,%d \n",max,row,col);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3) 空使程序完整。

-------------------------------------------------------*/#include<stdio.h>void main( ){char cx , front='\0' ;/***********SPACE***********/while ((【?】)!='\n'){if (cx!=' ') putchar(cx) ;if (cx==' ')/***********SPACE***********/if (【?】)/***********SPACE***********/putchar(【?】);front=cx ;}}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填(2)空使程序完整。

相关文档
最新文档