2019年C语言期末考试题与答案
- 格式:doc
- 大小:586.00 KB
- 文档页数:9
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语言期末考试题库及详解答案一、选择题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语言考试题(含答案)姓名成绩温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。
加油!一单项选择题1. 在C语言中,以 D 作为字符串结束标志A)’\n’ B)’’ C) ’0’ D)’\0’2.下列数据中属于“字符串常量”的是( A )。
A.“a”B.{ABC}C.‘abc\0’D.‘a’若干个字符构成字符串在C语言中,用单引号标识字符;用双引号标识字符串选项B,C,分别用{}和’’标识字符串选项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 t6.下列C语言用户标识符中合法的是( B )。
A)3ax B)x C)case D)-e2 E)union7.下列四组选项中,正确的C语言标识符是( C )。
A) %x B) a+b C) a123 D) 1238、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age9.C语言中的简单数据类型包括( D )。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是 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、定义如下变量和数组,则输出结果是( )。
试卷编号: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语言程序设计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\""的长度是。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
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、定义如下变量和数组,则输出结果是( )。
2019年C语言程序设计期末考试题两份附答案c语言程序设计期末试题(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( A)。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是(D)。
//以字母或下划线开头A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是(C)。
A) char a='A'b='B'; B) float a=b=10.0; //a=10.0,b=10.0;C) int a=10,*b=&a; D) float *a,b=&a; //b是一个数,不能把地址赋值给它。
4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是(D)。
A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( D)。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;//两条语句6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( C)。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;//A.赋值号左边只能是变量,不能是表达式B,取模运算的数据只能是整型,a强制转换成整型,但b为实型,整型加实型为实型D,int型变量在内存中占的空间比double型少,所以不能把a,b的值赋给w7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D )。
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);}的输出结果为_________。
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 选项初始化方式错误,应该用花括号。
学习中心/函授站_姓名学号西安电子科技大学网络与继续教育学院2019学年上学期《高级语言程序设计(C)》期末考试试题(综合大作业)考试说明:1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片);2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净。
一、选择题(本题共20道小题,共40分。
)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。
A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 以上程序段的输出结果是A)k=11,k=12,k=11 B)k=11,k=13,k=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b9.以下程序的输出结果是()。
1、给定n个数据, 求最小值出现的位置(如果最小值9、求一批数中小于平均值的数的个数。
出现多次,求出第一次出现的位置即可)。
10、编写函数判断一个整数m的各位数字之和能否被7整除,k+1 第三行i<=n五行最大值可以被7整除则返回1,否则返回0。
调用该函数找出2的值并输出。
计算公式为:、编写程序求无理数e 100~200之间满足条件的所有数。
e=1+1/1!+1/2!+1/3!+......+1/n!e=。
1/n!< 当时11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列、求一批数中最大值和最小值的积。
3中最大元素,并依次放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
24、某一正数的值保留位小数,对第三位进行四舍五入。
12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a求出其所对应的函数值。
按由大到小排序,并在主程序中输出、从键盘上输入任意实数5x,排序结果。
z=(x-4)的二次幂(x>4)的八次幂(x>-4) z=x13、编写main程序调用函数fact求解从m个元素选n个元z=z=4/(x*(x+1))(x>-10)素的组合数的个数。
计算公式是:组合数=m!/(n!.(m-其他)z=|x|+20(n)!)。
要求:m不能小于n,否则应有容错处理。
×M整型数组的最大元素及其所在的行坐标N6、求出说明:函数fact(x)的功能是求x!。
及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。
14、找出一批正整数中的最大的偶数。
例如:输入的数组为:1 2 315、实现两个整数的交换。
4 15 6例如:给a和b分别输入:60和65,输入为:a=65 b=6012 18 910 11 216、将字符串中的小写字母转换为对应的大写字母,其它字符不变。
,列坐标为2行坐标为求出的最大数为 18,1。
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循环的循环次数是( )。
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语言程序设计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为奇数的关系表达式为__________。
一、单项选择题(请将答案填在下面表格中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有()个元素。
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的第一维大小为________,第二维大小为________。
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、给定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)!)。
要求: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,则输出平均成绩为77.9,最高分为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、求出菲波那契数列的前一项与后一项之比的极限的近似值。
例如:当误差为0.0001时,函数值为0.618056。
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,则应输出:4.12118563、求一个大于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≠3 x^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项之和的值为32.660259。
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阶方阵右下三角元素的和(包括副对角线上的元素)。