C语言程序-分支结构题目及答案

合集下载

C语言概述题及答案

C语言概述题及答案

C语言概述题及答案 LELE was finally revised on the morning of December 16, 2020题目部分,(卷面共有80题,分,各大题标有题量和总分)一、单项选择题(58小题,共分)(3分)[1]一个C语言程序是由A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(3分)[2]C语言规定:在一个源程序中,main函数的位置A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意D、必须在最后(3分)[3]以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面(3分)[4]以下叙述正确的是A、在C程序中,main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误(3分)[5]一个C程序的执行是从A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束(3分)[6]一个C程序的执行是从A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序的main函数结束(3分)[7]编辑程序的功能是A、建立并修改程序B、将c源程序编译成目标程序C、调试程序D、命令计算机执行指定的操作(3分)[8]C语言派程序的基本单位是A、过程B、函数C、子程序D、标识符(3分)[9]一个c程序是由A、一个主程序和若干子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成(3分)[10]一个C语言程序是由A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(3分)[11]一个c程序的执行是从A、main( )函数开始,直到main( )函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main( )函数开始,直到最后一个函数结束(3分)[12]以下正确的c语言标识符是A、%xB、a十bC、a123D、test!(3分)[13]以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、(3分)[14]以下不是C语言的特点的是A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好(3分)[15]一个C语言源程序是由A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(3分)[16]C语言规定,在一个源程序中,main函数的位置A、必须在最开始 B、必须在系统调用的库函数的后面C、可以任意D、必须在最后(3分)[17]以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面(3分)[18]以下叙述正确的是A、在C程序中,main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误(3分)[19]C语言程序的执行,总是起始于A、程序中的第一条可执行语句B、程序中的第一个函数C、 main函数D、包含文件中的第一个函数(3分)[20]计算机内部运算使用的数是A、十进制数B、十六进制数C、二进制数D、八进制数(3分)[21]下面的程序运行后输出为main( ){ int a=-32769;ptintf("%8U\\n",a);}A、32769B、%8UC、 32767D、 -32767(3分)[22]下面程序段的输出结果是int i=32769;printf("%d\\n",i);A、32769B、32767C、 -32767D、输出不是确定的数(3分)[23]下面程序段执行结果是int i=5;printf("%d,%d,%d", i,(++i)+(++i)+(i++),i);A、8,20,5B、8,21,5C、 5,20,8D、 5,21,8(3分)[24]下面程序段执行结果是int i=5,k;k=(++i)+(++i)+(i++);printf("%d,%d",k,i);A、24,8B、21,8C、 21,7D、 24,7(3分)[25]一个字长的二进制位数是A、2个BYTE,即16个bitB、3个BYTE,即24个bitC、 4个BYTE,即32个bitD、随计算机系统不同而不同(3分)[26]将二进制数转换成十进制数是A、 B、91.375 C、 D、(3分)[27]二进制数00110101转换成八进制数是A、055B、065C、 056D、 152(3分)[28]十进制数2403转换成十六进制数为A、963B、369C、 953D、 359(3分)[29]以下四项中属于C语言关键字的是A、CHARB、defineC、 unsignedD、 retern(3分)[30]C语言源程序的最小单位是A、程序行B、语句C、函数D、字符(3分)[31]下面对C语言特点,不正确描述的是A、C语言兼有高级语言和低级语言的双重特点,执行效率高B、C语言既可以用来编写应用程序,又可以用来编写系统软件C、C语言的可移植性较差D、C语言是一种结构式模块化程序设计语言(3分)[32]下列说法中正确的是A、C程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句C、C程序书写时,一个语句可分成几行书写D、C程序书写时每行必须有行号(3分)[33]在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少A、8,2,4,1B、2,8,4,1C、 4,2,8,1D、 8,4,2,1(3分)[34]下列说法正确的是A、在执行 C 程序时不是从 main 函数开始的B、C 程序书写格式严格限制,一行内必须写一个语句C、C 程序书写格式自由,一个语句可以分写在多行上D、C 程序书写格式严格限制,一行内必须写一个语句,并要有行号(3分)[35]下列说法正确的是A、main 函数必须放在 C 程序的开头B、main 函数必须放在 C 程序的最后C、main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一个函数之后,但在执行 C 程序时是从程序开头执行的D、 main 函数可以放在 C 程序的中间部分,即在一些函数之前在另一些函数之后,但在执行 C 程序时是从 main 函数开始的(3分)[36]下列说法正确的是A、一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B、一个函数的函数体必须要有执行部分,可以没有变量定义C、一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D、以上都不对(3分)[37]()是 C 程序的基本构成单位A、函数B、函数和过程C、超文本过程D、子程序(3分)[38]C 源程序是由()构成的A、函数B、函数和过程C、超文本过程D、子程序(3分)[39]一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个(),一个 C 程序总是从()开始执行。

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

