当前位置:首页 >> 其它课程 >>

C语言程序设计练习题及答案


P51

P40

P77

P91

一、选择题 以下叙述正确的是: ( A ) A.在 C 语言程序中,必须包含一个 main 函数,并且只能有一个 main 函数。 B.在 C 语言程序中,每一行只能写一条语句。 C.在 tc2.0 中运行一个 C 语言程序的快捷键 Alt+F9。 D.在 C 语言程序中,数据的输入和输出是通过输入输出语句来实现的。 2. 以下叙述正确的是( A) A.在 C 语言程序中,main 函数的位置放在其它自定义函数的前面和后面都可 以。 B. 在 C 语言程序中,程序的执行是从第一个函数开始, 到最后一个函数结束为止。 C.C 语言程序的基本单位是语句。 D. 在 C 语言程序中,函数是由函数名和函数体构成的。 3.下列选项中,字符型变量的定义和赋值正确的是( A ) A.char a;a=‘M’ B.char b;b=‘55’ C.char c;c=“M” D.char d;d=“55” 4.以下程序的输出结果是( A ) main() { int x=010,y=10,z=0x10; printf(“%d,%d,%d\n”,x,y,z); } A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 5.以下选项中不合法的用户表示符是( D ) A._123 B.error C.s1234 D.a$ 6.若变量已经正确定义并赋值,符合 C 语言语法的表达式的是( B ) A.a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b 7.不合法的八进制数是( B ) A.0 B.028 C.077 D.01 8.若 a、 b、 c、d 都是 int 变量且初值为 0,以下选项中不正确的赋值语句是( C ) A.a=b=c=100; B.d++; C.c+b ; D.d=(c=22)-(b++); 9.以下程序的输出结果是( C ) A.0 B.1 C.3 D.不确定的值 main( ) {int x=10 ,y=3; printf(“%d\n” ,y=x/y); } 10.以下程序的输出结果是( A ) A.*496 * B.* 496* C.*000496* D.输出格式符不合法 int x=496;printf(“*%-06d*\n” ,x); 11.以下程序的输出结果是( C ) A.*0000057.66* B.* 57.66* C.*0000057.67* D.* 57.67* float x=57.666;printf(“*%010.2f*\n”,x); 12.为表示关系 x>y>z,应使用的 C 语言表达式是( A ) A. (x>y)&&(y>z) B. (x>y)AND(y>z) C.(x>y>z) D. (x>y)&(y>z)

P94

P64

13.以下程序的输出结果是( C ) A.0 B.1 C.2 D.3 int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c+=1;printf(“%d\n”,c); 14、下面名称中,合法的变量名是( A ) 。 A._Above B.2Tianjin C. FB&B D. KILL? 15、设 a、b、c 都是 int 类型变量,且 a=3,b=4,c=5;则以下的表达式中,值为 0 的是( D ) 。 A.a&&b B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1) 16.若 int a=4;则执行语句 a+=a-=a+4 后,变量 a 的值是( C ) A.4 B.0 C.-8 D.-2 二、填空题 1、写出下面程序段执行后变量 a、b、c 的值是: 147、97、147 。 char a=‘2’;b=‘a’; int c; c=a+b; a=c; 2、下面语句的执行结果是____________________。 printf(“\007ABC\011DE\012FGH\xA”); 3、下面语句的执行结果是 换行 why is 2l+3l equal to 52?换行 。 printf(“\nwhy is 2l+3l equal to %d?\n” , 2l+3l); 4、下面表达式的值是: 2.5 。 设 x=2.5,a=5,y=4.7,计算表达式 x+a%3*(int)(x+y)%2/4 的值。 5、下面表达式的值是: 1 。 设 a=4,计算表达式 a=1,a+5,a++的值。 6、下面表达式的值 28 。 设 x=4,y=8,计算表达式 y=(x++)*(--y)的值。 7、下面表达式的值是: 1.0 。 设 x=1,y=2,计算表达式 1.0+x/y 的值 。 8、设原来 a=12,且 a 已定义为整型变量。写出计算表达式 a%=(5%2)后 a 的值: 0 。 9、设原来 a=12,且 a 已定义为整型变量。表达式 a+=a-=a*=a 计算后 a 的值 0 。 10、数学表达式 ? r 的 c 语言表达式为
2

