C语言程序设计练习题(含程序及参考答案)1

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

C语言程序设计练习题(含程序及参考答案)1

C语言程序设计练习题(含程序及参考答案)1

C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。

#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。

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语言程序设计第一章试题及答案

c语言程序设计第一章试题及答案一、选择题(每题2分,共10分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123abcB. intC. forD. myVar答案:C3. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. charD. double答案:A4. 下列哪个选项是C语言中的控制语句?A. printfB. scanfC. ifD. return答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D二、填空题(每题2分,共10分)1. C语言中,用于输入一个整数的函数是________。

答案:scanf2. 在C语言中,定义一个数组时,数组的下标从________开始。

答案:03. C语言中,用于输出一个浮点数的函数是________。

答案:printf4. C语言中,用于定义一个字符型变量的关键字是________。

答案:char5. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool 或 bool(根据标准不同)三、简答题(每题5分,共20分)1. 请简述C语言中变量的作用域有哪些?答案:变量的作用域主要有局部作用域和全局作用域。

局部作用域通常用于函数内部,变量只在该函数中有效;全局作用域用于函数外部,变量在整个程序中都有效。

2. 解释C语言中的指针是什么?答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。

通过指针,程序可以间接访问和操作内存中的数据。

3. 什么是C语言中的函数原型?答案:函数原型是指函数的声明,它提供了函数的返回类型、函数名、参数类型和数量等信息,但不包含函数的具体实现。

4. 在C语言中,如何定义一个结构体?答案:定义一个结构体需要使用关键字`struct`,后跟结构体的名称,然后是一对花括号,其中包含了结构体成员的声明。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。

图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。

如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。

要事先准备好保存文件的目录,例d:\lx 目录。

在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。

设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。

图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。

图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。

在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。

内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。

C语言程序设计基础知识 习题一及参考答案

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。

A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。

A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是( )。

A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是( )。

A)程序就是软件,但软件不紧紧是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。

D)计算机语言只能编写程序而不能表示算法。

6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。

B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。

7、下面描述中,不正确的是( )。

A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。

D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是( )。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。

C语言程序设计习题(含答案)

C语言程序设计习题(含答案)

C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。

为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。

通过完成这些习题,学习者可以锻炼编程思维,加深对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;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。

解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。

