C语言习题第三章

合集下载

C语言程序 第三章流程控制

C语言程序 第三章流程控制
5.编写程序,找到1000以内的所有“完数”。所谓“完数”是指一个数是其所有因子之和,例如6=1+2+3。
6.输出斐波那契(Fibonacci)数列的前20项。该数列的第1项和第2项为1,从第3项开始,每一项均为其前面2项之各和,即:1,1,2,3,5,8,......。
7.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。问第一天共摘了多少。
第三章流程控制
习题:
1.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
2.求Sn =a+aa+aaa+…aa…a之值,其中a是一个数字,n表示a的位数,例如:
2+22+222+2222+22222(此时n=5),n由键盘输入。
3.求 (即求1!+2!+3!+4!+…+20!
4.求 。
10.出x的差的绝对值小于10-5。
(1)设定一个x的初值。
(2)用以上公式求出的下一个值x1
(3)再将x1代入以上公式右侧的xn,求出x的下一个值x2;
如此继续下去,直到前后两次求出的x值(xn和xn+1)满足以下关系:|
9.用二分法求下面方程在(-10,10)之间的根:

C语言 第三章 顺序结构程序设计期末测试习题与答案

C语言 第三章 顺序结构程序设计期末测试习题与答案
A.scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;

c语言第三章习题答案

c语言第三章习题答案
}
2 #include <stdio.h> int main() {
double tax,rate,deduction; int salary;
printf("输入月薪(0<=月薪):"); scanf("%d",&salary); if(salary<=3500){
rate=0; deduction=0; } else if(salary<=5000){ rate=0.03; deduction=0; } else if(salary<=8000){ rate=0.1; deduction=105;
}else if(salary<=83500){ rate=0.3; deduction=5505;
} else{
rate=0.45; deduction=13505; }
tax=rate*(salary-3500)-deduction; printf("个人所得税=%.2lf\n",tax);
return 0;
第三章 1 #include <stdio.h> #include <math.h> void main() {
double area,permeter; double a,b,c,s; printf("输入三角形的三边长:"); scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2.0; if(a+b>c&&a+c>b&&b+c>a){
}
4#include <stdio.h> int main() {

习题3

习题3

第三章数据类型、运算符与表达式3.1 选择题【题3.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。

A)char<int<long int<=float<doubleB)char=int<long int<=float<doubleC)char<int<long int=float=doubleD)char=int=long int<=float<double【题3.2】若x、i、j和k都是int型变量,则执行下面表达式后x的值为。

x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52【题3.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。

A)7 B)8 C)6 D)2【题3.4】下列四组选项中,均不是C语言关键字的选项是。

A)define IF typeB)getc char printfC)include scanf caseD)while go pow【题3.5】下列四个选项中,均是C语言关键字的选项是。

A)auto enum includeB)switch typedef continueC)signed union scanfD)if struct type【题3.6】下面四个选项中,均不合法的用户标识符的选项是。

A) A P_0 doB)float la0 _AC)b-a goto intD)_123 temp INT【题3.7】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符【题3.8】下面四个选项中,均是合法整型常量的选项是。

A)160 -0xffff 011B)-0xcdf 01a 0xeC)-01 986,012 0668D)-0x48a 2e5 0x【题3.9】下面四个选项中,均是不合法的整型常量的选项是。

C语言-第3章 最简单的C程序设计 练习题

C语言-第3章 最简单的C程序设计 练习题

第3章最简单的C程序设计—顺序程序设计一、单项选择题1. 不是C语言提供的合法关键字是。

A)switch B)cher C)case D)default2. C语言提供的合法关键字是。

A)next B)string C)do case D)struct3. 下列不属于C语言中关键字的是。

A) long B) print C)default D)typedef4. 下列不正确的标识符是。

A) -a1 B) a[i] C)a2_i D)x5. 下列C语言用户标识符中合法的是。

A)*y B)sum C)int D)%5f6. 下面四个选项中,合法的标识符是。

A)auto B)define C)6a D)c7.下列C语言用户标识符中合法的是。

A)3ax B)x C)case D)-e28. 以下选项中合法的用户标识符是。

A) long B) _2Test C) 3Dmax D) A.dat9.下列四组选项中,正确的C语言标识符是。

A)%x B)a+b C)a123 D)12310. 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123-abc DOWORD sum Case sizeof11. 下列四组字符串中都可以用作C语言程序中的标识符的是。

A)print _3d oodb aBc B)I\am one_half start$it 3paiC)str_1 Cpp pow while D)Pxq My->book line# His.age12. 下列C语言标识符中合法的变量名是。