C语言第4章-分支结构.

C语言第4章-分支结构.
❖注意表达式之间的顺序关系 ❖课堂作业:将表达式位置倒过 来后,即低等级先判断,高等级 后判断,完成框图与程序
§【源程序】 §main( ) §{ int grade; printf ( "input the grade:"); § scanf ("%d",&grade); § if (grade>=90) printf("A\n"); § else if(grade>=80) printf("B\n"); § else if(grade>=70) printf("C\n"); § else if(grade>=60) printf("D\n"); § else printf("E\n"); §}
§2.添break、可跳出。见下节
【例呢?
§ //百分制成绩的等级划分问题之解法3(不完善):
§ main( )
§ {int grade; printf("input the grade:");
§ scanf("%d",&grade);
§ switch(grade/10) //按单值匹配,故要将范围映射为单值
§4.各个case子句出现的次序对执行结果没任 何影响,即顺序可以任意布局。
§5.每一个case能够拥有一条或多条语句,其最大的 不同之处在于使用多条语句时不需要用“{}”括起来。
§6.多个case可以共用一组执行语句。例如:
§

§
case ‘A’:
§
case ‘a’: ++count ; break ;
§

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

第06课 分支结构丨专题练习(解析版)

第06课 分支结构丨专题练习(解析版)

第6课分支结构(专题练习)1. 下面选项对分支结构理解错误的是()。

A. 能够根据判断条件,执行不同的语句块。

B. 条件判断只有真和假两种结果。

C. 语句块只能是一条语句。

D. 条件判断通常用关系表达式或逻辑表达式来进行描述。

【答案】C【解析】A 正确B 正确C 错误语句块可以是一条语句,也可以是多条语句。

D 正确2. Python中if-else语句是哪种结构的语法格式()A. 单分支结构B. 双分支结构C. 多分支结构D. 顺序结构【答案】B【解析】A 错误单分支结构使用的是if语句。

B 正确双分支结构使用的是if-else语句。

C 错误多分支结构使用的是if-elif-else语句。

D 正确顺序结构没有固定的语句,只需要自上而下、依次执行每一条语句即可。

3. 条件是由条件表达式来构成的,条件表达式的值为()。

A. 真和假B. 1和2C. 数字D. 字符串【答案】A【解析】分支结构中的条件判断通常用关系表达式或逻辑表达式来进行描述,表达式的结果要么成立,也称为真(true);要么不成立,也称为假(false)。

4. 下面哪个选项不属于分支结构的关键字()。

A. ifB. elifC. elseD. switch【答案】D【解析】在Python中,要构造分支结构可以使用if、elif和else关键字。

一般如果只有一种情况,可以单独使用if;如果有两种情况,可以使用if和else配套;如果有三者及以上,需要if、elif和else三者共同使用。

这里提醒一点,在Python中是没有switch语句结构的。

5. 能正确表示“只需满足a大于等于10和a小于等于0两个条件中的一个即可”的条件表达式是()。

A. a>=10 and a<=0B. a>=10 or a<=0C. a>=10 && a<=0D. a>=10 | a<=0【答案】B【解析】A 错误and表示两个条件必须同时满足。

C语言分支结构程序举例

C语言分支结构程序举例

C语言分支结构程序举例输入三个整数,输出最大数和最小数。

1.#include<stdio.h>2.int main(void){3.int a,b,c,max,min;4.printf("input three numbers: ");5.scanf("%d%d%d",&a,&b,&c);6.if(a>b){7.max=a;8.min=b;9.}else{10.max=b;11.min=a;12.}13.if(max<c){14.max=c;15.}else if(min>c){16.min=c;17.}18.printf("max=%d\nmin=%d",max,min);19.return0;20.}本程序中,首先比较输入的a、b的大小,并把大数装入max,小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。

因此max内总是最大数,而min内总是最小数。

最后输出max和min的值即可。

计算器程序。

用户输入运算数和四则运算符,输出计算结果。

1.#include<stdio.h>2.int main(void){3.float a,b;4.char c;5.printf("input expression: a+(-,*,/)b \n");6.scanf("%f%c%f",&a,&c,&b);7.switch(c){8.case'+':printf("%f\n",a+b);break;9.case'-':printf("%f\n",a-b);break;10.case'*':printf("%f\n",a*b);break;11.case'/':printf("%f\n",a/b);break;12.default:printf("input error\n");13.}14.return0;15.}本例可用于四则运算求值。

程序设计基础实验2(分支结构程序设计) - 答案

程序设计基础实验2(分支结构程序设计) - 答案

分支结构程序设计[实验目的]1、进一步理解逻辑量的表示方法。

2、掌握C语言的逻辑运算符及逻辑表达式的正确使用。

3、熟练掌握if 语句与switch语句的正确应用。

[实验内容和步骤]1、有如下函数,请编程,输入x的值,输出y的值。

x (x<1)y= 2x-1 (1<=x<10)3x-11 (x>=10)#include <stdio.h>void main() {int x , y ;printf("Please input x : ") ;scanf("%d" , &x) ;if ( x < 1)y = x ;else if ( x >=1 && x < 10)y = 2 * x - 1 ;elsey = 3 * x - 11 ;printf("y = %d\n" , y) ;}2、根据学生成绩档次输出:成绩A档输出“85~100”成绩B档输出“70~84”成绩C档输出“60~69”其它输出“不及格”#include <stdio.h>void main() {int score ;printf("Please Input score: ") ;scanf( "%d" , &score ) ;if ( score >=85 && score <= 100)printf("85 ~ 100\n") ;else if (score >= 70 && score < 85)printf("70 ~ 84\n") ;else if (score >= 60 && score < 70)printf("60 ~ 69\n") ;elseprintf("bujige\n") ;}[问题讨论]1、对于多分枝选择结构何时使用if语句的嵌套,何时使用switch语句?2、 switch语句中break语句的作用是什么?。

100个经典C语言编程例子(答案另附)

100个经典C语言编程例子(答案另附)

100个经典C语言编程例子(答案另附)1:计算 A+B 的问题时间限制:1000MS 内存限制:10000K总提交数:1347 正确数:655问题描述输入两个整数 a 和 b ,计算 a+b 的结果并输出。

输入两个整数输出一个整数输入样例1 2输出样例32:Hello World!时间限制:1000MS 内存限制:65536K总提交数:848 正确数:693问题描述编写第一个C语言程序。

在屏幕上输出:Hello World!输入程序没有输入输出Hello World!输入样例输出样例Hello World!提示1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。

3:两个整数的值互换时间限制:1000MS 内存限制:65536K总提交数:1235 正确数:530问题描述输入两个整数a,b ,将 a 和 b 的值互换,并输出。

例如:输入: 2 5输出: 5 2输入两个整数输出两个整数输入样例2 5输出样例5 2提示注意输入和输出的格式,两个数据之间用一个空格隔开。

问题来源4:计算三门课程总分和平均分时间限制:1000MS 内存限制:65536K总提交数:1190 正确数:482问题描述输入三门课程的成绩,输出总分和平均分。

要求:(1)输入三个数,用空格隔开。

输入的数可以是小数。

(2)输出两个数,用空格隔开。

输出的数保留两位小数。

例如:输入: 75 80 90输出: 245.00 81.67 输入输入三个数,用空格隔开。

输入的数可以是小数。

输出输出两个数,用空格隔开。

输出的数保留两位小数。

输入样例75 80 90输出样例245.00 81.67问题来源5:鸡兔同笼问题时间限制:1000MS 内存限制:65536K总提交数:872 正确数:443问题描述这个问题,是我国古代著名趣题之一。

大约在1500年前,《孙子算经》中就记载了这个有趣的问题。

书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。

何钦铭-C语言程序设计(第3版)部分课后习题参考答案.docx

何钦铭-C语言程序设计(第3版)部分课后习题参考答案.docx

何钦铭《C语言程序设计》(第3版)课后习题参考答案习题11.对C 语言来说,下列标识符中哪些是合法的,哪些是不合法的?total, _debug, Large&Tall, Counter1, begin_解答:合法标识符:total, _debug, Counter1;不合法标识符:Large&Tall, begin_。

2.改写本章1.4 节中的流程图1.2,求1~100 中能被6 整除的所有整数的和。

解答:3.改写本章1.4 节中的程序,求1~100 中能被6 整除的所有整数的和,并在编程环境中验证该程序的运行结果。

解答:#include <stdio.h>int main(void){int i, sum = 0;for(i = 1; i <= 100; i++)if (i % 6 == 0)sum = sum + i;printf("%d", sum);return 0;}4.对于给定的整数n(n>1),请设计一个流程图判别n 是否为一个素数(只能被1 和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构与循环结构。

解答:在流程图中,分支结构和循环结构如图1.2 所示,自上而下的2 个实线框和2 个虚线组成了顺序结构。

习题21.求整数均值:输入4 个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1 位。

试编写相应程序。

解答:#include <stdio.h>int main (void){int num1, num2, num3, num4;double average, sum;scanf ("%d%d%d%d", & num1, & num2, & num3, & num4);sum = num1+ num2+ num3 + num4;average = sum / 4;printf ("Sum = %.0f; Average = %.1f\n", sum, average);return 0;}2.阶梯电价:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50 千瓦时(含50 千瓦时)以内的,电价为0.53 元/千瓦时;超过50 千瓦时的,超出部分的用电量,电价上调0.05 元/千瓦时。

C语言实例教程第4章分支结构

C语言实例教程第4章分支结构
① 设置相关环境。
② 定义实型变量x、y、z、max。(分别表示3个原始数据及其中的最大数) ③ 输入x、y、z。 ④ 如果x≥y,则转⑤,否则转⑥。
⑤ 如果x≥z,则max=x,转⑦;否则max=z,转⑦。
⑥ 如果y≥z,则max=y,转⑦;否则max=z,转⑦。 ⑦ 输出max,结束。
第一节 分支程序逻辑
输出“正常!”
结束
第一节 分支程序逻辑
课堂练习4.1
请分别用自然语言、流程图描述算法 1.有N位青年到外地旅游,汽车票单价M元/张,团体票 (至少一次性购票20张)每张打8折。问怎样购票才最合算呢? 2.笛卡尔直角坐标系由四象限、原点、四根坐标轴组成。任意 输入一对坐标(x,y),输出其对应点的位置信息。
第二节 条件表述
C语言提供了如下运算符:
关系运算符:==、!=、>、<、>=、<=
逻辑运算符:||、&&、! 1.表述单个条件用关系运算符。
关系运算符中,==、!=(等于、不等于)优先级相同; >、<、>=、<=(大于、小于、大于等于、小于等于)优先级相同; ==、!=的优先级低于>、<、>=、<=。
【简要分析】当实际问题中涉及的条件较多时,如何科学组织条件 和表述条件是正确编制程序的关键。
由数学知识可知,结论“a、b、c能构成三角形”包含的前提条件:
a、b、c必须同时为正数。(a>0,b>0,c>0)
a、b、c任意两数之和必须大于第三数。(a+b>c,b+c>a,a+c>b)
第一节 分支程序逻辑
第4章 分支结构
第一节 分支程序逻辑 第二节 条件表述 第三节 分支结构实现:条件运算符 第四节 分支结构实现:if语句 第五节 分支结构实现:switch语句

C语言顺序分支结构选择题及答案

C语言顺序分支结构选择题及答案

C语言顺序分支结构选择题及答案1.设ch是char型变量,其值为a,且有下面的表达式:ch=(ch>='a'&&ch<='z')?(ch+32):ch上面表达式的值是a)ab)ac)zd)zb2.设a,b和c都就是int型变量,且a=3,b=4,c=5,则下面的表达式中,值0的表达式就是a)'a'&&'b'b)a<=bc)a||b+c&&b-cd)!((a3.为表示关系x≥y≥z,应使用c语言表达式a)(x>=y)&&(y>=z)b)(x>=y)and(y>=z)c)(x>=y>=z)d)(x>=y)||(y>=z)a4.继续执行下面程序段intx=35;charz='a';intb;b=((x=15)&&(za)0b)1c)2d)3b5.表达式:10!=9的值是a)trueb)非零值c)0d)1d6.能正确表示a≥10或a≤0的关系表达式是a)a>=10ora<=0b)a>=10|a<=0c)a>=10||a<=0d)a>=10||a<=0d7.若建议在if后一对圆括号中则表示a不等同于0的关系,则能够恰当则表示这一关系的表达式为a)a<>0b)!ac)a=0d)ad8.设a=5,b=6,c=5,d=8,m=2,n=2,继续执行(m=a>b)&&(n=c>d)后n的值a)1b)2c)3d)0b9.设a为整型变量,无法恰当抒发数学关系:10表达式是a)1010&&a<15d)!(a<=10)&&!(a>=15)a10.若有以下定义:floatx;inta,b;则正确的switch语句是a)switch(x)b)switch(x){case1.0:printf(\{case1,2:printf(\case2.0:printf(\case3: printf(\}}c)switch(a+b)d)switch(a-b);{case1:printf(\{case1:printf(\case1-2:printf(\case2:printf(\}}a11.设a=1,b=2,c=3,d=4,则表达式:a12.设x、y、z、t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;a)不定值b)4c)1d)0c13.语句:printf(\的输入结果就是a)并无输入b)结果不确认c)-1d)1d14.能够恰当则表示a和b同时为正或同时为负数的逻辑表达式就是a)(a>=0||b>=0)&&(a<0||b<0)b)(a>=0&&b>=0)&&(a<0&&b<0)c)(a+b>0&&a+b<=0)d)a*b>0d15.有如下程序段inta=14,b=15,x;charc='a';x=(a&&b)&&(cc)0d)1d16.为了防止嵌套的if-else语句的二义性,c语言规定else总是与()组成配对关系。

