湖南工业大学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语言下期末考试题库及详解答案一、单选题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:A2. 在C语言中,以下哪个是正确的字符串声明方式?A. char str[];B. char str[10];C. string str;D. str char;答案:B3. 下列哪个运算符用于计算两个整数的差?A. %B. /C. -D. ^答案:C4. C语言中,用于定义一个结构体的关键字是什么?A. structB. classC. unionD. type答案:A5. 在C语言中,以下哪个是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array(5) = {1, 2, 3, 4, 5};D. int array = {1, 2, 3, 4, 5};答案:A6. C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strlength()C. length()D. strsize()答案:A7. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A8. 下列哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A9. C语言中,用于声明一个全局变量的关键字是什么?A. globalB. externC. staticD. local答案:B10. 在C语言中,以下哪个是正确的枚举声明?A. enum color {red, green, blue};B. enum {red, green, blue} color;C. enum color red, green, blue;D. enum {red, green, blue};答案:A二、填空题(每题2分,共10分)1. 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. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。

答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。

答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。

最新湖南工业大学C语言考试题目.doc

最新湖南工业大学C语言考试题目.doc

湖南工业大学C语言题目1、#include <conio.h> 改错#include <stdio.h>int arrmax( int arr[3][3]){ int i,j,max;max=arr[0][0];/************found************/for ( i=0; i<3; i++) 此处将1改为0,并且去掉等号for ( j=0; j<3; j++)if (max < arr[i][j]){max = arr[i][j];}return (max);}void main(){ int a[3][3]={4,4,34,7,3,12,5,6,5},i,j;/************found************/printf("The max is: %d\n",arrmax(a)); 将arrmax(a[0][0])改为arrmax(a)2、#define M 10#include<stdio.h>void main( ){ int i,a[100],t;//clrscr();for(i=0;i<M;i++)/**************found************/a[i]=i+1;/**************found************/for(i=0;i<M/2;i++)a[M-i-1]=a[i];for(i=0;i<M;i++)printf("%5d",a[i]);printf("\n");}3、#include <conio.h> 编辑#include <stdio.h>int fun(int m){/***********begin***********/int a1,a2,a3,s;a1=m/100;a2=m%100/10;a3=m%10;s=a1+a2+a3;return(s);/************end************/}void main(){ int m,s;//clrscr();printf("Enter m :\n");scanf("%d",&m);s=fun(m);printf("Result is: %d\n",s);4、#include <conio.h> 改错#include <stdio.h>main(){ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;clrscr();s = 0;/************found************/for ( i=0; i<10; i++) 去掉等号if (a[i] % 2 == 0)/************found************/s = s + a[i]; 将i改为a[i] printf("The result is: %d\n", s);5、#include <stdio.h> 填空#include <conio.h>void main( ){int num,k;//clrscr() ;/************found************/k=0; 给k赋值printf("Please enter a number:") ;scanf("%d",&num) ;do{/************found************/k=k+num%10 ; num%10可求出num的各位 num/=10;} while(num) ;printf("\n%d\n",k) ;}6、#include <conio.h> 改错#include <stdlib.h>#include <math.h>void main(){ int i,j,x,p;//clrscr();x=1;/************found************/j=12;while(j>1) 去掉等号{ p=(x+1)*2;/************found************/x=p;j--;}printf("total is %d\n",p);7、#include "stdio.h" 改错void main(){ long int f[20]={1,1};int i;//clrscr();/**************found************/f[0]=1;f[1]=1; 赋初值for(i=0;i<20;i++){f[i+2]=f[i]+f[i+1]; 保证前面两个数要输出,所以要这样改/**************found************/if(i%5==0) printf("\n"); i%5==0保证一行5个数输出printf("%8ld",f[i]);}printf("\n");}8、#include <stdio.h> 编辑#include <math.h>#include <stdlib.h>double fun(double x){/***********begin***********/int q;double n,t,s;n=1;s=0;t=1;q=1;while(fabs(t)>=x){s=s+t;n=n+2;q=-q;t=q/n;}return s;/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum)NONO( );}9、#include <conio.h> 改错#include <stdio.h>int max;fun ( int arr[],int n ){ int pos,i;max = arr[0];pos = 0;for ( i=1; i<n; i++)if (max <arr[i]){max = arr[i];/************found************/pos= i;}return (pos);}void main(){int a[10]={1,4,2,7,3,12,5,34,5,9},n;//clrscr();/************found************/n = fun(a,10);printf("The max is: %d ,pos is: %d\n", max , n); }#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=6,n=45,t,i,temp;/***********begin***********/temp=n*m;while(m!=0){i=n%m;n=m;m=i;t=temp/n; 注:此时最大公约数是n,要通过此程序会求最大公约数} 最小公倍数等于两个数的乘积除以它们的最大公约数 /************end************/printf("The Lowest Common Multiple of %d and %d is %d\n",m,n,t); NONO(m,n,t);}11、#include <math.h> 填空#include <conio.h>#include <stdio.h>main(){int m,n,i,t;long int s=0;//clrscr();scanf("%d,%d",&m,&n);if( m>n ){ t=m; m=n; n=t;}/************found************/for (i=m;i<=n;i++)if ( i%3==0 && i%7==0 )s += i;/************found************/printf("Sum is : %ld\n",s );}void main(){ long s, t, sl=1;int d;//clrscr();printf("\nPlease enter s:"); scanf("%ld", &s);t = 0;while ( s > 0){ d = s%10;/************found************/if (d%2==0) 判断余数{ t=d * sl + t;sl *= 10;}/************found************/s =s/10; 遇到奇数退出寻环后的处理 }printf("The result is: %ld\n", t);}13、#include "stdio.h" 填空#include "string.h"void main(){ char s[10]; int i;long int n;//clrscr();/**************found************/n=0; 赋初值scanf("%s",s);for(i=0;i<strlen(s);i++)/**************found************/n=n*10+s[i]-'0'; 将字符串转换成整数的方法printf("n=%ld\n",n);}14、#include "stdio.h" 编辑#include "math.h"#include "stdlib.h"double fun(int n){/***********begin***********/ double y=1.0;int i;for(i=2;i<=n;i++)y+=1.0/(i*i);return (y)/************end************/ }void main(){ double s;int n;//clrscr();printf("Enter s:\n");scanf("%d",&n);s=fun(n);printf("s= %.3f\n",s);NONO( );}15、一样的….16、#include "stdio.h" 编辑 #include "math.h"#include "stdlib.h"double fun(double x){/***********begin***********/ 跟第8题一样这个…我也不知道了/***********end***********/}void main(){double x,sum;printf("Enter x:\n");scanf("%lf",&x);sum=fun(x);printf("sum=%.4f\n",sum);17、#include <conio.h> 编辑#include <stdio.h>int fun(int a[3][3]){/***********begin***********/int max=a[0][0];int i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(max<a[i][j]){max=a[i][j];}/************end************/}void main(){ int a[3][3]={1,2,3,4,9,5,7,8,6};int i,j,max;// clrscr();printf("array is:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%5d",a[i][j]);printf("\n");}max=fun(a);printf("Result is: %d\n",max);}18、#include <conio.h> 改错#include <stdio.h>void main(){ int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; //clrscr();max = min = a[0][0];for ( i=0; i<3; i++)/************found************/for ( j=0; j<3; j++) 将1改为0{ if ( max < a[i][j] )max = a[i][j];/************found************/if (min >a[i][j]) 小于号改为大于号 min = a[i][j];}printf("The max is: %d\n", max);printf("The min is: %d\n", min);}19、#include <conio.h> 填空#include <stdio.h>double average( int arr[ ], int n ){ int k=0,i; double s;s = 0;for ( i=0 ;i<n; i++)/************found************/if (arr[i] % 2 ==1) 是恒等号{ s = s + arr[i]; k++; }return (s/k) ;}void main(){int a[12]={10,4,2,7,3,12,5,34,5,9,21,18};double s;// clrscr();/************found************/s = average(a,12); 和第一题结果类似printf("The result is: %.2f\n", s);}20、#include "stdio.h" 编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=76,n=40,t,i;/***********begin***********/i=n*m;int r;while(n!=0){r=m%n;m=n;n=r;}t=m;/************end************/printf("The Highest Common Divisor of %d and %d is %d\n",m,n,t); NONO(m,n,t);}NONO( int m,int n,int t){ FILE *f;f=fopen("D:\\exam\\01700311\\PROGOUT.DAT","w");fprintf(f,"Maximal Common Divisor Of %d and %d is %d\n",m,n,t); fclose(f);}21、#include <math.h> 填空#include <conio.h>#include <stdio.h>long int fun(int x){long int s=1; int i;for (i=1;i<=x;i++)s*=i;/************found************/return (s);}void main(){ long int m=12,n=2,s1,s2,s3;//clrscr();s1=fun(m);s2=fun(n);s3=fun(m-n);/************found************/printf("Cmn is : %ld",s1/(s2*s3));}22、#include "stdio.h"编辑#include "math.h"#include "conio.h"#include "stdlib.h"void main(){ int m=1234,a,b,c,d;/***********begin***********/a=m%10;b=m%100/10; 这里补充的4行是求四位数各个数位的表示方法c=m%1000/100;d=m/1000;/************end************/printf("m=%d,%d %d %d %d\n",m,a,b,c,d);NONO(m,a,b,c,d);}NONO( x,a,b,c,d )int x,a,b,c,d;{ FILE *f;f=fopen("D:\\exam\\01701219\\PROGOUT.DAT","w");fprintf(f,"x=%d: %3d%3d%3d%3d####\n",x,a,b,c,d);fclose(f);}23、 #include <math.h>#include <conio.h>#include <stdio.h>void main(){ int a[10]={2,3,5,7,8,9,10,11,12,13},i,j,k,count;// clrscr();count = 0;for ( i=0; i<10; i++){k=sqrt(a[i]);for ( j=2; j<=k; j++)if (a[i] % j == 0)break;/************found************/if(j>k)count++;}/************found************/printf("prime number(s) is(are): %d",count);}24:求一维数组a中值为奇数的元素之和。