A)2e3 B)you C)*y D)float1-12题解析:参照讲义中知识点--标识符与关键字,13. C语言中的简单数据类型包括。

A)整型、实型、逻辑型B)整型、实型、逻辑型、字符型C)整型、字符型、逻辑型D)整型、实型、字符型13题解析:C语言中没有逻辑型变量14.下列可以正确表示字符型常量的是。

C语言例题第三章

C语言例题第三章

第三章【例3-3】输出单个字符。

#include <stdio.h>main(){ char a='B',b='O',c='Y';putchar(a); putchar(b);putchar(c); putchar('\n');}【例3-4】用printf函数输出数据。

main( ){ int a=25;float b=123.4567898;double c=34567890.1234567;char d='k';printf("a=%d,%5d,%o,%x,%u\n",a,a,a,a,a);printf("b=%f,%lf,%10.4f, %5.4f,%e,%10.2e\n",b,b,b,b,b,b);printf("c=%f,%e,%g\n",c,c,c);printf("d=%c,%8c,%i\n",d,d,d);printf("string=%s,%8s,%8.3s, %-8.3s\n","china","china","china","china");}程序执行结果为:a=25, 25,31,19,25b=123.456787,123.456787. 123.4568, 123.4568,1.23457e+02, 1.2e+02 c=34567890.123457,3.45679e+07,3.45679e+07d=k, k,107string=china, china, chi, chi【例3-6】用scanf函数输入数据。

main(){ int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n ",a,b,c);}程序执行结果为:input a,b,c↙1 2 3a=1,b=2,c=3运行时可按以下任何一种方式输入变量a、b、c的值。

C语言程序设计第3章练习题

C语言程序设计第3章练习题

一、单项选择题题目1若x得值为15,则执行“if(x>10) x++; else x--;”语句后,x得值为()。

a、14b、15c、10d、16题目2若x得值为-10,则执行“if(!x) x++; else x--;”语句后,x得值为()。

a、-9b、-11c、-10d、0题目3若x得值为10,则执行“switch(x%3){case0: x++; case 1:x++; case 2: x++;}”语句后,x得值为()。

a、13b、12c、11d、10题目4若x得值为10,则执行“switch(x%3){case0: x++; break; case 1:x++; default: x++;}”语句后,x得值为()。

b、10c、11d、12题目5若n得值为10,则执行“for(i=1;i<n; i++) S;”语句得过程中,表达式i=1共被执行得次数为()。

a、 nb、 n+1c、 1 B、 n-1 C、n-1d、 1题目6若n得值为10,则执行“for(i=0;; i++) if(i>n/3) break;”语句后,i得值为()。

a、 3b、 6c、 4d、 5题目7若n得值为10,则执行“for(i=1;i<n; i++) S;”语句得过程中,表达式i++共被执行得次数为()。

a、 n+1b、 nc、 1题目8若n得值为10,则执行“for(i=0;i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句得执行总次数为()。

a、n(n-1)/2b、(n+1)/2c、n*nd、n(n+1)/2题目9若n得值为10,则执行“while(n-->0)s+=n;”语句得过程中,循环体被执行得次数为()。

a、8b、10c、11d、 9题目10若n得值为5,s得值为0,则执行“while(n-->0) s+=n;”语句后,s得值为()。

C语言第3章课后习题答案PPT课件

C语言第3章课后习题答案PPT课件

}2020/10/13
4
谢谢您的指导
THANK YOU FOR YOUR GUIDANCE.
感谢阅读!为了方便学习和使用,本文档的内容可以在下载后随意修改,调整和打印。欢迎下载!
汇报人:XXXX 日期:20XX年XX月XX日
5
printf("x=%3d,y=2*x+1=%d\n",x,y);
}
else
/*若x≥10*/
{ y=3*x+2;
printf("x=%3d,y=3*x+2=%d\n",x,y);
}
}
2020/10/13
2
程序如下: #include <stdio.h>
【习题3-13】答案
void main( )
printf("total=%f",money);
} 2020/10/13
3
【习题3-14】方法1
#include<stdio.h>
void main()
{ char chr;
char password;
chr=getchar();
password=chr+6;
if(chr<=90)
{ if(password>90)
password=(password%91)+'A';
else
password=password%91;
}
else
{ if(password>=123)
password=(password%123)+'a';
else
password=password%123;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章最简单的程序设计-顺序程序设计3.1选择题1.在下列选项中,不正确的赋值语句是( )。

(A)++t; (B)n1=(n2=(n3=0)); (C)k=i==j; (D)a=b+c=1;2.以下叙述中正确的是( )。

(A)用C程序实现的算法必须要有输入和输出操作(B)用C程序实现的算法可以没有输出但必须要输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出3.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。

(A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b4.若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。

(A) a==1 (B) ++i; (C) a=a++=5; (D) a=int(i);5.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是()。

(A)6.500000(B)6(C)5.500000(D)6.0000006.C语言中用于结构化程序设计的三种基本结构是( )。

(A)顺序结构、选择结构、循环结构(B)if、switch、break(C)for、while、do-while(D)if、for、continue7.以下选项中非法的表达式是( )。

(A)0<=x<100(B)i=j==0(C)(char)(65+3) (D)x+1=x+18.有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

(A)a=a+b=b++ (B)w%((int)a+b)(C)(c+w)%(int)a (D)w=a==b;9.以下选项中,与k=n++完全等价的表达式是()。

(A)k=n,n=n+1(B)n=n+1,k=n(C)k=++n(D)k+=n+110.以下叙述中错误的是( )。

(A)C语句必须以分号结束(B)复合语句在语法上被看作一条语句(C)空语句出现在任何位置都不会影响程序运行(D)赋值表达式末尾加分号就构成赋值语句11.以下叙述中错误的是( )。

(A)算法正确的程序最终一定会结束(B)算法正确的程序可以有零个输出(C)算法正确的程序可以有零个输入(D)算法正确的程序对于相同的输入一定有相同的结果12.设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1. 42, y=5.2;则以下符合C语言语法的表达式是( )。

(A) a+=a-=(b=4)*(a=3) (B) x%(-3);(C) a=a*3=2 (D) y=float(i)13.以下程序的输出结果是( )。

main( ){ int i=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);}(A)8,10,16 (B)8,10,10 (C)10,10,10 (D)10,10,1614.已知字母A的ASCII码为十进制的65,下面程序的输出是( )。

main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}(A) 67,D(B) B,C (C) C,D(D) 不确定的值15.若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n,u,v,w);则输出结果是( ) 。