《C语言程序设计》编程题库

《C语言程序设计》编程题库

《C语言程序设计》上机考试题库2019年6月一、顺序结构1. 从键盘输入矩形的长和宽,计算并在屏幕上显示该矩形的周长。

2. 输出学生成绩训练:本程序需要输出学生成绩:学生成绩包括学号、姓名以及各科成绩、总分和平均成绩。

首先定义字符型数组存放学生的姓名和学号,再定义多个实型变量用来存放学生各科成绩,最后利用输出变量值的方式来输出各科成绩,直接输出表达式值的方式来输出总分和平均分。

3. 从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出,否则,直接输出。

4.输入一个华氏温度,要求输出摄氏温度。

公式为:c=5/9(F-32)。

输出要有文字说明,取两位小数。

5. 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。

6.编写程序,输入两个整数:1500和350,求出它们的商和余数并进行输出。

7.编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a,然后输出a、b、c。

8.输入一个三位正整数,将它反向输出。

(比如输入536,输出635.)9.小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?10.给出三个整数(键盘输入),请你设计一个程序,求出这三个数的和、乘积和平均数。

输出一行,包括三个的和、乘积、平均数。

数据之间用一个空格隔开,其中平均数保留小数后面两位。

11.从键盘上输入圆柱体的底面半径r和高h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。

