C语言期末考试试卷附参考答案

合集下载

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

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

c语言期末考试题及其答案一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。

A过程B函数C子程序D标识符2.下列程序的输出结果是()。

main(){inta=7,b=5;printf(\}A5B1C0D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>ba++:b++,a+b)的值是()。

A7B8C9D24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=(int)125.521%4;a=5<<2;A125,31,1B125,1,20C125,31, 20D125.534,2,205.设有如下程序段,下面描述中正确的是()。

intk=10;while(k=0)k=k-1;A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为()。

inti;voidprt(){for(i=5;i<8;i++)printf(\printf(\}main(){for(i=5;i<=8;i++)prt();}A某某某B某某某某某某某某某某某某C某某某某某某D某某某7.在C语言程序中,以下说法正确的是()。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));A2B3C5D语法错误9.以下程序的输出结果为()。

#defineADD(某)某某某main(){inta=4,b=6,c=7,d=ADD(a+b)某c;printf(\}Ad=70Bd=80Cd=140Dd=70010.已知职工记录描述如下,在TurboC中,系统为变量w分配()字节的空间。

tructworker{intno;charname[20];chare某;union{intday;intmonth;intyear;}birth;}w;A29B20C25D611.设有以下定义,值为5的枚举常量是()。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

C语言期末考试一试卷附参照答案序列中 10 个数的次序为:,若使用次序比较法,经过三轮排序后,这10 个数的次序为:。

3. 调用字符串办理函数时,应在程序的开头增添预编译命令:#include<>,puts( )函数将一个以结束的字符序列(字符串)输出到终端4.C 语言中,函数分为系统供给的和用户自定义函数两类,也可分为有参函数和两类。

5.函数的递归调用指在调用一个函数的过程中又。

6.函数值只好经过语句返回主调函数。

四、程序改错(求出两个非零正整数的最大条约数在右侧写出正确内容, 5× 2)#include<stdio.h>int fun(int a, b ){ int r,t;if(a<b) {t=a;b=a;a=t;}r=a%b;while(r!=0){a=b;b=r;r=a/b;}return a;}五、阅读程序写出运转结果(4×5)1.# include<stdio.h>int main( ){ void fun(int x);fun(8);printf("\n");}void fun(int x){if(x/2>0) fun(x/2);printf("%d",x);}运转结果为:3. #include <stdio.h># include<math.h>int main( ){ int i,j,n=0;for(i=― 5;i<=5;i++){ if(i%2!=0) n++;for(j=1;j<=abs(i);j++) printf( “ “);,并作为函数值返回。

在错误下边划横线,void main( ){ int n1,n2,a;printf( “please input n1,n2:\n ”);scanf( “%d%d”,&n1,&n2); a=fun(n1,n2);printf("最大条约数是: %d\n",a);}2.# include <stdio.h>void main ( ){ char s1[ ]=” This book ”;char s2[ ]= ” THIS hook ”;int i;for (i=0;s1[i]!= 0’ &&s2[i]!= 0’i++);if(s1[i]!=s2[i]) printf( “ %c” ,s1[i]);}运转结果为:4.#include <stdio.h>int main( ){int i,j,x;int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++){x=a[i];j=i-1;while(j>=0&&x<a[j])六、程序填空题(结果按次号填在下方对应横线上, 10× 2 分)1、编程实现将十进制整数 n 变换成十六进制 2、编写判断能否为素数的函数,在主函数 数输出。

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语言期末考试题及其答案------------------------------------------作者------------------------------------------日期语言期末考试题及其答案一选择题( 分,每小题 分)语言源程序的基本单位是()。

✌过程 函数 子程序 标识符下列程序的输出结果是()。

❍♋♓⏹☎ ✆♓⏹♦ ♋♌ ☐❒♓⏹♦♐☎✂♎⏹✂♌♌♋✆❝✌      不确定值假设变量♋♌均为整型,表达式☎♋♌♋♌✍♋♌♋♌✆的值是()。

✌       设♋为♓⏹♦型变量,执行下列赋值语句后,♋的取值分别是()。

