C语言程序的设计教程第三章练习题题目
for(i=0,x= 0;i<=9 &&x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是( )
A.最多执行10次
B.最多执行9次
C.是无限循环
D.循环体一次也不执行
6、关于下面的for循环语句
int i,k;
for(i=0,k= -1;k=1;i++,k++) printf(“*****”);
A.0
B.1
C.true
D.非
18、以下描述中正确的是()。
A.do-while语句构成的循环不能用其它语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环
D.用do-while语句构成的循环,在while后的表达式为零时结束循环
D.v1=8,v2=8,v3=8,v4=8
13、下列程序段的输出结果为()。
int y=1;
while(y--);
printf("y=%d\n",y);
A.y=-1
B.y=0
C.死循环
D.y=9
14、当输入数据:27 63时,下面程序的运行结果是(#include<stdio.h>
int gbs(int a, int b)
单选题
1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为() 。
A.3,4
B.4,3
C.3,3
D.4,4
2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()
A.a<>0
B.!a
C.a=0
D.a
3、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
下列选项中,描述正确的是( )
A.判断循环结束的条件非法
B.是无限循环
C.只循环一次
D.一次也不循环
7、C语言程序的三种基本结构是()。
A.顺序结构,选择结构,循环结构
B.递归结构,循环结构,转移结构
C.嵌套结构,递归结构,顺序结构
D.循环结构,转移结构,顺序结构
8、若要求在if后一对圆括号中表示a不等于0的关系, 则能正确表示这一 ( )。
19、 以下循环体的执行次数是()。
void main()
{
int i,j;
A.a=30 b=63 gbs=189 gys=9
B.a=27 b=63 gbs=190 gys=10
C.a=27 b=63 gbs=189 gys=9
D.a=27 b=63 gbs=188 gys=10
15、假设有程序段:int k=0; while(k=1) k++; while语句的循环次数是( )。
b=b>0?b:-b;
while (a!=b) if (a>b)
a-=b;
else
b-=a;
re a,b,c,d; scanf("%d%d",&a,&b); c=gbs(a,b); d=gys(a,b);
printf("a=%d b=%d gbs=%d gys=%d\n",a,b,c,d);
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
16、 执行下面程序片段的结果是()。
int x=23;
do
{printf("%2d",x--);
}while (!x);
A.打印出321
B.打印出23
C.不打印任何内容
D.陷入死循环
17、 在C语言程序中,若希望结束循环,则do-while语句构成的循环中的条件为( )。
{
int c;
a=a>0?a:-a;
b=b>0?b:-b;
c=a*b;
if (c==0)
return0;
while (a!=b)
if (a>b) a-=b;
else
b-=a;
return c/a;
}
int gys(int a, int b)
{
if (a*b==0) return0;
a=a>0?a:-a;
A.a<>0
B.!a
C.a=0
D.a
9、 两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是void 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
v1++;
case'0':
v2++;
}
printf("%d,%d\n",v1,v2);
}
A.2,0
B.5,0
C.5,5
D.2,5
11、有如下程序:
void main()
{
int x=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
a++;
b++;
}
printf("a=%d,b=%d\n",a,b);
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前尚未配对的最近的if
D.同一行上的if
4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式的值不合法
D.以上说法都不对
{
default: v4++;
case'1':
v1++;
case'3':
v3++;
case'2':v2++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
}该程序的输出结果是( )。
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
12、下面程序的输出是()。
void main()
{
char *a="12134211";
int v1=0,v2=0,v3=0,v4=0,k;
for (k=0;s[k];k++)
switch (s[k])
D.6和4
10、运行以下程序后,如果从键盘上输入china#,那么输出结果为(#include<stdio.h>
void main()
{
int v1=0,v2=0;
char ch;
while ((ch=getchar())!='#')
switch (ch)
{
case 'a':
case 'h': default:
C语言程序设计(第3版)第3章习题参考答案
习题三参考答案(1)从键盘输入一个年份值,判断是否闰年。
设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。
#include "Stdio.h"#include "Conio.h"int main(void){int iYear;printf("please input the year:");scanf("%d",&iYear);if(iYear%400==0||(iYear%4==0&&iYear%100!=0))printf("%d is leap",iYear);elseprintf("%d is not leap",iYear);getch();return 0;}(2)从键盘输入三个整数,按由小到大的顺序输出。
#include "stdio.h"main(){int i,j,k,max;scanf("%d%d%d",&i,&j,&k);max=i>j?i:j;max=max>k?max:k;printf("max=%d",max);getch();}(3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。
试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。
#include "Stdio.h"#include "Conio.h"int main(void){int iWeek,iHours ;float fSalary,fTaxes;printf("please input the week number(1-7):");scanf("%d",&iWeek);printf("please input the work hours(1-12):");scanf("%d",&iHours);switch(iWeek){case 1:case 2:case 3:case 4:case 5:fSalary=20*iHours;fTaxes=fSalary*0.045;break;case 6:case 7:fSalary=3*20*iHours;fTaxes=fSalary*0.045;break;}printf("the salary is %f ,the taxes is %f",fSalary,fTaxes);getch();return 0;}(4)从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输出;如不能,输出不能构成三角形的信息。
【免费下载】C语言 第3章 最简单的C程序设计 练习题
(x+y-z*w)的结果为 C 类型。
A)float
B)char
C)int
D)double
24-25 解析:参照数据类型转换知识点。
26 . C 语言中运算对象必须是整型的运算符是
。
A) %=
B) /
C) =
D) 〈=
27. 在 C 语言程序中,表达式 8/5 的结果是
。
A)1.6
B)1
C)3
D)0
。
A)4
B)16
C)32
D)52
36 解析:(y=4,z=16,k=32)是一个逗号表达式,逗号表达式的值是指最后一个表达式的值。
37. 下面
表达式的值为 4.
A) 11/3
B) 11.0/3
C) (float)11/3
D) (int)(11.0/3+0.5)
38. 有: int a=2,b=10,c=3,d=4,m=2,n=1;执行(m=a>b)&&(n=c>d)后 n 的值为
D) 123
D)’#’
D) 2a DO sizeof
。
A) “B”
B) ‘\n’
C) ‘68’
D) E
18.下面字符常量表示错误的是
A)’a’
B)’?’
C)’\n’
D)”\n”
19. 已定义 c 为字符型变量,则下列语句中正确的是
。
A)c='97'
B)c="97" C)c=‘a’
D)c="a"
14-19 题解析:字符型常量是由单引号括起来的单个字符,另外 C 语言还规定了一些转义字符的表示形式例
C语言第三章在线测试题目及答案
第一题、单项选择题(每题1分,5道题共5分)?1、在C语言中,不正确的常量是:A、0xf6B、0876C、.5e-6D、+3e+2?2、要把高级语言编写的源程序转换为目标程序,需要使用:A、编辑程序B、驱动程序C、诊断程序D、编译程序?3、以下选项中,属于C语言的数据类型是:A、复数型B、逻辑型C、双精度型D、集合型?4、下列属于结构化算法基本结构的是()。
A、顺序结构,复合结构B、选择结构,嵌套结构C、顺序结构,循环结构D、复合结构,嵌套结构?5、调试C程序时正确的步骤应当是()。
A、编辑、编译、链接和运行B、编辑、链接、编译和运行C、链接、编辑、编译和运行D、编辑、链接、编译和运行第二题、多项选择题(每题2分,5道题共10分)?1、下列常数中能作为C的常量的是:A、0x4B、C、33D、03A?2、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是:A、1111 1111 1111 1000B、1000 0000 0000 0000C、1000 0000 0000 1000D、1111 1111 1111 0111?3、下列关于C语言用户标识符的叙述中,不正确的叙述是:A、用户标识符中可以出现下划线和中划线(减号)B、用户标识符中不可以出现中划线,但可以出现下划线C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头?4、与汇编程序相比,C语言程序的优点包括( )。
A、更容易移植B、更容易阅读C、目标代码质量较高D、能够进行位操作?5、下列属于字符串的是( )A、“3 = y”B、“( x + y ) = 6”C、“y”D、“3”第三题、判断题(每题1分,5道题共5分)?1、在一个C程序中main函数必须出现在所有函数之前。
正确错误?2、一个C程序的执行是从main()函数开始,直到最后一个函数结束。
正确错误?3、int类型的数据范围不可能比float类型的大。
第3章程序设计初步第1-7节
第3章程序设计初步第1-7节一、选择题1、C语言中用于结构化程序设计的3种基本结构是( D )A) for,while,do-while B) if,for,continueC) if,switch,break D)顺序结构、选择结构、循环结构2、流程控制语句的基本控制结构有三种,不属于这一种结构的是( D )。
A) 顺序结构 B) 选择结构 C) 循环结构 D) 计算结构3、输入输出格式控制是在哪个头文件中定义的?( B )。
A) iostream B) iomanip C) istream D) ostream4、输入输出时需要包含哪个头文件?( A )。
A) iostream B) iomanip C) istream D) ostream5、对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是( D )。
A)”cout”是一个输出流对象 B) ”endl”的作用是输出回车换行C)”x”是一个变量 D) ”<<”称作提取运算符解析:”>>”称作提取运算符. ”<<”称作插入运算符6、下列有关输入、输出的说法错误的是( C )。
A) C++语言本身没有提供输入、输出语句B) C++语言中输入输出功能是通过输入输出流库中的流对象cin和cout实现的C) 函数putchar()只能用来输出字符型变量的内容D) 函数getchar()一次只能输入一个字符7、在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?(A )。
A) hex B) oct C) dec D) left8、关系表达式的求值结果为( B )。
A)1或-1 B)1或0 C)任意正整数或0 D)任意负整数或09、设变量a和b的值满足a<b,判断变量x的值是否位于闭区间[a,b]的表达式是(C )。
A)a<x<y B)a<=x<=b C)x>=a&&x<=b D)a<x&&x<b10、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。
课后题答案-C语言程序设计(第2版)
《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。
#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
C语言程序设计各章练习题
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之间满数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。
C#程序设计课后习题答案--第三章
实验报告1.创建窗体应用程序,程序运行时,在“年份”文本框输入一个正整数,单击“判断”按钮,就能在标签控件中显示判断结果;单击“退出”按钮则结束程序运行。
图 1.1 题目部分代码图 1.2 结果2.创建控制台应用程序,输入一个奇数后,输出图案,最顶部一行的星号个数为输入的数。
图 2.1 判断奇数代码图 2.2 输出星号倒三角形代码图 2.3 结果1图 2.4 结果23. 创建控制台应用程序,利用下边的多项式计算出π值,要求最后一项的值小于10−6.π4=1−13+15−17+⋯+14n −3−14n −1图 3.1 代码图 3.2 结果4. 创建控件台应用程序,利用下边的公式计算e 的近似值,要求最后一项的值小于10−6。
e =∑1n!kn=0图 4.1 代码图 4.2 结果5.已知两个三位数abc和cba之和为1333(既abc+cba=1333),编写控制台应用程序,求出三个数字a、b、c。
图 5.1 代码图 5.2 结果6.创建控制台应用程序,求解猴子吃桃问题,猴子第一天摘下桃子若干,当即吃了一个后又多吃了一个;第二天又将剩下的桃子吃掉一半后再多吃一个,;以后每天都吃掉前一天剩下的一半零一个。
到第10天想再吃时,只剩下一个桃子。
求猴子在第一天共摘下多少个桃子?图 6.1 代码图 6.2 结果7.马克思曾经做过这样一道数学趣味题:有30个人在一家小饭馆用餐,其中每个男人花了3先令,每个女人花了2先令,每个孩子花了1先令,总共花了50先令。
问男人、女人、孩子各有多少人?本题有多个解,编写控制条应用程序求出所有解。
图7.1 代码图7.2 代码8.体操比赛的评分规则是:由7位裁判为每个运动员打分,去掉一个最高分,去掉一个最低分,求出的平均分即为运动员的得分。
编写控制台应用程序,计算运动员得分。
图8.1 代码图8.2 结果9.所谓“水仙花数”指的就是这样的一个3位数,其各位数的立方和等于该数。
例如,153=13+53+33.编写控制台应用程序,计算输出所有的水仙花数。
C语言程序设计第三章 (2)
举例 int a=10; short b=100 int short b=100; unsigned int short b=100; long d=212365; int long d=212365; unsigned int long d=212365;
练习题
练习
• char c; 等价 • c=65; 是否等价于c= 'A' • printf(“%d %c”,c,c);输入的结果是多少呢?
65 A
注意:
• • • • • int a; char b; a=65; b=‘A’; 不等价,所占内存空间不同。 问变量a 的值和变量b的值是否等价。
练习题
price ?abc int name float name age 8ab year a%d 以上哪些是正确的标识符,哪些不是?
price name age year a b 都是 正确的标识符 ?abc int float 8ab a%d 不能是 标识符
练习题
下列选项中,不能用作标识符的是( )
设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数
A)(a+b)*h/2
ab 式_______________ h 2
计算结果不相符的是( ) B)(1/2)*(a+b)*h
B
C)(a+b)*h*1/2 D)h/2*(a+b)
2014-3-16
自加、自减运算符P53 自加运算(i++, ++i) 相同点:++i 和 i++的作用都等同于i=i+1 不同点:++i是先给i=i+1,然后再引用i的值。 i++是先引用i的值,然后i=i+1 自减运算(i- -, - -i) 相同点:- -i 和 i- -的作用都等同于i=i-1 不同点:- -i是先给i=i-1,然后再引用i的值。 i--是先引用i的值,然后i=i-1
C语言第3章课后习题答案
程序如下: 程序如下: 习题3-13】答案 【习题 】 #include <stdio.h> void main( ) { float money; int national, count; printf(" printf("Input national or external: "); scanf("%d" scanf("%d",&national); printf(" printf("Input count of product: "); scanf("%d" scanf("%d",&count); if(national) /* 国内销售 */ if(count<=80) money=count*350.0; else money=count*350.0-(countmoney=count*350.0-(count-80.0)*20.0; else /* 国外销售 */ if( count<=1000) money=count*900.0; else money=count*900.0-(countmoney=count*900.0-(count-1000.0)*15.0; printf("total=%f" printf("total=%f",money); }
【习题3-14】方法 习题 】方法2
#include<stdio.h> void main() { char chr; char password; chr=getchar(); if(chr>='U'&&chr<='Z'||chr>='u'&&chr<='z') { password=chr+6password=chr+6-26; } else { password=chr+6; } printf("The character's password is %c",password); }
c语言程序设计第三章答案
第三章习题答案一、选择题(带**号的题选作)1) 以下叙述中正确的是()A) C语言的基本组成单位是语句B) C程序中的每一行只能写一条语句C) 简单C语句必须以分号结束D)C语句必须在一行内完成2)下列叙述中错误的是A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C) 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行3) 计算机能直接执行的程序是()A)源程序 B)目标程序 C)汇编程序 D)可执行程序4)以下叙述中错误的是A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法5)对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束6)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数7) 以下关于C语言的叙述中正确的是A) C语言中的注释不可以夹在变量名或关键字的中间B) C语言中的变量可以再使用之前的任何位置进行定义C) 在C语言算术的书写中,运算符两侧的运算数类型必须一致D) C语言的数值常量中夹带空格不影响常量值的正确表示8)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数9)以下叙述中正确的是A) C程序中的注释只能出现在程序的开始位置和语句的后面B) C程序书写格式严格,要求一行内只能写一个语句C) C程序书写格式自由,一个语句可以写在多行上D) 用C语言编写的程序只能放在一个程序文件中10)C语言源程序名的后缀是A).exe B).C C).obj D).cp11)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的12) 以下选项中不能作为C语言合法常量的是 ( )A) ‘cd’ B) 0.1e+6 C) “a” D)‘\011’13)一下选项中,能用作数据常量的是A)o115 B)0118 C)1.5e1.5 D)115L14) 以下选项中不属于字符常量的是A)'C' B)"C" C)'\xCC0' D)'\072' 15)以下合法的字符型常量是A)’\x13’B)’\018’C)”65” D)”\n”16) 以下不合法的字符常量是A)'\018' B)'\”' C) '\\' D) ‘\xcc' 17) 以下不合法的数值常量是A)011 B)1e1 C) 8.0E0.5 D) 0xabcd 18)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0C)字符斜杠:‘\’ D)字符串:"\007"19) C源程序中不能表示的数制是()A) 二进制 B) 八进制 C) 十进制 D) 十六进制20) 以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A.5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e521)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_22)一下选项中合法的标识符是A)1_1 B)1-1 C)_11 D)1_ _23) 以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_ D)unsigned 24)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母 B)连接符 C)数字字符 D)下划线25)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl26) 以下C语言用户标示符中,不合法的是A)_1 B)AaBc C)a_b D)a--b 27)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00 28)下列定义变量的语句错误的是()。
