C语言习题答案110

合集下载

c语言练习题及答案

c语言练习题及答案

c语言练习题及答案C语言是一种广泛应用于计算机编程领域的计算机编程语言,具有高效、灵活和强大的特性。

为了帮助读者更好地掌握和理解C语言的使用,下面将提供一些C语言练习题及其答案,希望对大家学习和实践有所帮助。

1. 请编写一个程序,输出1至100之间所有的自然数。

答案:#include <stdio.h>int main() {int i;for (i = 1; i <= 100; i++) {printf("%d ", i);}return 0;}2. 请编写一个程序,计算并输出1至100之间所有自然数的和。

答案:#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {sum += i;}printf("Sum: %d\n", sum);return 0;}3. 请编写一个程序,输入一个整数,判断该数是否为素数(质数)。

答案:#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}int i;for (i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("Enter a number: ");scanf("%d", &num);if (isPrime(num)) {printf("%d is a prime number.\n", num);} else {printf("%d is not a prime number.\n", num);}return 0;}4. 请编写一个程序,输入一个正整数n,计算并输出小于等于n的斐波那契数列。

C语言教材课后习题答案

C语言教材课后习题答案

2.简述程序设计语言发展的过程
程序设计语言经过最初的机器代码到今天接近自然语言的表达, 经过了四代的演变。 一 般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代, 面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。首先分析出解决问题所需要的步骤,然 后用函数把这些步骤一步一步地实现, 使用的时候依次调用函数即可。 一般的面向过程是从 上往下步步求精,所以面向过程最重要的是模块化的思想方法。 “面向对象”是一种以事物为中心的编程思想。面向对象的方法主要是将事物对象化, 对象包括属性与行为。 面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体 执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设 计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。编程关注的是如 何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
不能使变量 k 得到正确数值的原因是: scanf("%d", &k);中的格式控制类型与变量 k 的定义类型不匹配,应将%d 改为%f.
习题 4 答案
选择题 1. B 2. A 3. B 4. B 阅读程序,写结果 7. 12 8.13 9. *0**2* 10. if(s>=90) m=4; else if(s>=80) m=3; else if(s>=70) m=2; else if(s>=60) m=1; else m=0; 11.输入 4 个整数 a,b,c,d,编写程序,将它们按从大到小顺序输出。 #include<stdio.h> main() { int a,b,c,d,t; scanf("%d%d%d%d",&a,&b,&c,&d); if(a<b) {t=a;a=b;b=t;} if(a<c) {t=a;a=c;c=t;} if(a<d) {t=a;a=d;d=t;} if(b<c) {t=b;b=c;c=t;} if(b<d) {t=b;b=d;d=t;} if(c<d) {t=c;c=d;d=t;} printf("%4d%4d%4d%4d",a,b,c,d); } 12.据所输入的 3 条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、 直角三角形还是一般三角形? 源程序: 5. C 6. B

C语言课后习题标准答案

C语言课后习题标准答案

