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

选择练习题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分,共30分)1、 设x 为整型变量,值为1,则表达式(x&&1)= =(x%2)的值为____________2、 若已知a=10,b=20,则表达式!a<b 的值为__________3、 结构化程序设计所规定的三种基本控制结构是顺序结构、_____ 结构和_____ 结构。
4、 定义int i=1;执行语句 while(i++<5); 后,i 的值为______5、 putchar 函数可以向终端输出_____字符。
6、设int i=10;则执行j=++i;后j 的值为 ____________7、C 语言中三种常用的循环控制结构是_________ 循环、do---while 循环和_______ 循环。
8、对应scanf("a=%d,b=%d",&a,&b);语句的输入a 为3,b 为7的键盘输入格式是_______________________9、C 源程序的基本单位是 _________ 10、设a 、b 均为整型变量,则表达式(a=2,b=5,a++,++b,a+b )的值________ 11、算术表达式xy x 23 的C 语言表达式为_____________ 12、当a=0,b=2,c=4时,则表达式a+b>0 && b==c 的值是__________ 13、设x,y,z 均为int 型变量;请写出描述”x 或y 中有一个小于z ”的表达式_____________ 二、选择题(每小题2分,共30分)1、下列优先级最低的算符是( ) A && B ! C || D =2、已知int j ,i=1;执行语句“j=i++;”后,变量i 的值是( ) A 1 B 2 C –1 D -23、已知int i ,a ;执行语句“i=(a=2*3,a*5);”后,变量i 的值是( ) A 6 B 12 C 30 D 364、设j=8,则执行n=j++;n=++j;语句后,n 的值是( ) A.8 B.10 C.9 D.125、下面变量说明中哪个是正确的( ) A.char :a ,b ,c; B.char a; b ;c; C.char a , b , c; D.char a ,b ,c6、以下错误的if 语句是( ) A if (x>y); B if(x= =y) x+=y ; C if (x!=y) scanf(“%d ”,&x) ;else scanf(“%d ”,&y); D if (x<y) {x++; y++;}7、以下错误的描述是( ) A break 语句用于循环语句和switch 语句 B 在switch 语句中使用break 语句或continue 语句的作用相同 C 在循环语句中使用continue 语句是为了结束本次循环,而不是终止整个循环 D 在循环语句中使用break 语句是为了使流程跳出循环体,提前结束循环8、若int i=11;执行下列程序后,变量i 的正确结果是( )switch ( i ){case 0: i+=1;break;case 10: i+=1;break;case 11: i+=1;break;default: i+=1;}A 10B 11C 12D 139、C 语言中,要求运算符必须是整型的运算符是( )A %B /C <D !10、表达式10!=9的值是( )A 0B 1C trueD false11、有如下程序,该程序的执行结果是( )main(){ int i,sum=0;for(i=1;i<=3;i++)sum+=i;printf("%d\n",sum); }A 6B 3C 死循环D 412、两次运行下面程序,若输入分别为6和4,则输出结果为()main( ){ int x;scanf(“%d ”,&x);if(++x>5) printf(“%d ”,x);}A.7B.6C.7和5D.6和413、在C 语言中,下面哪一个是正确的标识符( )A 8ZseB ±A0C N0_1D ’x0’14、在C 语言中能代表逻辑“假”的是( )A YESB NOTC 等于0的数D 非0的数15、以下程序段的输出结果是( )main( ){int m=9;if (m++>9) printf(“%d\n”,m); else printf(“%d\n”,m--);}A 8B 9C 10D 11三、判断题(每小题2分,共20分)(1)c语言赋值运算符和关系运算的等于运算符是相同的,都是“=”。
c语言期末考试考试题及答案

