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、C 语言中最简单的数据类型包括( B )。

A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。

A 、%B 、/C 、%和/D 、*3、为表示关系x <y <z ,应使用C 语言表达式( A )。

A 、(x <y)&&(y <z)B 、(x <y)AND (y <z)C 、(x <y <z)D 、(x <y) &(y <z)4、C 语言程序的基本单位是( C )。

A 、程序行B 、语句C 、函数D 、字符5、C 语言的程序一行写不下时,可以( D )。

A 、用逗号换行B 、用分号换行C 、用回车符换行D 、在任意一空格处换行6、下述标识符中,( C )是合法的用户标识符。

A 、A&B B 、voidC 、_studentD 、ab* 7、在C 语言中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B)。

A 、autoB 、externC 、staticD 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句B 、在switch 语句中,可以根据需要使用或不使用break 语句C 、break 语句只能用于switch 语句中D 、break 语句是switch 语句的一部分10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。

A 、地址传递B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由用户指定传递方式11、下述C 语言转义符中( D )是非法的。

A 、'\b'B 、'\037'C 、'\0xf 'D 、'\''12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是(D )。

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语言基础期末考试题及答案

c语言基础期末考试题及答案

c语言基础期末考试题及答案C语言基础期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的字符常量?A. 'A'B. "A"C. 123D. A答案:A2. 下列哪个选项是C语言中的关键字?A. intB. IntegerC. StringD. float答案:A3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. int arr = 10;D. int arr(10);答案:A4. 在C语言中,哪个运算符用于计算两个数的乘方?A. *B.C. /D. %答案:B5. 以下哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. log()D. abs()答案:A7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while答案:C8. 在C语言中,以下哪个是正确的函数定义?A. int function(int x) { return x * x; }B. int function(int x) { return sqrt(x); }C. void function(int x) { return x; }D. int function(int x) { return x / 0; }答案:A9. 在C语言中,哪个关键字用于定义指针类型?A. intB. charC. floatD. *答案:D10. 下列哪个选项是C语言中的数组初始化方式?A. int arr[] = {1, 2, 3};B. int arr = {1, 2, 3};C. int arr[3] = {1, 2, 3};D. int arr[3] = 1, 2, 3;答案:A二、填空题(每空2分,共20分)1. 在C语言中,____ 是最基本的数据单位。

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

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

c语言期末考试题及答案陕师大一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个选项不是合法的变量名?A. _firstB. 2ndC. first_nameD. name$答案:B3. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以有多个返回类型D. 函数可以有默认参数答案:C4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 在C语言中,以下哪个选项不是指针类型?A. int *B. char *C. float *D. int答案:D6. C语言中,以下哪个选项不是标准库函数?A. printfB. scanfC. strcpyD. strcat答案:D7. 在C语言中,以下哪个选项不是合法的数组声明?A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int arr = {1, 2, 3};答案:D8. C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "Hello, World!"D. "Hello\nWorld"答案:B9. 在C语言中,以下哪个选项不是合法的注释?A. // This is a single line commentB. /* This is a multi-line comment */C. /* This is a multi-line commentD. /* This is a multi-line comment */答案:C10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. constantD. include答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个枚举类型的关键字是____。

c语言期末考试题库完整

c语言期末考试题库完整

习题一一、选择题1.C语言是一种(C )。

A. 低级语言B. 汇编语言C. 高级语言D. 机器语言2.以下不是C语言的特点的是( D )。

A.语言简洁紧凑B.可以直接对硬件进行操作C.数据类型丰富D.是面向对象的程序设计语言3.一个C程序的执行是从( A )。

A. 本程序的main函数开始,到main函数结束B. 本函数的第一个数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。

A. 在C程序中,main函数必须位于程序的最前面B.C程序的每行只能写一条语句C. C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后7.一个C语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。

A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. C语句必须以分号结束D. C语言必须在一行写完9.以下叙述中正确的是( C )。