♋ ♋☎♓⏹♦✆ ♋✌        设有如下程序段,下面描述中正确的是()。

♓⏹♦  ♦♒♓●♏☎✆ ✌ 循环执行一次 循环是无限循环 循环体语句一次也不执行循环体语句执行一次以下程序的输出结果为()。

♓⏹♦ ♓❖☐♓♎ ☐❒♦☎ ✆♐☐❒☎♓♓♓✆☐❒♓⏹♦♐☎✂♍✂✉✆☐❒♓⏹♦♐☎✂♦✂✆ ❝❍♋♓⏹☎ ✆♐☐❒☎♓♓♓✆ ❒♓⏹♦♐☎ ✆ ❝✌ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉  ✉✉✉ ✉✉✉  ✉✉ ✉ 在 语言程序中,以下说法正确的是()。

✌函数的定义可以嵌套 但函数的调用不可以嵌套函数的定义不可以嵌套 但函数的调用可以嵌套函数的定义和函数的调用都不可以嵌套函数的定义和函数的调用都可以嵌套以下函数调用语句中含有()个实参。

♐◆⏹♍☎☎♏♏✆☎♏♏♏✆✆✌     语法错误以下程序的输出结果为()。

(完整版)C语言期末考试题(含答案)

(完整版)C语言期末考试题(含答案)

(完整版)C语⾔期末考试题(含答案)《C 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。

B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令。

C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。

D )C 语⾔中的函数不可以单独进⾏编译。

2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执⾏后的输出结果是()A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#includevoid main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执⾏后的输出结果是()A )⾃然数1~9的累加和B )⾃然数1~10的累加和C)⾃然数1~9中奇数之和D)⾃然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调⽤语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。

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

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

c语言期末考试题及答案详一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. defineB. declareC. definetypeD. type答案:B2. 下列哪个是C语言中的合法标识符?A. 123abcB. intC. _123abcD. if答案:C3. 在C语言中,哪个运算符用于计算两个整数的平均值?A. /B. %C. +D. /答案:D4. 下列哪个是C语言中正确的字符串定义?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. string str = "Hello, World!";D. str "Hello, World!";答案:A5. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. square()C. root()D. power()答案:A6. 下列哪个语句用于在C语言中交换两个变量的值?A. swap(a, b);B. exchange(a, b);C. a = b; b = a;D. a, b = a + b;答案:C7. 在C语言中,哪个关键字用于声明一个函数?A. functionB. defC. funcD. void答案:D8. 下列哪个是C语言中正确的数组初始化方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3, 4};D. int arr = {1, 2, 3, 4, 5};答案:B9. 在C语言中,哪个语句用于结束程序的执行?A. break;B. end;C. exit();D. stop;答案:C10. 下列哪个是C语言中正确的条件语句?A. if (x > 0) { ... }B. condition (x > 0) { ... }C. if (x > 0) then { ... }D. if (x > 0) { ... } else { ... }答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用________关键字来定义一个结构体。

大学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语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

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

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

c语言期末考试试题及答案一、选择题1. C语言中用于表示逻辑“与”操作的关键字是()。

A. &&B. ||C. &D. and答案:A2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。

A. 15B. 17C. 20D. 25答案:D3. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. strrev()答案:A4. C语言中,文件的打开模式“w”表示什么?A. 写入模式,文件不存在则创建,存在则覆盖B. 写入模式,文件不存在则创建,存在则追加内容C. 读取模式,文件不存在则创建,存在则覆盖D. 读取模式,文件不存在则报错,存在则读取内容答案:A5. 以下哪个选项是C语言中的合法整型常量?A. 0x1FB. 01FC. 1.0e2D. 0b11答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则执行语句 x += x; 后,变量x的值是________。

答案:203. 在C语言中,使用函数________可以将一个字符串复制到另一个字符串中。

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

答案:main三、判断题1. C语言中的数组下标是从0开始计数的。

()答案:正确2. 在C语言中,可以定义一个空指针,其值为0。

()答案:正确3. C语言允许在函数定义中再定义另一个函数。

