c语言复习题(49题)

合集下载

C语言复习60题

C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。

02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。

04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。

B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。

D、__int。

09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。

C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。

12写出下式的运算结果:10/3*3、0正确答案是:9、0。

C语言考试复习题

C语言考试复习题

一、选择题1.在每个 C 程序中都一定包括有这样一个函数,该函数的函数名为。

A. mainB. MAINC. nameD. function2.在以下对于 C 语言的说明的表达中,不正确的选项是A.说明可用 "/*" 、"*/" 形式表示,也可用 "//" 形式表示。

B.编译器在编译一个程序时,将跳过说明,不对其进行办理C.编译器在编译一个程序时,可发现说明中的单词拼写错误D.程序中说明的多少不会影响所生成的可履行文件的长度3.以下表达不正确的选项是。

A.在 C 程序中,严格划分大小写字母B.一个 C 源程序有且仅有一个main 函数C.在 C 程序中,说明只好位于一条语句的后边D.一个 C 程序老是从 main 函数开始履行4.以下合法的表记符为A. abde+B. #KDJFC. 67KDJD. DK3_5.对于字符串和字符的关系正确的选项是A.“A”与’A’是同样的B.字符串是常量,字符是变量C.“A”与’A’是不一样的D.“A ”与“ A”是同样的6.下边对于语句的说法正确的选项是A.下边这两段程序的履行成效是一致的if (x>y){z=x; s=z*z;} else{z=y;s=1/(z*z);}if (x>y)z=x; s=z*z; elsez=y;s=1/(z*z);B.空语句是只有一个分号的语句,它其实什么也不干C.语句的构成不必定需要分号D.语句的书写对程序的运转不起作用,所以能够随意写都能够7.以下各表记符中,合法的用户表记符组为。

A.PAd,P#d,b-b,abc,_0123,ssipedB.cin,a10,CPP,float,del_word,signedC.void, max,hiy, <fr>,list ,*jerD.a,temp, _isw,INT ,keep,wind8.字符串“ ”E””的长度是。

C语言复习题

C语言复习题