C语言课后习题标准答案第1章C语言概述一、简答题1.(1)语言简洁、紧凑,使用方便、灵活;(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.顺序结构,分支结构,循环结构3.所谓算法就是为解决一个问题而采取的方法和步骤。

算法的特性:有穷性、确定性、输入、输出、可行性。

表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。

二、算法1.瓶子A里盛有醋瓶子B里盛有酱油那一个空瓶C将A中的醋倒入C将B中的酱油倒入A将C中的醋倒入B2.输入一个数放在a中max=a以下步骤重复9次:输入一个数放在a中如果a>max,max=b打印max的值3.如果ﻩﻩa<btemp=aﻩa=bﻩﻩb=temp如果c>aﻩtemp1=aﻩﻩtemp2=ba=cﻩb=temp1ﻩc=temp2否则ﻩ如果ﻩc>bﻩtemp=bﻩb=cﻩc=temp打印a,b,c的值4.i=1sum=0以下程序循环100遍:sum=sum+iﻩi=i+1打印sum的值5.如果(n除以3的余数为0并且n除以5的余数为0)n能够同时被3和5整除否则ﻩn不能够同时被3和5整除6.i=101以下语句循环50遍:ﻩj=2ﻩflag=1ﻩ当j<(i除以2的整数部分)时循环以下语句:ﻩﻩ如果i除以j的余数为零ﻩﻩﻩflag=0ﻩﻩﻩ退出该循环如果flag=1ﻩﻩﻩ打印i的值ﻩi=i+17.如果m<nﻩﻩtemp=mﻩﻩm=nn=tempi=nj=1做以下循环,直到m能够被i/j整除:如果i能够被j整除并且m能够被i/j整除i/j即是m和n的最大公约数ﻩ跳出循环否则ﻩj=j+1打印i/j的值8.data=b*b—4*a*c如果data>0否则如果data=0ﻩx1=x2=—b/2否则无实数解三、编程题1.main(){ﻩprintf(“##############################\n”);ﻩprintf(“How do youdo?\n”);ﻩprintf(“##############################\n”);}2.main(){adata b x2)(1+-=a data b x2)(2--=。

c语言习题集及答案

c语言习题集及答案

计算机系统概述一、简答题1.什么是计算机系统?包括哪几部分?答:计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行交互;计算机系统包括硬件、软件和它们管理的数据。

3.简述计算机软件各个时代的主要特征。

答:第一代机器语言编写,第二代高级语言编写,第三代出现操作系统,第四代出现结构程序设计,第五代出现面向对象的程序设计语言。

4.计算机是如何分类的?答:按工作原理和运算方式分为数字电子计算机(Digital Computer)、模拟电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer);按设计目的分为通用计算机和专用计算机;按用途科学计算、工程计算机用的计算机、工业控制用的计算机和数据处理用的计算机;按规模和性能分为巨型机、大型机、小型机、微型机、工作站、服务器、网络计算机和嵌入式计算机等。

5.计算机具有哪些特点?答:运算速度快、精度高;具有逻辑判断功能;具有记忆功能;自动化程度高、通用性强。

6.衡量计算机性能的指标有哪些?答:从几个方面衡量,衡量cpu的指标有字长、时钟周期和主频,衡量内存的指标有内存容量、存取周期,衡量外设的指标有输入输出最高频率。

7.简述计算机主要应用在哪些方面。

答:科学计算、信息传输和信息处理、实时控制、辅助功能(设计/制造/教学)、艺术和娱乐。

8.简述计算机系统抽象分层,及每一层的功能。

答:主要分为七层,信息表示层反映了在计算机上表示信息的方式,它是一个纯概念层;硬件层探讨计算机系统的物理硬件组成;程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据;操作系统层用来管理计算机的各种资源,提供人与计算机交互的接口;网络通信层是计算机系统运行的基础,计算机连接到网络上共享信息和资源;应用软件层的重点则是将计算机与一个实际应用领域相结合。

计算机中的信息表示一. 判断题1.二进制数在计算中很重要,因为二进制数可以被转换成以任何数为基数的数。

c语言课后习题答案

c语言课后习题答案

c语言课后习题答案C语言课后习题答案C语言作为一门广泛应用于编程领域的高级编程语言,对于学习者来说是必不可少的一门课程。

在学习过程中,课后习题是巩固知识、提高编程能力的重要环节。

然而,有时候我们可能会遇到一些难以解答的问题,或者对于某些题目的解答存在疑惑。

在这篇文章中,我将为大家提供一些C语言课后习题的答案,并解释一些常见问题。

1. 编写一个程序,从键盘输入一个整数,判断该数是否为素数。

解答:```c#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数。

\n", num);} else {printf("%d不是素数。

\n", num);}return 0;}```以上代码中,我们定义了一个函数`isPrime`,用于判断一个数是否为素数。

在`main`函数中,我们从键盘输入一个整数,并调用`isPrime`函数进行判断。

如果返回值为1,则说明该数是素数,否则不是素数。

2. 编写一个程序,计算并输出1到100之间所有能被3整除但不能被5整除的数之和。

解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 3 == 0 && i % 5 != 0) {sum += i;}}printf("1到100之间所有能被3整除但不能被5整除的数之和为:%d\n", sum);return 0;}```以上代码中,我们使用`for`循环遍历1到100之间的所有整数,使用条件判断语句`if`筛选出能被3整除但不能被5整除的数,并将它们累加到`sum`变量中。

《C语言程序设计教程》(第三版)课后习题参考答案

《C语言程序设计教程》(第三版)课后习题参考答案

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

谭浩强c语言第三版课后习题答案

谭浩强c语言第三版课后习题答案

谭浩强c语言第三版课后习题答案谭浩强教授的《C程序设计》第三版是一本广受欢迎的C语言教材,其课后习题也是很多学习者检验学习成果的重要方式。

以下是部分课后习题的答案,供参考:第一章:C语言概述1. C语言的特点是什么?- C语言具有高级语言的特点,同时具有低级语言的许多功能。

- C语言具有丰富的运算符和数据类型。

- C语言具有结构化编程的特点。

- C语言具有很好的移植性。

2. C语言的主要应用领域有哪些?- 系统软件开发。

- 嵌入式系统开发。

- 应用软件的开发。

第二章:数据类型及其运算1. C语言中的基本数据类型有哪些?- 整型(int)- 浮点型(float, double)- 字符型(char)2. 什么是算术运算符?- 加(+)、减(-)、乘(*)、除(/)、模(%)第三章:简单的输入输出1. C语言中标准输入输出函数有哪些?- `printf()` 用于格式化输出。

- `scanf()` 用于格式化输入。

2. 如何使用`printf()`函数进行输出?- 使用`printf()`函数时,需要在括号内提供格式字符串,格式字符串中可以包含转义序列和格式说明符。

第四章:分支结构1. C语言中的条件语句有哪些?- `if`语句- `if...else`语句- `switch`语句2. 如何使用`if`语句实现分支?- 使用`if`语句时,首先需要一个条件表达式,如果条件为真,则执行`if`语句块内的代码。

第五章:循环控制1. C语言中的循环语句有哪些?- `for`循环- `while`循环- `do...while`循环2. 如何使用`for`循环?- `for`循环需要三个部分:初始化表达式、条件表达式和迭代表达式。

第六章:数组1. 数组的基本概念是什么?- 数组是一种数据结构,可以存储固定大小的同类型元素集合。

2. 如何声明一个数组?- 使用数组类型和数组名来声明,例如:`int arr[10];`第七章:指针1. 什么是指针?- 指针是一种变量,它存储了另一个变量的内存地址。

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。

课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。

```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。

C语言判断题

C语言判断题

判断题考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: Y考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: 答案: Y考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: Y考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: N 答案: Y考生选择: Y 答案: N考生选择: N 答案: Y考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: Y考生选择: N 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: Y 答案: N考生选择: N 答案: Y考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: Y 答案: Y考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: Y 答案: Y考生选择: N 答案: N考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: Y考生选择: Y 答案: N考生选择: Y 答案: N考生选择: Y 答案: N考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: Y考生选择: Y 答案: Y考生选择: Y 答案: Y考生选择: N 答案: N考生选择: N 答案: N考生选择: N 答案: N。

C语言练习题真答案(汇总版)

C语言练习题真答案(汇总版)

