C语言习题集
专业班级
学号
姓名
第2章运算符与表达式
一、选择题
1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。
(float)(a+b)/2+(int)x% (int)y
A) B)35 C) D)
2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。
(x+y)%2+(int)a/(int)b
A) B)1 C) D)2
3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2)
A)0 B)1 C)2 D)3
4.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。
A)3 B)4 C)11 D)12
5.下列程序的输出结果是( C )。
#include <>
main( )
{ double d=; int x,y;
x=; y=(x+/;
printf("%d\n", d*y);}
A)3 B)3.2 C)0 D)
6.下列程序执行后的输出结果是(小数点后只写一位)( A )。
#include <>
main( )
{ double d; float f; long l; int i;
i=f=l=d=20/3;
printf("%d %ld %f %f\n", i,l,f,d);
}
A)6 6 B)6 6
C)6 6 D)6 6
7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。
A)1 B)2 C) D)
8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。
A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);
9.若执行以下程序段后,c3的值为( A )。
int c1=1,c2=2,c3;
c3=c2*c1;
A)0 B)0.5 C)1 D)2
10.如下程序的运行结果是( D )。
#include <>
main( )
{ int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
A)3 4 B)4 2 C)4 3 D)3 3
11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。
A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=0
12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。
A)不定值B)4 C)3 D)1
13.以下程序的输出结果是( D )。
#include <>
main( )
{ int a=3;
printf("%d\n",(a+=a-=a*a));
}
A)-6 B)12 C)0 D)-12
14.设 a,b,c,d,m,n均为 int型变量,且 a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值为( C )。
A)0 B)1 C)2 D)3
15.在C语言中,如果下面的变量都是int类型,则输出的结果是( A )。
sum=pad=5; pad=sum++,pad++,++pad;
printf(“%d\n”,pad);
A)7 B)6 C)5 D)4
二、填空题
1.若a,b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后,a值为__6____,b值为__4____,c值为__2____。
2.若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为___-60___。
3.若a是int型变量,则执行表达式a=25/3%3后a的值为___2___。
4.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为
__10____,n的值为___6___。
5.表达式8/4*(int)(int)*+)值的数据类型为__int型___。
6.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为__26____。
7.若x和a均是int型变量,则执行表达式x=(a=4,6*2)后x的值为__12__,执行表达式(x=a=4,6*2)后x的值为__4___。
8.若有以下定义int m=5,y=2;,则执行表达式y+=y-=m*=y后y的值是__-16____。
9.已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为__语句本身是错误的_错误的赋值__。
10.若int w=1,x=2,y=3,z=4;则条件表达式w>xw:y 11.以下程序的输出结果是__10 9____。 #include <> main( ) { int x=10,y=10; printf("%d %d\n",x--,--y); } 12.表达式*(1/2)的值为。 第3章基本语句 一、选择题 1.下面程序的输出结果是( B )。 #include <> main( ) { int x=5,y=3; printf("%d\n",y=x/y); } A)0 B)1 C)3 D)不确定的值 2.若变量已正确定义,下面程序段的输出结果是( A )。 x=; printf("%f\n",(int)(x*1000+05)/(float)1000); A) B)输出格式说明与输出项不匹配,输出无定值C) D) 3.以下程序的输出结果是( D )。 #include <> main( ) { int a=4; float b=9; printf("a=%%d,b=%%f\n",a,b); } A)a=4,b= B)a=%4,b=%9.000000 C)a=%%d,b=%%f D)a=%d,b=%f 4.下面语句: printf("|%8.5f|\n",; 的输出结果是( C )。 A)|| B)|| C)|| D)|| 5.( D )是不正确的C语言赋值语句。 A)x=1,y=2; B)x++; C)x=y=5; D)y=int(x); 6.与数学公式|cos(x)|等价的C语言表达式是( D ),假定其中的x的单位是度数且不考虑π值的精度。 A)sqrt(cos(x)) B)sqrt(abs(cos(x*180))) C)sqrt(abs(cos(x*(/180))) D)sqrt(fabs(cos(x*180))) 7.下面的程序( D )。 #include <> main( ) { int x=3,y=0,z=0; if(x=y+z)printf("* * * *"); else printf("# # # #"); } A)有语法错误不能通过编译B)输出* * * * C)可以通过编译,但是不能通过连接,因而不能运行 D)输出# # # # 8.执行下面程序中的输出语句后,a的值是(C )。 #include <> main( ) { int a; printf("%d\n",(a=3*5,a*4,a+5)); } A)65 B)20 C)15 D)10 9.若执行下面的程序时,从键盘上输入3和4,则输出结果是(B )。 #include <> main( ) { int a,b,s; scanf("%d%d",&a,&b); s=a if(a s=s*s; printf("%d\n",s); } A)14 B)16 C)18 D)20 10.以下程序不用第三个变量,实现将两个数进行对调的操作。请填空( B )。#include <> main( ) { int a,b; scanf("%d%d",&a,&b); printf("a=%d b=%d",a,b); a=a+b;b=a-b;a=; printf("a=%d b=%d\n",a,b); } A)a+b B)a-b C)b*a D)a/b 11.执行下列程序的结果是( B )。 #include <> main( ) { float x=3,y; y=++x * x++; printf("%f\n",y); } A) B)16.000000 C) D)程序有错误 12. 执行下列程序时输入1234567,程序的运行结果为( B )。 #include <> main( ) { int x,y; scanf("%2d%2ld",&x,&y); printf("%d\n",x+y); } A)17 B)46 C)15 D)9 13.下述程序的输出结果是( A )。 #include <> main( ) { printf("%f",+1*7%2/4); } A) B)2.750000 C) D) 14. 下属程序的输出结果是( D )。 #include <> main( ) { float a; a=1/0; printf("%g",a); } A)+00 B)0.0 C) D)0 15.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是 ( A )。 A)x=10,y=15,z=10 B) x=10,y=10,z=10 C) x=10,y=10,z=15 D) x=10,y=5,z=10 二、填空题 1.下面程序的输出是__-200,25i=-200,j=25____。 i=-200 j=25 #include <> main( ) { int i=-200,j=25; printf("%d,%d",i,j); printf("i=%d,j=%d\n",i,j); printf("i=%d\n j=%d\n",i,j); } 2. 以下程序的输出结果是__156, 156, 234, 9c, 156____。 #include <> main( ) { int a=0234; printf("%3d,%6d,%6o,%6x,%6u\n",a,a,a,a,a); } 3.以下程序的输出结果是, , 。 #include <> void main( ) { double a=; printf("%8.6f,%8.3f,%14.8f\n",a,a,a); } 4.已有定义int d=-2;执行以下语句后的输出结果是______。 printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d); printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d); 5.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=,y=,c1=′A′,c2=′a′,正确的数据输入形式是_a=3 b=7x= y=7.182c1=a c2=a_____。#include <> main( ) { int a,b;float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("x=%f y=%f",&x,&y); scanf("c1=%c c2=%c",&c1,&c2); printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c",a,b,x,y,c1,c2); } 第4章选择结构 一、选择题 1.下列程序的运行结果是( B )。 #include <> main( ) {int a=2,c=5; printf("a=%d,b=%d\n",a,c); } A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d 2.若有定义: float w; int a, b; 则合法的switch语句是( D )。 A) switch(w) {case : printf("*\n"); case : printf("**\n"); } B) switch(a); {case 1 printf("*\n"); case 2 printf("**\n"); } C) switch(w) {case 1: printf("*\n"); default: printf("\n"); case 1+2: printf("**\n") } D) switch(a+b) {case 1: printf("*\n"); case 2: printf("**\n"); default: printf("\n"); } 3.语句printf("a\bre\′hi\′y\\\bou\n");的输出结果是( C )。 A) a\bre\′hi\′y\\\bou B) a\bre\′hi\′y\bou C) re′hi′y\\ou D) abre′hi′y\bou 4.如下程序的输出结果是( A )。 #include <> main( ) {int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); } A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 5.如下程序的输出结果是( C )。 main( ) {float x=,y; if(x else if(x else y=; printf("%f\n",y); } A) B) C) D) 6.如下程序的输出结果是( C )。 #include <> main( ) { int a=12,b=5,c=-3; if(a>b) if(b<0) c=0; else c++; printf("%d\n",c); } A) 0 B) 1 C) -2 D) -3 7.若执行以下程序时从键盘上输入9,则输出结果是( B )。 main( ) {int n; scanf("%d",&n); if(n++<10)printf("%d\n",n); else printf("%d\n",n--); } A) 11 B) 10 C) 9 D) 8 8.若a, b,c1,c2,x,y均是整型变量,正确的switch语句是( A )。 A) swich(a+b); {case 1:y=a+b; break; case 0:y=a-b; break; } B) switch(a*a+b*b) {case 3: case 1:y=a+b;break; case 3:y=b-a,break; } C) switch a {case c1 :y=a-b; break; case c2: x=a*d; break; default:x=a+b; } D) switch(a-b) {default:y=a*b;break; case 3:case 4:x=a+b;break; case 10:case 11:y=a-b;break } 9.阅读以下程序: #include <> main( ) {int x; scanf("%d",&x); if(x--<5)printf("%d",x); else printf("%d",x++); } 程序运行后,如果从键盘输入5,则输出结果是( B )。 A) 3 B) 4 C) 5 D) 6 10.以下程序的输出结果是( A )。 #include <> main( ) {int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); } A) 1 B) 0 C) 非0的数 D) -1 11.以下程序的输出结果是( A )。#include <> main( ) {int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d\n",m); } A) 1 B) 2 C) 3 D) 4 12.请阅读以下程序: #include<> main( ) {int x=1, y=0, a=0, b=0; switch(x) {case 1: switch(y) {case 0: a++;break; case 1: b++;break; } case 2: a++; b++; break; } printf("a=%d, b=%d\n",a,b); } 上面程序的输出结果是( A )。 A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 13.下面的程序( D )。 #include <> main( ) {int x=3,y=0,z=0; if(x=y+z) printf("* * * *"); elseprintf("# # # #"); } A) 有语法错误不能通过编译 B) 输出* * * * C) 可以通过编译,但是不能通过连接,因而不能运行 D) 输出# # # # 14.下面程序的输出是( A )。 #include <> main( ) {int x=100, a=10, b=20, ok1=5, ok2=0; if(a if(b!=15) if(! ok1) x=1; else if(ok2)x=10; x=-1; printf("%d\n",x); } A) -1 B) 0 C) 1 D) 不确定的值 15.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( A )。#include <> main( ) {int x; scanf("%d",&x); if(x++ >5) printf("%d",x); else printf("%d\n",x--); } A) 7和5 B) 6和3 C) 7和4 D) 6和4 二、填空题 1.若有定义:int a=10,b=9,c=8;,接着顺序执行下列语句后,变量b中的值是__3____。c=(a-=(b-5)); c=(a%11)+(b=3); 2.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是__(X>5)||(X<-5)____。 3.下列程序的输出结果是,请填空。 #include <> main( ) { int a=9, b=2; float x=, y=,z; z=a/2+b*x/y+1/2; printf("%5.2f\n", z ); } 4.下列程序段的输出结果是__passwarm____。 int n=′c′; switch(n++) { default: printf("error");break; case ′a′:case ′A′:case ′b′:case ′B′:printf("good");break; case ′c′:case ′C′:printf("pass"); case ′d′:case ′D′:printf("warm"); } 5.若从键盘输入58,则以下程序输出的结果是__585858____。 #include <> main( ) C语言习题集专业班级 学姓号名 C语言习题集 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=3.5,y= 2.5;则下面表达式的值为( C )。 (float)(a+b)/2+(int)x% (int)y A)3.5 B)35 C)3.500000 D)35.00000 2.若有定义:int x=3 ,y=2; float a=2.5 ,b= 3.5;则下面表达式的值 为( B )。(x+y)%2+(int)a/(int)b A)1.0 B)1 C)2.0 D)2 3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有int x=11;则表达式(x++*1/3)的值是( A )。 A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <stdio.h> main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);} A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。 A)1 B)2 C)2.0 D)2.5 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。 实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误 差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include C语言习题集 专业班级 学号 姓名 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。 (float)(a+b)/2+(int)x% (int)y A) B)35 C) D) 2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。 (x+y)%2+(int)a/(int)b A) B)1 C) D)2 3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。 A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <> main( ) { double d=; int x,y; x=; y=(x+/; printf("%d\n", d*y);} A)3 B)3.2 C)0 D) 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 B)6 6 C)6 6 D)6 6 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。 A)1 B)2 C) D) 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。 A)i=int(a) B)++i; C)a=a++=5; D)a=int(i); 9.若执行以下程序段后,c3的值为( A )。 int c1=1,c2=2,c3; c3=c2*c1; A)0 B)0.5 C)1 D)2 10.如下程序的运行结果是( D )。 #include <> main( ) { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } A)3 4 B)4 2 C)4 3 D)3 3 11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=0 12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。 A)不定值B)4 C)3 D)1 13.以下程序的输出结果是( D )。 #include <> main( ) { int a=3; 第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交 《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0 答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include C语言程序设计作业 答案 C语言程序设计作业答案 作业一 C语言概述参考答案 一、选择题 1-5 ACDCB 二、编程题 main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法参考答案 一、填空题 1、确定性、有效性、有零个或多个输入、有一个或多个输出 2、顺序结构、选择结构、循环结构 3、函数 作业三数据类型、运算符与表达式参考答案 一、选择题 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构参考答案 一、选择题 1-5 BCDDD 6-10 BDADD 二、填空题 1、【31.415920,3.14159e+01】 2、【c=k】 3、【a=1,b=空格,c=2】 4、 【a=12,b=345】 5、【c=A】 作业五选择结构参考答案 一、选择题 1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题 1.【-1】 2.【3】 3.【4】 4.【11】 5. 【97或'a'】 作业六循环结构参考答案 一、选择题 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB 作业七数组参考答案 一、选择题 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题 1、LBLMNP 2、SW* 3、mo 4、a=2,b=1 作业八函数参考答案 一、选择题 1-5 AAACA 二、填空题 1【编程中的main( )函数】2【函数说明部分】和【函数体】 3【–125= –5*5*5】 4【void add (float a, float b)】【float add (float a, float b)】 习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A)预处理部分B)变量说明部分 C)函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 C语言上机考试题—01 1. //#include 第一章:第6题 方法一: #include } 第4题 #include 第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include No.: Name: 第1讲C语言概述 注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。 一、选择题 1. 一个C程序的执行是从A 。 A) 本程序main函数开始,到main函数结束 B) 本程序文件第一个函数开始,到最后一个函数结束 C) 本程序文件第一个函数开始,到本main函数结束 D) 本程序main函数开始,到本程序文件最后一个函 数结束 2. 以下叙述不正确的是D 。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 3. 以下叙述正确的是C 。 A) 在对一个C程序进行编译的过程中,可发现注释中 的拼写错误 B) 在C程序中,main函数必须位于程序的最前面 C) 语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4. 一个C语言程序是由B 。 A) 一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 5. 以下叙述中正确的是C 。 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为 语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 6. 下列叙述中正确的是D 。 A) C语言编译时不检查语法 B) C语言的子程序有过程和函数两种 C) C语言的函数可以嵌套定义 D) C语言的函数可以嵌套调用 7. 以下叙述中正确的是A 。 A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main函数必须放在其他函数之前 D) 所有被调用的函数一定要在调用之前进行定义 上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include 1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭 【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' { B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b //vc1 //prog1.cpp //设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include"stdio.h" main() { int a[3],i,j,t; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/ { for(j=0;j<2;j++) { if(a[j]>a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t; } } printf("The three data from small to big is:"); for(i=0;i<3;i++) printf("%d ",a[i]); } //vc1 //prog2.cpp //求1+3+5+...+95+97+99的和。 #include"stdio.h" main() { int i,sum=0; for(i=1;i<100;i=i+2) sum+=i; printf("1+3+5+....+99=%d\n",sum); } //vc1 //prog3.cpp //写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此 整数为素数”,否则输出“整数非素数”。(注:要求从主函数输入整数)#include"stdio.h" main() { int i,j,k,l=2; printf("输入一个大于3的整数:"); scanf("%d",&i); for(j=2;j=0;i--) printf("%d ",a[i]); for(i=0;i<10;i++) sum+=a[i]; printf("The total is:%d\n",sum); } //vc2 //prog2.cpp //输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。 P15 三.2.3.4 、P55 5 P36 三.1.5.7 P74 三 P83 三.3.4 第三章作业: P44 2.3.4 2、有一个已排好序的数组,今有一个数,要求按原来排序的规律将它插入数组(从小到大排列)中。 #define N 10 main() {int i,j,n; int a[N]={1,3,5,7,9,11,13,15,17}; scanf("%d",&n); i=0; while(n>a[i]&&i if(a[i]>=60&&a[i]<69) n1++; else if(a[i]>=70&&a[i]<79)n2++; else if(a[i]>=80&&a[i]<89)n3++; else if(a[i]>=90&&a[i]<99)n4++; printf("\n 60~69=%d\n 70~79=%d\n 80~89=%d\n 90~99=%d",n1,n2,n3,n4); } 第七章作业: P103三.2.4.6.7.9、 2、统计100以内的所有素数。要求每行输出5个素数。 void main() { int i,j; for(i=2;i<=100;i++) { for (j=2;j<=sqrt(i);j++) if (i%j==0) break; if (j>sqrt(i)) printf("%5d", i); /* 是素数*/ } } 4、编程输出1~100之间所有完数。 #include "math.h" main() { int sum, i, j; for(i=2; i <= 100; i++) { sum=0; for(j=2;j<= sqrt(i);j++) if(i%j == 0) sum=sum+j+i/j; if(sum==i-1) printf("%d ",i); } } 6、编写程序实现:输入两个整数,输出其最大公约数和最小公倍数。void main() {int a,b,n1,n2,temp; printf("input two datas: "); scanf("%d%d",&a,&b); if(a1;n1--) if(a%n1==0&&b%n1==0) break; /*求最大公约数*/ n2= a*b/n1; /*求最小公倍数*/ printf("The GCD is: %d\n ",n1); printf("The LCM is: %d\n ",n2); } 练习三 振动与波动(机械振动与机械波,光波的干涉、衍射、偏振) 一、选择题: 1.一质点作简谐振动,周期为T ,当它由平衡位置向X 轴正方向运动时,从二分之一最大位移处到最大位移处这段路程所需要的时间为: (A) 4/T (B) 12/T (C ) 6/T (D) 8/T 参考解答: 简谐振动运动学问题,对相位和时间的确定,最好的方法就是旋转矢量图。图中3π=?。相位周期2π与时间周期T 相对应,有 t T ? = 2π,6 3 π 2π2π T T T t = = = ? 2.两倔强系数分别为1k 和2k 的轻弹簧串联在一起,构成一个弹簧。用该弹簧和一质量为m 的物体构成一个水平谐振子,则该系统的振动周期为: (A)2 1212)(π 2k k k k m T += (B) 2 1π 2k k m T += (C )2 121) (π 2k k k k m T += (D) 2 12π 2k k m T += 参考解答: 简谐振动动力学问题,只有牛顿第二定律和转动定律。当联合弹簧被拉长x 时,由于两个分弹簧的劲度系数不同,它们各自的伸长也不相同,如图所示,但21x x x +=。设合弹簧的劲度系数为k ,有kx F -=。对两个轻弹簧和物体分别有 22111x k x k F -=-=,01=-F F ,kx t x m ma F -===22 d d ()121 211121111F k k k k F k F k x x k kx F F ? ??? ??+ =???? ??+=+-=-== 2 1 111k k k + = 0d d d d 2 2 2 22 =+= + x t x x m k t x ω 2 12121 π211π 2π 2π 2k k k k m k k m k m T +=? ??? ??+ === ω 3.一弹簧振子作简谐振动,总能量为1E ,如果简谐振动振幅增加为原来的两倍,重物的质量增为原来的四倍,则它的总能量E 变为: (A) 4/1E (B) 2/1E (C) 12E (D ) 14E C语言程序设计上机题 编写函数实现从键盘输入一个字符串,再将其逆序输出。 #include带答案C语言2-10章作业
C语言上机作业题及答案
带答案C语言2-10章作业
C语言上机作业试题5套含答案
C语言程序设计-作业与答案
扬州大学C语言上机作业1-9整理
最新C语言程序设计作业答案汇总
C语言练习作业及答案
C语言期末上机考试题及答案
C语言作业答案
大连理工c语言第五次上机作业参考答案
c语言作业答案
c语言上机考试训练题库及答案
c语言上机模拟题1
C语言上机试题答案
C语言作业答案
C语言作业及答案
C语言上机题及答案