精选-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语言期末考试题及详细答案一、选择题(每题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语言考试题库及答案一、选择题(每题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语言期末考试题库大题及详解答案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语言期末复习试题(附答案)
试卷编号:11201所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(2.0分)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A). A:k++B:k+=1C:++kD:k+1第2题(2.0分)已知inti=5,执行语句i+=++i后,i的值是(C).A:10B:11C:12D:A、B、C都不对第3题(2.0分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include<stdio.h>voidmain()/*Beginning*/{intr;floats;scanf("%d",&r);s=p*r*r;printf("s=%f\n",s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(2.0分)"\\\″ABC\″\\″的长度是(B).A:11B:7C:5D:3第5题(2.0分)已知intj,i=1;,执行语句j=–i++;后,j的值是(C).A:1B:2C:-1D:-2第6题(2.0分)有以下程序:#include<stdio.h>voidmain(){ints=0,a=1,n;scanf("%d",&n);do{s+=1;a=a–2;}while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘输入给n的值是(B). A:-1B:-3C:-5D:0第7题(2.0分)执行以下程序后,输出的结果是(D).#include<stdio.h>voidmain(){inty=10;do{y––;}while(––y);printf("%d\n",y––);}A:-1B:1C:8D:0第8题(2.0分)以下循环体的执行次数是(C).#include<stdio.h>voidmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j––)printf("%d\n",i);}A:3B:2C:1D:0第9题(2.0分)有以下程序段:intk=0;while(k=1)k++;while循环执行的次数是(A).A:无限次B:有语法错误,不能执行C:1次也不执行D:执行1次第10题(2.0分)有以下程序#include<stdio.h>voidmain(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A). A:m=123n=456p=789B:m=123n=456p=789C:m=123,n=456,p=789D:123456789第11题(2.0分)设变量已正确定义,以下能正确计算f=n!的程序段是(D)A:f=0;for(i=1;i<=n;i++)f*=i;B:f=1;for(i=1;i<n;i++)f*=i;C:f=1;for(i=n;i>1;i++)f*=i;D:f=1;for(i=n;i>=2;i––)f*=i;第12题(2.0分)在下列程序中,没有构成死循环的程序段是(B).A:inti=100;while(1){i=i%100+1;if(i>100)break;}B:intk=1000;do{++k;}while(k>=10000);C:for(;;);D:ints=36;while(s);--s;第13题(2.0分)有如下程序:#include<stdio.h>voidmain(){intn=9;while(n>6){n--;printf("%d",n);}}该程序段的输出结果是(B).A:987B:876C:8765D:9876第14题(2.0分)以下程序的输出结果是(D).#include<stdio.h>voidmain(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x––,y);}A:10192B:9876C:10990D:101091第15题(2.0分)有如下程序:#include<stdio.h>voidmain(){intn[5]={0,0,0},i,k=2;for(i=0;i<k;i++){printf("%d\n",n[k]);}}该程序的输出结果是(D).A:不确定的值B:2C:1D:0第16题(2.0分)下列程序执行后的输出结果是(A).#include<stdio.h>voidmain(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me"); arr[0][3]='&';printf("%s\n",arr);}A:you&meB:youC:meD:err第17题(2.0分)以下程序的输出结果是(C).#include<stdio.h>voidmain(){inti,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:1,5,9,B:1,4,7,C:3,5,7,D:3,6,9,第18题(2.0分)以下数组定义中不正确的是(D).A:inta[2][3];B:intb[][3]={0,1,2,3};C:intc[100][100]={0};D:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};第19题(2.0分)以下能正确定义数组并正确赋初值的语句是(D). A:intN=5,b[N][N];B:inta[1][2]={{1},{3}};C:intc[2][]={{1,2},{3,4}};D:intd[3][2]={{1,2},{3,4}};第20题(2.0分)有以下程序:inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("d\n",s);}程序运行后的输出结果是(B)A:24B:28C:32D:36第21题(2.0分)以下正确的函数定义形式为(A)A:doublefun(intx,inty)B:doublefun(intx;y)C:doublefun(intx;inty)D:doublefun(intx,y)第22题(2.0分)C语言规定,函数返回值的类型是由(D)A:return语句中的表达式类型所决定的B:调用该函数时的主调函数类型所决定的C:调用该函数时系统临时决定的D:在定义该函数时所指定的函数类型所决定的第23题(2.0分)有以下程序:输出结果是()(注:5353)voidswap1(intc0[],intc1[]){intt;t=c0[0];c0[0]=c1[0];c1[0]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a,a+1);swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]); }A:3553B:5335C:3535D:5353第24题(2.0分)以下程序的输出结果是(A).amovep(int*p,int(*a)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++;}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)malloc(100);amovep(p,a,3);printf("%d%d\n",p[2],p[5]);free(p);}A)56B)25C)34D)程序错误第25题(2.0分)有以下函数:fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a–*b);}该函数的功能是(D).A:计算a和b所指字符串的长度之差B:将b所指字符串复制到a所指字符串中C:将b所指字符串连接到a所指字符串后面D:比较a和b所指字符串的大小第26题(2.0分)有以下程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf("%d\n",fun(str));}程序执行后的输出结果是(B).A:1B:2C:3D:0第27题(2.0分)有以下程序:main(){charstr[][10]={"China","Beijing"},*p=str;printf("%s\n",p+10);}程序运行后的输出结果是(B).A:ChinaB:BeijingC:ngD:ing第28题(2.0分)有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4)i2=f(4+4)/f(2+2)printf("%d,%d\n",i1,i2);}程序运行后的输出结果是(C).A:64,28B:4,4C:4,3D:64,64第29题(2.0分)有以下程序:结果是(A)voidchange(intk[]){k[0]=k[5];}main(){intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change(&x[n]);n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A)678910B)13579C)12345D)62345A:678910B:13579C:12345D:62345第30题(2.0分)在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C). A:main()int*p;fun(p);…}intfun(int*p){ints;p=&s;}B:main(){int*p;fun(&p);…}intfun(int**p){ints;*p=&s;}C:#include<stdlib.h>main(){int*p;fun(&p);…}intfun(int**p){*p=(int*)malloc(2);}…D:#include<stdlib.h>main(){int*p;fun(p);…}intfun(int*p){p=(int*)malloc(sizeof(int));}二、程序填空共1题(共计10分)第1题(10.0分)/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 功能:计算平均成绩并统计90分以上人数。
(完整版)c语言期末考试题及其答案
(完整版)c语言期末考试题及其答案挑选题(7分,每小题0.5分)1.C语言源程序的基本单位是()。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分离是()。
a=125.534; a=(int)125.521%4; a=5nB ++p->nC p->n++D (*p).n++写出下列程序的运行结果(10分,每小题2分)1.float average (float array[10]){ int i;float aver,sum=array[0];for (i=1;i=20) break;if(b%3==1){b+=3; continue; }b-=5;}printf(“a=%d\tb=%d\n”,a,b);}4.main(){ printf(“main( ) :%d\n”,fact(5)); fact(-5);}fact(int value){ int f;if(valuemax)max=array[i][j];(2) ;}main( ){ int a[3][4], i,j;for(i=0;ia[k]) k=j;if(k!=i){ t=a[k]; a[k]=a[i]; a[i]=t;}}printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }答案一挑选题(7分,每小题0.5分)1. B2. C3. B4. B5. C6. A7. B8. A9. A 10. C11. A 12. A 13. B 14. D二推断对错,对的划“√”,错的划“×”(5分,每小题0.5分)1.×2.×3.√4.√5.×6.×7.×8.×9.√10.√四阅读下列程序,在处填入适当内容,使程序完整(8分,每个空1分)1.(1)int array[3][4](int array[][4]) (2)return(max)(3)scanf(“%d”,&a[i][j])2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)3.(7) (8)文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
c语言期末考试练习题1(含答案)
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
c语言期末测试题(附答案)
.课程代码:A100002座位号:《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。
A)标识符可以由汉字组成 B)标识符只能以字母开头C)关键字可以作为用户标识符 D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。
int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。
A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
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语言程序设计期末考试试题含答案一、选择题(每题 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语言期末考试试题及答案1.一个C程序的组成部分可以是()。
A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2.一个C程序的执行是从()。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4.设有定义:intm=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是(A)–1B)C)1D)25.表达式11&10的结果用二进制表示为()。
A)11B)3C)1D)106.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。
(A)3(B)(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.4B)1C)2.0D)210.假定a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。
A)trueB)falseC)0D)111.若inta=3,b=4;则履行c=a++>2||b-->=4以后,b变量的值为()。
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语言程序设计期末考试试题含答案一、选择题(每题 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解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
C语言期末考试题(含答案)
《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。
B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C 语言源程序经编译形成的二进制代码可以直接运行.D )C 语言中的函数不可以单独进行编译。
2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C)必须有除主函数外其它函数 D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )Void C)_3com D )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、有以下程序:#include <stdio.h 〉void 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、有以下程序:#include <stdio 。
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语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中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语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中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语言期末考试试题及答案考试题目一:填空题(共15空)1. C语言是一种_________型的编程语言。
2. 在C语言中,用来表示“或”的运算符是______。
3. 在C语言中,用于定义宏的关键字是______。
4. 函数调用时,参数的传递方式是______传递。
5. 在C语言中,表示真值的关键字是______。
6. 在使用scanf函数读取字符时,可以使用______修饰符。
7. 在C语言中,用于循环控制的关键字是______。
8. C语言中,数据类型的长度由______决定。
9. 在C语言中,用于将浮点数转换为整数的函数是______。
10. C语言中的结构体可以包含不同______类型的成员。
11. 在使用printf函数进行格式化输出时,%d用来输出______类型的数据。
12. 在C语言中,用于断开当前循环并开始下一次循环的关键字是______。
13. 在C语言中,用于定义常量的关键字是______。
14. C语言中,用于定义无符号整型变量的关键字是______。
15. 使用指针变量时,可以通过______操作符获得指针所指向的地址的值。
答案:1. 结构化2. ||3. #define4. 值5. true6. %c7. for8. 编译器9. ceil10. 数据11. 整数12. continue13. const14. unsigned15. *(星号)考试题目二:判断题(共10题)1. C语言是一种面向对象的编程语言。
(×)2. 在C语言中,数组的下标从0开始。
(√)3. C语言中,变量的作用域可以超出其声明的块。
(×)4. 在C语言中,可以通过malloc函数为变量分配动态内存。
(√)5. 在C语言中,switch语句可以用来实现嵌套循环。
(×)6. C语言只支持单继承。
(×)7. 在C语言中,函数可以有多个返回值。
(×)8. C语言中,使用void*类型指针可以指向任意类型的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C 语言程序设计》期末试卷
一、单项选择题(10x2’=20’)
1、以下叙述正确的是( )
A )C 语言的源程序不必通过编译就可以直接运行。
B )
C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C )C 语言源程序经编译形成的二进制代码可以直接运行。
D )C 语言中的函数不可以单独进行编译。
2、一个C 语言的源程序中( )
A )必须有一个主函数
B )可能有多个主函数
C )必须有除主函数外其它函数
D )可以没有主函数
3、以下不能定义为用户标识符的是( )
A )scanf
B )Void
C )_3com
D )int
4、若以下选项中的变量已正确定义,则正确的赋值语句是( )
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 *)(2
1 的计算结果不.
相符的是( ) 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 、break
C )for 、while 、do-while
D )if 、for 、continue
7.在while (!x )语句中的!x 与下面条件表达式等价的是( )
A) x!=0 B) x==1 C) x!=1 D) x==0
8、有以下程序:
#include <stdio.h>
void main(){
int i=1,j=1,k=2;
if( (j++||k++)&&i++ )
printf(“%d,%d,%d\n ”,i,j,k);}
执行后的输出结果是( )
A )1,1,2
B )2,2,1
C )2,2,2
D )2,2,3
9、有以下程序:
#include <stdio.h>
void 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”的表达式是:。
12、函数定义时涉及的基本要素是:、、。
13、C语言可以用来实现循环的结构化语句是:、、。
14、判断整型变量a即是5又是7的整数倍的C语言表达式是:。
15、若x和n都是int型变量,且x和n的初值都是6,则计算表达式x+=n++后,x的值为:,n的值为:。
三、写出下列程序的运行结果(3x5’ = 15’)
16、程序1
#include <stdio.h>
void main() {
int a=12,b=12;
printf(“%d,%d\n”,--a,++b); }
程序执行后的输出结果是:
17、程序2
#include <stdio.h>
void main() {
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf(“%d\n”,d);
else if((c-1>=d)==1)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
}
程序执行后的输出结果是:
18、程序3
#include <stdio.h>
void main()
{
int x=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是:
四、编程题(3x15’ = 45’)
19、编写一个程序。
实现输入一个小写字母,程序输出它对应的大写字母。
(提示:小写字母的ASCII码值比大些字母大32)
20、编写一个程序,计算100+101+102+…+300的值。
21、已知学生成绩
(提示:使用switch….case语句)
期末试题答案
1、B
2、A
3、D
4、C
5、B
6、A
7、D
8、C
9、D
10、C
11、 x>=z && y>=z
12、函数名、形式参数、函数体
13、 while 、 do-while 、for
14、a%5==0 && a%7==0
15、12,7
16、11,13
17、3
18、3,2,-1
19、程序代码如下:
#include <stdio.h>
void main()
{
char ch;
scanf("%c",&ch);
printf("%c\n",ch-32); }
20、程序代码如下:
#include <stdio.h>
void main()
{
int i,sum=0;
for (i=100;i<=300;i++)
sum+=i;
printf("sum=%d\n",sum); }
21、程序代码如下:
#include <stdio.h>
void main()
{
int grade;
scanf("%d",&grade);
switch(grade/10)
{
case 10:
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
printf("E\n");
break;
}
}
期末试题答案备用卷
1、B
2、A
3、D
4、D
5、B
6、A
7、A
8、B
9、B
10、A
11、整型、实型、字符型
12、3
13、2,1
14、9,0
15、return
16、double
17、7
18、2
19、2,1,1
20、程序代码:
#include <stdio.h>
void main()
{
int a,b,c;
float pinjun;
scanf("%d%d%d",&a,&b,&c);
pinjun = (a+b+c)/3.0;
printf("%.2f\n",pinjun); }
21、程序代码:
#include <stdio.h>
void main()
{
int a;
scanf("%d",&a);
if(a<0)
a=-a;
printf("%d\n",a);
}
22、程序代码:
#include <stdio.h>
void main()
{
float x,y;
scanf("%f",&x);
if(x<=0)
y=3*x+5;
else if(x>0 && x<=1)
y=x+5;
else
y=-2*x+8;
printf("%.2f\n",y);
}
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)。