3.14*r*r



1 2 gt ? v0t ? s0 11、数学表达式 2 的 c 语言表达式

g*t*t/2+v0*t+s0



?b ? b2 ? 4ac 2a 12、 数学表达式 的 c 语言表达式为

(-b+sqrt(b*b-4*a*c))/(2*a)



5 ( F ? 32) 13、数学表达式的 9 的 c 语言表达式为

5*(F-32)/9



P157

14、若 c 为 double 型变量,请写出运算 x=3.2,++x 后表达式的值 4.2 和变量 x 的值 4.2 。 15.表达式 3.5+1/2 的计算结果是 3.5 。 16.以下程序段的输出结果是 a=513.789215,a= 513.79,a= 513.78921500 。 double a=513.789215; printf(“a=%8.6f,a=%8.2f,a=%14.8f” ,a,a,a ) 17.当 a=1,b=2,c=3 时,以下 if 语句执行后,a,b,c 中的值分别是 3,2,2 。 if(a>c)b=a;a=c;c=b; 18.以下函数的功能是,把两个整形变量的值进行交换。 void exchange(int a,int b) { int t; t=a;a=b;b=t; } 三.程序分析题 1.程序 main() { int i ,a[10]={1,2,3,4,5,6,7,8,9,10}; for(i=0;i<10;i++) printf(“%d”,a[i]); } 执行后的输出结果是 12345678910 2、程序 main( ) { int a=3,b=4,t=5; if(a<b) t=a;a=b;b=t; printf(“%d,%d\n”,a,b); } 执行后的输出结果是 4,5 。 3、程序 void test(int x,int y ) {x=y+2;y=x+2;} main() { int a=3,b=4; test(a,b) printf(“%d,%d \n”, a,b); } 执行后的输出结果是 3,4 。

4、以下程序的输出结果是 空格空格空格 496 。 main() { int x=496; printf(“%6d\n”,x); } 5、以下程序的输出结果是 8 。 #define MA(x) x*(x-1) main( ) { int a=1,b=2; printf(“%d\n”,MA(1+a+b)); } 6 、以下程序中,要使 a=3,b=5, 键盘上应该输入的内容为: 3 空格 5 回 车 。 #include<stdio.h> main() { int a,b; scanf(“%d%d”,&a,&b); } 7 、以下程序中,要使 a=3,b=5, 键盘上应该输入的内容为: a=3,b=5 回 车 。 #include<stdio.h> main() { int a,b; scanf(“a=%d,b=%d”,&a,&b); } 8、二维数组 a [3][4]定义并赋值以后,其中数组元素 a [1][2]的值为: 7 。 int a [3][4]={{1,2,3,4},{5,6,7,8},{4,4,0,2}}; 9、二维数组 a [3][4]定义并赋值以后,其中数组元素 a [2][2]的值为: 0 。 int a [3][4]={{1,2,3,4},{5,6,7,8},{4,4,0,2}}; 四、编程题 1、编写程序,把 745 分钟换算成用小时和分钟表示,然后输出。 #define N 745 #include<stdio.h> main() { printf("%d minutes is %d hours and %d minutes.\n",N,N/60,N%60); } 2、编写程序,从键盘读入三个整数给 a、b、c,然后交换它们中的数并输出最 后的结果。即把 a 中原来的值给 b,把 b 中原来的值给 c,把 c 中原来的值给 a。 #include<stdio.h>

