程序设计习题
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。
解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。
```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。
解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。
解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个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语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint 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。
#includevoid 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中。
计算机程序设计基础习题册(含答案)

《计算机程序设计基础》习题册计算机程序设计基础_基础知识(一)班级学号姓名成绩一、单选题1.C++源程序文件的默认扩展名为A。
A) cpp B) exeC) obj D) lik2.由C++源程序文件编译而成的目标文件的默认扩展名为C。
A) cpp B) exeC) obj D) lik3.由C++目标文件连接而成的可执行文件的默认扩展名为B。
A) cpp B) exeC) obj D) lik4.编写C++程序一般需经过的几个步骤依次是B。
A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接5.程序中主函数的名字为 A 。
A) main B) MAINC) Main D) 任意标识符6.下面四个选项中,均是不合法的用户标识符的选项的是C。
A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT7.下列变量名中合法的是C。
A) B)C)Tom B) 3a66C) _6a7b D) $ABC8.存储以下数据,占用存储字节最多的是D 。
A) 0 B) ‘0’C) “0” D) 0.09.在C++语言中,字符型数据在内存中的存储形式是D。
A) 补码 B) 反码C) 原码 D) ASCII码10.若有说明语句:char c =’\072’;则变量c A。
A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令计算机程序设计基础_基础知识(二)班级 学号 姓名 成绩一、 单选题1. 下列哪一个是C++语言中合法的变量 CA) 8ZSe B) ±A0C) X0_2 D) ’x0’2. 已知ch 是字符型变量,下面不正确的赋值语句是 A A) ch='a+b' B) ch='\0'C) ch='7'+'9' D) ch=5+93. 下列浮点数的表示中不正确的是▁C ▁▁A) 223. B) 719E22C) e23 D) 12e24. 下列不正确的转义字符是 ▁C ▁▁A)'\\' B)‘\"’C) '074' D) '\0'5. 在C 语言中,合法的字符常量是 ▁B ▁▁A)'\084' B)'\x43'C)'ab' D)"\0"6. 下列变量定义中合法的是▁A ▁▁A) double _a=1.le-1; B) double b=1+5e2.5;C) double do= 2e3D) double 2_and=1-e-3; 7. 已知ch 是字符变量,正确的赋值语句是▁B ▁A )ch=‘123’ B)ch=’\xff’C) ch =’\08’ D)ch =”\” 8. 若x 、i 、j 和k 都是int 型变量,则计算表达式x=(i=4,j=15,k=32 )后,x 的值为▁▁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语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。
x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。
——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。
——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。
A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。
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 ”,表示不同意,将取消编译。
程序设计练习题

程序设计练习题程序设计练习题1、求出102285和126201的最大公约数。
2、求S=1+(1+3)+(1+3+5)+……+(1+3+5+7+……+99)的值3、梅森尼数是指能使2^N-1为素数的数N,求[1,21]范围内最大的梅森尼数?4、已知数列:1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,……。
试求此数列的前30项的和。
5、一个数如果等于其每一个数字立方之和,则称此数为阿姆斯特朗数。
如407=43+03+73是一个阿姆斯特朗数。
编程序输出[1,2000]之间所有的阿姆斯特朗数。
6、有一个4行5 列的表,位于第M行第N列交叉处的数的值为M+N。
求出表中所有数的和。
7、求出所有符合算式ab*ba=6624的两位数ab(即a*10+b)。
其中a、b是0—9之间的一位整数。
8、求[600,799]内的素数,且要求该素数至少有一位为9。
问:(1) 共有多少个? (2) 其中最大一个数是多大?9、回文数是指正读和反读都一样的自然数、例如,8,121,5445这三个数都是回文数。
试在[10,100000]之内找出既是完全平方数,又是回文数的整数。
求:(1) 共有多少个? (2) 最大一个是多大?10、在[10000,20000]范围内考察个位数字是3的素数,问:(1) 这样的素数有多少个? (2) 其中最大的一个等于几?11、如果一个整数的最高位与最低位相同,次高位与次低位相同,依此类推,则称该数是"对称"的,特别是当整数只有一位数据时,也称它是对称的,例如: 7,11,1221,45654 等均称为"对称"的整数。
计算:(1) 在0~8500范围内有多少个"对称"的整数? (2) 这些对称的整数中,为奇数的个数是多少?12、在[10000,20000]范围内考察个位数字是7的素数,问:(1) 这样的素数有多少个? (2) 其中最大的一个等于几?13、假定一个分数的分子和分母均是两位整数,求满足下列两个条件的该类分数的真分数:①分子的个位数与分母的十位数相同; ②去掉分子的个位数和分母的十位数后,真分数的值不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "stdio.h" int sub(int m) { /**********Program**********/ int k,s=0; do { s=s+m%10; m=m/10; }while(m!=0); if(s%7==0)k=1; else k=0; return(k); /********** End **********/ }
题目:编写函数 之间(包 题目:编写函数fun,函数的功能是:求1到m之间 包 ,函数的功能是: 到 之间 的偶数之积。 括m)的偶数之积。 的偶数之积 void main() #include "stdio.h" { double fun(int m) printf("ji=%lf\n",fun(20)); {/**********Program**********/ yzj(); }
#include "stdio.h" float fun(int a[],int n) { /**********Program**********/ int i; float y=0; for(i=0;i<n;i++) y+=a[i]; y=y/n; return y; /********** End **********/ }
#include "stdio.h" #define N 5 main() {int a[N]={8,6,5,4,1},i; for(i=0;i<N;i++) printf("%4d",a[i]); printf("\n"); fun(a,N); for(i=0;i<N;i++) printf("%4d",a[i]); yzj(); }
/********** End **********/ } 12
题目:调用函数 判断一个三位数是否"水仙花数 题目:调用函数fun判断一个三位数是否 水仙花数 。在main函数中从键 判断一个三位数是否 水仙花数"。 函数中从键 盘输入一个三位数,并输出判断结果。请编写fun函数。所谓 水仙花数 是 函数。 水仙花数"是 盘输入一个三位数,并输出判断结果。请编写 函数 所谓"水仙花数 指一3位数 其各位数字立方和等于该数本身。 例如, 位数, 是一个水仙花数, 指一 位数,其各位数字立方和等于该数本身。 例如,153是一个水仙花数, 是一个水仙花数 因为153=1+125+27。 因为 。 ma+1;;i++) { for(k=2;k<i;k++) if(i%k==0) break; if(k>=i) return(i); }
/********** End **********/ }
3
题目:编写函数 将一个数组中的值按逆序存放,并在 题目:编写函数fun将一个数组中的值按逆序存放 并在 将一个数组中的值按逆序存放 并在main()函数 函数 中输出。例如,原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 中输出。例如,原来存顺序为 。要求改为: 。
题目:编写函数判断一个整数 的各位数字之和能否被 整除, 可以被7整除 的各位数字之和能否被7整除 题目:编写函数判断一个整数m的各位数字之和能否被 整除 可以被 整除 则返回1,否则返回 否则返回0。调用该函数找出100~200之间满足条件的所有数。 之间满足条件的所有数。 则返回 否则返回 。调用该函数找出 之间满足条件的所有数
题目:请编写函数 是否为素数。 题目:请编写函数fun,它的功能是:判断 是否为素数。主函 ,它的功能是:判断m是否为素数 数的功能是:求出100到200之间的素数的个数。 之间的素数的个数。 数的功能是:求出 到 之间的素数的个数 #include "stdio.h" int fun(int m) main() { { /**********Program**********/ int m,k=0; for(m=100;m<200;m++) int i,k=1; if(fun(m)) if(m<=1) k=0; { for(i=2;i<m;i++) printf("%4d",m); if(m%i==0) k=0; k++; return k; if(k%5==0) printf("\n"); } printf("k=%d\n",k); /********** End **********/ yzj(); } } 10
int fun(int arr[],int n) { /**********Program**********/ int i,t; for(i=0;i<n/2;i++) { t=arr[i]; arr[i]=arr[n-1-i]; arr[n-1-i]=t; }
/********** End **********/ }
程序设计
注意:部分源程序给出如下。请勿改动主函数main和其它函 注意:部分源程序给出如下。请勿改动主函数main和其它函 main 数中的任何内容,仅在函数fun fun的花括号 数中的任何内容,仅在函数fun的花括号 /**********Program**********/ /********** End **********/ 中填入所编写的若干语句。 中填入所编写的若干语句。 1
5
题目:编写函数 题目:编写函数fun,函数的功能是:找出一批正整数中的最 ,函数的功能是: 大的偶数。 大的偶数。 main() #include "stdio.h" { int fun(int a[],int n) int a[]={1,2,9,24,35,18},k; { k=fun(a,6); /**********Program**********/ printf("max=%d\n",k); int i,amax=-1; yzj(); for(i=0;i<n;i++) } if(a[i]%2==0) if (a[i]>amax) amax=a[i]; return amax; /********** End **********/ } 6
4
题目:请编写一个函数 题目:请编写一个函数fun,函数的功能是:统计出若干个学生的平均 ,函数的功能是: 成绩,最高分以及得最高分的人数。例如,输入10名学生的成绩分别为 成绩,最高分以及得最高分的人数。例如,输入 名学生的成绩分别为 92,87,68,56,92,84,67,75,92,66,则输出平均成绩为 , , , , , , , , , ,则输出平均成绩为77.9, , 最高分为92,得最高分的人数为3人 最高分为 ,得最高分的人数为 人。 #include "stdio.h" float Max=0; main( ) int J=0; { float fun(float array[],int n) float a[10],ave; { /**********Program**********/ int i=0; int i; for(i=0;i<10;i++) float sum=0,ave; scanf("%f",&a[i]); Max=array[0]; ave=fun(a,10); for(i=0;i<n;i++) printf("ave=%f\n",ave); { if(Max<array [i]) Max=array [i]; printf("max=%f\n",Max); sum=sum+array [i]; } printf("Total:%d\n",J); ave=sum/n; for(i=0;i<n;i++) yzj(); if(array [i]==Max) J++; } return(ave); /********** End **********/ }
double y=1; int i; for(i=1;i<=m;i++) if(i%2==0) y*=i; return y;
/********** End **********/ }
2
题目:编写函数 其功能是: 题目:编写函数fun其功能是 找出一个大于给定整数且紧随这个整数的 其功能是 素数,并作为函数值返回。 素数,并作为函数值返回。 #include "stdio.h" #include"conio.h" int fun(int n) {/**********Program**********/ main() {int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is%d\n",fun(m)); yzj(); }
题目: 给定n个数据 求最小值出现的位置(如果最小值出现多 个数据, 题目 给定 个数据 求最小值出现的位置 如果最小值出现多 求出第一次出现的位置即可)。 次,求出第一次出现的位置即可 。 求出第一次出现的位置即可 #include "stdio.h" int station(int s[],int n) { /**********Program**********/ int i,k; k=0; for(i=1;i<n;i++) if(s[i]<s[k]) k=i; return(k); main() { int a[100],n,i,t; clrscr(); scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); t=station(a,n); printf("the min_value position is:%d\n",t); yzj(); getch(); } 11