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

合集下载

大学c考试题及答案

大学c考试题及答案

大学c考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. C语言中,整数除法的结果是?A. 浮点数B. 整数C. 字符串D. 随机类型答案:B4. 如果一个指针变量的值为NULL,那么它表示该指针?A. 指向一个空字符串B. 指向一个空结构体C. 没有指向任何地址D. 指向一个未定义的地址答案:C5. 在C语言中,以下哪个语句用于结束程序的执行?A. return;B. exit();C. break;D. continue;答案:B6. 下列哪个是合法的C语言变量名?A. 2thingsB. classC. _thingsD. things-are-good答案:C7. C语言中,数组的索引是从哪个数字开始的?A. -1B. 0C. 1D. 随机数答案:B8. 下列哪个不是C语言标准库函数?A. printf()B. scanf()C. sort()D. malloc()答案:C9. 在C语言中,以下哪个操作符用于按位取反?A. !B. ~C. @D. #答案:B10. 在C语言中,以下哪个是正确的一维整型数组声明?A. int array[10];B. int [10] array;C. int array=10;D. Both A and B答案:D二、填空题(每题2分,共20分)11. C语言中,用于定义一个函数的关键字是______。

答案:void 或其他数据类型(取决于函数返回类型)12. 当我们想要从标准输入读取一个字符时,使用的函数是______。

答案:getchar()13. 在C语言中,表示逻辑与的操作符是______。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

一、单项选择题1.( A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A) 程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4。

下列关于C语言的说法错误的是(B)。

A)C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写.C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5。

下列正确的标识符是(C).A.-a1 B。

a[i] C。

a2_i D。

int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“—" ,选项B中“[”与“]"不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%x B)a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line#His。

大学《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) C语言是一种面向过程的编程语言。

[√]b) C语言具有高效性和可移植性的特点。

[√]c) C语言可以直接操作硬件设备。

[√]d) C语言是一种解释型语言。

[×]2. 以下哪个选项是合法的C语言标识符:a) 3variablesb) _tempc) floatd) int-num3. 下列代码段有什么问题:```cint main(){int a;printf("%d", a);return 0;}```a) 变量a未被初始化。

[√]b) printf语句应该放在函数体内。

[√]c) 缺少头文件的引用。

[√]d) 缺少return语句。

[×]4. 关于C语言运算符的使用,以下表达式结果为真:a) (10 > 5) && (5 < 3) [×]b) (3 + 5) * 2 == 16 [×]c) 5 % 2 == 1 [√]d) 2 == 2 || 3 < 1 [√]5. 下列选项中哪个不是C语言的控制语句:a) if-elseb) forc) switch-cased) loop答案及解析:1. 正确答案:a) √, b) √, c) √, d) ×解析:C语言是一种面向过程的编程语言,能够高效操作硬件设备,并具有高效性和可移植性。

但它并非解释型语言。

2. 正确答案:b) _temp解析:C语言标识符必须以字母或下划线开头,并且只能包含字母、数字或下划线。

3. 正确答案:a) 变量a未被初始化。

解析:在使用变量之前,应为其赋初值,否则将导致未定义的行为。

4. 正确答案:c) 5 % 2 == 1, d) 2 == 2 || 3 < 1解析:表达式c中,5除以2的余数为1,因此结果为真;表达式d中,2等于2为真,或(||)运算符表示或者关系,因此结果为真。

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语言期末考试题库试题及答案在即将到来的大学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语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。

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

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

单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。

int a=10; printf("%d",a++);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。

A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。

A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A、a>=0 | a<=10B、a>=10 or a<=0C、a>=10 && a<=0D、a>=10 || a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。

A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______main(){int i=0;while(i<10){if(i<1) continue;if(i==5) break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72';则变量c()。

(完整版)大学C语言期末考试练习题(带详解答案)

(完整版)大学C语言期末考试练习题(带详解答案)

一、单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

  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)空使程序完整。

相关文档
最新文档