顺序结构程序设计练习题3
顺序结构编程练习题
顺序结构编程练习
第二周2011-9-10
1.输入一个四位整数如:“1569”,编程求出它的各位数之和,并在屏幕上输出。
2.从键盘上输入两个实数,将其整数部分交换后输出。
如23.45与54.22,交换后变为54.45与23.22;
3.从键盘输入两个整数A、B,输出较大数。
4.随机产生一个4位整数和一个2位的整数,输出它们的积和商。
(精确到小数点后第3位数)
5.输入两个整数求它们的和,输出要求如样例:
输入:259 965
输出:
6. 从键盘上读入一个小写字母,利用函数输出其大写字母和对应的AscⅡ码值。
7. 用write语句输出如下两个图形:
8. 打印如下图形:
9.有三个小朋友甲乙丙。
甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。
现在他们做一个游戏。
从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。
问最后甲、乙、丙三人各吃了多少粒糖果?10.键盘任意输入3个正整数代表三角形的三个边长,编程输出该三角形的面积。
(提示:利用海伦公式s=sqrt(q*(q-a)*(q-b)*(q-c)) 其中q=(a+b+c)/2) 提高题
11.求一元一次方程ax+b=0的解,其中系数a、b从键盘输入。
12.用w rite/w riteln语句输出下面的竖式:
13.不用绝对值函数,求一个数的绝对值。
家庭作业:中级教材练习册P18 第六题1-11小题。
还没有买书的可从srliyan_1@下载,完成后用自己的邮箱发lyhnyz_1@。
C语言编程-练习顺序结构练习题
编程练习顺序结构:保存文件名为sxn.c ,n 为题目序号1.输出123+456的和,输出654+321的和2.输入直角三角形的两个直角边的边长,求第三边的边长和三角形的面积3.输入三角形三边的长度,输出三角形面积。
半周长为 面积为 4.输入平行四边形的底和高,输出它的面积(保留小数点后2位,输入输出都有中文提示)5.输入半径,输出圆的面积和周长,圆球的表面积和体积,再输入高,输出圆柱的表面积和体积,输出圆锥的体积。
(保留小数点后3位,输入输出都有中文提示)6.输入出生年份,利用C 语言自带函数,输出年龄。
(输入输出都有中文提示)7.输入一个大写字母,根据它在字母表上的顺序,输出从Z 开始,倒数对应的字母。
例如:输入‘A ’,输出’Z ’;输入‘C ’,‘X ’。
8.输入华氏温度,输出摄氏温度。
(保留小数点后2位,输入输出都有中文提示) 公式为: =5/9(f-32)9.读入一个字母,输出与之对应的ASCII 码,输入输出都要有相应的文字提示10.从键盘上输入两个整数,分别计算出它们的商和余数输出时,商数要求保留2位小数,并对第三位四舍五入。
11.输入a 、b ,求解ax 2-b=0的解(a 、b 皆为正数,结果保留小数点后1位)。
12.输入一个小数位数为5位的浮点型数据,利用公式对它小数点右边第三位四舍五入。
(假设输入的数为3.14159,则公式计算完了后为3.14进行输出,不管输出的格式控制为小数点后2位还是3位还是4位,输出的数值永远为3.14,只不过如果输出小数点后3位的话,输出为3.140)13.存款利息的计算。
有1000元,想存5年,可按以下5种方法存:(1)一次存5年期(2)先存2年期,到期后将本息再存3年期(3)先存3年期,到期后将本息再存2年期(4)存1年期,到期后将本息再存1年,连续存5次(5)活期存款,活期利息每一季度结算一次1年期的利率为r1=2.25%2年期的利率为r2=2.85% s=2c b a ++ area=))()((c s b s a s s ---3年期的利率为r3=3.5%5年期的利率为r5=3.75%活期的利率为r0=0.35%如果r 为年利率,n为存款年数,计算本息和的公式为:1年期本息和:p=1000*(1+r)n年期本息和:p=1000*(1+n*r)存n次1年期本息和:p=1000*(1+r)n活期存款本息和:p=1000*(1+/4)4n14.假设我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长了多少百分比。
第3章 顺序结构程序设计
第三章顺序结构程序设计一、输出函数printf的使用使用的格式:printf(“输出格式串”,表达式表); /*printf要小写*/重点掌握输出格式符① 格式符:%d 以普通整型输出(不可以写成%D)%md 以普通整型输出,数据占m位,右对齐%+md 以普通整型输出,数据占m位,右对齐(正数的前面有+号)%-md 以普通整型输出,数据占m位,左对齐%hd 以短整型输出%ld(或%Ld) 以长整型输出%u 以无符号整型输出%o 以八进制形势输出%x(或%X) 以十六进制形势输出%f 以单精度小数形势输出,点后6位小数%lf(或%Lf或%f) 以双精度小数形势输出,%±m.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%c 以字符形式输出%s 以字符串形式输出说明:以上的常用格式符必须和后面的变量一一对应,并且后面的变量是什么类型前面就必须用相应的格式符例:int a=-2;unsigned int b=30;float c=3.1456;printf(“%d%u%5.2f”,a,b,c); 问:输出结果是什么?(-230 3.15)②普通字符普通字符原样输出,它不控制变量的输出。
printf(“a=%d,b=%u,c=%5.2f”,a,b,c); 问:输出结果是什么?③转义字符\n 回车且换行\r 回车但不换行\b 退一个字符\t 走一个制表位(8个字符)\\ 转译成\\’转译成’\”转译成”%% 转译成%\ddd 转译成1~3位八进制所对应的ascii码值所代表的字符\xdd 转译成1~2位十六进制所对应的ascii码值所代表的字符二、输入函数scanf的使用格式:scanf(“格式串”,变量地址列表);重点掌握输入格式(有格式符和普通字符,没有转义字符)① 格式符:%d 以普通整型输入%ld(%Ld) 以长整型输入%hd 以短整形输入%md 取整型的m位%u 以无符号型输入%o 以八进制输入%x(%X) 以十六进制输入%f 以单精度小数输入%lf(%Lf) 以双精度小数输入%mf 以单精度小数输入(但是不能规定它的精度。
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语言——顺序结构程序设计练习题
顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言(顺序结构程序设计)习题与答案
正确答案:D
16、已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch="\";
B.ch= '\xff';ห้องสมุดไป่ตู้
C.ch= '123';
D.ch= '\08';
正确答案:B
二、判断题
1、每个语句和数据定义的最后都必须有分号。(√)
2、算述运算*、/、+和一具有相同的优先级。(×)
A.0~65535
B.0~2147483647
C.0~32767
D.0~255
正确答案:A
12、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.必须在系统调用的库函数的后面
B.必须在最开始
C.可以任意
D.必须在最后
正确答案:C
3、下面四个选项中,均是不合法的浮点数的选项是( )。
A.160.
0.12
e3
B.123
2e4.2
.e5
C.-e3
.234
1e3
D..18
123e4
0.
正确答案:B
4、下面四个选项中,均是合法浮点数的选项是( )。
A.+le+1
5e-9.4
03e2
B.123e
1.2e-.4
+2e-1
c语言顺序结构程序设计练习题10道
c语言顺序结构程序设计练习题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。
2、编程:输入求的半径R,计算并输出球的体积。
3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。
4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。
(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。
6、编写一个C程序,输出以下信息:**************************Very Good!**************************7、编写一个程序,输入a、b、c三个值,输出其中最大值.8、写出程序运行的结果:main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}9、写出程序运行的结果:main(){char a ,b, c1,c2;float x ,y;a = 3;b =7;x = 8.5;y = 71.82;c1 = ' A' ;c2 = 'a ';printf("a= %d b = %d/n",a,b);printf("x = %f y = %f",x,y);printf("c1= %c,c2 =%c",c1,c2);}10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。
C语言练习题
0《C程序设计》单元练习(基本概念、顺序结构)一、选择题1、C语言程序的基本单位 3 。
(1)程序行(2)语句(3)函数(4)字符2、下列说法中正确的是 3 。
(1)C语言程序总是从第一个定义的函数开始执行。
(2)在C语言程序中要调用的函数必须在main()函数中定义(3)C语言程序总是从main()函数开始执行(4)C语言程序中的main()函数必须在程序的开始部分3、设有语句int a=3,则执行语句a+=a-=a*a以后变量a的值是 4 。
(1)3 (2)0 (3)9 (4)-124、在C语言中,要求运算数必须是整数的运算符是 1 。
(1)% (2)/ (3)< (4)15、C语言中最简单的数据类型包括 2 。
(1)整型、实型、逻辑型(2)整型、实型、字符型(3)整型、字符型、逻辑型(4)整型、实型、逻辑型、字符型6、C语言提供的合法的数据类型关键字是 124 。
(1)double (2)short (3)integer (4)char7、合法的C语言字符常量是 1 。
(1)‘t’(2)“A”(3)65 (4)A8、在C语言中,合法的字符常量是 2 。
(1)‘\084’(2)‘\X43’(3)‘ab’(4)“\0”9、设有语句char a=‘\72’,则变量a是 1 。
(1)包含1个字符(2)包含2个字符(3)包含3个字符(4)说明不合法10、以下程序的输出结果是 2main(){ int i=010 ,j=10;printf(“%d,%d\n”,++i,j--);}(1)11、10 (2)9、10 (3)010,9 (4)10,911、下面程序的输出是 3 。
main(){ unsigned a=32768;print(“a=%d\n”,a);}(1)a=32768 (2)32767 (3)a=-32768 (4)a=-112、设X,Y,Z和K是int型变量,则执行表达式:X=(Y=4,Z=16,K=32)后,X的值为 3 。
实验3 顺序结构程序设计(参考答案)
实验三顺序结构程序设计(参考答案)[实验任务一]:程序分析实例3-1:assignment.c参考答案程序分析实例3-2:参考答案程序分析实例3-3:参考答案问题1:scan0.c参考答案#include <stdio.h>void main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}程序运行时输入数据的格式为:12 34↙问题2:scan1.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%c%d", &a, &b, &c);printf("%-2c%-2c%d\n", a, b, c);}问题3:scan2.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("%c,%c,%d\n", a, b, c);}问题4:scan3.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}问题5:scan4.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%*c%c%*c%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}程序改错实例3-1:correct1.c参考答案程序改错实例3-2:correct2.c参考答案程序改错实例3-3:sin.c参考答案程序改错实例3-3:macro.c参考答案[实验任务四]:编程练习3-1:area.c参考答案编程练习3-2:change.c参考答案编程练习3-3:swap.c参考答案编程练习3-4:interchange.c参考答案编程练习3-5:print.c参考答案。
程序设计基础(C) 上机实验指导3 顺序结构
例
1.输入一个数,求该数个位,十位,百位上的数之和。
过程举例:123 1)123%10 2)123/10 3)123/10%10 4)123/100 123除以10的余数为3(个位) 123除以10商为12; 12除以10的余数为2(十位); 123除以100商为1(百位)
知识点说明: 1)% 求模(求余)运算,两整数相除,求余数 2)/ 除法运算,整数相除,结果为整数,实数相除,结果为double型数
含义同printf函数
可以是变量的地址,或字 符串的首地址
• 以%开始,以一个格式字符结束,中间可 以插入附加的字符
scanf("a=%f,b=%f,c=%f",&a,&b,&c); //bad scanf("%f %f %f",&a,&b,&c); // good
13
用scanf函数输入数据
2.使用scanf
3
强制类型转换运算符 #include <stdio.h> main( ) { float a=12.34; b=(int)a; printf(" %d, %f",b,a); return 0; } //以上代码有错,在哪里?
程序运行结果: 12, 12.340000
4
第三章
在C程序中用来实现输出和输入的,主要是printf函数和 scanf函数
16
例
#include "stdio.h" main( ) { int iNum; int i1,i2,i3,iSum; printf("please input a integer(100-999):"); scanf("%d",&iNum); i1=iNum%10; /*求个位数*/ i2=iNum/10%10; /*求十位数*/ i3=iNum/100; /*求百位数*/ iSum=i1+i2+i3; printf("The sum is: %d",iSum); }
顺序结构程序设计练习题
A.intI=100;B.for(;;);
while(1)
{I=I%100+1;
if(I>100)break;}
C.intk=0;D.ints=36;
do{--k;}while(s);
while(k>=0);--s;
答案:C
5.以下能正确计算1*2*3*……*10的程序是()。
车>
C)11,12<回车>D)11,<回车>12<回车>
15.有以下程序段:
intm=0,n=0;
charc=‘a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是(A)。A)10,A,10B)16,a,10C)10,a,0D)10,A,0
k=(++a<0)&&(b+=5);
printf("%d%d%d\n",k,a,b);
}
A)104B)103C)003D)
004
答案:D
15.下列运算符中,结合方向为自左向右的是()。
(A)?:(B),(C)+=(D)+的是()
A)!B)%C)-=D)&&
答案:(A)
putchar(c2);
}
当运行时输入:a<回车>后,以下叙述正确的是______。A)变量c1被赋予字符a,c2被赋予回车符
B)程序将等待用户输入第2个字符
3顺序结构程序设计
一、单项选择题1.printf()函数输出实数时,使用的格式字符是()A.%d B.%c C.%f D.%o2.下面变量说明中()是正确的。
A.char:a ,b ,c; B.char a;b;c;C.char a , b , c; D.char a,b ,c3.以下说法正确的是()A. 输入项可以是一个实型常量B. 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D. 当输入数据时,必须指明变量的地址,如scanf("%f",&f);4.以下能正确地定义整型变量a、b和c并为其赋初值5的语句是()A.int a=b=c=5; B.int a,b,c=5;C.int a=5,b=5,c=5; D.a=b=c=5;5.下面程序的输出是()main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b6.在下列选项中,不正确的赋值语句是()A. ++t;B. n1=(n2=(n3=0));C. k=i=j;D. a=b+c=1;7.下面程序的输出是()main(){ int x=023;printf("%d\n",--x);}A.17B. 18C. 23D. 228.下面程序的输出的是()main(){ int x=10,y=3;printf("%d\n",y=x/y);}A. 0B. 1C. 3D. 不确定的值9.已知字母A的ASCII码为十进制的65,下面程序的输出是()main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A.67,DB. B,CC. C,DD. 不确定的值10.以下程序的输出结果是()main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 911.设有如下定义: int x=10,y=3,z;则语句 printf("%d\n",z=(x%y,x/y));的输出结果是()A.1B. 0C. 4D. 312.阅读下面的程序main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是()A. aB. bC. cD. 程序语法出错13.阅读下面的程序main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是()A. 1,19B. -1,19C. 1,17D. -1,1714.阅读下面的程序main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是()A. 8,10,8,10B. 9,11,8,10C. 9,11,9,10D. 9,10,9,1115.阅读下面的程序main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是()A. i=123,j=4567 B. i=1234,j=567C. i=1,j=2D. i=123,j=4516.执行下面程序段后,输出结果是()int a;int b=65536;a=b;printf("%d\n",a);A.65536B. 0C. -1D. 117.下面程序的输出的是()main(){ int x=10,y=4;printf("%d\n",y=x/y);}A.4B.2.5C. 2D. 不确定的值18.以下程序的输出结果是()main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A.10 10B. 9 9C. 9 10D. 10 919.以下程序的输出结果是()main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A.10,10B. 12,12C. 11,10D. 11,1320.下列程序的输出结果是()main(){printf("%d\n",null);}A.0B.变量无定义C.-1D.121.以下程序的输出结果为()main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A.11,10B.9,10C.010,9D.10,922.以下程序段的输出结果是()int a=12345; printf(”%2d\n”, a);A.12 B.34 C.12345 D.提示出错、无结果23.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。
实验3 顺序结构程序设计(含答案)
实验3 顺序结构程序设计一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、熟悉赋值、整数相处、取余运算符的使用,能根据需要构建相应的表达式;3、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;4、掌握scanf()函数的使用,能正确输入数据;5、掌握顺序结构程序设计的方法。
二、实验内容1、(基础题)运行下列程序,体会printf()中“格式控制符”的用法,并回答相关问题:#include<stdio.h>int main(){int k=1234;double f=12345.0123456789;printf("%8d\n",k);printf("%08d\n",k);printf("%15.4f\n",f);printf("%e\n",f);printf("%.4e\n",f);return0;}问题:已知int k=2569;double f=12345.0123456789;根据上面的代码,在原有printf 语句的基础上修改数据输出格式,使得程序运行结果如下图所示。
程序代码:#include <stdio.h>int main( ){int k=2569;double f=12345.0123456789;printf ("%6d\n",k);printf ("%06d\n",k);printf ("%.4f\n",f);printf ("%.2f\n",f);printf ("%.4e\n",f);printf ("%.2e\n",f);return 0;}2、(基础题)改错题:以下程序有多处错误,若按下列截图所示格式输入、输出数据,请在程序的相应位置上改正错误。
C语言程序设计各章练习题
《C 语言程序设计》各章练习题2016年12月汇编第1—3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a ,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a ,b 的值。
附加要求:(1)允许定义第3个变量,实现交换; (2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y 编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y 编程题3:求 ax 2+bx+c=0方程的解.(只输出b 2-4ac 〉=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc ,其中a≠b 且c≠d 。
如:12×42=21×24.请编程找出30~50之间满足上述等式所有m,n 值,并按上述等式的格式输出。
(×用*表示)编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出.例如,输入123456,输出654321.第6章数组编程题11:有一个已排好序的数组int a[11]={-5,—3,0,6,8,12,16,28,66,88};,要求输入一个数后,按原来排序的规律将它插入数组中。
实验3 顺序结构程序设计
实验三数据类型和顺序结构程序设计(4学时)[实验任务一]:通过调试、分析程序运行结果,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;掌握各种运算符尤其是复合赋值运算符和除法及求余运算符。
程序分析实例3-1:输入、运行下面的程序,并分析、验证运行结果。
并以文件名assignment.c最终保存在实验3文件夹里:(需要存盘)【分析】程序运行结果为:在此基础上,做以下改动:(1)将程序第9~14行改为:a=61; b=62;c1=a; c2=b;f=3157.890121; g=0.123456789;d=f; e=g;p=a=m=50000; q=b=n=-60000;运行程序,分析结果。
【分析】修改后程序运行结果为:(2)在(1)的基础上将printf语句改为:printf("a=%d,b=%d,c1=%c,c2=%c,d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);printf("f=%f,g=%f,m=%d\n",f,g,m);printf("n=%d\n”,n);printf(“p=%d,q=%d\n",p,q);运行程序。
(3)将p, q改用%o格式符输出。
注意是字母o而不是数字0。
(4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据入下:61, 62, a, b, 3.56,-6.87, 3,157.890121, 0.123456789, 50000,-60000, 40000(说明:lf,ld格式符分别用于输入double型和long型数据)分析运行结果。
C语言第4章程序题
c语言程序设计练习题第三章顺序结构一、选择题1、下面程序的输出是______main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13B) k=11,k=13,k=13C) k=11,k=013,k=oXbD) k=11,k=13,k=b2、以下合法的C语言赋值语句是A)a=b=58; B)k=int(a+b) ; C)a=58,b=58; D)-- i;3、以下程序的输出结果是A)0 B)1 C)3 D)不确定main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是_____A)0B)1/2 C)0.5 D)1int c1=1 , c2=2 , c3;c3=c1/c2;6、若执行以下程序段,其输出结果是______A)3,0,-10 B)0,0,5C)-10,3,-10 D)3,0,5int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %d\n” , a,b,c);7、以下程序段的输出是_______A)*0000057.66* B)* 57.66*C)*0000057.67*D)* 57.67*float a=57.666;printf(“*%010.2f*\n”, a);8、若有以下定义和语句:int a=5a++;此处表达式a++的值是____A) 7 B) 6C) 5 D) 49、若有以下定义和语句:char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A")则输出结果是_______A) 2,M B) 3,EC) 2,e D) 输出结果不确定10、以下程序的输出结果是______main(){ int x=10,y=10;printf("%d%d\n",x--,--y);}A) 10 10 B) 9 9C) 9 10 D) 10 911、★在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5;pad=sum++,pad++,++pad;printf("%d\n",pad);A) 7 B) 6C) 5 D) 412、★以下程序的输出结果_____#include<stdio.h>main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A) 11,10 B) 9,10C) 010,9 D) 10,913、请读程序int i =65536printf("%d\n",i);上面程序的输出结果是_____A) 65535 B) 0C) 有语法错误,无输出结果 D) 114、已知字符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,CC) C,D D) 不确定的值15、★若有定义和语句:char s[10]; s="abcd"; printf("%d\n",s);则结果是_____A) 输出 abcd B) 输出 aC) 输出 adcb D) 编译不能通过16、★若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):1 2 <CR>A B C<CR>则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______A) scanf("x=%d y=%d",&x,&y); a=getchar(); c=getchar();B) scanf("%d%d",&x,&y); a=getchar(); b=getchar(); c=getchar();C) scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);D) scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);17、★两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____ main(){int x;scanf("%d",&x);if (x++>5) printf("%d",x)else printf("%d\n",x--);}A) 7和5 B) 6和3C) 7和4 D) 6和418、★若执行下面的程序从键盘输入3和4,则输出是_______main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a<b) s=b;s=s*s;printf("%d\n",s);}A) 14 B) 16C) 18 D) 2019、★设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)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>20、★以下程序的输出结果是____#include<stdio.h>main(){printf("%d\n",NULL);}A) 不确定B) 0C) –1 D) 1二、填空题1、复合语句在语法上被认为是___分程序_____,空语句的形式是___;___。
C语言——顺序结构程序设计练习题
顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言编程练习题与答案 顺序结构3-3
int main() {
int a,b; scanf("%d",&a);
b=(a-a%100)/100;a=a-100*b; //100 元的张数 printf("%d",b);
输入:|210 输出:|11010010 5.要求: 时间要求:1000 MS; 内存要求:32768 KB; 【继续考虑】如果要求输出十六进制该怎么办? 五、手动计算并深入解释计算过程 (《C 语言开发宝典》,上机练习 5.11,上机练习 5.12,原题) (《C 语言开发宝典》,上机练习 5.10,等同原题)【提交:纸质材料 + 口头】 请计算以下各表达式(双下划线部分)的解,并给出计算过程的详细解释:
答案: 1.5 2.运算出错,error C2106: '+=' : left operand must be l-value
(+=符号的左面必须是一个变量,不能是表达式) 3.14
printf("%d",a);
return 0; }
三、求以下算术表达式的值(codeup,1155,原题)答案 源代码: #include <stdio.h>
int main() {
int a; double x,y,n;
scanf("%lf %d %lf",&x,&a,&y); n=(x+a%3*(int)(x+y)%2/4);
输入:|1258 输出:|12 1 0 0 1 3 5.要求: 时间要求:1000 MS; 内存要求:32768 KB;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言练习题总汇一、单选题:【顺序结构程序设计】1.己知int k,m=1;执行语句k=-m++;后k的值是(A )。
(提示:负号与自加运算符同级,结合方向从右向左)A)-1 B) 0 C)1 D)22.若有定义int x=4;则执行语句x + = x * = x + 1;后,x的值为(C )。
A)5 B)20 C)40 D)无答案3.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为( C )。
A)6.0 B)6 C)0.0 D)无答案4.以下程序段的输出结果是( C )。
(提示:a当约束过严时,约束失效。
按自由格式输出。
)int a=1234;printf("%2d\n",a);A)12 B)34 C)1234 D)提示出错,无结果5.下列程序段的输出结果是(C)。
int a=1234;float b=123.456;double c=12345.54321;printf("%2d,%3.2f,%4.1f",a,b,c);A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.56.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。
printf("%d,%d\n",x--,++y);A)8,5 B)7,5 C) 7,6 D) 8,67.以下程序的输出结果是( A )。
int main(){ int a=20,b=10;printf("%d,%%d\n",a+b,a-b); }A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)8.下列程序的运行结果是(A)。
int main(){ float x=2.5;int y;y=(int)x;printf("x=%f,y=%d",x,y);}A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.0000009.以下程序的输出结果是(A)。
int main(){ char c=‘z’;printf("%c",c-25);}A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个)10.下面程序的输出结果是(C)。
int main( ){ double d=3.2 ;int x=1.2, y ;y=(x+3.8)/5.0 ;printf("%d\n",d*y);}A) 3 B) 3.2 C)0 D) 3.0711.下面程序的输出结果是( C )。
(提示:输出时无定界符)int main(){ int k=17;printf("%d,%o,%x\n",k,k,k);}A)17,17,17 B)17,021,0x11 C)17,21,11 D)17,0x11,02112.下列程序执行后的输出结果是(C)。
int main(){ char x =OxFFFF;printf("%d\n",x--);}A)-32767 B)FFFE C)-1 D)=-3276813.printf("a\bre\'hi\'y\\\bou\n");的输出结果是(C)。
A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bouC)re'hi'you D)abre'hi'y\bou14.有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中错误的是(A)。
A)11<空格>12<回车> B)11,<空格>12<回车>C)11,12<回车> D)11,<回车>12<回车>15.有以下程序段: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)。
A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,016.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值1,b赋值2,c赋值3,不正确的输入形式是(B)。
A) 1<空格>2<空格>3<回车> B)1,2,3<回车> C)1<回车>2<空格>3<回车> D)1<空格>2<回车>3<回车>17.a, b,c被定义为int型变量,若从键盘给a, b,c输入数据,正确的输入语句是(D)A)input a,b,c; B)read("%d%d%d",&a,&b,&c); C)scanf("%d%d%d",a,b,c);D)scanf("%d%d%d",&a,&b,&c);18.已知a,b,c为int型变量,若从键盘输入:1,2,3<回车>,使a的值为1,b的值为2,c 的值为3,以下选项中正确的输入语句是(B)。
A)scanf("%2d,%2d,%2d",a,b,c); B)scanf("%d,%d,%d",&a,&b,&c);C)scanf("%d %d %d",&a,&b,&c); D)scanf("i=%dj=%d,k=%d",&a,&b,&c);19.执行下程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )。
int main(){char s;int c,i;scanf("%c",&c);scanf("%d",&i);scanf("%c",&s);printf("%c,%d,%c\n",c,i,s);}A)123,456,789 B)1,456,789 C)1,23,456,789 D) 1,23,20.已定义c为字符型变量,则下列语句中正确的是( C )。
A)c='97 ' B)c=“97 “ C)c=97 D)c=“a”21.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
程序在编译时出错。
#include <stdio.h>void main(){int r;float s;scanf("%d",&r);s=p*r*r;printf("s=%f\n",s);}出错的原因是()。
A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量答案:D22.有以下程序#include <stdio.h>void main( ){int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是()。
答案:A23.数字字符0的ASCII值为48,若有以下程序#include <stdio.h>void main( ){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是______。
A)3,2 B)50,2 C)2,2 D)2,50答案:C24.有以下程序#include <stdio.h>void main( ){char c1='1',c2='2';c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);}当运行时输入:a<回车> 后,以下叙述正确的是______。
A)变量c1被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量c1被赋予字符a,c2中仍是原有字符2D)变量c1被赋予字符a,c2中将无确定值答案:A25.【选择结构程序设计】1.有变量说明语句int a,b ,c;,顺序执行下面语句:a=b=c=1;++a||++b&&++c;那么,变量b的值应是( B )A.2 B.1 C.0 D.32.有变量说明int a=3;,则表达式a<1&&--a>1的运算结果和a的值应该是( B )A.0和2 B.0和3 C.1和2 D.1和33.设int a=3,b=4,c=5;,下列表达式的值不为1的是( A )。
A)a+b>c&&b==c B)a||b+c&&b-cC)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/24.#include<stdio.h>int main( ){int a,b,c;a=10;b=50;c=30;if(a>b) a=b;b=c;c=a;printf(“a=%d,b=%d,c=%d\n”,a,b,c);}程序的输出结果是( C )。
A.a=10, b=50, c=10B. a=10, b=50, c=30C.a=10, b=30, c=10D. a=50, b=30, c=505.若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式a<b?a:c<d?c:d的值是( A )。