c语言期末考试考试题及答案C语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. IntegerB. intC. StringD. float答案:B2. C语言中,哪个运算符用于计算两个整数的乘积?A. *B. /C. %D. +答案:A3. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. variable int;C. var int;D. int = var;答案:A4. 下列哪个选项是正确的C语言数组声明?A. int array[10];B. int [10] array;C. array[10] int;D. int array = 10;答案:A5. C语言中,哪个函数用于计算两个数的最大值?A. max(int a, int b)B. max(double a, double b)C. maximum(int a, int b)D. max_value(int a, int b)答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序由_________和_________两部分组成。
答案:预处理指令;函数2. 在C语言中,用_________关键字定义一个函数。
答案:void 或 int 或其他数据类型(根据函数返回类型而定)3. C语言中,用于输入输出的库函数是_________和_________。
答案:printf;scanf4. 一个C语言程序的执行从_________函数开始。
答案:main5. C语言中,定义一个字符常量使用的是_________括号。
答案:单引号三、简答题(每题10分,共20分)1. 简述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语言期末考试练习题(带详解答案)

一、单项选择题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语言期末考试练习题(带详解答案)一、单项选择题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_iD、int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6、下列C语言用户标识符中合法的是( B )。
A )3ax B)xC)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 aBc B、I\am one_halfstart$it3pai C、str_1 Cpp pow while D、Pxq My->book line# His、age 选项B中的“\”,”$” ,选项D中“>”,”#”,”、”,”-”不满足(1);选项C中的while为关键字,不满足(3)9、C语言中的简单数据类型包括(D )。
《C语言程序设计》期末笔试模拟试卷及参考答案