湖南工业大学C语言期末考试复习题(机房题库)

湖南工业大学C语言期末考试复习题(机房题库)

C语言期末考试复习题(机房题库)2、下列各选项中,合法的c语言关键字是( )。

A. integexB. sinC. stringD. void参考答案: D3、C语言的程序一行写不下时,应该( )。

A. 用回车符换行B. 在任意一个空格处换行C. 用分号换行D. 用逗号换行答案: B4、以下选项中正确的整型常量是( )。

A. 34.1B. -80C. 2,000D. 1 2 3参考答案: B5、在C程序中,可以作为用户标识符的一组标识符是( )。

A. void define WORDB. as_b3 _224 ElseC. switch _wel easeD. 4b DO SIG答案: B8、以下叙述不正确的是( )A. 一个c源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main()函数C. c程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面答案: D9、C语言规定:在一个源程序中,main()函数的位置( )A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后参考答案: C10、在C语言中,数字029是一个()A. 八进制数B. 十六进制数C. 十进制数D. 非法数参考答案: D12、C语言可执行程序的开始执行点是( )A. 程序中的一条可执行语句B. 程序中第一个函数C. 程序中的main函数D. 包含文件中的第一个函数参考答案: C13、C程序是( )A. 顺序执行B. 从Main函数开始C. 从函数体开始D. 任意语句参考答案: B16、以下说法中正确的是( )。