其中圆周率定义为3.1415926。

12.编写一程序,读入一数字字符('0'~'9'), 并把其转换为相应的整数后显示出来。

13.根据输入的三角形的三条边a、b、c,计算并输出面积。

三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。

c++单双分支结构例题

c++单双分支结构例题

c++单双分支结构例题C语言中,单分支结构和双分支结构是两种常用的控制结构,它们用于根据条件判断来决定程序的执行路径。

下面我们将通过一些例题来详细介绍这两种结构的使用。

一、单分支结构单分支结构是一个简单的if语句,它只有一个条件判断。

这种结构通常用于简单的条件判断场景。

例题1:求一个整数数组中最大的元素题目要求:编写一个C程序,输入一个整数数组,找出其中的最大元素并输出。

代码实现:```c#include <stdio.h>int main() {int arr[] = {10, 20, 30, 40, 50};int n = sizeof(arr) / sizeof(arr[0]);int max = arr[0];int i;for (i = 1; i < n; i++) {if (arr[i] > max) {max = arr[i];}}printf("最大元素是:%d", max);return 0;}```上述代码中,我们使用了单分支结构。

在for循环中,我们判断当前元素是否大于最大值,如果是,则更新最大值。

最后输出最大值即可。

二、双分支结构双分支结构是一个if-else语句,它包含两个条件判断。