解答:```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;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。

C语言程序设计1(专升本)期末考试试题及参考答案

C语言程序设计1(专升本)期末考试试题及参考答案

C语言程序设计1(专升本)期末考试试题及参考答案C语言程序设计复习题1(专升本)一、选择题1.用C语言编写的代码程序()。

A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2.在C语言中,下列属于构造类型的是()A)整型B)字符型C)实型D)数组类型3.C语言中,运算对象必须是整型数的运算符是()。

A)% B)\ C)% 和\ D)**4.下列常数中,合法的C 常量是()。

A)-0. B) '105' C)'AB' D)"35"5.设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。

A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:26.下列符号中,可以作为变量名的是()。

A)+c B)*X C)_DAY D)next day7.有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a, &b, &c, &d);printf("%c,%c,%c,%c\n",a, b, c, d);}若运行时从键盘上输入:6,5,65,66。

则输出结果是()。

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,68.以下叙述中错误的是()。

A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句9. 以下叙述中正确的是()。

A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是()。

C语言程序设计_习题大全(含答案)_C语言-1

C语言程序设计_习题大全(含答案)_C语言-1

C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是( A )。

A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。

A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x<<02>>B>>23.下面四个选项中,均是不合法的转义符的选项是( B )。

A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。

A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。

A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。

A) swithB) cherC) Case). Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。

A) true B) 整型值0 C)非另整型值 D) T9若有以下定义char s='\092';则该语句( B )A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。

(完整版)C语言程序设计习题集及答案

(完整版)C语言程序设计习题集及答案

C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

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

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

C语言程序设计(第二版)习题参考答案1习题1一、判断题1.在计算机中,小数点和正负号都有专用部件来保存和表示。

2.二进制是由0和1两个数字组成的进制方式。

3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。

4.在整数的二进制表示方法中,0的原码、反码都有两种形式。

5.有符号数有三种表示法:原码、反码和补码。

6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。

解:1.F2.T3.T4.T5.T6.T二、单选题1.在计算机中,最适合进行数值加减运算的数值编码是A.原码B.反码C.补码D.移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数A.112B.120C.121D.1223.关于ASCII码,在计算机中的表示方法准确地描述是A.使用8位二进制数,最右边一位为1B.使用8位二进制数,最左边一位为1C.使用8位二进制数,最右边一位为0D.使用8位二进制数,最左边一位为04.设在机器字长4位,某=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。

A.某∧Y=1000B.某∨Y=1111C.某⊕Y=0011D.¯=1000Y5.下列叙述中正确的是()。

A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。

A.生成可执行文件B.生成目标文件C.输出运行结果D.自动保存源文件7.下列叙述中不正确的是()。

A.main函数在C程序中必须有且只有一个B.C程序的执行从main函数开始,所以main函数必须放在程序最前面C.函数可以带参数,也可以不带参数。

c语言程序设计第2版习题答案

c语言程序设计第2版习题答案

c语言程序设计第2版习题答案1. 基础语法练习题- 题目:编写一个程序,计算并输出1到10的和。

- 答案:使用一个循环结构,累加1到10的数值。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; ++i) {sum += i;}printf("The sum from 1 to 10 is: %d\n", sum);return 0;}```2. 数组和字符串练习题- 题目:编写一个程序,找出一个字符串中出现次数最多的字符,并输出它。

- 答案:使用数组来统计每个字符的出现次数,然后找出最大值。

```c#include <stdio.h>#include <string.h>int main() {char str[] = "example string";int maxCount = 0;char maxChar = str[0];int charCount[256] = {0};for (int i = 0; str[i] != '\0'; ++i) {charCount[(int)str[i]]++;if (charCount[(int)str[i]] > maxCount) { maxCount = charCount[(int)str[i]];maxChar = str[i];}}printf("The most frequent character is: %c\n", maxChar);return 0;}```3. 函数和指针练习题- 题目:编写一个函数,交换两个整数的值。

- 答案:使用指针来实现参数的传递。

```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a = 5, b = 10;printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```4. 结构体和文件操作练习题- 题目:定义一个结构体,包含学生姓名、学号和成绩,编写程序,将学生信息存储到文件中。

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案1. 请编写一个C程序,要求输入一个整数n,并打印从1到n的所有整数。

```c#include <stdio.h>int main(){int n;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++){printf("%d ", i);}return 0;}```参考答案:```请输入一个整数n:51 2 3 4 5```2. 请编写一个C程序,要求输入两个整数m和n,并计算它们的和、差、积和商(m除以n的结果)。

```c#include <stdio.h>int main(){int m, n;printf("请输入两个整数m和n:");scanf("%d %d", &m, &n);int sum = m + n;int difference = m - n;int product = m * n;float quotient = (float)m / n;printf("和:%d\n", sum);printf("差:%d\n", difference);printf("积:%d\n", product);printf("商:%.2f\n", quotient);return 0;}```参考答案:```请输入两个整数m和n:10 3和:13差:7积:30商:3.33```3. 请编写一个C程序,要求输入一个整数n,并判断它是否为素数。

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

c语言程序设计题目及解答 (1)

c语言程序设计题目及解答 (1)
s=sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf(“%.2lf\n”,s);
}
2.计算球体积10分
题目描述
根据输入的半径值,计算球的体积。
输入描述
输入数据包括一个实数,表示球的半径。#define PI 3.1415927
输出描述
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
A. 'x'&&'y' B. x<=y C. x||y+z&&y–z D. !((x<Y)&&!Z||1) < div>
6.设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x‖++y&&++z;,则执行这个语句后t的值为( )。[B]2分
A. 2 B. 1 C. 0 D.不定值
7.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式ቤተ መጻሕፍቲ ባይዱ( )。[A]2分
#include<stdio.h>
int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y){__(1)__}
if(x>z){__(2)__}
if(y>z){__(3)__}
printf("small to big: %d %d %d\n",x,y,z);
输入数据包含一个实数。

C语言程序设计习题答案(第三版)

C语言程序设计习题答案(第三版)

C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案1. 编写一个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#include <stdio.h>int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num)); return 0;}```3. 编写一个C语言程序,实现判断一个数是否为素数。

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

《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、以下描述不恰当的就是______。

a、一个c源程序可由一个或多个函数组成b、一个c源程序必须包含一个main函数c、c程序的基本组成单位是函数d、在c程序中,注解表明就可以坐落于一条语句的后面4、c语言规定,在一个源程序中,main函数的位置______。

a、必须在最为已经开始b、必须在系统调用的库函数的后面c、可以任一必须在最后5、一个c语言程序是由______。

a、一个主程序和若干子程序共同组成b、函数共同组成c、若干过程共同组成d若干子程序共同组成、、d(acdcb)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都就是int型变量,则排序下面表达式后,x的值______。

x=(i=4,j=16,k=32)a.4b.16c.32d.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。

a.7b.8c.6d.23、以下四组选项中,均不是c语言关键字的选项就是______。

a.defineiftypeb.getccharprintfc.includescanfcased.whilegopow4、下列四组选项中,均是c语言关键字的选项是______。

a.autoenumincludeb.switchtypedefcontinuec.signedunionscanfd.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。

《C语言程序设计(第五版)》习题答案

《C语言程序设计(第五版)》习题答案

《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。

答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。

每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。

(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。

函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。

函数体由声明部分和执⾏部分组成。

(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。

(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。

2. 分析例1.3程序的结构。

答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。

函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。

#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。

(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。

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

C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运行后 a 中的值为8,b中的值为3。

#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。

例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。

#include <stdio.h>void fun(float *p,float *q,float *s){float k;if (*p<*q){ k=*p;*p=*q;*q=k;}if (*q<*s){ k=*s;*s=*p;*p=k;}if (*p<*q){ k=*p;*p=*q;*q=k;}}void main(){ float a,b,c;printf("Input a b c: "); scanf("%f%f%f",&a,&b,&c);printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);fun(&a,&b,&c);printf("a=%4.1f,b=%4.1f,c=%4.1f\n\n",a,b,c);}4、编写函数fun(int n),它的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。

例如:n=120时,函数值为239。

#include <stdio.h>#include <stdlib.h>int fun(int n){int i,s=0;for (i=2;i<n;i++)if (n%i==0) s=s+i;return s;}void main() /*主函数*/{void NONO();printf("%d\n",fun(120));NONO();}void NONO( ){/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。

*/FILE *wf;wf = fopen("a30.out", "w") ;fprintf(wf,"%d\n",fun(120));fclose(wf) ;}5、计算s,并输出1 1 1S = 1 + ── + ─── + …… + ──────1+2 1+2+3 1+2+3+…+nn通过键盘输入,例如:若n的值为11时,则函数值为:1.833333 #include <stdio.h>#include <stdlib.h>float fun(int n){int i;float s=1.0,h=1;for (i=2;i<=n;i++){h=h+i; s=s+1.0/h;}return s;}void main(){int n;float s;printf("\nPlease enter N:");scanf("%d",&n);s=fun(n);printf("the result is:%f",s);}6、将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为:87653142时,t中的数为:7531。

#include <stdio.h>void fun(long s,long *t){int d;long s1=1;*t=0;while (s>0){d=s%10;if(d%2!=0){*t=d*s1+*t;s1=s1*10;}s/=10;}}main(){long s,t;printf("\nPlease enter s:");scanf("%ld",&s);fun(s,&t);printf("The result is:%ld\n",t);}7、计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值从键盘传入,若k的值为500,则输出4622。

#include <stdio.h>int fun(int k){int m=0,mc=0,j;while((k>=1)&&(mc<10)){if ((k%13 == 0)||(k%17 == 0)){m=m+k;mc++;}k--;}return m;}void main(){printf("%d\n",fun(500));}8、已知一个数列的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和,计算并输出该数列前n项的平方根之和sum。

例如,当n=10时,程序的输出结果应为:23.197745。

#include <stdio.h>#include <math.h>double fun(n){double sum,s0,s1,s2,s;int k;sum = 1.0;if(n <= 2) sum = 0.0;s0 = 0.0; s1 = 0.0; s2 = 1.0;for (k = 4; k <= n; k++){ s = s0 + s1 + s2;sum += sqrt(s);s0 = s1; s1 = s2; s2 = s;}return sum;}void main ( ){int n;printf("Input N=");scanf("%d", &n);printf("%f\n", fun(n) );}9、编写一个程序,从键盘输入m,输出大于m且紧随m的素数。

#include <stdio.h>int fun(int m){int i,k;for (i=m+1;;i++) {for (k=2;k<i;k++)if(i%k==0)break;if (k>=i)return(i);}}void main(){int n;printf("\nPlease enter n:");scanf("%d",&n);printf("%d\n",fun(n));}10、判断两个整数m和n是否互质(即是否有公共的因子)(m≠1,n≠1)。

方法是:用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,则m和n不互质;否则它们互质。

例如,若输入187和85,则应输出No(表示它们不互质,它们有公因子17)。

若输入89和187,则应输出Yes(表示它们互质)。

#include <stdio.h>int IsThat( int m, int n ){int k, t, mk=1;t=m;if (m>n) t=n;for(k=2;k<=t;k++)if( m%k==0 && n%k==0 ){ mk=0; break; }return mk;}void main( ){int m, n;printf( "\nPlease enter 2 numbers:\n" );scanf("%d %d", &m, &n);if( IsThat( m, n ) )printf( "Yes\n" );elseprintf( "No\n" );}11、将十进制正整数m转换成k进制数(2≤k≤9)并输出(m,k从键盘输入)。

例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。

#include <stdio.h>void Trans( int m, int k ){int aa[20], i,j;for( i = 0; m; i++ ){aa[i] = m%k;m /= k;}for( j=i-1; j>=0; j-- )printf("%d", aa[j]);}void main(){int b, n;printf( "\nPlease enter a number and a base:\n" );scanf("%d %d", &n, &b );Trans( n, b );}12、统计从键盘输入的50个实数中有多少个正数、多少个负数、多少个零#include <stdio.h>void fun(int *zs,int *fs,int *l,float aa[]){int i;for(i=0;i<50;i++){if(aa[i]>0)(*zs)++;if(aa[i]<0)(*fs)++;if(aa[i]==0)(*l)++;}}void main(){float num[50];int i,czs,cfs,cl;czs=cfs=cl=0;printf( "\nPlease enter 50 float numbers :\n" );for(i=0;i<50;i++)scanf(“%f”,&num[i]);fun(&czs,&cfs,&cl,num);printf("\n正数:%d ,负数:%d ,零:%d \n",czs,cfs,cl);}13、计算并输出方程X2+Y2=1989的所有整数解#include <stdio.h>void fun(){int x,y;for(x=1;x<=44;x++)for(y=1;y<=44;y++)if(x*x+y*y==1989)printf(“x=%d ,y=%d \n”,x,y);}void main(){printf(“方程x^2+y^2=1989的整数解为:\n”);fun();}14、从键盘输入10个整数,求出其中的最大值。

相关文档
最新文档