A. C语言程序中是从第一定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C17、一个C程序的执行是从( )A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A18、以下叙述正确的是( )A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行中只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C1、C源程序的基本单位是___函数__2、一个C源程序中至少应包括一个_________答案: main函数3、在一个C源程序中,注释部分两侧的分界符分别为________和_______参考答案: /*,*/4、函数体用_______开始,用______结束。

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语言下期末考试题库及详解答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A3. C语言中,以下哪个选项不是文件操作的模式?A. "r"B. "w"C. "a"D. "b"答案:D4. 下列哪个运算符用于执行按位与操作?A. &&B. ||C. &D. |答案:C5. 在C语言中,下面哪个选项表示无符号整型?A. intB. longC. unsigned intD. float答案:C6. 下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B7. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:B8. 下列哪个选项不是C语言中的循环结构?A. forB. whileC. do-whileD. switch答案:D9. 在C语言中,以下哪个选项用于声明一个指针?A. int *p;B. int p[];C. int p[5];D. int (*p)[5];答案:A10. 下列哪个选项是正确的C语言注释?A. // this is a commentB. /* this is a comment */C. //* this is a commentD. /* this is a comment */答案:B二、填空题(每题3分,共15分)1. C语言中,______关键字用于定义一个宏。

答案:#define2. 在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语言题库

C语言考试模拟题1一、程序修改题(30分)在考生文件夹下,给定程序MODI.C的功能是:输入一个百分制成绩,打印出五级记分成绩。

考试成绩在90分或90分以上为优秀,80~89分为良好,70~79为中等,60~69为及格,低于60分为不及格。

请修改并运行该程序,然后将源程序文件MODI.C提交。

程序中有两处错误,错误都在提示行:/***********found***********/的下面一行,请考生注意。

请改正程序中的错误,使它能得出正确的结果。

注意:程序中的其它地方请考生不要随意改动,不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <conio.h>#include <stdlib.h>#include <math.h>void main(){ int score,t;printf("Please enter a score:");doscanf("%d",&score);while(score<0||score>100);t=score/10; /*************found**************/ switch(score) ----switch(t){ case 10:case 9:printf("优秀!\n");break;case 8:printf("良好!\n");break;case 7:printf("中等!\n");break;case 6:printf("及格!\n");break;/*************found**************/ else :printf("不及格!\n");:}}switch(score) ----switch(t)else :printf("不及格!\n")----defalut: printf("不及格!\n")二、程序填空题(30分)在考生文件夹下,给定程序FILL.C的功能是:打印出1至1000中满足其个位数字的立方等于其本身的所有整数。

(完整版)大学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)。

期末c语言考试题及答案

期末c语言考试题及答案

期末c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是()。

A. C语言是一种面向对象的编程语言B. C语言是一种面向过程的编程语言C. C语言是一种脚本语言D. C语言是一种汇编语言答案:B2. 在C语言中,用于定义常量的关键字是()。

A. varB. constC. staticD. final答案:B3. 下列哪个选项不是C语言中的基本数据类型()。

A. intB. floatC. charD. string答案:D4. 在C语言中,用于实现循环结构的关键字是()。

A. loopB. forC. whileD. repeat5. 下列关于数组的描述,错误的是()。

A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时可以改变D. 数组可以存储不同类型的数据答案:D6. 下列关于函数的描述,正确的是()。

A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 函数可以有多个返回值答案:C7. 在C语言中,用于定义指针的关键字是()。

A. refB. ptrC. *D. @答案:C8. 下列关于结构体的描述,正确的是()。

A. 结构体是一种用户自定义的数据类型B. 结构体不能包含其他结构体C. 结构体不能包含函数D. 结构体不能包含数组答案:A9. 在C语言中,用于定义枚举类型的关键字是()。

B. enumtypeC. enumstructD. enumlist答案:A10. 下列关于文件操作的描述,错误的是()。

A. 文件操作需要使用文件指针B. 文件操作前需要打开文件C. 文件操作后需要关闭文件D. 文件操作只能在程序内部进行答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。

答案:int variable_name;2. 用于声明一个字符变量的关键字是:________。

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

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

