2019年C语言期末考试题及答案
最新版精选2019年《C语言程序设计》大学期末考试题库500题(含标准答案)
2019年大学C语言期末考试题库500题含答案一、选择题1.以下程序段中与语句 k=a>b?(b>c?1:0):0; 功能等价的是___A__。
A、if((a>b)&&(b>c)) k=1;else k=0;B、if((a>b)||(b>c)) k=1;else k=0;C、if(a<=b) k=0;else if(b<=c) k=1;D、if(a>b) k=1;else if(b>c) k=1;else k=0;2.以下程序的输出结果为()。
#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A d=70B d=80C d=140D d=7003.B 2.A 3.D 4.C 5.D 6.B 7.C二、填空题4.函数调用:strcat(strcpy(str1,str2),str3)的功能是___C___。
A、将串str1复制到串str2中后再连接到串str3之后B、将串str1连接到串str2之后再复制到串str3之后C、将串str2复制到串str1中后再将串str3连接到串str1之后D、将串str2连接到串str1之后再将串str1复制到串str3中5.有以下程序段int k=0;while(k=1) k++;while循环执行的次数是___A___。
A、无限次B、有语法错,不能执行C、一闪也不执行D、执行1次6.有以下程序main(){int p[7]={11,13,14,15,16,17,18}; int i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}执行后输出结果是___D___。
A、58B、56C、45D、247.4 08.以下程序中,while循环的循环次数是___D___。
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语言程序,实现字符串的反转。
2019年C语言期末考试试题(带答案)
2019年C语言期末考试试题(带答案)1. 若变量已正确定义并赋值,表达式____________不符合C语言语法。
A)a*b/c; B)3.14%2 C)2, b D)a/b/c2. 下列说法中正确的是___________。
A) C程序书写时,不区分大表达式小写字母B) C程序书写时,一行只能写一个语句C) C程序书写时,一个语句可分成几行书写D) C程序书写时每行必须有行号3.C语言中基本的数据类型不包括__________。
A) 整型 B)字符串型C)字符型 D)实型4.下列说法中正确的是( )。
A、 C程序书写时,不区分大小写字母B、 C程序书写时,一行只能写一个语句C、 C 程序书写时,一个语句可分成几行书写D、 C程序书写时每行必须有行号5.在C语言中,要求参加运算的数必须是整数的运算符是( )。
A、/B、!C、%D、= =6.下列合法的字符常量是()。
A、'\084'B、'\x43'C、'ab'D、"\0"7.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是A、 2B、 1C、 2.0D、2.58.下面程序的输出是(假设 int 数据是 2 个字节)void main(){ int a = 32768;printf(“a=%d\n”,a);}A) a=32768 B) a=32767 C) a=-32768 D) a=-19、下面程序的输出是______main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13 B) k=11,k=13,k=13C) k=11,k=013,k=oXb D) k=11,k=13,k=b10.以下程序的输出结果是()main(){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x--,y);}A、10 1 9 2B、9 8 7 6C、10 9 9 0D、10 10 9 111.读程序#include”stdio.h”main(){ int a; float b,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若运行时从键盘上输入9876543210<CR>(<CR>表示回车),则上面程序的输出结果是_____A) a=98,b=765,c=4321B) a=1,b=432,c=8765C) a=98,b=765.000000,c=4321.000000D) a=98,b=765.0,c=4321.012.下面程序的输出是____main(){int x=3,y=6,a=0;while (x++!=(y-=1)){a+=1;if (y<x) break;}printf("x=%d,y=%d,a=%d\n",x,y,a);}。
2019年C语言考试试题带答案
2019年C语言考试试题带答案1、设int a=2,b;则执行b=a&&1;语句后,b的结果是( )A.0B.1C.2D.32.逗号表达式(a=3*5,a*4),a+15的值是( )A.15B.60C.30D.753. 在以下运算符中,优先级最高的运算符是__________A) , B) [ ] C) && D) +=4. 在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数C) 非0的整数D) 非0的数5.C语言中,逻辑“真“等价于( )。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是( )。
A、1/a*b*cB、1/(a*b*c)C、1/a/b/(float) cD、1.0/a/b/c7、以下标识符中,不能作为合法的C用户定义标识符的是:( )A .a3_b3 B.void C._123 D.abc8.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if (__________)A) a<>0 B) !a C) a=0 D) a9、有以下程序main(){int a,b,d=25;a = d/10 & (-1);b = a && (-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是A 6,1B 2,1C 6,0D 2,010.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。
A)scanf("%f",&a); B) scanf("%5.2f",a);C) scanf("%6.2f",&a); D) scanf("%f",a);11.下面程序段___x=3;do{y=x--;if(!y){printf("x");continue;}printf("#");}while(1<=x<=2);A) 将输出## B) 将输出##*C) 是死循环 D) 含有不合法的控制表达式12、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( )main ( ){int x;scanf(″%d″,&x);if(x++>5) printf(″%d″,x);else printf(″%d\n″,x-1);}A.7和5B.6和3C.7和4D.6和413.合法的数组定义是 ( )A、int a[]="string";B、int a[5]={0,1,2,3,4,5};C、vhst s="string";D、char a[]={0,1,2,3,4,5};14、定义如下变量和数组,则输出结果是( )。
期末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语言中,用于定义一个布尔型变量的数据类型是______。
2019-北京理工大学-成教-《c语言程序设计》期末测试卷(4)
[试题分类]:C语言程序设计1.下列叙述中,错误的是A. 一个C语言程序必须有且只有一个主函数B. C语言程序的注释必须位于语句之后C. 一个C语言程序可以有多个函数D. C语言程序的基本结构是函数答案:B题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,所有符号均为C语言关键字的选项是A. enum,ifB. include,elseC. scanf,structD. continue,repeat答案:A题型:单选题知识点:第2章 C语言概述难度:13.下列选项中,可以正确表示字符型常数的是A. 297B. "a"C. "\n"D. '\t'答案:D题型:单选题知识点:第3章数据类型与运算规则难度:14.下列C语言运算符中,要求操作数必须是int类型的是A. ++B. --C. %D. /答案:C题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int w=1,x=2,y=3,z=4;”,则条件表达式“w>x w : y<z y : z”的结果是A. 4B. 3C. 2D. 1答案:B题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int x;”,则执行完逗号表达式“(x=4*5,x*5),x+25”后,变量x的值是A. 20B. 100C. 45D. 125答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=-1,j=1;”,则执行下列语句后的输出结果是if((++i<0) && !(j--<0))printf("%d %d\n",i,j);else printf("%d %d\n",j,i);A. -1 1B. 0 0C. 0 1D. 1 0答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.下列叙述中,错误的是A. 循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环B. 循环语句中使用break语句是为了使流程跳出循环体,提前结束循环C. switch语句中使用break语句或continue语句的作用是相同的D. break语句不能用于循环语句和switch语句以外的其他语句答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int x=10,i;”,则下列语句执行后的结果是for (i=0; x>8; ) printf ("%d ",--x);A. 10 9B. 9 8C. 死循环D. 语句错误答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=0;”,则执行语句“while(n<=2) printf("%d", ++n);”后的输出结果是A. 01B. 12C. 012D. 123答案:D题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=1,y=10;”,则执行下列语句后变量x的值是do \{y-=x; x++;\} while(y--<0);}A. 8B. 5C. 2D. -4答案:B题型:单选题知识点:第6章循环结构的程序设计难度:212.下列对字符数组str的定义、初始化或赋值语句中,正确的是A. char str[ ]={"Hello Ice!"};B. char str[10]; str={"Hello Ice!"};C. char str[10]; strcpy(str, "Hello Ice!"};D. char str[10]={"Hello Ice!"};答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[3][3]=\{1,2,3,4,5,6,7,8,9\},i;”,则执行下列语句后的输出结果是 for(i=0;i<3;i++)printf("%d,",a[2-i][i]);}A. 9,5,1,B. 9,4,1C. 7,5,3,D. 7,6,1,答案:C题型:单选题知识点:第7章数组难度:214.C语言中,确定函数返回值类型的是A. 调用该函数时由系统默认B. 调用该函数时的主调函数C. return语句中的表达式D. 定义该函数时指定答案:D题型:单选题知识点:第8章函数难度:115.函数调用语句“fun(x1,x2+x3,(x4,x5));”中包含的实参个数是A. 3B. 4C. 5D. 有语法错误答案:A题型:单选题知识点:第8章函数难度:116.若有定义“int a[5],*p=a;”,则下列选项中,对数组a中元素引用正确的是A. *&a[5]B. *(a+2)C. *(p+5)D. a+2答案:B题型:单选题知识点:第9章指针难度:217.{执行下列语句序列后的输出结果是int arr[ ]=\{1,2,3,4,5\}, *ptr=arr;*(ptr+2)+=2; printf("%d,%d",*ptr,*(ptr+2));}A. 3,5B. 1,3C. 2,4D. 1,5答案:D题型:单选题知识点:第9章指针难度:218.{若有定义“enum color \{red, yellow=2, blue, white, black\} c1;”,则执行语句“printf("%d", c1=white);”后的输出结果是}A. 4B. 3C. 2D. 1答案:A题型:单选题知识点:第10章结构、联合与枚举类型难度:219.当定义一个结构体变量时,系统为它分配的内存空间是A. 结构体中占内存容量最大成员所需内存容量B. 结构体中任意一个成员所需内存容量C. 结构体中各成员所需内存容量之和D. 结构体中第一个成员所需内存容量答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.已知函数调用“fread(buffer, size,count, fp);”,其中fp代表的是A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项答案:B题型:单选题知识点:第11章文件难度:121.字符串"\"EOF\n=-\61\""的长度是。
2019年C语言期末考试题及答案
1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。
最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。
计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<0.000001时e=2.718282。
3、求一批数中最大值和最小值的积。
4、某一正数的值保留2位小数,对第三位进行四舍五入。
5、从键盘上输入任意实数x,求出其所对应的函数值。
z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。
7、求一个n位自然数的各位数字的积。
(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。
例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。
9、求一批数中小于平均值的数的个数。
10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。
调用该函数找出100~200之间满足条件的所有数。
11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。
13、编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。
计算公式是:组合数=m!/(n!.(m-n)!)。
2019年C语言考试试题带答案
2019年C语言考试试题带答案1、设int a=2,b;则执行b=a&&1;语句后,b的结果是( )A.0B.1C.2D.32.逗号表达式(a=3*5,a*4),a+15的值是( )A.15B.60C.30D.753. 在以下运算符中,优先级最高的运算符是__________A) , B) [ ] C) && D) +=4. 在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数C) 非0的整数D) 非0的数5.C语言中,逻辑“真“等价于( )。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是( )。
A、1/a*b*cB、1/(a*b*c)C、1/a/b/(float) cD、1.0/a/b/c7、以下标识符中,不能作为合法的C用户定义标识符的是:( )A .a3_b3 B.void C._123 D.abc8.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if (__________)A) a<>0 B) !a C) a=0 D) a9、有以下程序main(){int a,b,d=25;a = d/10 & (-1);b = a && (-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是A 6,1B 2,1C 6,0D 2,010.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。
A)scanf("%f",&a); B) scanf("%5.2f",a);C) scanf("%6.2f",&a); D) scanf("%f",a);11.下面程序段___x=3;do{y=x--;if(!y){printf("x");continue;}printf("#");}while(1<=x<=2);A) 将输出## B) 将输出##*C) 是死循环 D) 含有不合法的控制表达式12、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( )main ( ){int x;scanf(″%d″,&x);if(x++>5) printf(″%d″,x);else printf(″%d\n″,x-1);}A.7和5B.6和3C.7和4D.6和413.合法的数组定义是 ( )A、int a[]="string";B、int a[5]={0,1,2,3,4,5};C、vhst s="string";D、char a[]={0,1,2,3,4,5};14、定义如下变量和数组,则输出结果是( )。
c语言程序设计考试题及答案2019
c语言程序设计考试题及答案2019一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述,错误的是()。
A. 函数可以没有返回值B. 函数可以没有参数C. 函数可以有多个返回值D. 函数可以有多个入口答案:D3. 在C语言中,下列哪个选项是正确的文件操作语句()。
A. FILE *fp; fp = fopen("example.txt", "r");B. FILE *fp; fp = open("example.txt", "r");C. FILE *fp; fp = read("example.txt", "r");D. FILE *fp; fp = openfile("example.txt", "r");答案:A4. 下列关于指针的描述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储数据C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B5. C语言中,下列哪个选项是正确的数组定义方式()。
A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr = {1, 2, 3, 4, 5};答案:A6. 下列关于C语言中预处理命令的描述,正确的是()。
A. #include <stdio.h> 用于编译时包含标准输入输出库B. #define PI 3.14159 是一个宏定义C. #pragma 是编译器指令D. 以上都是答案:D7. 在C语言中,下列哪个选项是正确的循环语句()。
2019c语言期末考试题及答案
2019c语言期末考试题及答案一、选择题(本题共10小题,每小题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. defineC. intD. let答案:C2. 下列哪个选项是正确的C语言标识符?A. 2variableB. variable2C. -variableD. variable$答案:B3. 在C语言中,用于定义一个整型变量并赋值为10的语句是:A. int a = 10;B. int a = '10';C. int a = "10";D. int a = (10);答案:A4. C语言中,表示逻辑“与”操作的符号是:A. &&B. ||C. !D. &答案:A5. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构答案:D6. 在C语言中,用于计算两个整数相加的表达式是:A. a + bB. a - bC. a * bD. a / b答案:A7. C语言中,用于表示字符常量的是:A. 'A'B. "A"C. AD. a答案:A8. 在C语言中,哪个函数用于计算一个数的平方?A. pow()B. sqrt()C. log()D. sin()答案:A9. 下列哪个选项是C语言中的预处理指令?A. #includeB. defineC. returnD. typedef答案:A10. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. defineD. void答案:D二、填空题(本题共5小题,每小题4分,共20分)1. C语言中,用于输出字符串的函数是________。
答案:printf2. 若int a = 10; 则表达式 a++ 的结果是________。
答案:113. C语言中,用于定义一个二维数组的语法是 int arr[3][4]; 其中数组arr的第一维大小为________,第二维大小为________。
2019年C语言期末考试试题及答案
2019年C语言期末考试试题及答案1、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最后B.必须在系统调用的库函数的后面。
C.必须在最开始。
D.可以任意2、若有定义:int a = 7; float x = 2.5 , y = 4.7 ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是()。
A. 2.750000B. 0.00000C. 3.500000D. 2.5000003.已知ch是字符型变量,下面正确的赋值语句是()。
A.ch = '123' ;B. ch=' \08 ';C. ch =' \xff ';D.ch =" \ ";4. 以下标识符中,不能作为合法的C用户定义标识符的是:___________。
A)a3_b3 B)void C)_123 D)abc5、C语言中,运算对象必须是整型的运算符是__________。
A) % B) / C) %和/ D) *6.不合法的八进制数是________A) 0 B) 028 C) 077 D)017.在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是( )A.intB.charC.unsignedD.long8.对下述程序,正确的判断是()。
main( ){ int a,b;scanf ("%d,%d",&a,&b);if(a>b)a=b; b=a;else a++; b++;printf("%d,%d",a,b);}A. 有语法错误不能通过编译B. 若输入4,5则输出5,6C. 若输入5,4则输出4,5D. 若输入5,4则输出5,59. 语句 for(k=0;k<5;++k){if(k= = 3) continue;printf(“%d”,k);}的输出结果为_________。
2019级大学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)。
2019年C语言期末考试题及答案
2019年C语言期末考试题及答案1、已知ch是字符型变量,下面不正确的赋值语句是()。
A.ch = 5 + 9 ;B.ch= ' a + b ';C. ch = ' \ 0 ';D. ch= '7' + '6' ;2.为表示数学关系x≥y≥z,正确的C语言表达式是__________。
A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y)&(y>=z)3.设int m=1,n=2;则++m= =n的结果是()A、0B、1C、2D、34.C语言中基本的数据类型包括__________。
A) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5. 若定义int x=7,y=5,z;则表达式:z=x+5/2*y的值是__________A) 7 B) 7.5 C) 17 D) 19.56.以下说法中正确的是()A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分7.C语言中,int类型数据占2个字节,则long类型数据占()A、1个字节B、2 个字节C、3个字节D、4个字节8.设有程序段int k = 10 ;while ( k = 0 ) k = k - 1 ;以下描述正确的是()。
A. 循环体语句一次也不执行。
B. 循环是无限循环。
C. while 循环语句执行十次。
D. 循环体语句执行一次。
9.以下程序main(){int i=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);}有语法错误不能通过编译输出结果是( )A.8,10,16B.8,10,10C.10,10,10D.10,10,1610.以下程序的输出结果是__________void main(){ int x=10,y=10;printf(“%d %d\n”,x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 911.表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5)C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)12.以下程序中,while循环的循环次数是( )。
2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (3)
[试题分类]:C语言程序设计1.下列选项中,不属于C语言特点的是A. 能实现汇编语言的大部分功能B. 语言简洁、紧凑、使用方便C. 数据类型丰富,可移植性好D. 有较强的网络操作功能答案:D题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,正确的C语言标识符是A. \nB. %dC. _123D. #define答案:C题型:单选题知识点:第2章 C语言概述难度:13.在C语言中,错误的int类型常数是A. 0B. 038C. 0xAFD. 32765答案:B题型:单选题知识点:第3章数据类型与运算规则难度:14.若有定义“int x=5,y=5,z=5;”,执行语句“x%=y+z;”后,x的值是A. 6B. 5C. 1D. 0答案:B题型:单选题知识点:第3章数据类型与运算规则难度:25.若有定义“int x=3,y=4,z=5;”,则下列表达式中值不为1的是A. 'x'&&'y'B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.逗号表达式“(a=3*5,a*4),a+15”的值是A. 15B. 60C. 30D. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=1,j=2,k=3;”,则执行下列语句后的输出结果是if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);A. 1 2 3B. 2 3 4C. 2 2 3D. 2 3 3答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=0;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;default: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=6,y=4B. x=2,y=1C. x=3,y=2D. x=7,y=5答案:A题型:单选题知识点:第5章选择结构的程序设计难度:29.语句序列“int i,j; for (i=0, j=1; i<=j+1; i+=2,j--) printf ("%d\n",i);”执行后i的值是A. 3B. 2C. 1D. 0答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",--n);”后的输出结果是A. 20B. 31C. 210D. 321答案:A题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x-=2);\} while(!(--x));}A. 1B. 3 0C. 1 -2D. 死循环答案:C题型:单选题知识点:第6章循环结构的程序设计难度:212.下列关于数组定义、初始化或赋值语句中,正确的是A. int x[5]={1,2,3,4,5,6};B. int n=8; int score[n];C. int a[8]; a[8]=100;D. int x[]={1,2,3,4,5,6};答案:D题型:单选题知识点:第7章数组难度:113.{若有定义“int a[3][3]=\{0,1,2,0,1,2,0,1,2\}, i,j,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<3;i++)for(j=i;j<=i;j++)s=s+a[i][a[j][j]];}A. 9B. 4C. 3D. 1答案:C题型:单选题难度:214.C语言程序中,调用函数时A. 实参和形参共用一个存储空间B. 实参和形参各自占用一个独立的存储空间C. 由用户指定实参和形参是否共用存储空间D. 由系统指定实参和形参是否共用存储空间答案:B题型:单选题知识点:第8章函数难度:115.下述函数首部定义形式正确的是A. int f(int x,y)B. int f(int x; int y)C. int f(x,y: int)D. int f(int x, int y)答案:D题型:单选题知识点:第8章函数难度:116.若p1和p2为指向同一字符串的指针变量,c为字符变量,则下列语句中,不能正确执行的是A. p2=cB. c=*p2C. p1=p2D. c=*p1+*p2;答案:A题型:单选题难度:217.{下列函数的功能是fun(char *p2, char *p1) \{while((*p2=*p1)!='\0') \{p1++; p2++;\}\}}A. 将p1所指字符串的地址赋值给指针p2B. 检查p1和p2所指字符串中是否有'\0'C. 对p1和p2两个指针所指字符串进行比较D. 将p1所指字符串复制到p2所指内存空间答案:D题型:单选题知识点:第9章指针难度:218.下列程序段中,枚举变量c1和c2的值分别是enum color {red, yellow, blue=4, green, white}; enum color c1=yellow, c2=white;A. 2,6B. 1,6C. 2,5D. 2,4答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} data , *p=&data;则下列选项中,引用data中成员num正确的是}A. (*p).data.numB. p->data.aC. p.data.aD. (*p).a答案:D题型:单选题知识点:第10章结构、联合与枚举类型难度:220.C语言中,对文件进行存取的基本单位是A. 记录B. 字节C. 元素D. 簇答案:B题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为奇数的关系表达式为__________。
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有()个元素。
2019年C语言期末考试题及答案
1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。
最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。
计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<时e=。
3、求一批数中最大值和最小值的积。
4、某一正数的值保留2位小数,对第三位进行四舍五入。
5、从键盘上输入任意实数x,求出其所对应的函数值。
z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:1 2 34 156 12 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。
7、求一个n位自然数的各位数字的积。
(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。
例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为。
9、求一批数中小于平均值的数的个数。
10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。
调用该函数找出100~200之间满足条件的所有数。
11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。
13、编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。
计算公式是:组合数=m!/(n!.(m-n)!)。
要求:m不能小于n,否则应有容错处理。
说明:函数fact(x)的功能是求x!。
c语言期末考试卷答案
试卷编号:451所属语言:C语言试卷方案:2019-2020(2)C语言期中考试试卷总分:100分共有题型:4种一、判断共25题(共计25分)第1题(1.0分)题号:1114 难度:中第1章在C语言程序设计中,"/*"和"*/"之间的内容是C语言的注释.答案:Y第2题(1.0分)题号:1115 难度:易第1章c程序总是从程序的第一条语句开始执行.答案:N第3题(1.0分)题号:1152 难度:中第2章int k=8567;printf("|%-6d|\n",k);的输出为|008567|.答案:N第4题(1.0分)题号:1132 难度:中第2章C程序中的关键字必须小写,其他标识符不区分大小写.答案:N第5题(1.0分)题号:1174 难度:中第3章在C程序中,赋值运算符的优先级最低.答案:N第6题(1.0分)题号:1168 难度:中第3章若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真".答案:Y第7题(1.0分)题号:1164 难度:中第3章7&3+12的值是15.答案:N第8题(1.0分)题号:1173 难度:中第3章在C程序中,逗号运算符的优先级最低.答案:Y第9题(1.0分)题号:1172 难度:中第3章关系运算符<= 与 == 的优先级相同.答案:N第10题(1.0分)题号:1184 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x<=10;"后,t的值为1.答案:Y第11题(1.0分)题号:1181 难度:中第4章若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数据. 答案:N第12题(1.0分)题号:1179 难度:中第4章若a和b的类型相同,在执行了a=b;后,b中的值将丢失.答案:N第13题(1.0分)题号:1178 难度:中第4章x*=y+8 等价于 x=x*(y+8).答案:Y第14题(1.0分)题号:1180 难度:中第4章若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变. 答案:Y第15题(1.0分)题号:1182 难度:中第4章若a是实型变量,在执行了a=5;后,a将变为整型变量.答案:N第16题(1.0分)题号:1185 难度:中第4章设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0.答案:Y第17题(1.0分)题号:1186 难度:中第4章在C程序中,j++;是一条赋值语句.答案:Y第18题(1.0分)题号:1197 难度:中第5章与 if(E) 语句中的(E)等价的表达式是 (E==0).答案:N第19题(1.0分)题号:1187 难度:中第5章C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是任意的. 答案:N第20题(1.0分)题号:1198 难度:中第5章在C语言中,逻辑"真"等价于不等于0的数.答案:Y第21题(1.0分)题号:1189 难度:中第5章if后面的控制表达式可以不用括号括起来.答案:N第22题(1.0分)题号:1194 难度:中第5章int i=3,j=5; if(i>j);是正确的.答案:Y第23题(1.0分)题号:1190 难度:中第5章if语句后面的控制表达式只能使用关系表达式或逻辑表达式.答案:N第24题(1.0分)题号:1201 难度:中第5章开关语句switch最多可形成三个分支.答案:N第25题(1.0分)题号:1200 难度:中第5章int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A.答案:N二、单选共25题(共计25分)第1题(1.0分)题号:6170 难度:中第1章C语言程序的基本单位是().A:函数B:过程C:子程序D:子例程答案:A第2题(1.0分)题号:5214 难度:中第1章一个C语言程序是由().A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B第3题(1.0分)题号:5284 难度:中第2章若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97), 则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch,k); printf("k=%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%dD:61,141,k=%12答案:C第4题(1.0分)题号:5232 难度:中第2章C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().A:必须为字母B:必须为下划线C:必须为字母或下划线D:可以是字母,数字和下划线中任一字符答案:C第5题(1.0分)题号:5343 难度:中第3章若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第6题(1.0分)题号:6234 难度:中第3章语句printf("%d",(a=2)&&(b=-2));的输出结果是().A:无输出B:结果不确定C:-1D:1答案:D第7题(1.0分)题号:5301 难度:中第3章C语言能正确处理的指数是().A:8.5e4288B:e-32C:123000000000D:4.5e-5.6答案:C第8题(1.0分)题号:5350 难度:中第3章下列运算符中优先级最高的是().A:<B:+C:&&D:!=答案:B第9题(1.0分)题号:5304 难度:中第3章逻辑运算符两侧运算对象的数据类型().A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第10题(1.0分)题号:5384 难度:中第4章以下不符合C语言语法的赋值语句是().A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第11题(1.0分)题号:5374 难度:中第4章若有以下定义:char s='\092'; 则该语句().A:使s的值包含1个字符B:定义不合法,s的值不确定C:使s的值包含4个字符D:使s的值包含3个字符答案:B第12题(1.0分)题号:5380 难度:中第4章先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(). A:c='a';B:c="a";C:c="97";D:C='97'答案:A第13题(1.0分)题号:6244 难度:中第4章能正确表示a和b同时为正或同时为负的逻辑表达式是().A:(a>=0||b>=0)&& (a<0||b<=0)B:(a>=0&&b>=0)&& (a<0&&b<=0)C:(a+b>0)&& (a+b<=0)D:a * b >0答案:D第14题(1.0分)题号:5379 难度:中第4章下列语句的结果是().main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3B:3,4C:4,3D:4,4答案:D第15题(1.0分)题号:6246 难度:中第4章下列关于switch语句和break语句的结论中,正确的是().A:break语句是switch语句中的一部分B:在switch语句中可以根据需要使用或不使用break语句C:在switch语句中必须使用break语句D:break语句只能用于switch语句中答案:B第16题(1.0分)题号:6251 难度:中第4章有一函数如图: ,以下程序段中不能根据x值正确计算出y值的是().A:if(x >0) y =1;else if(x = =0) y =0;else y = -1;B:y =0;if(x >0) y =1;else if (x <0) y = -1;C:y=0;if(x > =0)if(x >0) y =1;else y =-1;D:if(x > =0)if(x >0) y =1;else y =0;else y = -1;答案:C第17题(1.0分)题号:5370 难度:中第4章若变量均已正确定义并赋值,以下合法的C语言赋值语句是().A:x=n/2.5;B:x==5;C:x+n=I;D:5=x=4+1;答案:A第18题(1.0分)题号:5400 难度:中第5章int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第19题(1.0分)题号:5401 难度:中第5章int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第20题(1.0分)题号:6274 难度:中第5章有以下程序段:int k=0;while(k=1)k++;while循环执行的次数是().A:无限次B:有语法错误,不能执行C:一次也不执行D:执行一次答案:A第21题(1.0分)题号:6275 难度:中第5章以下程序中,while循环的循环次数是().#include<stdio.h>void main(){ int i=0;while(i<10){ if(i<1) continue;if(i= =5) break;i++; }……}A:1B:10C:6D:死循环,不能确定次数答案:D第22题(1.0分)题号:5407 难度:中第5章在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式().A:只能用逻辑表达式B:只能用关系表达式C:只能用逻辑表达式或关系表达式D:可用任意表达式答案:D第23题(1.0分)题号:6256 难度:中第5章下列程序执行后的输出结果是().void main(){ int k=5;while(--k) printf("%d",k-=3);printf("\n"); }A:1B:2C:4D:死循环答案:A第24题(1.0分)题号:5408 难度:中第5章执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第25题(1.0分)题号:6268 难度:中第5章在while(x)语句中的x与下面条件表达式等价的是().A:x= =0B:x= =1C:x!=1D:x!=0答案:D三、程序填空共3题(共计30分)第1题(10.0分)题号:961 难度:中第3章/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为: 2,在程序中定义的变量名要与公式的变量相同)。
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语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的关键字?A. intB. StringC. mainD. void答案:A2. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 以下哪个是合法的C语言变量名?A. 2variableB. variable2C. variable-nameD. variable#name答案:B4. 在C语言中,哪个函数用于计算两个数的和?A. sum()B. add()C. plus()D. None of the above答案:D5. 下列哪个是C语言的标准输入输出库?A. <stdio.h>B. <iostream.h>C. <io.h>D. <input.h>答案:A6. 在C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个关键字用于定义一个函数?A. funcB. functionC. defD. void答案:D8. 下列哪个是C语言中的控制流语句?A. ifB. switchC. forD. All of the above答案:D9. 在C语言中,哪个函数用于输出字符串到标准输出设备?A. printf()B. puts()C. cout()D. print()答案:B10. 下列哪个是C语言的字符串类型?A. charB. stringC. strD. text答案:A二、填空题(每题2分,共10分)1. 在C语言中,字符常量用____表示。
答案:单引号2. 在C语言中,一个数组的元素个数称为____。
答案:数组的长度或数组的维度3. 函数____用于输出格式化的数据到标准输出设备。
答案:printf4. 在C语言中,____关键字用于定义一个函数的返回类型。
2019c语言期末考试题及答案
2019c语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. struct答案:A2. 下列关于C语言数组的描述,正确的是:A. 数组必须初始化B. 数组可以是多维的C. 数组的索引从1开始D. 数组的大小在运行时确定答案:B3. 在C语言中,以下哪个运算符用于计算两个数的差?A. +B. -C. *D. /答案:B4. 以下哪个选项是C语言中的逻辑运算符?A. %B. &&C. ||D. ==5. 在C语言中,用于定义结构体的关键字是:A. intB. structC. floatD. char答案:B6. 下列哪个选项不是C语言中的控制语句?A. ifB. forC. whileD. switch答案:D7. 以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个关键字用于定义指针?A. intB. charC. *D. void答案:C9. C语言中,用于打开文件的函数是:B. fcloseC. fgetcD. fputc答案:A10. 下列哪个选项是C语言中的预处理指令?A. #includeB. printfC. scanfD. return答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义变量的关键字是________。
答案:int2. 在C语言中,数组的索引从________开始。
答案:03. 用于计算两个整数的和的运算符是________。
答案:+4. C语言中,用于声明函数的关键字是________。
答案:int5. 在C语言中,用于声明指针的符号是________。
答案:*6. C语言中,用于声明结构体的关键字是________。
答案:struct7. C语言中,用于声明字符数组的关键字是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。
最大值第三行i<=n五行k+12、编写程序求无理数e的值并输出。
计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<时e=。
3、求一批数中最大值和最小值的积。
4、某一正数的值保留2位小数,对第三位进行四舍五入。
5、从键盘上输入任意实数x,求出其所对应的函数值。
z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。
7、求一个n位自然数的各位数字的积。
(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。
例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为。
9、求一批数中小于平均值的数的个数。
10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。
调用该函数找出100~200之间满足条件的所有数。
11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。
13、编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。
计算公式是:组合数=m!/(n!.(m-n)!)。
要求:m不能小于n,否则应有容错处理。
说明:函数fact(x)的功能是求x!。
14、找出一批正整数中的最大的偶数。
15、实现两个整数的交换。
例如:给a和b分别输入:60和65,输入为:a=65 b=6016、将字符串中的小写字母转换为对应的大写字母,其它字符不变。
17、求一个四位数的各位数字的立方和。
18、求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。
19、对任意输入的 x,用下式计算并输出 y 的值。
5 x<10y= 0 x=10-5 x>1020、求给定正整数m以内的素数之和。
例如:当m=20时,函数值为77。
21、判断整数x是否是同构数。
若是同构数,函数返回1;否则返回0。
x的值由主函数从键盘读入,要求不大于100。
22、用函数求N个[10,60]上的整数中能被5整除的最大的数,存在则返回这个最大值,如果不存在则返回0。
23、编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字。
例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。
24、编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。
例如:原来存顺序为8,6,5,4,1。
要求改为:1,4,5,6,8。
25、对长度为8个字符的字符串,将8个字符按降序排列。
例如:原来的字符串为CEAedcab,排序后输出为edcbaECA26、根据整型参数n,计算如图公式的值。
27、键盘上输入一个3行3列矩阵的各个元素的值(为整数)然后输出主对角线元素的积,并在fun()函数中输出。
28、编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。
29、统计出若干个学生的平均成绩,最高分以及得最高分的人数。
例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为,最高分为92,得最高分的人数为3人。
30、编写程序,实现矩阵(3行3列)的转置(即行列互换)31、用函数实现字符串的复制, 不允许用strcpy()函数。
32、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。
请编写fun函数。
33、用do-while语句求1~100的累计和34、编写函数求1~100中奇数的平方和。
结果为16665035、计算并输出给定整数的所有因子之积(包括自身)。
规定这个整数的值不大于50。
36、求1到100之间的偶数之积37、编写函数求表达式的和(n的值由主函数输入)。
1-1/2+1/3-1/4+......+1/m38、产生20个[30,120]上的随机整数放入二维数组a[5][4]中, 求其中的最小值。
39、能计算从1开始到n的自然数的和,n由键盘输入,并在main()函数中输出。
当N为偶第三行i=2i=i+2第四行i*i41、计算出k以内最大的10个能被13或17整除的自然数之和。
(k〈3000)42、判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
43、从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:7531。
如果为642,在第二行加,s/=10;44、求大于lim(lim小于100的整数)并且小于100的所有素数并放在aa数组中,该函数返回所求出素数的个数。
45、求一批数中最大值和最小值的差如为积将-改*46、求出菲波那契数列的前一项与后一项之比的极限的近似值。
例如:当误差为时,函数值为。
47、将两个两位数的正整数a、b合并形成一个整数放在c 中。
合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上。
例如:当a=45,b=12,调用该函数后,c=2514。
答案;48、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。
调用该函数找出100~200之间满足条件的所有数。
49、判断m是否为素数50、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。
51、求出二维数组周边元素之和,作为函数值返回。
二维数组的值在主函数中赋予。
52、编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。
53、编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。
调用该函数求出15~300之间能同时被3和5整除的数的个数。
54、编写函数fun,求任一整数m的n次方55、从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。
例如:7是素数,8不是素数。
请编写fun函数。
素数是仅能被1和自身整除的数56、用辗转相除法求两个整数的最大公约数57、求一批数中小于平均值的数的个数58、编写函数用选择排序法对数组中的数据进行从小到大的排序。
59、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。
60、将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用’.’结束输入61、编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果。
请编写fun函数。
例如:若n值为5,则结果为15362、根据整型形参m,计算如下公式的值:y=sin(m)*10。
例如:若m=9,则应输出:63、求一个大于10的n位整数的后n-1位的数,并作为函数值返回。
64、求给定正整数m以内的素数之和。
例如:当m=20时,函数值为77。
65、求给定正整数n以内的素数之积。
(n<28)66、求一个给定字符串中的字母的个数。
68、编写程序, 求矩阵(3行3列)与2的乘积例如:输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:200 400 600800 1000 12001400 1600 180069、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。
70、编写函数fun计算下列分段函数的值:x^2+x+6 x<0且x≠-3f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3x^2-x-1 其它71、用函数将第2个串连接到第1个串之后,不允许使用 strcat函数。
72、求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。
73、编写函数用冒泡排序法对数组中的数据进行从小到大的排序。
74、将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在 c数的千位和十位上, b数的十位和个位数依次放在 c数的个位和百位上。
例如:当a=45,b=12。
调用该函数后,c=4251。
75、对某一正数的值保留2位小数,并对第三位进行四舍五入。
79、找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。
80、用函数求fibonacci数列前n项的和。
说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。
例如:当n=28时,运行结果:83203981、删除所有值为y的元素。
数组元素中的值和y的值由主函数通过键盘输入82功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和例如:求前20项之和的值为。
int i;float f1=1,f2=1,f3,s=0;for(i=1;i<=n;i++){f3=f1+f2;f1=f2;f2=f3;s=s=f2/f1;}return s;83功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)答案:double z;If(x>10)z=log(x+3)else if(x > -3)z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);84题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。
int I,j,k=0;for(i=0;i<N;i++)for(j=N-1-I;j<N;j++)k=k+a[i][j];return(k);85功能:用函数实现字符串的复制, 不允许用strcpy()函数。