c程序设计谭浩强第五版选择判断题库
- 格式:docx
- 大小:36.48 KB
- 文档页数:2
第5章课后练习题一单选题1.假定所有变量均已正确说明,下列程序段运行后x的值是:int a=0,b=0,x=35;if(!a) x--;if(b) x=3;else x=4;A)34B) 4C)35D) 32.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是:A)if (x>0) y=1;else if(x<0)y=-1;else y=0;B) if(x){if(x>0)y=1;else if(x<0)y=-1;else y=0; }C) y=-1;if(x){ if(x>0)y=1;else if(x==0)}else y=-1;D) y=0;if(x>=0){ if(x>0)y=1;else y=-1;}3.为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前未配对的最近的ifD)同一行上的if4.能将变量 u 、s中的最大值赋给变量t 的是:A)if(u>s) t=u;t=s;B)t=u; if(t ) t=s;C)if(u>s) t=s;else t=u;D)t=s; if(u ) t=u;5.对下面三条语句(其中s1和s2为内嵌语句),正确的论断是(1)if (a) s1;else s2;(2) if (a==0) s2;else s1;(3)if (a!=0) s1;else s2;A)三者相互等价B)1和2等价,但与 3不等价C)三者互不等价D)1和3等价,但与2不等价6.若执行下面的程序时从键盘上输入 5 ,则输出是:int x; scanf("%d",&x);if(x++>5) printf("%d\n",x); else printf("%d\n",x--);A)7B) 6C) 5D) 4一、判断题1.i f (a = 1) printf(“One\n”) ; 语句是否正确 ( 正确 )2.选择结构可以使用嵌套形式. ( )二、填空题结构化程序设计所规定的三种基本控制结构是 ________,__________,________三、分析题1.以下程序的执行结果是:int a=25,b=14,c=19;if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);else printf("###a=%d,b=%d,c=%d\n",a,b,c);2.以下两条if语句可合并成一条if语句为:if(a<=b) x=1; else y=2;if(a<=b) printf("**** y=%d\n",y);else printf("#### x=%d\n",x);3.以下程序的执行结果是:main(){ int a,b,c;a=2;b=3;c=1;if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",b);printf("end\n");}4.以下程序的执行结果是:main(){ int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(! b)if (! c)x=15;else x=25;printf("d=%d\n",d);}5.以下程序在输入5,2之后的执行结果是: main(){ int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0) s=s+1;if(a>b)t= s + t;else if(a==b) t=5;else t=2*s;printf("s=%d,t=%d\n",s,t);}6.写出下列程序的输出结果:main(){ int a=100;if(a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}。
c程序设计第五版谭浩强考研题库C程序设计是一门基础而重要的计算机科学课程,谭浩强教授的《C程序设计》第五版是许多考研学生的首选教材。
以下是根据该书内容整理的考研题库,供同学们复习使用。
C程序设计第五版谭浩强考研题库一、选择题1. C语言的基本数据类型包括哪些?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项2. 以下哪个是C语言的合法标识符?A. 3variableB. variable3C. variable-3D. variable#3二、填空题1. C语言中,字符常量可以用单引号括起来,例如 'A' 是一个______类型的常量。
2. 在C语言中,表达式 `(a = 3 * 5) / 2` 的值是 ______。
三、简答题1. 简述C语言中数组的定义和初始化方法。
2. 解释C语言中的指针和引用的区别。
四、编程题1. 编写一个C程序,实现求圆的面积。
要求使用函数实现计算,并通过主函数调用该函数。
2. 设计一个程序,实现字符串的反转。
要求使用指针操作。
五、综合应用题1. 假设你有一个结构体数组,存储了一系列学生的姓名和成绩,请编写一个程序,按照成绩从高到低对学生进行排序。
2. 编写一个C程序,实现简单的学生信息管理系统,包括学生信息的录入、显示、修改和删除功能。
结束语本题库旨在帮助同学们更好地掌握C程序设计的基本概念和编程技巧,为考研做好充分准备。
希望同学们能够通过练习这些题目,加深对C语言的理解和应用能力。
请注意,实际的考研题库可能包含更多的题目和不同类型的问题,建议同学们结合实际考试大纲和历年真题进行复习。
同时,编程实践是提高编程能力的关键,希望同学们能够勤加练习,不断进步。
祝同学们考研顺利,取得理想的成绩。
C语⾔程序设计第五版谭浩强课后答案(第⼆章答案)⽬录1. 什么是算法?试从⽇常⽣活中找3个例⼦,描述它们的算法2. 什么叫结构化的算法?为什么要提倡结构化的算法?3. 试述3种基本结构的特点,请另外设计两种基本结构(要符合基类结构的特点)。
4. ⽤传统流程图表⽰求解以下问题的算法。
5. ⽤N-S图表⽰第4题中各题的算法6. ⽤伪代码表⽰第4题中各题的算法7. 什么叫结构化程序设计?它的主要内容是什么?8. ⽤⾃顶向下、逐步细化的⽅法进⾏以下算法的设计:1. 什么是算法?试从⽇常⽣活中找3个例⼦,描述它们的算法算法:简⽽⾔之就是求解问题的步骤,对特定问题求解步骤的⼀种描述。
⽐如⽣活中的例⼦:考⼤学⾸先填报志愿表、交报名费、拿到准考证、按时参加考试、收到录取通知书、按照⽇期到指定学校报到。
去北京听演唱会⾸先在⽹上购票、然后按时坐车到北京,坐车到演唱会会场。
把⼤象放进冰箱先打开冰箱门,然后将⼤象放进冰箱,关冰箱。
2. 什么叫结构化的算法?为什么要提倡结构化的算法?结构化算法:由⼀些顺序、选择、循环等基本结构按照顺序组成,流程的转移只存在于⼀个基本的范围之内。
结构化算法便于编写,可读性⾼,修改和维护起来简单,可以减少程序出错的机会,提⾼了程序的可靠性,保证了程序的质量,因此提倡结构化的算法。
3. 试述3种基本结构的特点,请另外设计两种基本结构(要符合基类结构的特点)。
结构化程序设计⽅法主要由以下三种基本结构组成:顺序结构:顺序结构是⼀种线性、有序的结构,它依次执⾏各语句模块选择结构:选择结构是根据条件成⽴与否选择程序执⾏的通路。
循环结构:循环结构是重复执⾏⼀个或⼏个模块,直到满⾜某⼀条件位置重新设计基本结构要满⾜以下⼏点:只有⼀个⼊⼝只有⼀个出⼝结构内的每⼀部分都有机会执⾏到结构内不存在死循环因此给出以下复习结构:while型和until型循环复合以及多选择结构4. ⽤传统流程图表⽰求解以下问题的算法。
谭浩强c语言试题及答案解析1. 选择题A. 以下哪个选项是C语言中合法的变量名?A) 123abcB) intC) _myVarD) my-var答案:C2. 填空题A. 在C语言中,定义一个整型变量的关键字是______。
答案:int3. 判断题A. C语言中,数组的索引是从0开始的。
答案:正确4. 简答题A. 请简述C语言中指针的概念。
答案:指针是C语言中的一种数据类型,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作变量。
5. 编程题A. 编写一个C语言程序,实现求两个整数的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum); return 0;}```6. 阅读程序题A. 阅读以下C语言程序,并回答问题:```c#include <stdio.h>int main() {int a = 10, b = 20;printf("%d\n", a + b);return 0;}```问题:程序的输出结果是什么?答案:程序的输出结果是30。
7. 改错题A. 以下C语言程序有错误,请找出并改正。
```c#include <stdio.h>int main() {int a = 5;printf("a的值是:%d", a);return 0;}```错误:printf函数中缺少换行符。
改正:```c#include <stdio.h>int main() {int a = 5;printf("a的值是:%d\n", a);return 0;}```8. 综合题A. 请编写一个C语言程序,实现以下功能:1. 从键盘输入一个字符串。
目录重要次重要重复或欲删除基础第一章 C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章 C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
谭浩强C语言试题库(完整版)谭浩强C语言试题库一、单项选择第一章 C语言概述(1) 一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束.B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.C、本程序的MAIN函数开始,到本程序的最后一个函数结束.D、本程序文件的第一个函数开始,到本程序的MAIN函数结束.(2) 以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面.B、 C程序的每行中只能写一条语句.C、 C语言本身没有输入输出语句.D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误.(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面.B、必须在系统调用的库函数的后面C、可以在任意位置.D、必须在最后面(4) 一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5) 以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1) 若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x =( i=4, j=16, k=32)A、4B、16C、32D、52(2) 下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3) 下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4) 若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf 函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、sc anf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序 .A) 有语法错误不能通过编译B) 可以通过编译但不能直接通过连接C) 输出* * *D) 输出$ $ $(4)以下程序的运行结果是 .main(){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m——);}A) 4B) 5C) 6D) 7(5) 为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:else子句总是与相配对.A)缩排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if第五章循环控制(1)设有程序段int k=10while (k=0) k=k-1则下面描叙正确的是 .A) while (k=0) k=k-1;B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次(2)下面程序段的运行结果是 . int n=0;while(n++<=2); printf(“%d”,n);A) 2B) 3C) 4D) 有语法错(3)C语言中while和do-while循环的主要区别是 .A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while的循环控制条件严格C) do-while允许从外部转到循环体内D) do-while允许从外部转到循环体内(4)以下能正确计算1*2*3*…*10的程序段是 .A) do {i=1;s=1;s=s*i;i++;}while(I<=10);B) do {i=1;s=0;s=s*i;i++;}while(I<=10);C) i=1;s=1;do {s=s*i;i++;}while(I<=10);D) i=1;s=0;do {s=s*i;i++;}while(I<=10);第六章数组(1)在c语言中,引用数组元素时,其数组下标的数据类型允许是____.A) 整型常量B) 整型表达式C) 整型常量或整型表达式D) 任何类型的表达式(2)以下能对二维数组a进行正确初始化的语句是____.A) int a[2][ ]={{1,0,1},{5,2,3,}};B) int a[ ][3]={{1,2,3},{4,5,6}};C) int a[2][4]={1,2,3,},{4,5},{6}};D) int a[ ][3]={{1,0,1},{},{1,1}};)(3)若有说明:int a[3][4]={0};则下面正确的叙述是____.A) 只有元素a[0][0]可得到初值0B) 此说明语句不正确C) 数组a中各元素都可得到初值,但其值不一定为0D) 数组a中每个元素均可得到初值0(4)下面程序___(每行程序前面的数字表示行号).1 main()2 {3 float a[10]={0};4 int i5 for(i=0;i<3;i++) scanf(“%d”,&a[i];6 for(i=1;i<10;i++) a[0]=a[0]+a{i};7 printf(“%f\n”,a[0]);8 }A) 没有错误B) 第3行有错误C) 第5行有错误D) 第7行有错误(5)若二维数组a有m列,则计算机一元素a[i][j]在数组中位置的公式为____.(假设a[0][0]位于数组的第一个位置上.)A) i*m+jB) j*m+iC) i*m+j-1D) i*m+j+1第七章函数(1)以下正确的函数定义形式是 .A)double fun(int x,int y)C) double fun(int x;int y)D) double fun(int x,int y)E) double fun(int x,y);(2) 以下正确的函数形式是 .A) double fun(int x,int y){z=x+y; return z;}B) fun(int x,y){int z;return z;}C) fun(x,y){int x,y; double z;z=x+y;return z;}D) double fun(int x,int y){double z;z=x+y;return z;}(3) C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)传递方式(4)C语言允许函数值型缺省定义,此时该函数值隐含的类型是 .A)float型B)int型C)long型D)double型(5)下面函数调用语句含有实参的个数为. func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)4D)5第八章编译预处理命令(1)请读程序:#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是 .A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的运行结果是 . #define MIN(x,y) (x)<(y)? (x)+(y) main(){int I=10,j=15,k;k=10*MIN(I,j); printf(“%d\n”,k);。
计算机类考研谭浩强《C程序设计》考研配套考研真题第一部分考研真题精选一、选择题1以下均是合法变量名的是()。
[武汉科技大学2019研]A.#name totalB.node value_maxC._var longD.stu-code a+b【答案】BXXXX【解析】C语言中变量名只能包含数字,字母和下划线,且只能以字母和下划线开始。
A项含非法字符#,错误;C中long为关键字,变量不能以关键字命名;D中含非法字符-和+。
2以下选项中不属于C语言类型的是()。
[武汉科技大学2019研] A.short intB.unsigned long intC.charD.bool【答案】DXXXX【解析】C语言中没有bool型,只有C++才有boolean型,也称bool。
C语言中一般用“0”表示“假”,用“1”表示“真”。
3若有声明语句:int x; char y[20]; double z; 则正确的输入语句是()。
[武汉科技大学2019研]A.scanf("%d%c%le\n",&x,&y,&z);B.scanf("%2d%s%lf",&x,&y,&z);C.scanf("%d%s%lf",&x,y,&z);D.scanf("%x%s%3.2f",&x,y,&z);【答案】CXXXX【解析】y为一维数组名,指向数组首元素的地址,因此不需要再使用取地址运算符&,AB错误;D中%3.2f表示长度为3,小数为2位,但是小数点也占一位,因此D错误,答案选C。
4若a、b和t都为int变量,则下面不能交换变量a和b值的是()。
[武汉科技大学2019研]A.t=a; a=b; b=t;B.a=t; t=b; b=a;C.t=b; b=a; a=t;D.a=a+b; b=a-b; a=a-b;【答案】BXXXX【解析】B中首先把t的值赋值给了a,则a的值已经被取代了,后面执行b=a,则ab的值都等于t的值。
谭浩强c语言程序设计试题pdf 第一章 C语言概述一、选择题1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。
A)过程 B)主函数 C)函数 D)include3.是C程序的基本构成单位。
A)函数 B)函数和过程 C)超文本过程 D)子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。
A)main 函数必须放在C程序的开头B)main 函数必须放在C程序的最后C)main 函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D)main 函数可以放在C程序中间部分,执行C程序时是从main 函数开始的6.下列说法正确的是。
A)在执行C程序时不是从main 函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。
A)句号 B)逗号 C)分号 D)括号8.下列字符串是合法的自定义标识符的是。
A)_HJ B)9_student C)int D)LINE 19.不是C语言提供的合法关键字。
A)switch B)print C)case D)default10.C语言提供的合法关键字是。
A)break B)print C)funiton D)end11.C语言提供的合法关键字是。
A)continue B)procedure C)begin D)append二、填空题1.一个C程序至少包含一个,即。
2.一个函数由两部分组成,它们是和。
c程序设计谭浩强考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义变量类型的关键字是:A. intB. floatC. doubleD. char答案:A2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B4. C语言中,用于输出的函数是:A. scanf()B. printf()C. getchar()D. putchar()答案:B5. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误:字符串长度超过数组长度D. char str[] = "Hello"; // 正确:数组长度自动根据字符串长度确定答案:D6. C语言中,以下哪个选项是正确的数组定义方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3, 4};D. int array[5] = {1, 2, 3, 4, 5, 6}; // 错误:元素个数超过数组长度答案:B7. 在C语言中,以下哪个选项是正确的函数定义方式?A. int function() { return 0; }B. int function() { return 1; }C. int function() { return 2; }D. int function() { return 3; }答案:B8. C语言中,用于计算两个数的和并返回结果的函数是:A. sum()B. add()C. plus()D. calculate()答案:B9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... } // 错误:缺少括号C. if (x > 0) { ... } else { ... }D. if x > 0 { ... } else { ... } // 错误:缺少括号答案:C10. C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { ... }B. for (int i = 0; i <= 10; i++) { ... }C. for (int i = 0; i < 10; i--) { ... } // 错误:递减应在循环体内部D. for (int i = 0; i < 10; i++) { ... } // 正确答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量并初始化为10的语句是:int a = 10;2. C语言中,用于计算两个数的差并返回结果的函数是:int difference(int x, int y) { return x - y; }3. 在C语言中,用于输入的函数是:scanf();4. C语言中,用于计算两个数的除法并返回结果的函数是:int divide(int x, int y) { return x / y; }5. 在C语言中,用于计算两个数的乘积并返回结果的函数是:int multiply(int x, int y) { return x * y; }6. C语言中,用于输出一个字符的函数是:putchar();7. 在C语言中,用于输出一个字符串的函数是:printf();8. C语言中,用于计算两个数的模并返回结果的函数是:int modulus(int x, int y) { return x % y; }9. 在C语言中,用于计算两个数的加法并返回结果的函数是:intadd(int x, int y) { return x + y; }10. C语言中,用于计算两个数的指数并返回结果的函数是:double power(double base, int exponent) { return pow(base, exponent); }三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出两个整数的和。
c语⾔程序设计第五版课后答案谭浩强第五章课后答案c语⾔程序设计第五版课后答案谭浩强1.请画出例5.6中给出的3个程序段的流程图流程图1:流程图2:流程图3:2.请补充例5. 7程序,分别统计当“fabs(t)>= le- 6”和“fabs(t)> = le- 8”时执⾏循环体的次数。
fabs(t)>= le- 6 ,⽰例代码# include <stdio.h># include <math.h>int main(){int sign = 1;double pi = 0.0, term = 1.0;int n = 0;while (fabs(term) >= 1e-6){n++;term = 1.0 / (2 * n - 1)*sign;pi += term;sign = -sign;}pi *= 4;printf("pi的近似值是%lf\n", pi);printf("循环体循环了%d次\n", n);return 0;}运⾏截图:fabs(t)> = le- 8,⽰例代码# include <stdio.h># include <math.h>int main(){int sign = 1;double pi = 0.0, term = 1.0;int n = 0;while (fabs(term) >= 1e-8){n++;term = 1.0 / (2 * n - 1)*sign;pi += term;sign = -sign;}pi *= 4;printf("pi的近似值是%lf\n", pi);printf("循环体循环了%d次\n", n);return 0;}运⾏截图:3.输⼈两个正整数m和n,求其最⼤公约数和最⼩公倍数答案解析:该题题⽬直接使⽤“辗转相除法”来求解最⼤公约数,以除数和余数反复做除法运算,当余数为 0 时,就取得当前算式除数为最⼤公约数。
目录重要次重要重复或欲删除基础第一章 C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章 C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
c语言程序设计第五版的试卷
以下是一份C语言程序设计第五版的试卷,请注意,试卷中的题目可能并不完整,仅作为参考。
C语言程序设计第五版试卷
一、选择题(每题2分,共20分)
1. C语言中的基本数据类型包括:
A. 整型、实型、字符型
B. 整型、实型、字符型和布尔型
C. 整型、实型、字符型和复数型
D. 整型、实型、字符型和长整型
2. 在C语言中,字符串是用字符数组来表示的,以下关于字符串的描述中正确的是:
A. 字符串的长度是指字符串中字符的个数
B. 字符串的长度是指字符串所占内存的字节数
C. 字符串中字符的个数不能超过数组的长度
D. 字符串中允许有空字符
3. 下列语句中,正确的赋值语句是:
A. x = 10;
B. x = 10, y = 20;
C. x = y = z = 10;
D. x = y = z = 10, m = n = 20;
4. 下列关于if语句的描述中,错误的是:
A. if语句可以嵌套使用
B. if语句必须有else分支
C. if语句中可以没有花括号
D. if语句后面的条件表达式必须用圆括号括起来
5. 下列关于循环语句的描述中,错误的是:
A. for循环可以嵌套使用
B. while循环可以嵌套使用
C. do-while循环可以嵌套使用
D. 所有循环语句都可以无限循环下去,直到程序崩溃为止。
习题五一、填空题1、C++中的I/O操作是通过一组标准()或()来实现的。
2、I/O流库中的两个基础类是()类和()类。
其中()类用来处理与硬件设备有关的操作;而另一类用来处理()操作。
3、C++中,有四个流对象已预先定义好,以便用户直接使用,分别为:()、()、()、()。
4、插入操作符是(),流提取操作符是()。
5、成员函数put()把()写入输出流中。
6、流操作器()、()和()分别指定整数按八进制、十六进制、十进制格式显示。
7、默认的输出对齐方式是()对齐。
8、操作器()控制输出宽度。
9、输入成员函数getline读取()字符。
10、C++程序中的“endl”在输出语句中起()作用。
11、C++中的文件按存储格式可以分为两类,分别是()和(),根据存取方式可以把文件分为()和()。
12、文件名由()和()两部分组成,它们之间用圆点分开。
13、在C++中打开一个文件,就是将这个文件与一个()建立关联,关闭一个文件,就是取消这个关联。
14、C++中数据文件分为二进制文件和()文件两类。
15、C++有3种文件流,分别是()、()和()。
16、随机文件有时需要确定文件指针的当前位置,可以使用()和()成员函数获取文件指针的当前位置。
17、C++在异常的处理中,使用()语句检测是否发生异常。
二、选择题1、以下不可以作为输出流对象的是()。
A. 文件B. 内存C. 键盘D. 显示器2、若在I/O流的输出中使用控制符setfill()设置填充字符,应包括的头文件是()。
A. stdlib.hB. iostream.hC. fstream.hD. iomanip.h3、以下程序的输出结果是()。
cout<<setw(3)<<25<<oct<<25<<hex<<endl;A. 25 25B. 2531C. 31 19D. 25 314、C++流中重载了运算符<<,它是一个()。
目录重要次重要重复或欲删除基础第一章C语言概述1.1 选择题1.2 填空题第二章数据类型、运算符与表达式2.1 选择题2.2 填空题第三章最简单的C程序设计3.1 选择题3.2 填空题第四章逻辑运算和判断选取控制4.1 选择题4.2 填空题4.3 编程题第五章循环控制5.1 选择题5.2 填空题5.3 编程题第六章数组6.1 选择题6.2 填空题6.3 编程题第七章函数7.1 选择题7.2 填空题7.3 编程题第八章编译预处理8.1 选择题8.2 填空题8.3 编程题第九章指针9.1 选择题9.2 填空题9.3 编程题第十章结构体和共用体10.1 选择题10.2 填空题10.3 编程题第十一章位运算11.1 选择题11.2 填空题11.3 编程题第十二章文件12.1 选择题12.2 填空题12.3 编程题第一章C语言概述1.1 选择题*1.1一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
c语⾔程序设计第五版课后答案谭浩强第⼋章课后答案c语⾔程序设计第五版课后答案谭浩强习题答案第⼋章善于利⽤指针本章习题均要求使⽤指针⽅法处理。
1. 输⼊3个整数,要求按由⼩到⼤的顺序输出。
解题思路:先获取到三个变量的地址,然后获取三个数据,通过指针进⾏⽐较转换即可答案:#include <stdio.h>void swap(int *p_a, int *p_b){int temp = *p_a;*p_a = *p_b;*p_b = temp;}int main(){int a, b, c, *p_a = &a, *p_b = &b, *p_c = &c; // 获取每个变量空间的地址printf("Please enter three numbers:");scanf_s("%d%d%d", p_a, p_b, p_c);if (*p_a > *p_b) {swap(p_a, p_b);//通过指针进⾏指向空间内的数据交换}if (*p_a > *p_c) {swap(p_a, p_c);}if (*p_b > *p_c) {swap(p_b, p_c);}printf("%d %d %d\n", *p_a, *p_b, *p_c);system("pause");return 0;}2. 输⼊3个字符串,要求按由⼩到⼤的顺序输出。
解题思路:字符串的⽐较可以使⽤strcmp函数,返回值>0表⽰⼤于,返回值⼩于0表⽰⼩于,返回追等于0表⽰相同。
其他的⽐较排序思路与数字的排序交换没有区别,逐个进⾏⽐较先找出最⼤的,然后找出第⼆⼤的。
答案:#include <stdio.h>int main(){char str[3][32];char *p[3];printf("Please enter three strings:");for (int i = 0; i < 3; i++) {p[i] = str[i];scanf_s("%s", p[i], 32);//后边的数字限制缓冲区边界,防⽌缓冲区溢出访问越界}//让p[0]和p[1]/p[2]分别进⾏⽐较,找出最⼤的字符串,i+1之后,则让p[1]和p[2]进⾏⽐较,找出第⼆⼤//i循环总个数-1次,最后⼀个是不需要⽐较的for (int i = 0; i < 2; i++) {for (int j = i + 1; j < 3; j++) {if (strcmp(p[i], p[j]) > 0) {char *tmp = p[i]; p[i] = p[j]; p[j] = tmp;}}}printf("%s %s %s\n", p[0], p[1], p[2]);system("pause");return 0;}3. 输⼊10个整数,将其中最⼩的数与第⼀个数对换, 把最⼤的数与最后⼀个数对换。
c语言程序设计谭浩强第五版课后真题及答案
一、选择题
1. 下列关于C语言的叙述中,正确的是______________。
A. C语言的程序都可以在windows系统上运行
B. C语言也可以用于嵌入式系统的程序设计
C. 所有的C语言程序都是用于嵌入式系统的
D. C语言可以指定某个程序需要很多内存
答案:B
2. 下列关于特殊C语言特征的说法中正确的是:
_______________
A. 特殊的符号可以表示不同的意思
B. 多进程的时候只能用C语言
C. C语言可以完成复杂的数据结构设计
D. C语言可以处理大数据很快
答案:C
3. 以下关于C语言的说法中正确的是:________________
A. C语言可以和多种不同的硬件平台兼容
B. C语言无法与许多操作系统类型兼容
C. C语言只能用于算法设计
D. 可以使用C语言实现复杂的系统程序设计
答案:D
4. 使用C语言编写的程序,有什么优势?
A. 可以快速完成大量的运算
B. 可以在各种计算机系统运行
C. 程序可以快速更新
D. 程序提供高质量的结果
答案:B、C、D。
谭浩强c语言程序试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化编程答案:B2. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C二、填空题1. 在C语言中,用于输入数据的函数是________。
答案:scanf2. 在C语言中,用于输出数据的函数是________。
答案:printf三、简答题1. 简述C语言的主要特点。
答案:C语言的主要特点包括:- 高级语言:C语言是一种高级编程语言,它比汇编语言更接近自然语言。
- 结构化语言:C语言支持模块化、函数化和数据抽象,使得程序结构清晰。
- 可移植性:C语言编写的程序可以在不同平台和操作系统上运行。
- 灵活性:C语言提供了丰富的数据类型和运算符,支持多种控制结构。
- 低级特性:C语言允许直接访问内存地址,进行位操作等。
2. 描述C语言中数组的定义和使用。
答案:在C语言中,数组是一种数据结构,用于存储相同类型的多个元素。
数组的定义格式为:类型名数组名[数组大小];其中类型名是数组元素的类型,数组名是数组的标识符,数组大小是数组中元素的数量。
数组的使用可以通过索引访问数组中的元素,索引从0开始。
四、编程题1. 编写一个C语言程序,实现计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和为:%d\n", sum);return 0; }```。
c程序设计谭浩强第五版选择判断题库C语言程序设计谭浩强第五版选择判断题库
一、选择题
1、哪句话是正确的?
A、C程序中,printf()是一个函数
B、C程序中,所有函数都必须带()
C、C程序不允许使用声明语句
D、C程序中,'A'和'A'是有效的表示方法
答案:A
2、下面提及的C语言特点,正确的是?
A、C语言具有结构化的特点
B、C语言采用类似英语的结构
C、C语言是一种动态语言
D、C语言支持函数的复用
答案:A、D
3、以下关于C程序的描述,正确的有?
A、变量完全可以重名
B、只要是合法的字符串,都可以作为变量
C、变量名不区分大小写
D、使用全局变量可以在函数之间共享数据答案:C、D
二、判断题
1、C语言可以使用字符串数组来存储字符串答案:正确
2、C语言可执行文件不具备平台无关性
答案:错误。