c语言期末考试题及答案解析C语言期末考试题及答案解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D2. C语言中,以下哪个选项是正确的字符串定义?A. char str[10] = "Hello";B. char str[10] = {"Hello"};C. char str[] = "Hello";D. char str = "Hello";答案:C3. 在C语言中,以下哪个语句可以正确地交换两个整数变量a和b的值?A. a = b;B. b = a;C. a = a + b;D. a = a + b; b = a - b; a = a - b;答案:D4. 以下哪个函数不能用于数组元素的初始化?A. memsetB. memcpyC. strcpyD. memmove答案:C5. 在C语言中,以下哪个选项表示一个浮点型常量?A. 3.14B. 0.314e-2C. 314D. 0x3FF答案:B6. C语言中,以下哪个关键字用于定义函数?A. intB. floatC. voidD. return答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int a;C. int function(int a);D. int function(int);答案:C8. 以下哪个选项是C语言中的递归函数?A. void recursive(int n) {}B. void recursive() { recursive(); }C. void recursive(int n) { if (n > 0) recursive(n - 1); }D. void recursive(int n) { recursive(n + 1); }答案:C9. 在C语言中,以下哪个选项是正确的结构体定义?A. struct Person { int age; char name[50]; };B. struct { int age; char name[50]; } Person;C. Person struct { int age; char name[50]; };D. struct Person int age; char name[50];答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. *int ptr;C. int * ptr;D. ptr int *;答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________运算符可以获取变量的内存地址。

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

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

c语言期末考试题库及详解答案1. 以下哪个选项是C语言中正确的整型常量?A. 0x123B. 0123C. 0.123D. 123.0答案:A解析:在C语言中,整型常量可以是十进制、八进制或十六进制。

选项A表示十六进制数,选项B表示八进制数,选项C是浮点数,选项D 是浮点数。

2. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. voidD. function答案:C解析:在C语言中,关键字void用于声明没有返回值的函数。

选项A 和B用于声明返回整型和浮点型值的函数,选项D不是C语言的关键字。

3. 以下哪个选项是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World'"D. 'Hello World'答案:A解析:在C语言中,字符串字面量是由双引号括起来的字符序列。

选项B和D使用了单引号,它们表示单个字符。

选项C的引号没有正确闭合。

4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A解析:在C语言中,百分号(%)是取模运算符,用于计算两个整数相除的余数。

选项B是除法运算符,选项C是乘法运算符,选项D是减法运算符。

5. 以下哪个选项是C语言中正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int [5] array = {1, 2, 3, 4, 5};C. int array[] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2, 3};答案:C解析:在C语言中,数组的声明可以省略数组的大小,编译器会根据初始化列表的长度自动计算数组的大小。

选项A和B的声明方式不正确,选项D没有为数组的所有元素提供初始化值。

6. C语言中,以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,没有内置的sum函数。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

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

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

大学c语言期末考试题库及答案汇总一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A3. 在C语言中,以下哪个运算符用于表示逻辑与?A. &&B. ||C. !D. &&答案:A4. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. switchD. goto答案:D5. 在C语言中,以下哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. printf()答案:B6. C语言中,以下哪个选项是正确的字符常量表示?A. 'ab'B. "ab"C. 'ab'D. "ab"答案:C7. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[3] = {1, 2, 3, 4};D. int arr = {1, 2, 3};答案:A8. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. 3.14.159C. 3.14eD. 3.14e1答案:D9. 在C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A10. C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function;C. int function int;D. int function(int, int);答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)

2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)

2022年湖南工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。