这种结构通常用于需要区分不同情况的处理场景。

例题2:求一组数字中各数的出现次数题目要求:编写一个C程序,输入一组数字,统计每个数字的出现次数并输出。

代码实现:```c#include <stdio.h>int main() {int nums[] = {1, 2, 2, 3, 3, 3};int n = sizeof(nums) / sizeof(nums[0]);int count[n]; // 用于存储每个数字的出现次数int i, j;for (i = 0; i < n; i++) {count[nums[i]]++; // 统计每个数字的出现次数}printf("数字出现次数如下:\n");for (j = 0; j < n; j++) {if (count[j] > 0) { // 只输出出现次数大于0的数字及其出现次数printf("%d: %d\n", j, count[j]);}}return 0;}```上述代码中,我们使用了双分支结构。

C语言顺序结构及分支结构编程案例(详解)

C语言顺序结构及分支结构编程案例(详解)

顺序结构入门——及熟悉环境1、输出Good Morining答案:#include<stdio.h>int main(){printf("Good Morining\n");return 0;}2、已知某种铅密度为11340kg/m3 ,求9.8厘米铅球有多少kg这里要求:pi的取值为3.141592657,小数用double表示,printf("%lf"输出)输入格式:仅仅一个小数输出格式:无输出样例:5.588431答案:#include <stdio.h>#define midu 11340int main(){double r = 0.049;double v ;double weigh;v = 4.0/3*3.141592657*r*r*r;weigh = v * midu;printf("%lf", weigh);}3、两个数相加输入两个整数输出两个整数的和比如输入:1 4输出:5答案:#include <stdio.h>void main(){int a,b;int sum;scanf("%d%d",&a,&b);sum = a+b;printf("%d\n",sum);}4、输入两个整数a,b,计算(a-b)*(a+b)比如输入: 1 4输出:-15答案:#include <stdio.h>void main(){int a,b;int sum;scanf("%d%d",&a,&b);sum = (a-b)*(a+b);printf("%d\n",sum);}5、两个数相加后乘以5输入:两个整数输出:两个整数的和乘以5比如输入: 1 4输出:25答案:#include <stdio.h>void main(){int a,b;int sum;scanf("%d%d",&a,&b);sum = (a+b)*5;printf("%d\n",sum);}6、已知某种铅密度为11340kg/m3 ,求输入球的直径(厘米数),求铅球有多少kg。