0在C语言中,合法的字符常量是( D ).之迟辟智美创作A.'字'B."A"C."ABC"D.'\x41'1下面叙述正确的是(B).A.法式中必需包括有输入语句B.变量按所界说的类型寄存数据C.main函数必需位于文件的开头D.每行只能写一条语句2毛病的叙述是(D).A.一个C语言源法式可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C法式必需包括一个main()函数D.构成C语言源法式的基本单位是算术表达式3(C)是关于C语言数据类型的正确叙述.A.变量必需先界说后使用B.不允许使用空类型C.枚举类型不是基本类型D.数组其实不是构造类型4main( )函数的位置(B).A.必需在自界说函数前面B.可以在自界说函数后面C.必需位于法式的最前面D.必需在自界说函数后面5C语言函数体由(C)括起来.A.< >B.( )C.{ }D.[ ]6(A)是不正确的叙述.A.注释说明只能位于一条语句的后面B.C源法式的基本组成单位是函数C.C源法式可由一个或多个函数组成D.每条语句最后必需有一个分号7一个C语言源法式是由(B).A.一个主法式和若干子法式组成B.函数组成C.若干过程组成D.若干子法式组成8结构化法式设计的三种基本结构是(C).A.函数结构、判断结构、选择结构B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构D.判断结构、嵌套结构、循环结构9C源法式的调试是指对源法式进行(C).A.录入与编纂B.查错与编译C.查错与排错D.连接与运行10C语言中,可将一系列语句置于(C)从而构成复合语句.A.一对尖括号"< >"之间B.一对圆括号"( )"之间C.一对花括号"{}"之间D.一对方框号"[ ]"之间11构成C源法式的基本单位是(D).A.语句B.变量C.运算符D.函数12以下叙述中正确的是(A).A.C源法式中注释部份可以呈现在法式中任意合适的处所B.一对花括号"{}"只能作为函数体的定界符C.C源法式编译时注释部份的毛病将被发现D.构成C源法式的基本单位是函数,所有函数名都可以由用户命名13下面叙述正确的是(D).A.每行最多只能写两条语句B.法式中必需含有自界说函数C.main()函数必需位于源法式文件的开头D.所有语句都必需以分号";"结束14下面叙述毛病的是(B).A.若一条语句较长,可分写在下一行或多行上B.构成C语言源法式的基本单位是语句C.C源法式中年夜、小写字母是有区另外D.一个C源法式可由一个或多个函数组成15(A)是关于C语言数据类型的正确叙述.A.枚举类型不是基本类型B.数组不是构造类型C.变量使用前应界说相应的数据类型D.不允许使用空类型16C源法式中main()函数的位置(C).A.必需位于法式的最前面B.必需在系统库函数后面C.可以在自界说函数后面D.必需在自界说函数前面18下面叙述毛病的是(D).A.C源法式可由一个或多个函数组成B.C源法式必需包括一个main()函数C.一个C源法式的执行是从main()函数开始,直到main()函数结束D.注释说明部份只能位于C源法式的最前面20C语言的下列运算符中,优先级最高的运算符是(A).A.++B.+=C.||D.!=21(D)为正确的用户标识符.A.structB.5fC.D._for22C语言基本数据类型包括(B).A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、字符串型23(A)为合法的常量.A.52686LB.E-7C.D.'E12'24(C)为正确的变量名.A.-k15B.intC.k_5D.25(D)为正确的字符常量.A.''\\''B."\24m"C."c"D.'M'26(C)为非法的字符串常量.A." "B."s"C.'efg'D."26'62"27C语言整型数据在内存中的代码是用(C)暗示的.A.原码B.反码C.补码D.BCD码28以下选项中,合法的实型常数是( B ).A.E-3B..2E1C.D.29下列C语言合法的数据类型关键字是(B).A.DoubleB.unsignedC.integerD.Char30Turbo C中,int型数据占用的字节数(B).A.由用户自己界说B.为2个字节C.是任意的D.即是所用计算机的字长31Turbo C中,基本数据类型存储空间长度的排列顺序是(A).A.char<int<long int<float<doubleB.char=int<long int<float<doubleC.char<int<long int=float=doubleD.char=int=long int<float<double32以下叙述中正确的是(A).A.字符常量用一对单撇号' '作为单个字符的定界符B.字符常量和字符串常量一样,都是用双引号括起来C.字符常量存储时,自动在字符后加一个字符结束符号'\0'D.字符常量和字符串常量所分配的内存空间年夜小是一样的33(B)为正确的用户标识符.A.3_rowB.max_atC.unionD.min-534C语言的基本数据类型包括(A).A.整型、实型、字符型B.整型、实型、空类型C.整型、字符型、指针型D.整型、实型、逻辑型35(D)为合法的常量.A.5,326B.C.'b_k'D.1.23E+836(D)为正确的变量名.A.5_proB.caseC.elseD.pro_537(C)为正确的字符常量.A.'bcd'B.'\084'C.'@'D.'165'38(A)为非法的字符串常量.A.'123'B."case"C."056"D." "40已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下法式运行结果是(A).main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2); }A.67,DB.C,DC.C,68D.67,6841若有界说 int m=6; 则正确的赋值表达式是(C).A.m*7B.m*5=8C.m-=m*6D.double(-m)42语句 k=(m=5,n=++m); 运行之后,变量k、m、n的值依次为(D).A.5,5,6B.5,6,5C.6,6,5D.6,6,643语句 x=5%4+(4/5); 运行之后,整型变量x的值为(A).A.1B.2C.3D.044(B)语句符合C语言语法.A.float z=28,int x,y=18;B.int x=25,y=25,z=25;C.int x=25:y=25:z=25;D.int x+y=z;45若有界说int a,x; 则语句a=(x=8,x+8); 运行后,变量a、x的值依次为(A).A.16, 8B.8, 8C.16, 16D.8, 1646若变量 m, n, t已界说且赋予初值,则正确的表达式是(B).A.m=m+1=t-nB.m=6+n+t,m++C.m=m\2D.m=int(5.6%4)47若有界说:int a,b; float x,则以下不符合C语言语法的表达式是(A).A.x%7B.x/=a-bC.a=b=2D.x=(float)a/b48若有界说:int m=4,n=5;float k;,则以下符合C语言语法的表达式是(B).A.(m+n)*=kB.m=(n==5)C.k=float(n)/mD.49若有界说:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是(B). A.10B.0C.34D.2450下面关于C语言变量的叙述中,毛病的是(A).A.可以用define关键字界说变量B.变量名用年夜小写字母是有区另外C.C语言允许分歧基本类型的变量之间进行混合运算D.C语言中要求对变量作强制界说的主要理由是:便于确定类型和分配空间51若有界说:int a=5,b=2; 则表达式b= (a!=5)的值为(B).A.5B.0C.3D.252逗号表达式 (a=15,a*4),a+15 的值为(B).A.15B.30C.75D.6053若有界说:int b=-15; 则(A)为正确的赋值表达式.A.b+=b*3B.b=*5C.*b=6D.b+10=-554若有界说:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为(C).A.2 3 5B.3 2 5C.5 2 3D.5 3 255若有界说:int a,b=5; 语句a=(b/2)+b%2; 运行后,a的值为( B ).A.0B.3C.4D.256(C )语句符合C语言语法.A.int a=2,b+=a;B.int a=b=2,c=5;C.float x=2.3,b,c;D.,int i,j=6;57若有界说:int a=3; 语句a+=a-=a*a; 运行后,a的值为( C ).A.0B.-3C.-12D.-658若有界说 int x=1,y=2,n=3; 则( A )为正确的表达式.A.x=y*3,y=(x+n)/yB.x=nyC.float(y/n)D.(x+y)(y+n)60下列语句中,符合C语言语法的赋值语句是( C ).A.a=7+b+c=a+7;B.a=7+b++=a+7;C.a=7+b,b++,a+7;D.a=7=b,c=a+7;61( A )是正确的叙述.A.与 5/6 等价B.'G' 与"G" 等价C.5/6 与等价D.++3与4 等价62下面叙述中,毛病的是( D ).A.C语言中的表达式求值,是按其运算符的优先级先高后低的次第进行B.自增与自减运算符的结合方向为“自右至左”C.关系运算符的优先级低于算术运算符D.C语言算术运算符不包括模运算符“%”63( C )是正确的叙述.A.表达式"m"+"M" 是合法的B.若变量x, y为整型,则(a+b)++是合法的C.强制类型转换运算的优先级高于算术运算D.表达式 'm' * 'n' 是分歧法的64若有界说 int i=1,j=9; 则表达式 (++j)*(i--) 的值为( B ).A.0B.10C.9D.865设整型变量x为7,使整型变量y不为2的表达式是( A ).A.y=x%3B.y = x/3C.y =(++x)/3D.y=8-(--x)66若已界说 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为( D ).A.0B.3C.1D.267若有界说:int i=5,j=4;则语句 i/=++j; 运行后i的值为( B ).A.10B.1C.D.068若已界说:int a=2,b=2; 则表达式 (a+(b++), b) 的值是( A ).A.2B.3C.4D.669若有界说:int r,x=245; 则语句 r=x/100%9; 运行后r的值为( A ).A.2B.5C.0D.2770若已界说:int i=6,t; 则语句 t=3+(--i); 运行后t的值为( C ).A.9B.7C.8D.571C语言的 % 运算符按运算对象的个数属( C ).A.单目运算符B.四目运算符C.双目运算符D.三目运算符72若已界说:int a=5,b=9,c=6; 则语句 b++; ++c; a=b-c; 运行后a的值为( B ).A.5B.3C.2D.473下面叙述正确的是( B ).A.2/3 与 2%3 等价B.5/(int)4.0 与 5/4 等价C.++2 与 3 等价D.++2与--3 等价74下面叙述毛病的是( A ).A.算术运算符中只有"*"、"/"优先级高于关系运算符B.模运算符"%"是C语言基本的算术运算符C.自加和自减运算符只能用于变量,而不能用于常量或表达式D.算术运算符中不包括"="运算符75下面叙述正确的是( A ).A.C语言中整型与字符型变量的混合运算表达式的结果是整型B.(3+9)++ 是正确表达式C.模运算符"%"两边运算数的数据类型是任意的D."abc"+"xxx"是正确表达式76若有界说:int i=3,j=6; 则表达式(--i)*(j++)的值为( C ).A.18B.15C.12D.1077若有界说:int a,b=6; 语句a=--b; 运行后,a、b的值分别是( C ).A.5 6B.6 5C.5 5D.6 678若有界说:int x,y,z; 语句x=(y=z=3,++y,z+=y); 运行后,x的值为( C ).A.6B.8C.7D.380以下法式运行时,若从键盘输入5,则输出结果是(D ). main() { int a; scanf("%d",&a); if(a++>5) printf("%d\n",a); else printf("%d\n",a--); }A.7B.4C.5D.681若已界说float x; 要从键盘输入数据36.582给变量x,则应选用( B )语句.A.scanf("%2.3f",&x) ;B.scanf("%6f",&x) ;C.scanf("%6.3f",&x) ;D.scanf("%5.3f",&x) ;82若已界说double y; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( C ).A.scanf("%d",&y) ;B.scanf("%7.2f",&y) ;C.scanf("%lf",&y) ;D.scanf("%ld",&y) ;83已有界说 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是( D ).A.scanf("%c",&s) ;B.scanf("%d",&s) ;C.scanf("%u",&s) ;D.scanf("%lf",&s) ;84函数putchar( ) 的功能是向终端输出( A ).A.一个字符B.多个字符C.一个关系表达式D.一个实型变量值85若已界说int a=11; 执行以下语句后的输出结果是( B ). printf("a=%d,a=%o,a=%x\n",a,a,a) ;A.a=11, a=11, a=bB.a=11, a=13, a=bC.a=11, a=13, a=cD.a=11, a=12, a=1386若有界说int m=4321,n=123,k=21; 语句printf("%4d+%3d+%2d",m,n,k); 执行后的输出结果是(C ).A.B.43211232C.4321+123+21D.432+123+0287已有如下界说和输入语句,char c1,c2;int x; scanf("%c%d%c",&c1,&x,&c2); 若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是( A ).A.K9HB.K 9 HC.K9 HD.9KH88以下法式段的运行结果是( B ). int a=1; printf("%d, %d, %d\n", a, ++a, a++);A.3,3,1B.2, 2, 1C.1, 2, 3D.3, 2, 189以下法式的运行结果是( D ).void main(){ int a=65;char c='A';printf("%d+%c=%d\n",a,c,a+c); }A.A+A=AAB.65+A=65AC.65+65=130D.65+A=13090若已界说:int x=7;float y=7.0; 以下语句中能输出正确值的是( B ).A.printf("%d %d",x,y);B.printf("%d %.3f",x,y);C.printf("%.3f %.3f",x,y);D.printf("%.3f %d",x,y);91putchar函数可以向终端输出一个( A ).A.字符或字符型变量值B.整型变量表达式值C.实型变量值D.字符串92若已界说:int a=6;float b=1.5; 要求输出形式为: 6 * 1.50=9.00 ,应选用的正确输出语句是( B ).A.printf("%d * %f=%f",a,b,a*b);B.printf("%d * %.2f=%.2f",a,b,a*b);C.printf("%d * %d=%.2f",a,b,a*b);D.printf("%.2f * %.2f=%.2f",a,b,a*b);93若有界说float x; 要从键盘输入数据6.02赋给x,则应选用(D )语句.A.scanf("%8.2f",&x);B.scanf("%1.2f",&x);C.scanf("%4.2f",&x);D.scanf("%f",&x);94只能向终端输出一个字符的是( D ).A.printf()函数B.scanf()函数C.getchar()函数D.putchar()函数95若有语句 int a; char c; scanf("%3d%c",&a,&c); 为将整数135赋给a,字符'6'赋给c,正确的数据输入方式是(B ).(说明:<CR>代表换行,__代表空格)A.135__6<CR>B.1356<CR>C.135<CR>6<CR>D.135__6__96getchar()函数的功能是获取终端输入的( B ).A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式97若有界说 int a=8,b=5; 要实现输出形式为: 8*5=40 ,正确的printf()函数调用语句是( D ).A.printf("a*b=%d\n",a*b);B.printf("a*b=a*b\n");C.printf("%d*%d=a*b\n",a,b);D.printf("%d*%d=%d\n",a,b,a*b);98若有界说:char c1='A',c2='B'; 语句printf("%d+%d=%d",c1,c2,c1+c2);运行后的结果为(D ).(说明:'A'的ASCII码的十进制值为65)A.A+B=131B.65+66=ABC.A+B=ABD.65+66=131100有以下法式:main(){ int c;while((c=getchar())!= '\n'){ switch(c-'2'){ case 0 :case 1 : putchar(c+4);case 2 : putchar(c+4); break;case 3 : putchar(c+3);default: putchar(c+2); break; } }printf("\n"); } 当输入:247<回车>,法式的输出结果是( B ).A.689B.6689C.66778D.66887101若已界说 int x=5,y=9,z; 语句 z=x>=y; 运行后z的值为( C ).A.1B..t.C.0D..f.102判定逻辑值为“真”的最准确叙述是( D ).A.1B.年夜于0的数C.非0的整数D.非0的数103若已界说 int x=-16,y=-12,z; 语句z=x<=y; 运行后z的值为( B ). A..t.B.1C..f.D.0104能正确暗示数学关系式 100≤s<300的表达式为( C ).A.(s>=100) & (s<300)B.100<= s<300C.(s>=100) && (s<300)D.(s>=100) and (s<300)105若界说 int a=2,b=3; 则表达式 !a||b 的值为( B ).A.0B.1C.2D.3106若界说 int a=-5,b=-8,c=-12; 则表达式 a>=b||b<c 的值为( D ).A.变量i的值B.变量j的值C.0107下列表达式( C )不能用来判断整型变量x中的值是否为奇数.A.x%2==1B.!(x%2==0)C.!(x%2)D.x%2108若有界说:int a=3,b=2,c=3; 则值为0的表达式是( D ).A.(a-b)==(c/b)B.a>=cC.c-b||a+b&&(b*c-a-c)D.(b*c-a-c)&&(b*c-a-b)109若已界说:int x=4,y=2,z=0; 则表达式 (x-y<=y)|| (y=z)的值是( A ).A.1B.0C.2D.4110若有界说:int a=3,b=2,c=1,k; 则表达式k=a>b>c的值是( A ). A.0B.C.2D.3111以下运算符中优先级最高的是( D ).A.<=B.&&C.||D.!112执行以下语句后,b的值是( A ).int a=5,b=6,c=1,x=2,y=3,z=4;(a=c>x) || (b=y>z);A.0B.1C.-1D.6113x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( B ).A.-20<x<-5B.x>-20 && x<-5C.!(x>-20) && !(x<-5)D.-5<x<-20114若有界说:int a; 则表达式(B )不能用来判断a值为奇数是“真”,偶数是“假”.A.a%2==1B.!(a%2)C.a%2D.!(a%2==0)115若有界说:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a<b)||(k=c<d); 运行后,k的值为( A ).A.2B.1C.0D.-116若有界说:int x=1,y=2,z=3; 则表达式( A )的值为0.A.!((x<y) && z)B.x>y || x<zC.x<=yD.x|| (y+z && y-z)117若有界说: int a=3,b=5,c=8; 则表达式 !(a-b) || (c-b) 的值为( A ). A.1B.0C.2D.3118若有界说: int a; 且表达式 !a的值为0,则表达式( A )的值为1.A.a!=0B.a==0C.a=0D.!(a<0 || a>0)120以下法式运行后,a的值是( C ).main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1) { b+=3; continue; }b-=5; } }A.101B.100C.8D.7121已界说 double k=3.6; 则正确的赋值表达式是( D ).A.k=double(-3.6)B.k%3C.D.k+=k-=(k=1.2)*(k=3)122已界说 char c = 'A' ; 则正确的赋值表达式是( B ).A.c=\028B.c=(c++)%4C.c+1=66D.c+=127--123已界说 int m ='A'; 则正确的表达式是( C ).A.2*m=m++B.m=int(-3.2)C.m%3D.m=m-m=m-5124设已界说 float a=2.0,b=3.0; 使a值为5.0的表达式是( A ).A.a+= bB.C.D.125若已界说 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为( D ).A.B.C.D.126若已界说int a=3,b=3,x=1,y=2; 表达式(a=y>x)&&(x=b>a) 的值是( B ).A.6B.1C.9D.0127若有界说:int a=2,b=3; float x=5; 则表达式x*b/a的值是( A ). A.B.7C.6D.5128若有界说:int x=8; float y=130;char z='A'; 则表达式x+z%(int)y的值是( C ). [已知'A'的ASCII码的十进制值为65]A.运行时发生毛病信息B.8C.73D.129若已界说:int m=7,n=4; float x=3.0,y=8.0,k; 则执行语句k=m/2+n*x/y;后,变量k的值是( C ).A.3B.4C.D.5130若有界说:float x=2,y=4,h=3; 下列表达式中与计算结果不相符的是( C ).A.(x+y)*h/2B.(x+y)*h*1/2C.(1/2)*(x+y)*hD.h/2*(x+y)131表达式2+sqrt(16.0)/4结果的数据类型是( A ).A.doubleB.intC.charD.void132若有界说:int a=4,b=5,c=6; 则表达式 (1.0*a+b)/c的值是( A ). A.B.1C.4D.133下列运算符中优先级最低的是( A ).A.=B.!C.>D.*134若有界说:float x=3.5,y=3.6; 则表达式( A )的值为6.A.(int)x+(int)yB.x+yC.(int)(x+y)D.int(x+y)135若有界说:int x; char c='A'; 则正确的赋值表达式是(A ).(说明:'A'的ASCII码的十进制值为65,'a'的ASCII码的十进制值为97)A.x=c+32B.x=c+'ABC'C.x=c+'CBA'D.x='ABC'136若有界说:float x=2,y; int a=3; 语句y=1*(x+a)/3; 运行后,y的值为( D ).A.B.0C.D.137若有界说:float x=3.5,y=5.5; 则表达式( B )的值为2.A.(x+y)%7B.(int)(x+y)%7C.int(x+y)%7D.(int)x+y%7138若有界说:int a=6,b=7,k=0,t=1; 语句 (k=a<b) && (t=a==b); 运行后,k、t的值分别是(D ).A.0 0B.1C.0 1D.1 0140以下法式段的运行结果是( D ). int x=3; do{ printf("%3d, ", x-=2 ); }while(!(--x));A.1B.30C.死循环D.1, -2141以下法式运行时,若从键盘输入6,则输出结果是(A ).void main(){int x;scanf("%d",&x);if (x-->6) printf("%d\n",x);else printf("%d\n",--x); }A.4B.5C.6D.3142以下法式的运行结果是( C ).void main(){int m,n=1,t=1;if(t== 0) t=-t;else m=n>=0?7:3;printf("%d\n",m); }A.3B.-C.7D.143对整型变量a,赋值语句 a=(a%3==0?1:0); 与(D )语句不等价.A.if (a%3= =0) a=1; else a=0;B.if (a%3!=0) a=0; else a=1;C.if (a%3) a=0; else a=1;D.if (a%3) a=1; else a=0;144以下法式运行的结果是(B ).void main(){int x,y,z,a;x=y=z=1;a=15;if(!x) a--;else if(y) ;if(z) a=3;else a+=4;printf("%d\n",a); }A.15B.3C.19D.14145若已界说 int a=1,b=2,t=3; 则执行以下法式段后变量a,b,t的值分别为(A ). if(a<b) { t=b; b=a; a=t; }A.a=2,b=1,t=2B.a=2,b=1,t=C.a=2,b=1,t=3D.a=3,b=1,t=2146以下法式段运行后变量k的值为( C ).int a=3,b=2;int k;k=(--a==b++)?a:b+1;A.0B.1C.2D.3147以下法式的运行结果是( C ).void main(){ int n=9;switch(n--){ default: printf("%d ",n++);case 8:case 7: printf("%d ",n);break;case 6: printf("%d ",n++);case 5: printf("%d ",n); } }A.8B.7C.8 9D.8 7148以下法式的运行结果是( C ).void main(){ int n=8;switch(n--){ default: printf("%d ",n++);case 8:case 6: printf("%d ",n);break;case 4: printf("%d ",n++);case 2: printf("%d ",n); } }A.8B.8 6C.7D.8 7149以下法式的运行结果是( D ).void main( ){ int a;if(a=6)printf("%d\n",a);else if(a>6) printf("%d\n",a+2);else printf("%d\n",a+3); }A.运行时发生毛病信息B.9C.8D.6150若有界说:int x=10,y=8,a; 则执行语句a=((--x==y)? x: y);后,变量a的值是( A ).A.8B.9C.10D.0151若有界说: int a=2,b=3,c=1; 则以下法式段的运行结果是( D ). if(a>b)if(a>c) printf("%d ",a);else printf("%d ",b);printf("%d ",c);A.3 1B.2C.3152以下条件语句中(其中s1和s2分别暗示C语言的语句),(D)与其他三条语句不等价.A.if(a) s1; else s2;B.if(a == 0) s2; else s1;C.if(a != 0) s1; else s2;D.if(a == 0) s1; else s2;153以下法式段运行时,若从键盘输入5,则运行结果是(D ).int a,y=10;scanf("%d",&a);if (a>10) y=a+6;printf("%d\n",y+a);A.10B.1C.16D.15154以下法式的运行结果是(B ).void main(){int a,b=2,c=6;a=3;if(a>6) a=a+b;else if(a==6) b=a+c;else a=b+c;printf("%d\n",a); }A.5B.8C.6D.9155若有界说:int x,a; 赋值语句a=(x%3==0)?0:1; 与(B )语句不等价.A.if (x%3!=0) a=1; else a=0;B.if (x%3) a=0; else a=1;C.if (x%3==0) a=0; else a=1;D.if (!(x%3==0)) a=1; else a=0;156以下法式段的运行结果是( C ).int s=15;switch(s/4){case 1: printf("One ");case 2: printf("Two ");case 3: printf("Three ");default: printf("Over "); }A.ThreeB.Two OverC.Three OverD.One Over157以下法式段的运行结果是( C ).int s=15;switch(s/4){default: printf("Over ");case 1: printf("One ");break;case 2: printf("Two "); }A.TwoB.Over TwoC.Over OneD.One158以下法式段运行后x的值为( D ). int a=3,b=6,x; x=(a==b)?a++:--b;A.4B.3C.6D.5160下列法式段中,非死循环的是( A ).A.int i=100; while(1) { i=i%100+1; if(i>=100) break; }B.int k=0; do{ ++k; }while(k>=0);C.int s=10; while(++s%2+s%2) s++;D.for(;;)161若已界说 int a; 不会发生死循环的语句是(C ).A.for( ; ;a+= 2);B.for(a=10; ;a--);C.for( ;(a=getchar())!= '\n'; );D.while(-1) {a++;}162在循环语句的循环体中,break语句的作用是( B ).A.继续执行break语句之后的循环体各语句B.提前结束循环,接着执行该循环后续的语句C.结束本次循环D.暂停法式的运行163以下法式段运行后,循环体中的 n+=3; 语句运行的次数为( A ). int i,j,n=0;for(i=1;i<=3;i++){for(j=1;j<=i;j++){n+=3; printf("%d\n",n); } }A.6次B.9次C.12次D.1次164do…while循环与while循环的主要区别是( D ).A.while循环体至少无条件执行一次,而do…while循环体可能都不执行B.do…while循环体中可使用continue语句,while循环体中不允许呈现continue语句C.do…while循环体中可使用break语句,while循环体中不允许呈现break语句D.do…while循环体至少无条件执行一次,而while循环体可能都不执行165以下法式段运行后,循环体运行的次数为( A ). int i=8,a=0;for ( ;i<8;i++)a+= i;A.0次B.1次C.8次D.无限166以下法式段运行后变量a的值为( C ).int i=1,a=0;for( ;i<3;i++){ continue; a+=i; }A.6B.3C.0D.5167有以下法式:void main(){ int i;for(i=1; i<=3; i++)switch(i){ case 1: printf("%d", i);。

C语言课后习题参考答案

C语言课后习题参考答案

C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。

它以其简洁、高效和可移植性而闻名。

C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。

问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。

它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。

它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。

例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。

它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。

它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库

c语言题库及详解答案百度文库C语言作为一门广泛应用的编程语言,其题库及详解答案在百度文库中有着丰富的资源。

以下内容将对C语言题库中的一些典型题目进行简要的介绍,并提供相应的详解答案。

1. 基础语法题- 题目:请写出一个C语言的Hello World程序。

- 解答:C语言中最基本的程序是打印"Hello World"。

以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量和数据类型题- 题目:如何声明一个整型变量并赋值?- 解答:在C语言中,声明一个整型变量并赋值可以通过以下方式实现:```cint number = 10;```3. 控制结构题- 题目:使用if语句判断一个数是否为正数。

- 解答:if语句用于条件判断,以下是一个示例代码:```cint num = 5;if (num > 0) {printf("%d is positive.\n", num);}```4. 循环结构题- 题目:使用for循环打印1到10的数字。

- 解答:for循环可以用于重复执行代码块。

以下是打印1到10的示例代码:```cfor (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");```5. 数组和字符串题- 题目:如何声明并初始化一个整型数组?- 解答:在C语言中,声明并初始化一个整型数组可以通过以下方式:```cint numbers[] = {1, 2, 3, 4, 5};```6. 函数题- 题目:编写一个函数,计算两个整数的和。

- 解答:函数是C语言中实现代码复用的一种方式。

以下是一个计算两个整数和的函数示例:```cint add(int a, int b) {return a + b;}```7. 指针题- 题目:使用指针交换两个变量的值。

c 第三版课后习题答案

c  第三版课后习题答案

c 第三版课后习题答案C 第三版课后习题答案C语言是一门广泛应用于计算机编程领域的编程语言,它的学习对于计算机科学和软件工程的学生来说是非常重要的。

C语言第三版是一本经典的教材,它为学生提供了丰富的习题来巩固所学的知识。

在这篇文章中,我将为大家提供C语言第三版课后习题的答案,希望能对大家的学习有所帮助。

1. 第一章:开始学习C语言在第一章中,主要介绍了C语言的基本概念和语法规则。

以下是一些常见的习题及其答案:1.1 填空题:a) C语言是一种______语言。

答案:结构化b) 在C语言中,用于存储数据的基本单元是______。