5、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process(float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。

请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。

(1)float arr_add(float*arr,int n)计算数组元素值之和。

(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。

(3)float arr_ave(float*p,int n)计算各元素的平均值。

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

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

C 语言期末考试复习题(机房题库)2、 下列各选项中,合法的c 语言关键字是()。

A. integex B. sin C. string D. void 参考答案:D3、 C 语言的程序一行写不下时,应该()。

A. 用回车符换行 B.在任意一个空格处换行号换行 答案:B4、 以下选项中正确的整型常量是()。

A. 34. 1 B. -80 C. 2,000 D. 1 2 3参考答案:B5、 在C 程序中,可以作为用户标识符的一组标识符是 ()。

A. void define WORDB. as_b3 _224 Else 答案:B &以下叙述不正确的是()A.一个c 源程序可由一个或多个函数组成 ma in ()函数C. c 程序的基本组成单位是函数D.在C 程序中,注释说明只能位于一条语句的后面 答案:D9、 C 语言规定:在一个源程序中,main()函数的位置() A. 必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意D.必须在最后参考答案:C10、 在C 语言中,数字029是一个() A.八进制数B.十六进制数C.十进制数D.非法数 参考答案:D12、 C 语言可执行程序的开始执行点是() A.程序中的一条可执行语句B.程序中第一个函数C.程序中的main 函数D.包含文件中的第一个函数 参考答案:C13、 C 程序是() A.顺序执行B.从Main 函数开始C.从函数体开始D.任意语句参考答案:B16、以下说法中正确的是()。

A. C 语言程序中是从第一定义的函数开始执行B.在C 语言程序中,要调用的函数必须在 mai n()函数中定义C. C 语言程序总是从main()函数开始执行D. C 语言程序中的ma in ()函数必须放在程序的开始部分 参考答案:C17、 一个C 程序的执行是从() A. 本程序的main 函数开始,到main 函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main 函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main 函数结束参考答案:A18、 以下叙述正确的是() A.在C 程序中,main 函数必须位于程序的最前面B. C 程序的每行中只能写一条语句C.用分号换行D.用逗C. switch _wel easeD. 4b DO SIG B. 一个C 源程序必须包含一个C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:C1、C源程序的基本单位是函数2、 一个C 源程序中至少应包括一个 __________ 案:main 函数3、 在一个C 源程序中,注释部分两侧的分界符分别为 ________ 和案:/*,*/4、 函数体用 ______ 始,用 _______ •吉束。

参考答案:{ , } 6 C 语言中的标识符只能由3种字符组成,它们是 __________ 、 ___ 参考答案:字母数字下划线 7、 设a,b 和c 都是int 型变量,且a=3,b=4,c=5则下面表达式的值为0的是 ___________ . A. 'a'&&'b' B. a<=b C. a||b+c&&b -c D. !((a < b)&&!c||1) 参考答案:D10、判断字符型变量x 是否是大写字母的正确的表达式 _________ . A.'A'v=xv='Z'B. (x>=A)&&(xv=Z)C. ('A'<=x)&&('Z'=>x)D.(x>='A')&&(xv='Z')答案:D1、 已知char ch 则判断ch 是英文字符的逻辑表达式是参考答案:(ch<='z'&&ch>='a')||(ch<='Z'&&ch>='A') 2、 表示条件:10 < x < 100或x < 0的C 语言表达式是_参考答案:(X>10&&XV100 || X<03、 写出下面各个逻辑表达式的值,设 a=3,b=4, c=5 1) ! (x=a)&&(y=b)&&0 2) a||b+c&&b -c 3)!(a>b)&&!c||1参考答案:0,1,14、 当a=3,b=2,c=1时,表达式f=a > b > c 的值是 _____________ 参考答案:0 6设y 是int 型变量,请写出判断y 为奇数的关系表达 _______________ . 参考答案:(丫%2)==18、 表示“整数x 的绝对值大于5”时值为“真”的C 语言表达式是一一。

参考答案:x>5||x< -59、 已知 A=7.5, B=2, C=3.6,表达式 A>B & & C>A||A<B& & !C>B 的值是——。