c语言版数据结构试题及答案

c语言版数据结构试题及答案

习题一一、单选题1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( B )。

A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( B )个元素.A. nB.n-1C. n+1D.不确定3.下述哪一条是顺序存储方式的优点?(A )A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快4.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3)DA.658 B.648 C.633 D.6535.下列关于二叉树遍历的叙述中,正确的是( AD ) 。

A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点 C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6.k层二叉树的结点总数最多为( A ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.对线性表进行二分法查找,其前提条件是( B ).A.线性表以链接方式存储,并且按关键码值排好序B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C.线性表以顺序方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码值的检索频率排好序8.对n个记录进行堆排序,所需要的辅助存储空为Cn) B. O(n) C. O(1) D. O(n2)A. O(1og29.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( D )个,A.1 B.2 C.3 D.410.下列关于数据结构的叙述中,正确的是( D ).A.数组是不同类型值的集合B.递归算法的程序结构比迭代算法的程序结构更为精炼C.树是一种线性结构D.用一维数组存储一棵完全二叉树是有效的存储方法二、填空题1.数据的逻辑结构被分为_集合结构、__线性结构、_树结构和_图结构四种。

C语言习题集及答案

C语言习题集及答案

目录第一单元程序设计和C语言................................................. 错误!未定义书签。

第二单元顺序程序设计......................................................... 错误!未定义书签。

第三单元分支程序设计......................................................... 错误!未定义书签。

第四单元循环程序设计......................................................... 错误!未定义书签。

第五单元数组..................................................................... 错误!未定义书签。

第六单元函数..................................................................... 错误!未定义书签。

第七单元指针..................................................................... 错误!未定义书签。

第八单元结构体和共用体..................................................... 错误!未定义书签。

第九单元文件..................................................................... 错误!未定义书签。

附加题......................................................................................... 错误!未定义书签。

分支结构练习题

分支结构练习题

分支结构练习题C语言分支结构练习题enjoy it ! C语言分支结构练习题一、选择题1.假定所有变量均已正确定义,下列程序段运行后y的值是。

int a=0, y=10; if (a=0) y--; else if(a>0)y++;else y+=y; A. 20 B. 11 C. 9 D. 0 2.假定所有变量均已正确定义,下列程序段运行后x的值是。

a=b=c=0;x=35; if (!a) x--; else if(b); if(c) x=3; else x=4; A. 34 y=-1; if(x!=0) if(x>0) y=1; else y=0; -1 (x0)0 (x-1 (x0)C. y =-1 (x=0)D. y =1 (x=0) 1 (x0) B. y =B. 4C. 35D. 3 3.下面的程序片段所表示的数学函数关系是。

1 (x>0) int i=1;switch(i++){ 4. 假定i和j为int型变量,则执行以下语句后j 的值为。

case 1: for(j=0;jB. 1C. 9D. 105. 在C语言的语句中,用来决定分支流程的表达式是。

A. 可用任意表达式B. 只能用逻辑表达式或关系表达式 D. 只能用关系表达式 C. 只能用逻辑表达式4.为了避免嵌套的if-else语句的二义性,C语言规定else 总是与组 1 / 8 C语言分支结构练习题enjoy it ! 成配对关系。

A.缩排位置相同的if B.在其之前未配对的if D.同一行上的if C.在其之前未配对的最近的if A.只能是0或 1 5.逻辑运算符两侧运算对象的数据类型。

B.只能是0或非0正数D.可以是任何类型的数据C.只能是整型或字符型数据6.以下关于运算符优先顺序的描述中正确的是。

A.关系运算符B.&& C.+ D.!= 8.选择出合法的if语句。

A.if(a=b) c++; B.if(a=b) c++; C.if(ab) c++; 的表达式是。

C语言第3章_分支结构

C语言第3章_分支结构

3.3练习与习题参考答案3.3.1练习参考答案3-1 例3-4中使用else-if 语句求解多分段函数,为了检查else-if 语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。

解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。

可再给出x=0和x=15时的两种情况。

3-2 计算符号函数的值:输入一个整数x ,计算并输出符号函数 sign(x) 的值。

试编写相应程序⎪ ⎩⎪ ⎨ ⎧ >=<−==010001)(x x x x sign y ,,,解答:#include<stdio.h>int main (void){int x, y;scanf ("%d", &x);if (x > 0) y = 1;else if (x == 0) y = 0;else y = -1;printf ("sign(%d) = %d\n", x, y);return 0;}3-3统计学生平均成绩与及格人数:输入一个正整数n,再输入n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。

试编写相应程序。

解答:#include <stdio.h>int main (void){int count, grade, i, n;double average, sum;scanf ("%d", &n);count = 0;sum = 0;for (i = 1; i <= n; i++){scanf ("%d", &grade);sum = sum + grade;if (grade >= 60) {count++;}}if (n > 0) {average = sum / n;}else{average = 0;}printf ("average = %.1f\n", average);printf ("count = %d\n", count);return 0;}3-4统计字符:输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

C语言程序设计(第二版)习题参考答案

C语言程序设计(第二版)习题参考答案

C语言程序设计(第二版)习题参考答案为了适应标题所需的字数限制,我将按照适当的格式和排版要求来回答C语言程序设计(第二版)习题的参考答案。

以下是部分习题的解答示例:1. 基本概念与语法1.1 变量和数据类型C语言中的变量用于存储不同类型的数据。

常见的数据类型包括整型、浮点型、字符型等。

例如,声明一个整型变量x并赋值为10的方法如下:```cint x = 10;```1.2 操作符和表达式C语言提供了丰富的操作符和表达式,用于进行数值计算和逻辑判断。

例如,使用逻辑与(&&)操作符可以判断两个条件同时成立的情况,示例如下:```cif (x > 0 && x < 100) {// 满足条件的代码```2. 流程控制2.1 分支结构流程控制中的分支结构用于根据条件来执行不同的代码块。

常见的分支结构有if语句和switch语句。

例如,使用if语句判断一个数的正负情况:```cif (x > 0) {printf("x是正数\n");} else if (x < 0) {printf("x是负数\n");} else {printf("x是零\n");}```2.2 循环结构循环结构用于多次执行相同的代码块。

常见的循环结构有for循环、while循环和do-while循环。

例如,使用for循环输出1到10的数字:for (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```3. 函数和数组3.1 函数的定义和调用函数是一段完成特定功能的代码块,可以多次调用。

函数的定义包括函数名、参数列表和返回值类型。

例如,定义一个用于计算两个整数相加的函数:```cint add(int a, int b) {return a + b;}// 调用add函数int result = add(3, 5);printf("3 + 5 = %d\n", result);```3.2 数组的定义和使用数组是一种存储相同类型数据的集合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

21.htm01. 从键盘输入一个字符,如果是大写字母,就转换成小写;如果是小写字母,就转换成大写,如果是其他字符原样保持并将结果输出。

#include <stdio.h>void main(){ char c;scanf("%c",&c);if(c>='A'&&c<='Z') c=c+32;else if(c>='a'&&c<='z') c=c-32;printf("%c",c);}02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。

如果是,输出Yes,否则输出No。

#include <stdio.h>void main(){ int a;scanf("%d",&a);if(a%5==0&&a%7!=0) printf("yes");else printf("no");}03. 从键盘输入一个4位正整数,求其逆序数,并输出。

例如:若输入1234,则输出应该是4321。

#include <stdio.h>void main(){ int n,g,s,b,q,m;scanf("%d",&n);q=n/1000; b=n/100%10; s=n/10%10; g=n%10;m=g*1000+s*100+b*10+q;printf("%d\n",m);}22.htm01. 从键盘输入一个字符,如果是字母,就输出其对应的ASCII码;如果是数字字符,就转换成对应整数并输出。

#include <stdio.h>void main(){ char c;scanf("%c",&c);if(c>='a'&&c<='z'||c>='A'&&c<='Z')printf("ASCII:%d",c);else if(c>='0'&&c<='9') printf("数字:%d",c-'0');}02. 从键盘输入一个数,判断其是否能同时被3和5整除。

如果是,输出Yes,否则输出No。

#include <stdio.h>void main(){ int a;scanf("%d",&a);if(a%3==0&&a%5==0) printf("yes");else printf("no");}03. 从键盘输入一个4位正整数,求其各位数字之积,并输出。

例如:若输入2523,则输出应该是60。

#include <stdio.h>void main(){ int n,g,s,b,q,m;scanf("%d",&n);q=n/1000; b=n/100%10; s=n/10%10; g=n%10;m=g*s*b*q;printf("\n%d\n",m);}23.htm01. 根据以下函数关系编写一个程序,对输入的每个x值,计算出y 的值并输出。

#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if (x>-10 && x<0 ) y=x+10;else if (x<10) y=2*x;else y=x*x;printf(“x=%d,y=%d\n ”,x,y);}02. 从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。

如果是,输出Yes,否则输出No。

#include <stdio.h>void main(){ int a;scanf("%d",&a);if(a%5==0&&a%7!=0) printf("yes");else printf("no");}03. 从键盘输入一个五位整数,判断它是不是对称数,并输出判断结果。

如43234就是对称数。

#include <stdio.h>void main(){ int n,g,s,b,q,w;scanf("%d",&n);w=n/10000; q=n/1000%10; b=n/100%10; s=n/10%10; g=n%10;if(w==g && q==s) printf("%d是对称数\n",n);else printf("%d不是对称数\n",n);}24.htm01. 编一个C程序,从键盘上输入一个字符:若该字符是数字字符,则把它转换为对应的整数并输出;若该字符是大写字母,则转换成小写并输出;若该字符是小写字母,则转换为大写并输出;若该字符是其他字符,则不进行任何操作。

#include <stdio.h>void main(){ char c;scanf("%c",&c);if(c>='0'&&c<='9') printf("%d\n",c-'0');else if(c>='A'&&c<='Z') printf("%c\n",c+32);else if(c>='a'&&c<='z') printf("%c\n",c-32);}02. 输入三个整数,按从大到小的顺序输出。

#include <stdio.h>void main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);if (a<b){ t=a;a=b;b=t; }if (a<c){ t=a;a=c;c=t; }if (b<c){ t=b;b=c;c=t; }printf(“%d,%d ,%d ",a,b,c);}03. 给出一个百分制的成绩,要求输出成绩等级“A”、“B”,“C”,“D”,“E”。

90分以上的为:“A”级,80~89分的为“B”,70~79分的为“C”,60~69分的为“D”,60分以下的为“E”。

#include <stdio.h>void main(){ int grade;scanf(“%d”,&grade);switch(grade/10){ case 10:case 9:printf(“A\n”);break;case 8:printf(“B\n”);break;case 7:printf(“C\n”);break;case 6:printf(“D\n”);break;default:printf(”E\n”);break;}}25.htm01. 有一分段函数:1 ( x < -1 )y = 2 x + 9 ( -1 ≤ x ≤ 1)5 x -3 ( x > 1 )从键盘输入x 的值,输出y 的值。

#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if (x<-1) y=1;else if (x<=1) y=2*x+9;else y=5*x-3;printf(“x=%d,y=%d\n ”,x,y);}02.编写一个C语言程序,要求从键盘输入三个整数,并根据对三个数的比较显示如下信息:①如果三个数都不相等则显示0;②如果三个数中有二个数相等则显示1;③如果三个数都相等,则显示2#include <stdio.h>void main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if (a==b && b==c) printf(“2\n ”);else if (a==b || b==c || a==c ) printf(“1\n ”);else printf(“0\n ”);}03. 从键盘输入一个数,判断它是否同时能被5和7整除,如果能输出“YES”,否则输出“NO”。

#include <stdio.h>void main(){ int a;scanf("%d",&a);if(a%5==0&&a%7==0) printf("yes");else printf("no");}26.htm01.输入三角形三边长,判定是否能够组成三角形,并输出判定结果。

能够组成三角形的条件是:任意两边之和大于第三边(三种情况)#include <stdio.h>void main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if (a+b>c && b+c>a && a+c>b) printf(“YES\n ”);else printf(“NO\n ”);}02.从键盘输入一个四位正整数,输出其逆序数,并判断是否是对称数,如果是输出“YES”,否则输出“NO”。

提示:如果输入4253,先求出其每位上的数字,再重新组成其逆序数3524。

如果输入4224,求出其逆序数是4224,则其是对称数。

#include <stdio.h>void main(){ int n,g,s,b,q,m;scanf("%d",&n);q=n/1000; b=n/100%10; s=n/10%10; g=n%10;m=g*1000+s*100+b*10+q;if (n==m) printf(“YES\n ”);else printf(“NO\n ”);}03. 从键盘输入三个数,求其中最小者并输出。

相关文档
最新文档