《C语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[3][3]={{1,2,3},4,5,6,7,{8,9}};C. float c[sizeof(sin(1))]={1,‘\n’};D. char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1] };2. 如下哪个程序语法、语义都正确,且能获得正确的运行结果(2) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。
B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。
BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。
B.不能用extern定义一个外部变量、数组。
C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。
D.用extern说明引用一个外部数组时,可以不给出数组大小。
5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。
BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【10】答案:C
【11】下列运算符的操作数必须是int型的运算是
A) % B) / C)――D) ++
【11】答案:A
【12】已知:char *s="\t\"Name\\Address\n";则s所指的字符串的长度为
A) 19 B) 15 C) 18 D)说明不合法
printf(“%d,”,printf(“%d,”,i));
A) 0,1, B) 1,0, C) 0,0, D) 1,1,
【24】答案:D
【25】已知函数定义如下:
abcd ( char *s1, char *s2 )
{ while ( *s2++ = *s1++ ) ;
}
函数abcd的功能是
A)串复制B)求串长C)串比较D)串反向
case 11: i+=1;
default: i+=1;
}
A) 10 B) 11 C) 12 D) 13
【17】答案:D
【18】若:int a[3][4];则数组元素的非法引用是。
A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[0][4]
【18】答案:D
【19】若调用fputc函数输出字符成功,则返回值是____。
【12】答案:B
【13】为判断char型变量m是否是数字,可用表达式
A)0<=m && m<=9 B)’0’<=m && m<=’9’
C)“0”<=m && m<=“9”D)前面三个答案均是错误的
【13】答案:B
【14】为求i的3次方,请选一个表达式填入使程序可正确执行。
#define CUBE(x) (x*x*x)
for ( i=0; i<20; i++ )
scanf("%d",①);
for ( i=0; i<20; i++ )
{ if ( a[i]<0 )
②;
s += a[i];
count++;
}
printf ("s=%d\t count=%d\n", s, count);
}
【2】答案:①&a[i]②continue
【20】答案:D
【21】若a、b均为int型变量且a=100,则对以下for循环语句的正确判断是。
for (b=100; a!=b; ++a,b++);
A)循环体只执行一次B)是死循环
C)循环体一次也不执行D)输出----
【21】答案:C
【22】在C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的外部变量,则该变量需要使用的存储类别是____
int add ( int x )
{ if ( n == 1 )①;
else return (②);
}
【1】答案:①return (1)②n + add(n-1)
【2】程序读入20个整数,统计非负数个数,计算非负数之和。
main ( )
{ int i, a[20], s, count;
s=count=0;
【15】答案:D
【16】C对嵌套if的规定是:else总是与配对。
A)其之前最近的if B)第一个if
C)缩进位置相同的if
D)其之前最近的且尚未配对的if
【16】答案:D
【17】若int i=10,则后,变量i的结果是。
switch (i)
{ case 9: i+=1;
case 10: i+=1;
A) 0至255 B) 0至65535
C) -32768至32767 D) -256至255
【6】答案:B
【7】已知:char w;int x;float y;double z;则表达式w*x+z-y的结果为类型。
A) floatB) charC) int D) double
【7】答案:D
【8】下列可以正确表示字符型常数的是。
k = n*n*n;
for ( i=1; i<k/2; i+=2 )
{ for ( j=i, sum=0;①; j+=2 )
sum += j;
if (②)
printf( "%ld*%ld*%ld=%ld=form%ldto %ld\n",
n, n, n, sum, i,③);
}
}
【4】答案:①sum<k②sum==k③j-2
A) "a"B)’\t’C) "\n" D) 297
【8】答案:B
【9】已知:int a,b;使用语句:scanf(“%d%d”,&a,&b);输入a、b的值时,不能用作为输入分隔符的是。
A) , B)空格C)回车D) Tab
【9】答案:A
【10】若给定条件表达式“(n)?(c++):(c--)”,则表达式n与表达式是等价的。
笔试试卷样题
笔试试卷样题-选择题
【1】一个C语言程序是由组成的。
A)主程序B)子程序C)函数D)过程
【1】答案:C
【2】C语言中char型数据在内存中是以形式存储。
A)原码B)补码C)反码D) ASCII码
【2】答案:D
【3】C的运算符按运算对象的数目可以分为。
A)单目算符一种B)单目和双目算符
C)单目、双目和三目算符
【3】下面的函数fun的功能是将形参x的值转换成二进制数,所得二进制数的每一位放在一维数组中返回,二进制的最低位放在下标为0的元素中,其它依次类推。
fun( int x, int b[ ] )
{ int k=0, r;
do
{ r = x%【1】;
b [ k++ ] = r;
x /=【2】;
} while (x);
}
【3】答案:①2②2
【4】已知:任意一个正整数的立方都可以写成一串连续奇数的和。例如:13*13*13=2197=157+159+…+177+179+181
main ( )
{ long int n, i, k, j, sum;
printf ("Enter n="); scanf("%ld", &n);
}
【5】答案:6
笔试试卷样题-程序选择填空题
【1】下面的程序是求数组中的最小元素,请选择填空。
findmin ( int *s, int t, int *k )
{ int p;
for ( p=0, *k=p; p<t; p++ )
if ( s[p] < s[*k] )
①;
}
main ( )
{ int a[10], i, *k=&i;
【25】答案:A
笔试试卷样题-写答案题
【1】以下程序的输出结果是。
main( )
{ int a=-1, b=4, k;
k = (++a<0) && !(b--<0);
printf ("%d%d%d\n", k, a, b);
}
【1】答案:004
【2】下述程序的输出是。
main( )
{ float a;
A) extern B) register C) auto D) static
【22】答案:D
【23】若用数组名作为函数调用时的实参,则传递给形参的是____
A)数组首地址B)数组的第一个元素值
C)数组中全部元素的值D)数组元素的个数
【23】答案:A
【24】已知:int i=1;下列语句的输出结果是____
a = 1/100000000;
printf ("%g",a);
}
【2】答案:0
【3】写出程序的输出结果。
#include <stdio.h>
main ( )
{ int k, j, m;
for ( k=5; k>=1; k-- )
{ m=0;
for ( j=k; j<=5; j++ )
m = m+k*j;
A) EOF B) 1 C) 0 D)输出的字符
【19】答案:D
【20】以下4个关于C语言的结论中,错误的是。
A)用while语句实现的循环一定可用for语句实现
B)用for语句实现的循环一定可用while语句实现
C)用do-while语句实现的循环一定可用while语句实现
D) do-while语句与while语句的区别仅是关键字“while”出现的位置不同
main( )
{ int i=4;
printf (”\n%d”,CUBE() );
}
A) i*i*i B) x*x*x C) x D) i
【14】答案:D
【15】可作为函数fopen中第一个参数的正确格式是
A) c:user\text.txtB) c:\user\text.txt
C) "c:\user\text.txt"D) "c:\\user\\text.txt"
D)单目、双目、三目和四目算符
【3】答案:C
【4】在C语言中,错误的int类型的常数是。