参考答案:0 1、 以下选项中属于C 语言的数据类型是 A.复数型 B.逻辑型 C.双精度型 D.集合型 参考答案:C 2、 在C 语言中,不正确的int 类型的常数是 A. 32768 B. 0 C. 037 D. 0xAF 参考答案:A 4、在C 语言中,合法的长整型常数是 A. OL B. 4962710 C. 324562& D. 216D 参考答案:A 7、以下所列的C 语言常量中,错误的是A. 0xFFB. 1.2e0.5C. 2LD. '\72' 9、下列变量名合法的是() A. #1 B. $567 C. a-b D. m_number14、 C 语言提供的合法的数据类型关键字是 A. Double B. short C. in tegerD. Char参考答案:B15、 在C 语言中(以16位PC 机为例),5种基本数据类型的存储空间长度的排列 顺序参考答参考答案:B 参考答案:D为A. char < int < long int < =float < doubleB. char =int < long in t<=float < doubleC. char < int < long in t=float=doubleD. char =int=long int<=float < double 参考答案:A16、 下列四组选项中,均不是 C 语言关键字的选项是A. defi ne IF typeB. getc char printfC. in clude sea nf caseD. while go pow 17、 下面四个选项中,A. 160-0xffff 011B. -Oxcdf 01a 0xeC. -0x46a 2e5 0xD. -0x48a 2e5 0x 18、 下面四个选项中,A. +1e+1 5e9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e.4 +2e-1D. -e3 .8e-4 5.e-0 20、 下面四个选项中,A. 016 0x8f 018B. 0abc 017 0xaC. 010-0x11 0x16D. 0a12 7ff-123 21、 已知各变量的类型说明如下:int k,a,b;un sig ned long w=5; double x=1.42;则以下不符合C 语言语法的表达式是A. x%-3)B. w+=2C. k=(a=2,b=3,a+b)D. a+=a=(b=4)*(a=3) 答案:A25、设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据 的取值范围A. 0-255B. 0-32767C. 0-65535D. 0 — 2147483647 参考答案:C2、设有以下变量定义,并已赋确定的值 char w; int x; float y; double 乙则表达式:w*x+z-y 所求得的数据类型为_ :double表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为___参考答案:int 表达式 pow(2.8,sqrt(double(x)))值的数据类型为 ___ : double __________设C 语言中,一个int 型数据在内存中占2个字节,则int 型数据的取值范围 参考答案:-32768至32767参考答案:A均是合法整型常量的选项是参考答案:A均是合法的浮点数的选项是参考答案:B均是不正确的八进制数或十六进制数的选项是参考答案:D5、 6、1、算法的表示方法有_答案:自然语言,传统流程图,N-S流程图,伪代码,计算机语言1、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____________ 。

A. a < > 0B. !aC. a=0D. a!=0参考答案:D2、以下程序输出结果是mai n (){ int m=5;if (m++ > 5) printf ("%d\n",m);else printf ("%d\n",m--); }A. 7B. 6C. 5D. 4 参考答案:B4、若变量都已经说明,则以下程序段输出为()a=10;b=50;c=30;if (a > b) a=b; b=c;c=a;prin tf("a=%db=%dc=%d\n",a,b,c);A. a=10 b=50 c=10B. a=10 b=30 c=10C. a=50 b=30 c=10D. a=50 b=30 c=50 参考答案:B5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的else总是与___________ 成配对关系。

A.其上面距它最近的,并且没有其他else与其配对的if相配对B.在同一行上的ifC.缩排位置相同的ifD.在其之前未配对的if 参考答案:A8、请读程序:mai n(){ float x,y;sca nf("%f", &x);if(x < 0.0) y=0.0else if((x < 5.0)&&(x!=2.0))y=1.0/(x+2.0);else if( x < 10.0) y=1.0/x;else y=10.0;prin tf("%f\n",y); }若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是A. 0.000000B. 0.250000C. 0.500000D. 1.000000 参考答案:C9、在执行以下程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是 Dmain (){ int s,t,a,b;scanf("%d, %d",&a,&b);s=1;t=1;if(a < 0)s=s+1;if(a > b)t=s+1;else if(a= =b)t=5;else t=2*s;printf("t=%d\n",t);}A. 0 > a > bC. a=b < 0D. a < b < 010、 若有定义:float w; int a, b;则合法的switch 语句是() A. switch(w) { case1.0: prin tf("*\n"); case2.0: prin tf("**\n"); } B. switch(a); { case 1 prin tf("*\n"); case 2 prin tf("*\n"); } C. switch(b) { case 1: prin tf("*\n"); case 2: prin tf("*\n"); }D. switch(a+b); { case 1: prin tf("*\n"); default: prin tf("\n"); case 2 } 案:C 11、 判断两个字符串S1和 A. if (S1=S2) B. if (S1==S2) C. if (strcpy(S1,S2)) D. if (strc mp (S1,S2)==0) 15、 当 a=1,b=3,c=5,d=4时, if(a < b) if(c < d) x=1; else if(a < c) if(b < d) x=2; else x=3; else x=6; else x=7;A. 1B. 2C. 3D. 6参考答案:B 16、 读下列程序: #i nclude mai n() {int x ,y ;scanf(”% d ”,& x); y=0; if(x>=0) {if(x>0)y=1; } else y 二1 ; prinff(”%d ”,y); }当从键盘输入32时,程序输出结果为()。

相关文档
最新文档