()答案:错误四、简答题1. 请简述C语言中的指针和引用的主要区别。

答案:指针是一个变量,其存储的是另一个变量的地址;而引用是另一个变量的别名,它必须在定义时就被初始化,并且不能被重新指向其他变量。

指针可以直接被修改以指向不同的地址,而引用则始终指向初次定义时的变量。

2. 解释C语言中的预处理器指令#if、#else和#endif的作用。

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

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

c语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。

2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。

3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。

4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。

5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。

6. 以下哪个是C语言的位运算符?A. &&B. ||C. &D. All of the above答案:C解析:&是C语言的位运算符之一,用于按位与操作。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。

A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。

A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

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

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

c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。

A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。

A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。

A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。

A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。

A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。

答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。

答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。

答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。

答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。

()答案:正确2. 在C语言中,所有的函数都有返回值。

()答案:错误3. 指针变量的地址可以通过使用&运算符获得。

()答案:正确4. 在C语言中,long int和int类型的大小是相同的。

()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。

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

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

C语言期末考试试卷共7 页第 1 页一、单选题(每题2分,共30分)1.以下叙述正确的是 ______ 。

A)C程序的每行只能写一条语句 B)语言本身没有输入输出语句C)在C程序中,注释说明只能位于一条语句的后面D)在多函数的程序中,main函数必须放在其它子函数的定义之前2.以下不正确的常量表示形式是 ______ 。

A) 0。

45 B)0XF5 C)‘\85’D) 32。

67E—53. 以下不正确的变量名是 ______ 。

A)R&B B) _max C) INT D) SUM34. 以下正确的一组语句是 ________.A) int x=y=5; B) int n;scanf(”%d",&n);int a[n];C) char a,*p; p=&a; D) char s[10]; s=”hello”;5。

若以下变量均已正确定义和赋值,则正确的语句是 ________。

A) a=b==5; B) y=x%2。

0; C) x+y=10; D) n=8=2*4;6.下面各组中与给出的程序段功能不等价的是 ________。

i f(a>0) b=1;else if(a==0) b=0;else b=-1;A)if(a〉0) b=1; B)if(a〉0) b=1; C)if(a〉0) b=1; D)if(a〉=0) if(a==0) b=0; else if(a==0) b=0; if(a>0) b=1;if(a<0) b=—1; if(a<0) b=—1; else b=-1; if(a==0) b=0;else b=0; if(a〈0) b=—1;7。

运行下面程序段,若输入abc#〈CR>,则程序输出是:________.char c;int v1=0,v2=0;while((c=getchar())!=’#'){ switch(c){case ’a’:v1++;default :v1++;v2++;case ’c':v2++;}}printf(”v1=%d,v2=%d\n”,v1,v2);A)2,2 B)3,5 C) 3,4 D)2,58.对for (表达式1; ;表达式3){…}可以理解为:________。

c语言期末试题及答案

c语言期末试题及答案

c语言期末试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void2. 下列哪个不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()3. 以下哪个选项是正确的C语言数组声明方式?A. int numbers[] = {1, 2, 3};B. int numbers = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. int numbers = 1, 2, 3;4. 在C语言中,哪个运算符用于取地址?A. *B. &C. +D. -5. 下列哪个是C语言中的合法赋值语句?A. int x = y = 5;B. int x = 5, y = 5;C. int x = (y = 5);D. int x = y = 5;6. 在C语言中,哪个关键字用于定义一个指针?A. refB. ptrC. pointerD. int*7. 下列哪个不是C语言的控制语句?A. ifB. switchC. whileD. loop8. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncat()D. strncpy()9. 下列哪个是C语言中正确的递归函数调用?A. void func() { func(); }B. void func() { if (condition) func(); }C. void func() { func(1); }D. void func(int x) { if (x > 0) func(x - 1); }10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:1-5: DCBDA 6-10: DABCA二、简答题(每题5分,共20分)1. 简述C语言中指针和引用的区别。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

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

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

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

A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的数据类型答案:B2. 在C语言中,用于定义一个整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. C语言中,用于输入输出的库函数是()。