《C语言》复习题一、选择题(1) 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是: DA) 3 4 B) 4 2 C) 4 3 D) 3 3(第三章输出语句)(2)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;(第四章关系表达式)(3)在以下一组运算符中,优先级最高的运算符是: CA)<= B)=C)% D)&&(第四章运算符的优先级)(4) 请选出合法的C语言赋值语句: BA) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)(第三章赋值语句)(5)以下说法中正确的是: CA)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句(第三章语句概述)(6)若有以下定义: Dchar a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(第二章类型混合运算)(7)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.5(第二章类型混合运算)(8)有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是: AA) 2,1 B) 3,2 C) 4,3 D) 2,-1(第四章逻辑运算符)(9) 以下程序运行后,输出结果是: CA) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错main(){ char *s="abcde";s+=2;printf("%ld\n",s);}(第九章指针的概念)(10)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:DA)a<>0 B)!aC)a=0 D)a(第4章条件表达式)(11)有如下程序段,其输出结果是什么: Amain( ){int a=1,b=3,c=5;if (c=a+b)printf ("yes\n");else printf("no\n"); }A) yes B) no C) yes\n D) no\n(第4章条件语句)(12) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表1示代数式----- 的表达式是: DabcA) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c(第二章类型混合运算)(13)若i ,j已定义为int类型,则以下程序段中内循环体的总的执行次数是: Afor (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)15C)24 D)16(第五章for循环语句)(14)下面哪个程序段不是死循环: C(A) a=0; sum=0;while(a=1){sum=sum+a;a++;}(B) {int I,sum=0;For(i=1;i<=3;sum++)sum+=I;}(C) sum=0;for(i=1;i<10;i++);sum=sum+i;(D) sum=0;for(i=1; ;i++)sum=sum+i;(第五章for循环语句)15、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)16、不能把字符串:Hello!赋给数组b的语句是: BA)char b[10]={'H','e','l','l','o','!'};B)char b[10];b="Hello!";C)char b[10];strcpy(b,"Hello!");D)char b[10]="Hello!";17、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)18、请选出以下语句的输出结果: Aprintf("%d\n",strlen("\t\"\065\xff\n"));A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(19)假定所有变量均已正确说明,下列程序段运行后x的值是: Ba=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;A)34 B)4 C)35 D)3(第四章if语句)(20) 运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为: CA) 2,0 B) 5,0 C) 5,5 D) 2,5#include<stdio,h>main(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}(第四章switch语句)(21) 执行以下程序段时: AA) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误x=-1;do {x=x*x; } while(! x);(第五章do_whule语句)(22)执行下面的程序后,a的值为: Bmain(){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7 B)8C)9 D)10(第5章break,continue 语句)23) 下面能正确进行字符串赋值操作的语句是: CA) char s[5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF"; D) char *s; scanf("%s",s);(第6章字符数组的定义;第9章字符串指针)(24)不能把字符串:Hello!赋给数组b的语句是: BA)char b[10]={'H','e','l','l','o','!'};B)char b[10];b="Hello!";C)char b[10];strcpy(b,"Hello!");D)char b[10]="Hello!";(第6章字符数组的使用)(25)函数调用:strcat(strcpy(str1,str2),str3)的功能是: CA)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(第6章字符串处理函数)(26)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为: CA) 数组X和数组Y等价B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度D) 数组X的长度小于数组Y的长度(第6章字符数组的定义)(27)以下程序的输出结果是: DA)AfghdEFG B)Abfhd C)Afghd D)Afgd#includemain( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s",str);}(第6章字符串处理函数;第9章字符串指针)(28)下面哪个程序段编译会出错: DA) max(int x,int y,int *z) B) max(int x, int y){ *z=x>y?x:y;} {return x>y?x:y;}C) max(int x,int y) D) int max(int x, y){ int z; { int zz=x>y?x:y; z=x>y?x:y;return z;} return z;}(29)下列程序执行后输出的结果是: D#include 〈stdio.h〉f(int a){ int b=0;static c=3:a=c+ +,b+ +;returu(a);}main( ){ int a=2,i,k;for(i=0;i<2;i+ +)k=f(a+ +);printf("%d\n",k);}A)3 B)0 C)5 D)4(第7章静态变量)(30)下列程序执行后输出的结果是: Aint d=1;fun (int q){ int d=5;d + =q+ +;printf("%d".d);}main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d);}A)8 4 B)9 6 C)9 4 D)8 5(第7章函数调用;第3章复合赋值运算符)(31)以下程序的输出结果是: Dmain(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9C)9 10 D)10 9(第7章函数调用时,参数结合方式:右结合)(32)有以下程序int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是: CA)50,30 B)30,50 C)80,-20 D)80,20(第7章函数调用;第9章指针变量做参数)(33)执行下面的程序后,a的值是: B#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A)10 B)1 C)9 D)0(第8章带参宏定义)(34) 以下有关宏替换的叙述不正确的是: DA) 宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用大写字母表示(第8章宏定义)(35)C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(第8章宏定义运行特点)(36)若有宏定义如下:#define X 5#define Y X+1#define Z Y * X / 2则执行以下printf语句后,输出结果是: Dint a; a=Y;Printf("%d\n", Z);Printf("%d\n", - - a);A) 7 B) 12 C) 12 D) 76 6 5 5(第7章函数调用;第8章带参宏定义)37、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是: DA) &t[3][2]B) t[3][2] C) t[1][0] D) t[2]+138、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.539、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;40、C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(41)请读程序:#define ADD(x) x+xmain(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是: BA) sum=9 B) sum=10 C) sum=12 D) sum=18(第8章带参宏定义)(42)在宏定义 #define PI 3.14159中,用宏名PI代替一个: DA) 常量 B)单精度数 C)双精度数 D)字符串(第8章宏定义)(43)设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)(第9章数组指针与指向主组的指针)44、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是___C____。

c语言复习题

c语言复习题

A. 6 B. 7 C. 11 D. 12
(10) 合法的数组定义是( )。 A
A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5}
A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n];
(4) 对字符数组进行初始化,( )形式是错误。 B
A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123";
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。
(8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。 A
A. 6 B. 7 C. 11 D. 12
(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。 D

C语言期末复习资料

C语言期末复习资料

D. a = 0
36、下列程序段运行后 x 的值是 A 。
main ()
{ int a, b, c, x ;
a=b=c=0 ; x= 35 ;
if ( !a ) x-- ;
else if ( b ) ;
if ( c ) x =3 ;
printf ( "%d", x ); }
A. 34
B. 0
C. 35
{ case 1: printf ("*\n");
case 1+2: printf ("**\n"); }
case 2: printf ("**\n"); }
32、以下由 while 构成循环的次数是
D。
int i = 1 ;
while ( i == 1 ) i++;
A. 执行无限次
B. 语法错
C. 一次也不执行
17、以下程序的输出结果是 _____A_____。
# include <string.h>
main( )
{ printf ( "%d\n", strlen ("IBM\n012\1\\" ) ) ;
}
A. 9
B. 7
C. 11
D. 10
18、下列叙述中,不是 C 语言特点的是
B。
A. 简洁、紧凑,使用方便、灵活,易于学习和掌握
}
A. 10
B. 11
C. 13
D. 3
8、若以下变量均已正确说明为 char 类型,要给 x、y 和 z 输入数据,正确的是 B 。
A. scanf ( x, y, z );

c语言复习题(49题)

c语言复习题(49题)

以下作业编程练习,每个主题至少选择4道题作为作业题(各主题中所列题目不足4题的按实际数量选做)。

每次作业计2分,作为平时成绩。

另外,此练习题作为C 语言上机考试的考题来源之一(共49题)。