main() { int a,b,c,t; printf("enter a,b,c:"); scanf("%d,%d,%d",&a,&b,&c"); printf("\n"); t=c;c=b;b=a;a=t; printf("a=%d,b=%d,c=%d\n",a,b,c); } 3、编写程序,键盘输入一个整数,打印出它是奇数还是偶数的信息。 #include<stdio.h> main() { int a; printf("enter a:"); scanf("%d",&a "); printf("\n"); if(a%2==0)printf("%d is odd number\n",a); else printf("%d is even number\n",a); } 4、有一个函数: x (-5<x<0) y= x-1 (x=0) x+1 (0<x<10) 编写程序,要求输入 x 的值,输出 y 的值。 #include<stdio.h> main() { int x,y; printf("enter x:"); scanf("%d",&x"); printf("\n"); if(x>-5&&x<0)y=x; if(x==0)y=x-1; if(x>0&&x<10)y=x+1; printf("y=%d\n",y); } 5、编写程序,求 sum=1-3+5-7+?-49+51 的值。 #include<stdio.h> main() { int sum=0,n,i,j=1; for(i=1;i<=26;i++) {

n=(2*i-1)*j; sum=sum+n; j=-j; } printf("sum=%d\n",sum); } 6、编写程序,输入圆柱体的半径 r 和高 h,计算并输出其体积。 #include<stdio.h> main() { float r,h; printf("enter r,h:"); scanf("%f,%f",&r,&h"); printf("\n"); printf("volume is %.2f\n",3.14*r*r*h); } 7、有一个函数: x2 +1 (x>1) y= x2 (-1≤x≤1) x2-1 (x<-1) 编写程序,要求输入 x 的值,输出 y 的值。 #include<stdio.h> main() { int x,y; printf("enter x:"); scanf("%d",&x"); printf("\n"); if(x>1)y=x*x+1; if(x>=-1&&x<=1)y=x*x; if(x<-1)y=x*x-1; printf("y=%d\n",y); } 8、编写程序,输出 100 以内既能被 3 整除又能被 5 整除的所有正整数之和。 #include<stdio.h> main() { int sum=0,i; for(i=1;i<100;i++) { if(i%3=0&&i%5=0) sum=sum+i; } printf("sum=%d\n",sum);

P126 6.8

} 9、编写程序计算 sum 的值。sum=1+2-3+4-5+?-99。 #include<stdio.h> main() { int sum=1,n,i,j=1; for(i=2;i<99;i++) { n=i*j; sum=sum+n; j=-j; } printf("sum=%d\n",sum); } 10、有一个整型数据组成的 3 行 4 列矩阵(数组的值可以自己假定) ,求所有元 素中最大的值并输出。 #include<stdio.h> main() { int a[3][4]={{4,5,8,2},{9,6,2,7},{9,6,2,7}},max=a[0][0],i,j,row,line; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max){max=a[i][j];row=i;line=j;} printf("max=a[%d][%d]=%d\n",row,line,max); } 11、编写程序求出 n!的值并输出。要求 n 的值由键盘输入。 #include<stdio.h> main() { int n,i; long fac=1; printf("enter n:"); scanf("%d",&n); printf("\n"); for(i=1;i<=n;i++) fac=fac*i; printf("n!=%ld\n",fac); } 12、 写一个判断素数的函数, 在主函数中输入一个整数, 输出是否是素数的信息。 #include<stdio.h> main() { int n,prime_num(int x); printf("enter n:");