A. <stdio.h>B. <math.h>C. <stdlib.h>D. <string.h>答案:A4. 下列选项中,不属于C语言运算符的是()。

A. %C. :D. <答案:C5. 在C语言中,用于定义一个字符数组的关键字是()。

A. intB. floatC. charD. double答案:C6. 下列关于C语言函数的描述中,正确的是()。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是数组D. 函数的返回值类型必须是int答案:B7. 在C语言中,用于定义一个浮点型变量的关键字是()。

A. intB. floatC. charD. double答案:B8. C语言中,用于定义一个字符串常量的关键字是()。

B. stringC. strD. text答案:A9. 下列关于C语言指针的描述中,错误的是()。

A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B10. 在C语言中,用于定义一个布尔型变量的关键字是()。

A. boolB. intC. charD. float答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字来定义一个静态变量。

答案:static2. C语言中,使用____关键字来定义一个全局变量。

答案:extern3. 在C语言中,____运算符用于取地址。

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

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

c语言期末考试题及详细答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言中的函数?A. classB. functionC. voidD. int答案:D2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B4. C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <=答案:B5. 在C语言中,哪个函数用于计算两个整数的乘积?A. powB. sqrtC. absD. multiply答案:D(注意:multiply不是C语言标准库函数,这里假设为题目中的自定义函数)6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. +=答案:A7. C语言中,哪个关键字用于循环结构?A. ifB. forC. whileD. switch答案:B8. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. getsD. puts答案:D9. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. 以上都是答案:D10. C语言中,用于定义一个浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

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

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

答案:_Bool(或int,取决于编译器)4. 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 语言中,字符型数据在内存中以( B )形式存放。

A 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。

A 、autoB 、externC 、staticD 、Register9、以下关于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 )。

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

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

A.0B.不定C. 6D. 710.以下叙述中不正确的是( )。

A.字符数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能通过“=”对字符型数组进行整体赋值11.已知char d[ ]={”543210”};,则数组d的长度是( )。

A.5B.6C. 7D. 812.已知char s3[ ]=”China”;,则下列程序段的输出结果是()。

printf(“%d”,sizeof(s3));A.5B. 6C. 7D.813.已知char s1[10],s2[ ]={”China”};则在程序中能将字符串” China”赋给数组s1的是()。

A.s1={“China”};B.strcpy(s1,s2);C. s1=s2;D. strcpy(s2,s1);14.将字符串中大写字母换成小写字母的函数是( )。

A.strlwrB. struprC.stringD.strlen15.下列( )排序方法中,执行一轮比较后,只交换一次数据。

A. 起泡法B. 顺序比较法C. 选择法D. 插入法16.在C语言程序中,有关函数的定义正确的是()。

A.函数定义不可以嵌套,但函数调用可以嵌套B.函数定义可以嵌套,但函数调用不可以嵌套C.函数定义和函数调用均不可以嵌套D.函数定义和函数调用均可以嵌套17.以下错误的说法是()。

A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式C.实参可以为任何类型D.形参应与其对应的实参类型一致18.以下错误的描述是:函数调用可以()。

A.出现在执行语句中B.出现在一个表达式中C.作为一个函数调用的实参D.作为一个函数的形参19. 函数调用时,若形参和实参都是变量名,则正确的说法是( )。

A. 形参不分配内存B. 形参分配内存C. 形参和实参占用相同的内存D. 实参不分配内存20.以下函数值的类型是( )。

fun(float x){ float y; y=3*x-4;return y;}A. intB. floatC. voidD. 不确定二、判断题(正确的打√,错误的打×,10×1)1.一个循环体内又包含另一个完整的循环结构称为循环的嵌套。

()2.break语句能提前终止循环。

()3.二维数组可被看作一种特殊的一维数组:它的元素又是一个一维数组。

()4. 对9个元素使用冒泡法排序时,需要排9轮,第一轮需要比较9次。

()5. strcat(字符数组1, 字符数组2)的作用是将字符数组2接到字符数组1后面。

()6. strcmp(“Beijing”,”Korea”)的函数值是一个正整数。