一、 顺序结构程序设计========================================1 已知三角形的三边长为a ,b ,c ,计算三角形面积的公式为: area = ))()((c s b s a s s ---,s =)(21c b a ++ 要求编写程序,从键盘输入a ,b ,c 的值,计算并输出三角形的面积。

2 编程从键盘输入圆的半径r ,计算并输出圆的周长和面积。

二、 选择结构程序设计==========================================1 从键盘任意输入一个年号,判断它是否是闰年。

若是闰年,输出“Yes ”,否则输出“No ”。

已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。

能被400整除。

2 通过键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。

3 华氏和摄氏温度的转换公式为C =5/9×(F -32)。

其中,C 表示摄氏温度,F 表示华氏温度。

要求:华氏0℉~300℉,每隔20℉输出一个华氏温度对应的摄氏温度值。

4 编程判断输入整数的正负性和奇偶性。

5 编程计算分段函数e 1exx y -⎧⎪=⎨⎪-⎩ 000x x x >=< 输入x ,打印出y 值。

流程图如图1-2所示。

6 输入三角形的三条边a ,b ,c ,判断它们能否构成三角形。

若能构成三角形,指出是何种三角形(等腰三角形、直角三角形、一般三角形)。

7 在屏幕上显示一张如下所示的时间表:*****Time*****1 morning2 afternoon3 nightPlease enter your choice:操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息,选择1时显示"Good morning", 选择2时显示"Good afternoon", 选择3时显示"Good night",对于其他选择显示"Selection error!",用switch 语句编程实现。

C语言复习题

C语言复习题

1. 若有定义:long int j,*p;,则操作j=(long int)p;是合法操作。

√ ×正确2. 设有说明int(*ptr)[M];其中ptr是指向含有M个整型元素的一维数组的指针。

()√ ×正确3. 对同一类型的两个指针变量而言,一个变量向另外一个变量赋值的结果是使得两个指针指向同一个对象。

√ ×正确4. 定义一个指向某种类型函数的指针后,就可以讲任何函数的首地址赋给这个指针变量。

√ ×错误正确答案为×5. 可以将一个整型指针变量的值赋给一个实型指针变量,但可能引起符号位扩展。

√ ×错误正确答案为×6. 可以将一个实型指针变量的值赋给一个整型指针变量,但可能影响指针的精度。

√ ×错误正确答案为×7. 由于指针的数据类型实际上是指定指针所能指向对象的数据类型,所以不通数据类型的指针变量不能相互赋值。

√ ×正确8. 函数中使用指针变量作为形式参数,就有可能在被调函数中操作主调函数中的实参。

√ ×正确9. 若有定义:int a[5],*p;,则操作p=a;是合法的操作。

√ ×正确10. 若有定义:int a[5],*p;,则操作p=&a[2];是合法的操作。

√ ×正确11. 若有定义:int a[5][5],*p;,则操作p=a;是合法操作。

√ ×错误正确答案为×12. 若有定义:int a[5][5],*p;,则操作p=*a;是合法操作。

√ ×正确13. 若有定义:int a[5][5],*p;,则操作p=a[0];是合法操作。

√ ×正确14. 若有定义:int a[5][5],*p;,则操作p=&a[0][0];是合法操作。

√ ×正确15. 若有定义:int a[5][5],(*p)[5];,则操作p=a;是合法操作。

C语言程序设计复习题

C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。

A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。

A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。

A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。

A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。

A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。

A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。

A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。

A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。

A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以下作业编程练习,每个主题至少选择4道题作为作业题(各主题中所列题目不足4题的按实际数量选做)。

每次作业计2分,作为平时成绩。

另外,此练习题作为C 语言上机考试的考题来源之一(共49题)。

一、 顺序结构程序设计========================================1 已知三角形的三边长为a ,b ,c ,计算三角形面积的公式为: area = ))()((c s b s a s s ---,s =)(21c b a ++ 要求编写程序,从键盘输入a ,b ,c 的值,计算并输出三角形的面积。

2 编程从键盘输入圆的半径r ,计算并输出圆的周长和面积。

二、 选择结构程序设计==========================================1 从键盘任意输入一个年号,判断它是否是闰年。

若是闰年,输出“Yes ”,否则输出“No ”。

已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。

能被400整除。

2 通过键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。

3 华氏和摄氏温度的转换公式为C =5/9×(F -32)。

其中,C 表示摄氏温度,F 表示华氏温度。

要求:华氏0℉~300℉,每隔20℉输出一个华氏温度对应的摄氏温度值。

4 编程判断输入整数的正负性和奇偶性。

5 编程计算分段函数e 1exx y -⎧⎪=⎨⎪-⎩ 000x x x >=< 输入x ,打印出y 值。

流程图如图1-2所示。

6 输入三角形的三条边a ,b ,c ,判断它们能否构成三角形。

若能构成三角形,指出是何种三角形(等腰三角形、直角三角形、一般三角形)。

7 在屏幕上显示一张如下所示的时间表:*****Time*****1 morning2 afternoon3 nightPlease enter your choice:操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息,选择1时显示"Good morning", 选择2时显示"Good afternoon", 选择3时显示"Good night",对于其他选择显示"Selection error!",用switch 语句编程实现。

8 读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch 语句编程。

三、 循环结构程序设计==========================================1 编程计算1!+2!+3!+4!+…+10!的值。

2 编程计算 a+aa+aaa+…+aa …a (n 个a )的值,n 和a 的值由键盘输入。

3 利用2π= (7)656543432122⨯⨯⨯⨯⨯⨯=π×…的前100项之积计算π的值。

4 计算 +-++-+-100199********,直到最后一项的绝对值小于10-4为止。

5 利用泰勒级数sin(x )≈,!9!7!5!39753 -+-+-x x x x x 计算sin(x ) 的值。

要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。

6 打印所有的“水仙花数”。

所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。

例如,153是“水仙花数”,因为153=13+33+53。

7 从键盘任意输入一个4位数x ,编程计算x 的每一位数字相加之和(忽略整数前的正负号)。

例如,输入x 为1234,则由1234分离出其千位1、百位2、十位3、个位4,然后计算1+2+3+4=10,并输出10。

8 三色球问题。

若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配?9 编程打印以下图案。

(1) (2) (3) 10 按如下格式打印100以内整数的平方根表。

****** ****** ****** ****** * *** ***** ********** *** ***** *******950.9899.9849.9798.9747.9695.9644.9592.9539.9487.99434.9381.9327.9274.9220.9165.9110.9055.9000.9944.88888.8832.8775.8718.8660.8602.8544.8485.8426.8367.87307.8246.8185.8124.8062.8000.8937.7874.7810.7746.76681.7616.7550.7483.7416.7348.7280.7211.7141.7071.75000.7928.6856.6782.6708.6633.6557.6481.6403.6325.64245.6164.6083.6000.6916.5831.5745.5657.5568.5477.53385.5292.5196.5099.5000.5899.4796.4690.4583.4472.42359.4243.4123.4000.4873.3742.3606.3464.3317.3162.31000.3828.2646.2449.2236.2000.2732.1414.1000.1000.009876543210四、 一维数组==========================================1 下面程序模拟了骰子的6000次投掷,用rand 函数产生1~6之间的随机数face ,然后统计1~6每一面出现的机会(概率)存放到数组frequency 中。

2 从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。

3 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和。

4 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。

五、 二维数组==========================================1 输入5×5阶的矩阵,编程实现:(1)求两条对角线上的各元素之和。

(2)求两条对角线上行、列下标均为偶数的各元素之积。

2 编程打印如下形式的杨辉三角形。

11 11 2 11 3 3 11 4 6 4 1 1 5 10 10 5 13 利用公式c ij =a ij +b ij 计算m ×n 阶矩阵A 和m ×n 阶矩阵B 之和。

已知a ij 为矩阵A 的元素,b ij 为矩阵B 的元素,c ij 为矩阵C 的元素(i =1,2,…,m ;j =1,2,…,n )。

4* 利用公式c ij =∑=nk ik a 1*b kj 计算矩阵A 和矩阵B 之积。

已知a ij 为m ×n 阶矩阵A 的元素(i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 的元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 的元素(i =1,2,…,m ;j =1,2,…,m )。

六、字符数组==========================================1 输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。

2 编写一个程序,实现将字符数组中的字符串逆序存放的功能。

3 从键盘输入一行字符,统计其中有多少单词。

假设单词之间以空格分开。

4 编写一个程序,其功能是删除字符串s 中所出现的与变量c 相同的字符。

5 不用函数strcat(),编程实现字符串连接函数strcat()的功能,将字符串srcStr 连接到字符串dstStr 的尾部。

七、 函 数==========================================1 设计一个函数,判断一个整数是否为素数。

【算法思想】 按照素数的定义,可以用2到number -1的所有整数去除number ,只要有能整除的,便说明number 不是素数。

不过对任意值的number ,如果它能被比其平方根小的数整除的话,那么也不可能被比其平方根大的整数整除。

2 编程计算组合数)!(!!k m k m C p k m -==的值。

3 设计一个函数MinCommonMultiple(),计算两个正整数的最小公倍数。

4 设计一个函数MaxCommonFactor(),利用欧几里德算法(也称辗转相除法)计算两个正整数的最大公约数。

八、 函数高级应用(选做)=================================1 用递归方法实现快速排序。

对一个一维数组进行快速排序的基本算法如下:(1)分割——取未排序数组中的第一个元素,确定它在最终排序的数组中的位置。

这时数组中的所有小于该元素的元素都位于它的左边,所有大于该元素的元素都位于它的右边。

至此,有一个元素已经处于它该处的位置,另外还有两个未排序的子数组。

(2)递归——对每一个未排序的数组执行步骤(1)。

九、 指 针==========================================1 编写一个交换变量值的函数,利用该函数交换数组a 和数组b 中的对应元素值。

2 从键盘任意输入10个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置。

3 不用函数strcat(),编程实现字符串连接函数strcat()的功能,将字符串srcStr连接到字符串dstStr的尾部。

4 编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。

5 编程判断输入的一串字符是否为“回文”。

所谓“回文”,是指顺读和倒读都一样的字符串。

如"level","ABCCBA"都是回文。

6 编写一个能对任意m×n阶矩阵进行转置运算的函数Transpose()。

7 用指针数组编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。

8 口袋中有若干红、黄、蓝、白、黑五种颜色的球,每次从口袋中取出3个球,编程打印出得到3种不同颜色的球的所有可能取法。

十、结构体与共用体==========================================1 请读者自己编写一个程序,该程序可以完成个人财务管理。

每个人的财务项目应当包括姓名、年度、收入、支出等。

为了叙述简单,以一个财政年度为统计单位,程序中可以计算每个人的每个财政年度的收入总额、支出总额、存款余额等,并能够打印出来。

相关文档
最新文档