A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。

A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. C语言规定必须用main作为主函数名,程序从此开始执行,在此结束D. main可作为用户标识符,用以命名任意一个函数作为主函数11.下列叙述中正确的是( A )。

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

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

期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2nd_variableB. _variableC. variable-nameD. variable$name答案:C3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. intD. void答案:C6. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B7. 下列哪个选项是C语言中的循环结构?A. ifB. forC. switchD. case答案:B8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个关键字用于定义一个指针?A. *B. &C. %D. #答案:A10. 下列哪个选项是C语言中的数组?A. int a[10];B. int *a;C. int a=10;D. int a;答案:A二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个字符常量的数据类型是______。

答案:char2. 在C语言中,用于定义一个整型变量的数据类型是______。

答案:int3. 在C语言中,用于定义一个浮点型变量的数据类型是______。

答案:float4. 在C语言中,用于定义一个双精度浮点型变量的数据类型是______。

答案:double5. 在C语言中,用于定义一个布尔型变量的数据类型是______。

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

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

1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

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

一、单项选择题。

(每题1分,共20分)1. C程序的基本单位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023. 不是C语言实型常量的是:()A.55.0B.0.0C.55.5D.55e2.54 .字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()A.2.0B.2.25C.2.1D.1.5 D.1.5D.1.5 D.1.56. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.G,3C.G,2D.D,g7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()A.a=2.2,b=3B.a=2.2 b=3C.2.23 D.2.2,38.表示关系12<=x<=y的C语言表达式为:()A.(12<=x)&(x<=y)B. (12<=x)&&(x<=y)C. (12<=x)|(x<=y)D.(12<=x)||(x<=y)9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为:()A.1B.3C.2D.410. 若有说明和语句:int a=5,b=6;b*=a+1;则b的值为:()A.5B.6C.31D.3611. 设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:()A.4B.6C.5D.113. 对于for(s=2;;s++)可以理解为:()A. for(s=2;0 ;s++)B. for(s=2;1 ;s++)C. for(s=2;s<2 ;s++)D. for(s=2;s>2;s++)14. 若有char h=`a`,g=`f`;int a[6]={1,2,3,4,5,6};则数值为4的表达式为:()A.a[g-h]B.a[4]C.a[`d`-`h`]D.a[`h`-`c`]15. 设:char s[10]={“october”};则printf(“%d\n”,strlen(s));输出是:()A.7B.8C.10D.1116. 若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:()A.8B.5C.3D.1517. 设int a=5,b,*p=&a,则使b不等于5的语句为: ()A.b=*&aB.b=*aC.b=*pD.b=a18. 若有int a[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是: ()A.*pB.*aC.a[7]D.a[p-a]19. 若有int b[4]={0,1,2,3},*p则数值不为3的表达式是: ()A.p=s+2,*(p++)B.p=s+3,*p++C. p=s+2,*( ++p)D.s[3]20.设有如下定义:struct jan{int a;float b;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:()A.(*p).c2.aB.(*p).aC.p->c2.aD. p.c2.a二、填空题。

(每空1分,共15分)1.C语言标识符由 _________、__________和___________来构造。

2.在C语言中,字符串常量是用一串字符。

3.若有说明和语句:int a=25,b=60;b=++a;则b的值是。

4.若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为。

5.若有int a[5],*p=a;则p+2表示第个元素的地址。

6.若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是、。

7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c 的值是。

8.C程序设计的三种基本结构是 ________、________和________。

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

10.C语言中文件是指。

三、将下列程序补充完整。

(每空2.5分,共30分)1.输入三角形的三条边a,b,c,求三角形的面积。

#include “math.h”#include “stdio.h”main( ){float a,b,c,d,t,s;printf(“请输入三角形的三条边:”);scanf(“%f,%f,%f”,&a,&b,&c);if (1)printf(“%f%f%f不能构成三角形!”, a,b,c);else {t=(a+b+c)/2;s= (2)printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”, a,b,c,s);}}(1)(2)2.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内被3整除的数的个数。

#include “stdio.h”main(){int n1,n2,j,n=0;printf(“\n请输入两个数:”);scanf ( (3) );if(n1>n2){ (4) }for(j=n1;j<=n2,j++)if (5) n++;printf(“a=%5d,b=%5d,n=%5d\n”n1,n2,n);}(3)(4)(5)3.输入两个整数,n1,n2(要求n1<n2),统计两整数范围内的素数的个数。

#include “math.h”#include “stdio.h”int prime (int x){int k;for (6)if (x%k==0) return(0);return(1)}main(){int a,b,j,n=0;printf(“\n请输入两个数:”);scanf(“%d,%d”,&a,&b);if(a>b){ (7) }for(j=a;j<=b,j++)if( (8) ) n++;printf(“a=%4d,b=%4d,n=%4d\n”a,b,n);}(6)(7)(8)4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。

#include “stdio.h”main( ){int x,n,k,k1=0,k2=0,k3=0;printf(“input n=:”);(9)for(k=0;k<n;k++){scanf(“%d”,&x);if (x<0)k1++;(10);else k3++;printf(“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3)}}(9)(10)5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.]#include “stdio.h”main( ){char ch;do{ch=getchar();if ( (11) )break;else if( (12) )putchar(ch);}while(1);}(11)(12)四、按格式写出程序运行结果。

每题4分,共16分。

1.格式化输出函数]main(){ int a=1,c=65,d=97;printf(“a10=%d,a8=%o,a16=%x\n”,a,a,a);printf(“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c);d++;printf(“d10=%d,dc=%c\n”d,d);}输出结果:2. 循环结构main(){ int y=9,k=1;for(;y>0;y--){if(y%3==0){printf(“%4d”--y);continue;}k++;}printf(“\nk=%4d,y=%4d\n”,k,y);}输出结果:3.数组#include “stdio.h”main( ){int k,j;in ta[]={3,-5,18,27,37,23,69,82,52,-15};for(k=0,j=k;k<10;k++)if(a[k]>a[j])j=k;printf(“m=%d,j=%d\n”,a[j],j);}输出结果为:4.字符输出main( ){char *p,s[]=“ABCD”;for ( p=s;p<s+4;p++)printf(“%s\n”,p);}输出结果:五、按题目要求写出可运行程序:(19分)1.求元素个数为10的一维数组元素中的最大值和最小值。

2.将矩阵 9 7 5 倒置为 9 3 43 1 27 1 64 6 85 2 83.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数。

编写程序如下:一、单项选择题:1.D2.B3.D4.B5.B6.B7.A 8.B 9.B 10.C11.A 12.C 13.B 14.C 15.A 16.D 17.B18.C 19.A 20.B二、填空题:1.字母、数字和下划线2.双引号 3.26 4.5 5.三(3) 6.1,207.1 8.顺序结构、选择结构、循环结构 9.类型不同10.存储在外部介质上的相关数据集合。

三、将下列程序补充完整。

1.(1)((a+b<c)||(b+c<a)||(a+c<b))(2)sqrt(t*(t-a)*(t-b)*(t-c))2.(3)”%d%d”,&n1,&n2 (4) j=n1;n1=n2;n2=j;(5)j%3==03.(6)(k=2;k<=sqrt(x);k++) (7) j=a;a=b;b=j;(8)prime(j)4.(9)scanf(“%s”,&n)(10)else if (x==0)5.(11)ch==`Q`||==`q`(12)ch>=`A`&&ch<=`Z`||ch>=`a`&&ch<=`z `四、按格式写出程序运行结果。

1.a10=1,a8=1,a16=1c10=65,c8=101,c16=41,cc=Ad10=98,dc=b2.8 5 2k=4 y=03.m=82,j=74.ABCDBCDCDD五、按题目要求写出可运行程序。

相关文档
最新文档