()7.C语言中,数组元素的下标是从1开始的,下标不能越界。

()8.函数的形参在函数未调用时预分配了存储空间。

()9.如函数值的类型和return语句中表达式的值不一致,则以函数类型为准。

()10.调用函数时,实参是数组元素,则实现的是“值传递”。

()三、填空题(10×2)1.定义二维数组的一般形式为:,引用一维数组元素的形式为:。

2.有一序列:21,-5,8,11,9,0,34,4,-17,6从小到大排序,用冒泡法经过二轮排序后,序列中10个数的顺序为:,若使用顺序比较法,经过三轮排序后,这10个数的顺序为:。

3.调用字符串处理函数时,应在程序的开头添加预编译命令:#include< >,puts( )函数将一个以结束的字符序列(字符串)输出到终端4.C 语言中,函数分为系统提供的 和用户自定义函数两类,也可分为有参函数和 两类。

5.函数的递归调用指在调用一个函数的过程中又 。

6.函数值只能通过 语句返回主调函数。

四、程序改错(求出两个非零正整数的最大公约数,并作为函数值返回。

在错误下面划横线,在右边写出正确内容,5×2)五、阅读程序写出运行结果 (4×5)六、程序填空题(结果按序号填在下方对应横线上,10×2分) # include<stdio.h> int fun(int a, b ) { int r,t;if(a<b) {t=a;b=a;a=t;} r=a%b; while(r!=0){a=b;b=r;r=a/b;}return a; } }3. #include <stdio.h># include<math.h>int main( ){ int i,j,n=0;for(i=―5;i<=5;i++){ if(i%2!=0) n++;for(j=1;j<=abs(i);j++) printf(“ “);for(j=1;j<=11-abs(i)*2;j++)printf(“%c“,64+n);printf("\n"); }}运行结果为:void main( ) { int n1,n2,a;printf(“please input n1,n2:\n”); scanf(“%d%d”, &n1,&n2); a=fun(n1,n2);printf("最大公约数是:%d\n",a); }1. # include<stdio.h> int main( ){ void fun(int x); fun(8);printf("\n"); } void fun(int x){if(x/2>0) fun(x/2); printf("%d",x); }运行结果为: 2. # include <stdio.h> void main ( ){ char s1[ ]=”This book”; char s2[ ]=”THIS hook”; int i;for (i=0;s1[i]!=’\0’&&s2[i]!=’\0’;i++) if(s1[i]!=s2[i]) printf(“%c”,s1[i]); }运行结果为:4. #include <stdio.h> int main( ) {int i,j,x; int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++) {x=a[i];j=i-1; while(j>=0&&x<a[j]) {a[j+1]=a[j];j ――;} a[j+1]=x;} printf("排序后为:\n");for(i=0;i<=9;i++) printf(“%5d”,a[i]);}运行结果为: 1、编程实现将十进制整数n 转换成十六进制数输出。

#include<__①___ > int main(){ int n,a[20],i=0,m=0;2、编写判断是否为素数的函数,在主函数中输入一整数,输出是否为素数。

#include<stdio.h> int psushu(___⑥____) {int i;①______________________________ ⑥______________________________②______________________________ ⑦______________________________③______________________________ ⑧______________________________④______________________________ ⑨______________________________⑤______________________________ ⑩______________________________ 附:参考答案三、填空题1.类型说明数组名[常量表达式][常量表达式] 数组名[下标]2. -5,8,9,0,11,4,-17,6,21,34-17,-5,0,21,11,9,34,8,4,63. string.h \04. 库函数无参函数5.直接或间接地调用该函数本身6. return五、阅读程序写出运行结果1.12482.hisb3.AAAABBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDEEEEEEEEF4. -2 0 3 5 9 12 14 26 38 97六、程序填空题①__stdio.h_____________________ ⑥____int m_____________________②__”%d”______________________ ⑦___i<m 或i<=m+1____________③__n/16_______________________ ⑧___1_________________________④__i>=0_______________________ ⑨__&a______________________⑤___%c_______________________ ⑩___s 或s==1________________。

相关文档
最新文档