scanf("%d",&n); printf("\n"); if(prime_num(n)==1) printf("%d is prime number\n",n); else printf("%d is not prime number\n",n); } int prime_num(int x) { int z,j,i; for(i=2;i<x;i++) if(x%i==0)j=0; if(j==0)z=0; else z=1; return(z); } 13、输入 5 个学生 3 门课的成绩(成绩可以自己假定) ,分别用函数实现下列功 能: (1)计算每个学生的平均分; (2)计算每门课程的平均分; (3)找出所有分数中的最高分,及对应的学生和课程。 #include<stdio.h> #include"ti13.h" main() { float b[5][3]={{44,55,85},{96,64,27},{77,65,85},{77,65,85},{44,55,85}}; int i,j; printf("b[5][3]:\n"); for(i=0;i<5;i++) { for(j=0;j<3;j++) printf("%6.1f",b[i][j]); printf("\n"); } ave_stu(b); ave_cou(b); max_score(b); } void ave_stu(float b[5][3]) { int i,j; float sum=0; for(i=0;i<5;i++) { for(j=0;j<3;j++)

sum=sum+b[i][j]; printf("student%d's average score:%6.1f\n",i,sum/3); } } void ave_cou(float b[5][3]) { int i,j; float sum=0; for(j=0;j<3;j++) { for(i=0;i<5;i++) sum=sum+b[i][j]; printf("course%d's average score:%6.2f\n",j,sum/5); } } void max_score(float b[5][3]) { float max=b[0][0]; int i,j,row,line; for(i=0;i<5;i++) for(j=0;j<3;j++) if(b[i][j]>max){max=b[i][j];row=i;line=j;} printf("max=b[%d][%d]=%d\n",row,line,max); } 14、编写程序,输入两个电阻的值,并计算输出其串联、并联的等效值。


赞助商链接
相关文章:
C语言程序设计练习题(含程序及参考答案)
C语言程序设计练习题(含程序及参考答案)_从业资格考试_资格考试/认证_教育专区...C 语言练习题 1、定义一个函数 int fun(int a,int b,int c),它的功能是...
C语言程序设计练习题(含程序及参考答案)
C语言程序设计练习题(含程序及参考答案)_IT认证_资格考试/认证_教育专区。C语言程序设计练习题 2010-2011 C 语言程序试题及答案 1、定义一个函数 int fun(int ...
《C语言程序设计基础》单元总结与练习题及答案
C 语言程序设计基础》课程单元总结与单元练习 答案C 语言程序设计》单元总结与练习题 答案C 语言程序设计基础》课程单元总结与单元练习 答案 单元一 程序...
C语言程序设计基础测试题-答案
C语言程序设计基础测试题-答案 - C 语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是___。 A. 复合语句中定义的函数只在该复合语句中有效 B. ...
《C语言程序设计》试题2及答案
C语言程序设计》试题2及答案_其它考试_资格考试/认证_教育专区。二一、填空题 1、C 语言中普通整型变量的类型说明符为 ,在内存中占 字节,有符号普通整型的...
c语言程序设计基础单元总结与练习题及答案
C 语言程序设计基础》课程单元总结与单元练习 答案C 语言程序设计》单元总结与练习题 答案C 语言程序设计基础》课程单元总结与单元练习 答案 单元一 程序...
《C语言程序设计实验指导与习题集》练习题的参考答案(...
C语言程序设计实验指导与习题集》练习题的参考答案(中国铁道出版社)期末测试题参考答案_工学_高等教育_教育专区。《C语言程序设计实验指导与习题集》练习题的参考...
《C语言程序设计》期末复习题答案
C语言程序设计》期末复习题答案 - 《C 语言程序设计》期末复习题答案 一、选择题 1 C 11 C 21 D 2 A 12 C 22 B 3 B 13 D 23 A 4 B 14 A...
C语言程序设计实验考试题答案
C语言程序设计实验考试题答案 - 第1题 输入某学生成绩,经处理后给出学生等级,等级如下: 90 分以上(包括 90 分) :A 80~90 分(包括 80 分) :B 70...
C语言程序设计阶段考试练习题(答案)
C语言程序设计阶段考试练习题(答案) - 密 考试科目: 计算机程序设计基础 题得号分一二 考试时间: 三总分 阅卷人 一、单项选择题(每小题 1 分,共 30 分) ...
更多相关标签: