c语言期末试题b

合集下载

2022年文华学院公共课《C语言》科目期末试卷B(有答案)

2022年文华学院公共课《C语言》科目期末试卷B(有答案)

2022年文华学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。

5、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。

(1)x=(a=4,6*2)(2)x=a=4,6*26、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。

7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}8、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。

9、下面程序段的运行结果是_______。

char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);10、定义语句int*f();int(*f)();的含义分别为_______和_______。

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语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。

要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。

C语言程序设计期末试题B及答案

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。

不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。

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

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

c语言期末试题及答案及详解一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. defineB. caseC. functionD. include答案:B2. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 若有以下代码:```cint a = 5, b = 10;a = a + b;b = a - b;a = a - b;```执行后变量a的值是:A. 5B. 10C. 15D. 0答案:B4. 下列关于指针的描述,错误的是:A. 指针可以指向一个变量B. 指针可以指向一个数组C. 指针可以指向一个函数D. 指针不可以指向一个指针答案:D5. 在C语言中,以下哪个函数用于将字符串从源字符串复制到目标字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A6. 下列哪个选项是C语言中合法的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:B7. C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. &&答案:C8. 下列关于函数的描述,正确的是:A. C语言中的函数可以没有返回值B. C语言中的函数可以返回多个值C. C语言中的函数可以重载D. C语言中的函数可以嵌套定义答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D10. 下列关于C语言中循环的描述,错误的是:A. for循环可以嵌套使用B. while循环可以和do-while循环嵌套使用C. do-while循环至少执行一次D. break语句可以跳出循环体答案:B二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

c语言程序设计期末考试试卷(B)

c语言程序设计期末考试试卷(B)
void main()
{
int x[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
*(*(x+i)+j)/=*(*(x+i)+i);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%3d",*(*(x+i)+j));
则以下叙述中正确的是C。
A、ptr是指向一维组数的指针变量
B、ptr是指向int型数据的指针变量
C、ptr是指向函数的指针,该函数返回一个int型数据
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
重庆邮电大学2006-2007学年第一学期
一、单选题(每题1分共三十分)
1、以下叙述不正确的是D。
4、设有说明;char w;int x;float y;double z;则表达式w-x+z-y值的数据
类型为D。
A、float B、char C、int D、double.
5、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是B。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
A、203 B、204 C、1a4 D、1a6
22、左移运算:int a=16,c=a<<2;变量c的值是。

c语言期末试题及答案

c语言期末试题及答案一、选择题1.下列C语言中的数据类型中,占用字节最小的是:A. intB. floatC. charD. double答案:C2.在C语言中,用于执行循环的关键字是:A. forB. whileC. doD. switch答案:A、B3.以下哪个运算符可以用于判断两个表达式的值是否相等?A. ==B. =C. !=D. >答案:A4.C语言中表示注释的符号是:A. //B. /*C. #D. --答案:B5.以下关于数组的说法正确的是:A. 数组的大小是固定的,不能改变B. 数组中的所有元素的类型必须相同C. 数组的下标从0开始D. 数组的索引可以是负数答案:B、C二、填空题1.下面哪个函数用于从标准输入读取一个字符? __________答案:getchar()2.在C语言中,变量x的地址可以用__________表示。

答案:&x3.以下代码中,num的值为__________:```cint num;printf("%d", num);```答案:未定义,可能是任意值。

三、编程题1.编写一个C语言程序,实现求斐波那契数列第n个数的功能。

其中,斐波那契数列的定义如下:F(1) = 1F(2) = 1F(n) = F(n-1) + F(n-2)```c#include <stdio.h>int fibonacci(int n) {if (n == 1 || n == 2) {return 1;} else {return fibonacci(n-1) + fibonacci(n-2);}}int main() {int n;printf("请输入n的值:");scanf("%d", &n);printf("斐波那契数列的第%d个数是:%d\n", n, fibonacci(n));return 0;}```以上代码会通过递归的方式计算斐波那契数列第n个数的值。

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

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

2022年中国矿业大学公共课《C语言》科目期末试卷B(有答案)

2022年中国矿业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。

5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+106、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。

7、函数swap(int x,inty)可完成对x和y值的交换。

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

a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

2022年武昌理工学院公共课《C语言》科目期末试卷B(有答案)

2022年武昌理工学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量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;_______;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。

3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。

5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+106、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。

7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。

9、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。

10、下面程序段的运行结果是_______。

char*s1="AbcdEf", *s2="aB";int t;s1++;t=(strcmp(s1,s2)>0);printf("%d\n",t);二、选择题11、下面4个选项中,是C语言关键字的选项是( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A. 3 B.0 C. [ ] [2]={ 0, 3.25 ,4} B、int a[2] [ ]={{1,2} ,{0,5},{9,1}}
C、int a[4] ={2,5,3} D、char a[5]={’a’ , ’b’ , ’c’ ,’d’ ,’e’}
9、变量分为局部变量和(),其中局部变量又称为内部变量,全局变量又称为()。
实得分
二、选择(2分*10题=20分)
1、如果a=1,b=2,c=3,d=4,表达式a < b?a:c < d?c:d的值为()。
A. 1 B.3 C. 2 D. 4
2、若定义int a=10;
float i=3.25 , j=4.03 , k=2.0;
10、以下叙述正确的是()。
A.在程序的一行中可以出现多个有效的预处理命令
B.使用带参数的宏定义应该把字符序列中出现的形式参数全部用括号扩起来
C.宏替换不占用运行时间,只占用编译空间
D.宏定义只能出现在函数内部
实得分
三、写出程序运行结果(4分*5题=20分)
1、main()
{int a,b,x;
x=(a=3,b=a - -);
printf (“%d \ t”, i + + ) ;}
}
运行结果:
4、main()
{ static int a[ ][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (* p)[4] , i=1 , j=2;
p =a;
printf (“%d \n“, *(*p+i)+j) ; }
4、设x=9,y=8,则x==y+1的结果是()。
5、c语言中数组元素的下限是(),数组名代表数组的(),不能对它进行加、减和赋值运算。
6、strlen()函数是用来(),其中字符串的结束符不属于字符串的有效长度。
7、若要将变量t定义为3行5列的整型二维数组,正确的定义方式应该是()。
8、变量定义时要遵循这样的规则:只能由()、()或()组成,并且()不能作为变量名的开头。
如:6=1+2+3
出题人
于琳琳
-3-
2、用数组的方式求fibonacci数列的前20个数,其中fib[0]=1,fib[1]=1。(10分)
3、求一个5*5数组中主对角线上的元素的积,数组由键盘输入(12分)
-4-
则表达式a/5+(int)(i+j)%3*k的值是()
A、4.00 B、4.000000 C、4.56 D、4.560000
3、以下程序运行结果是()。
#include <stdio.h>
main( )
{int i=10 , j=10 ;
printf(“%d , %d \n ”,+ + i , j - -);}
5、C语言中,while语句和do-while语句循环的主要区别()。
A.do-while的循环至少无条件执行一次
B.while的循环控制条件比do-while的条件控制更严格
C.do-while允许从外部循环转到循环内部
D.do-while的循环体不能是复合语句
6、在执行int a[ ] [3]={{1,2},{3,4}}语句后,a[1][2]的值是()。
8、关于C语言函数的说法,正确的是()。
A.函数的定义不能嵌套,但函数的调用可以嵌套
B.函数的定义可以嵌套,但函数的调用不能嵌套
C.函数的定义和调用都不能嵌套
D.函数的定义和调用都可以嵌套
9、C语言中,if语句后面的圆括号中用以决定分支流程的表达式是()。
A.只能用逻辑表达式B.只能用关系表达式
C.只能用逻辑表达式或关系表达式D.可以使用任意表达式
A. 9 , 10 B. 11 ,10 C. 10 , 9 D. 10 ,10
4、为避免嵌套的if---else语句的二义性,C语言规定,else总是与()组成配对关系。
A.缩排位置相同的if语句
B.在其之前未配对的if语句.
C.在其之前未配对的最近的if语句
D.同一行上的if语句
出题人
于琳琳
-1-
姓名:
学号:
班级
C语言程序设计期末试题
考试时间:100分钟卷面满分:100分闭卷
题号




实得总分
折合总分
实得分
实得分
一、填空(2分*15空=30分)
1、一个C源程序有一个()函数和若干个其他函数。
2、结构化程序设计中的三种基本结构是顺序结构、()和()。
3、函数调用的时候进行值传递,而指针应用( )传递。
printf(“x=%d , a=%d , b=%d \n”, x , a , b);}
运行结果:
2、main()
{ int a=10,b=2 , c , x , y , z;
c =!( a % b) ; x =!( a / b ) ;
y = ( a < b )&&( b > = 0 ) ;
z = ( a < b ) | | (b > = 0 );
printf(“c = %d , x = %d ,y = % d , z = % d\ n”, c , x , y, z ) ;}
运行结果:
-2-
姓名:
学号:
班级
3、main()
{ int i;
for(i=1;i+1; i + +)
{ if ( i >4)
{printf(“%d \ t”, i+ + ) ; break ;}
运行结果:
5、main( )
{ int i , sum=0;
for( i =1; i <=10 ; i++ )
sum=sum+i;
printf (“sum=%d\n”, sum); }
运行结果:
实得分
四、编程题(30分)
1、输出1000以内所有完数。所谓完数是指一个十进制数恰好等于它的因子之和(因子包括1,但不包括它本身)。(8分)
相关文档
最新文档