答案:变量1.2 程序设计题:编写一个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;}```2. 第二章:C语言基础第二章主要介绍了C语言的基本数据类型、运算符和控制结构。

以下是一些习题及其答案:2.1 选择题:a) 下列哪个是C语言的基本数据类型?1. float2. string3. boolean4. char答案:4. charb) 下列哪个运算符用于求两个整数的商?1. +2. -3. *4. /答案:4. /2.2 程序设计题:编写一个C程序,判断一个整数是否为偶数。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("这是一个偶数。

C语言试题和答案.doc

C语言试题和答案.doc

一、问答题1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。

要用全局变量,需要使用 ":: "局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错4、语句for( ;1 ;)有什么问题?它是什么意思?答:和while(1)相同。

5、do……while和while……do有什么区别?答:前一个循环一遍再判断,后一个判断以后再循环6、请写出下列代码的输出内容#include <stdio.h>main(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf( "b,c,d:%d,%d,%d ",b,c,d);return 0;}答:10,12,1207、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。

全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。

C语言课后习题答案(最终)

C语言课后习题答案(最终)

C语言课后习题答案(最终)第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575 答:(1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400(4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B 答:(1)821、335 (2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32 答:(1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:0~65535、-128~127、-32768~32767C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区放在应用程序数据区。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言程序详解110

C语言程序详解110

if (m==1) f=0 ;
k=(int)sqrt(m); for (i=2; i<=k;i++)
if (m%i==0) f=0 ;
return f ; }
void main() {
int a,b,n=0; for(a=1;a<6744/2;a=a+2) if(prime(a)) {b=6744-a; if(prime(b)) n++; } printf("%d\n",n);
sum++; } printf("%d",sum); }
3、自然数对是指两个自然数的和与差都是平方数,如 8 和 17 的和 8+17=25 与其 差 17-8=9 都是平方数,则称 8 和 17 是自然数对(8,17)。假定(A,B)与 ( B , A ) 是 同 一 个 自 然 数 对 且 假 定 A>=B , 求 所 有 小 于 或 等 于 100 ( 即 : A<=100,B<=100)的自然数对中 A 之和。 1669 #include"math.h" main(){ int a,b,i,j,k,sum=0; for(a=1;a<=100;a++) for(b=1;b<a;b++) {i=a+b; j=a-b; if((sqrt(i)-(int)sqrt(i))==0 && (sqrt(j)-(int)sqrt(j))==0) {printf("(%d,%d)\n",a,b); sum=sum+j; } } printf("%d",sum); } 方法二 #include"stdio.h" #include"math.h" int f(int i) { int flag; if(sqrt(i)-(int)sqrt(i)==0) flag=1; else flag=0; return flag; } main(){ int a,b,i,j,k,sum=0; for(a=1;a<=100;a++) for(b=1;b<a;b++) if(f(a+b)&&f(a-b)) {printf("(%d,%d)\n",a,b); sum=sum+(a-b);} printf("%d",sum); }

二级C语言-110_真题(含答案与解析)-交互

二级C语言-110_真题(含答案与解析)-交互

二级C语言-110(总分100, 做题时间90分钟)一、选择题1.以下选项中,当x为大于1的奇数时,值为0的表达式是______。

SSS_SINGLE_SELA x%2= =0B x/2C x%2!=0D x%2= =1分值: 1答案:A[解析] 算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。

B选项的值为不定值,但绝对不是0。

C选项的值为真,即1。

D选项的值为真,即1。

2.以下叙述中正确的是______。

SSS_SINGLE_SELA 在C语言中,逻辑真值和假值分别对应1和0B 关系运算符两边的运算对象可以是C语言中任意合法的表达式C 对于浮点变量x和y,表达式:x= =y是非法的,会出编译错误D 分支结构是根据算术表达式的结果来判断流程走向的分值: 2答案:B[解析] A选项中,在C语言中,逻辑真值对应非0;C选项中,表达式:x==y 是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。

因此B选项正确。

3.若变量已正确定义,以下选项中非法的表达式是______。

SSS_SINGLE_SELA a! =4||"b"B "a"=1/2*(x=y=20, x*3)C "a"%4D "A"+32分值: 2答案:B[解析] A选项中"a"即表示a为字符常量,再给"a"赋值1/2*(x=y=20,x*3),是不正确的。

因此B选项正确。

4.与数学表达式x≥y≥z对应的C语言表达式是______。

SSS_SINGLE_SELA (x> =y)||(y>=x)B (x>=y>=z)C (x>=y)!(y>=z)D (x>=y)&&(y>=z)分值: 2.5答案:D[解析] 本题考查关系表达式和逻辑表达式。

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

习题答案
习题1(参考答案)
1.程序与算法的概念及二者的区别是什么?
程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。

算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。

通俗地讲,就是计算机解题的步骤。

算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。

2.简述程序设计语言发展的过程
程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。

一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。

3.简述高级程序设计语言中面向过程与面向对象的概念。

“面向过程”是一种以过程为中心的编程思想。

首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。

一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

“面向对象”是一种以事物为中心的编程思想。

面向对象的方法主要是将事物对象化,对象包括属性与行为。

面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。

编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。

4.C语言程序的特点是什么?
(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。

(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。

(3)数据类型丰富。

C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。

(4)用C语言可直接访问物理地址,能进行二进制位运算等操作,即可直接同机器硬件打交道。

它具有“高级语言”和“低级语言”的双重特征,既能用于系统软件程序设计,又能用于通用软件程序设计。

(5)C语言生成的目标代码质量高、程序执行速度快。

一般只比用汇编语言生成的目标代码的效率低20%左右。

(6)可移植性好。

5.源程序执行过程中,有哪些步骤?
C语言源程序的执行要经过:编辑、编译、链接、运行等步骤。

6.简述MATLAB的主要应用领域有哪些?
MATLAB软件是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司开发的商业数学软件,主要包括MA TLAB和Simulink两大部分。

它和Mathematica、Maple并称为三大数学软件。

MA TLAB软件可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,代表了当今国际科学计算软件的先进水平。

习题2(参考答案)
一、选择题
勘误:
3.以下定义语句中正确的是()。

A.int a=b=0 ; B.char A=65+1; b='b';
C.float a=1,*b=&a,*c=&b ; D.double a=0.0,b=1.1;
4.已知int x = 10,y = 3,表达式x/y的值是()。

15.在C语言中提供的合法的关键字是()。

A.swi t ch B.cher C.Case D.default
26.下列不可作为C语言赋值语句的是()。

A.x=3,y=5; B.a=b=6;C.i--; D.y=int(x);
40.下列变量定义中合法的是()。

A.float_a = 1-.1e-1; B.double b = 1 + 5e2.5;
C.long do = 0xfdaL; D.float 2_and = 1 - e - 3;
44.以下选项中不属于字符常量的是()。

A.'C' B."C" C.'\xCC0' D.'\072'
46题与17题重了
47题A项选择:a==1 后面加分号就合法了,所以只有“B”项合法
二、填空题
习题 3 (参考答案)
1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。

参考代码(尽量运用本章所学知识)
#include <stdio.h>
main( )
{ char c1,c2,c3;。

相关文档
最新文档