(A)8,16,10 (B)10,10,10 (C)010,16,10 (D)16,16,1616.若有以下定义和语句char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+'A');则输出结果是( )。

(A)2,M (B)3,E(C)2,E (D)输出项与对应的格式控制不一致,输出结果不确定17.下列可作为C语言赋值语句的是( )。

(A) x=3 (B) a=b=6(C) i--; (D) y=int(x);18.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为( )。

(A) 100 765.12 (B) i=100,f=765.12(C) 100765.12 (D) x=100y=765.1219.以下叙述中正确的是( )。

(A) 输入项可以是一个实型常量,如:scanf("%f",3.5);(B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");(C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);(D) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20.以下程序的输出结果是( )。

main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}(A) 17,021,0x11(B) 17,17,17(B) 17,0x11,021 (D) 17,21,1121.下列程序的输出结果是( )。

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.0722.下列程序执行后的输出结果是( )。

main(){ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }(A) G (B) H (C) I (D) J23.下列程序的运行结果是( ) 。

#include<stdio.h>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=%d24.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。

(A) input x、y、z;(B) scanf("%d%d%d",&x,&y,&z);(C) scanf("%d%d%d",x,y,z);(D) read("%d%d%d",&x,&y,&z);25.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( )。

(A) 0 (B) 0.5 (C) 1(D) 226.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( )。

(A)1.4(B)1(C)2.0(D)227.以下程序段的输出结果是()。

int a=1234;printf("%2d\n",a);(A)12(B)34(C)1234(D)提示出错、无结果28.以下非法的赋值语句是()。

(A)n=(i=2,++i);(B)j++;(C)++(i+1);(D)x=j>0;29.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是()。

(A)scanf(“%2d%2d%2d”,&i,&j,&k); (B)scanf(“%d%d%d”,&i,&j,&k);(C)scanf(“%d,%d,%d”,&i,&j,&k); (D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);30.设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是()。

(A)printf(“x=%d\n”,x);(B)printf(“x=%1d\n”,x);(C)printf(“x=%8dL\n”,x);(D)printf(“x=%LD\n”,x);31.若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是()。

(A)8,6(B)8,3(C)6,4(D)7,432.若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%x\n",m);执行后输出结果是( )。

(A)0X0(B)0x0(C)0(D)0XABC33.有以下程序段int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是( )。

(A)10,A,10(B)10,a,10(C)10,a,0(D)10,A,034.有以下程序main(){int a;char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序运行后的输出结果是( )。

(A)16516.5(B)1651.56.5 (C)1651.06.5(D)2651.56.535.有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )。

(A)1112<回车>(B)11,12<回车>(C)11,12<回车>(D)11,<回车>12<回车>36.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

相关文档
最新文档