C语言程序设计练习题(含程序及参考答案)21182
《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语言程序设计考试试题及参考答案——WORD文档,下载后可编辑修改——一、选择题(共24分,每题2分)1、下列不可以用作C语言程序变量名的是______。
A) _myname B) my_nameC) D) IF答案:C2、已知:float x,*y=&a;则下列函数调用错误的是______。
A) scanf("%f",&x); B) scanf("%f",y);C) printf("%f",x); D) printf("%f",y);答案:D3、已知:int x=3,y=0,执行语句x=!x&&x<++y后,x,y的值正确的是______。
A) x=0,y=0; B) x=3,y=0;C) x=0,y=1; D) x=3,y=1;答案:A4、判别字符变量ch不是字母时,应采用下列表达式______。
A) !(ch<='Z'&&ch>='A'||ch<='z'&&ch>='a')B) ch>'Z'||ch<'A'||ch>'z'||ch<'a'C) (ch<='Z'&&ch>='A')||(ch<='z'&&ch>='a')D) !(ch<='Z'||ch>='A'&&ch<='z'||ch>='a')答案:A5、已知x=1;则表达式“++x+x++”的值为______。
C语言程序设计试题及参考答案
C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D)A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B)A、abcB、12ACC、sunD、A3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A)A、-24B、0C、4D、164、下列运算符中优先级最高的是(B)A、<B、+C、&&D、==5、在C语言中,运算对象必须是整型数的运算符是(A)A、%B、/C、%和/D、+6、以下关于运算符的优先顺序的描述正确的是(C)A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)sum=pad=5;pAd=sum++,pAd++,++pAd;printf(“%d\n”,pad);A、7B、6C、5D、48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)A、INPUTx、y、z;B、scanf(“%d%d%d”,&x,&y,&z);C、scanf(“%d%d%d”,x,y,z);D、read(“%d%d%d”,&x,&y,&z);9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain(){intm,n;scanf(“%2d%3d”,&m,&n);printf(“m=%dn=%d\n”,m,n);}A、m=23n=45B、m=234n=56C、m=23n=456D、语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A、0B、22C、12D、1011、C语言中while和do-while循环的主要区别(A)A、do-while的循环体至少执行一次B、while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是(C)A、inta[3][]B、floata(3,4)C、doublea[3][4]D、floata(3)(4)13、以下程序的输出结果是(C)main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);}A、1,5,9B、1,4,7C、3,5,7D、3,6,914、以下能对一维数组a进行正确初始化的语句是(C)A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[10]={0};D、inta[10]={10*1};15、以下程序执行后的输出结果是:(A)intfun(inta,intb,intc){a=456;b=567;c=678;}voidmain(){intx=10,y=20,z=30;z=fun(x,y,z);printf(“%d,%d,%d\n”,z,y,x);}A、30,20,10B、10,20,30C、10,30,50D、10,30,4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内有效D、为非法变量17、以下函数调用语句中含有的实参个数为(B)func((exp1,exp2,exp3),(exp4,exp5));A、1B、2C、4D、518、在C语言程序中,以下说法正确的是(B)。
c语言程序设计考试试题及答案
c语言程序设计考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言可以用于系统程序设计答案:B2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中合法的变量名?()A. _intB. 2ndC. intD. var_name答案:C4. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. &&C. |D. ||答案:A5. 在C语言中,下列哪个选项是正确的字符串声明?()A. char str[] = "Hello, World!";B. char str[10] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[20] = "Hello, World!";答案:A6. 下列哪个函数用于将浮点数转换为字符串?()A. sprintfB. atoiC. itoaD. atof答案:A7. C语言中,用于定义一个指针变量的关键字是()。
A. intB. floatC. charD. void答案:C8. 在C语言中,下列哪个选项不是合法的数组声明?()A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int *arr = {1, 2, 3};答案:D9. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 所有选项都正确答案:D10. 在C语言中,用于控制程序流程的关键字是()。
(完整版)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中。
c语言程序设计考试题目及答案
c语言程序设计考试题目及答案C语言程序设计考试题目及答案1. 选择题- 1.1 下列哪个选项不是C语言中的关键字?- A. int- B. float- C. return- D. void- 答案:B- 1.2 以下哪个函数不能正确计算两个整数的和?- A. `int sum(int a, int b) { return a + b; }`- B. `int sum(int a, int b) { return a - b; }`- C. `int sum(int a, int b) { return a * b; }`- D. `int sum(int a, int b) { return a / b; }`- 答案:C2. 填空题- 2.1 在C语言中,用于定义一个整型变量的关键字是______。
- 答案:int- 2.2 定义一个名为`calculate`的函数,该函数接收两个整型参数,返回它们的乘积。
- 答案:```cint calculate(int x, int y) {return x * y;```3. 编程题- 3.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("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```- 3.2 编写一个函数`swap`,交换两个整数变量的值。
- 答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}4. 简答题- 4.1 解释C语言中指针的概念。
C语言程序设计试题及答案解析[1]全解
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语言程序设计_习题大全(含答案)
C语言程序设计_习题大全(含答案) C语言程序设计_习题大全(含答案)C语言程序设计是计算机科学与技术领域中非常重要的一门课程,对于学习和掌握程序设计的基本原理和方法具有重要意义。
在学习这门课程过程中,习题的练习和掌握是至关重要的一环。
本文将向大家介绍一份包含答案的C语言程序设计习题大全,帮助读者拓宽思路,加深对C语言程序设计的理解。
第一章:基础知识练习习题1:请编写一个C程序,输出"Hello, World!"。
答案:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```习题2:请编写一个C程序,将两个整数相加并输出结果。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("%d + %d = %d\n", num1, num2, sum);return 0;}```第二章:条件语句练习习题3:请编写一个C程序,判断某年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;}```习题4:请编写一个C程序,判断用户输入的整数是否为正数、负数或者零。
C语言程序设计试题及参考答案
精品文档C语言程序设计一、选择题(共40分,每小题2分)1、以下叙述不正确的是(D)A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D在C程序中,注释说明只能位于一条语句的后面2、下列四个选项中,是不合法的用户标识符的选项是(B)A、abcB、12ACC sunD A3、设有语句inta=4 ;则执行了语句a+=a-=a*a后,变量a的值是(A)A -24B、OC 4D 164、下列运算符中优先级最高的是(B)A、<B +C &&D ==5、在C语言中,运算对象必须是整型数的运算符是(A)A、%B、/C、%和/ D +&以下关于运算符的优先顺序的描述正确的是(C)A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符V逻辑与运算符<关系运算符<算术运算符D算术运算符<关系运算符<赋值运算符<逻辑与运算符7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C)sum=pad=5 pAd=sum++ pAd++, ++pAc;printf(“%d\n ”,pad);A 7B 6C、5D 48、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)A INPUTx、y、z; B、scanf(“ %d%d%d &x,&y,&z);C scanf(“%d%d%d, x,y,z);D read(“ %d%d%d, &x,&y,&z);9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmai n(){intm ,n;scanf(“ %2d%3”,&m &n);printf(“ m=%dn=%d\n,m, n);}A m=23n=45B m=234n=56C m=23n=456D 语句有错误10、若运行时,给变量x输入12,则以下程序的运行结果是(A)mai n(){intx ,y;scanf(“ %d ,&x);y=x>12? x+10: x-12 ;1欢迎下载printf(“ %d\n”,y);}精心整理A OB 22C 12D 1011、C语言中while和do-while循环的主要区别(A)A do-while的循环体至少执行一次B while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D do-while的循环体不能是复合语句12、以下对二维数组的正确说明的语句是(C)A、inta[3][]B 、floata(3,4)C 、doublea[3][4]D 、floata(3)(4)13、以下程序的输出结果是(C)mai n(){inti ,x[3][3]={1 ,2, 3, 4, 5, 6, 7, 8, 9};for(i=0 ;i<3 ;i++)printf( “ %d , x[i][2-i]) ;}A 1, 5, 9B 1, 4, 7C 3, 5, 7D 3, 6, 914、以下能对一维数组a进行正确初始化的语句是(C)A inta[10]=(0 , 0, 0, 0, 0) ;B inta[10]={};C inta[10]={0} ;D inta[10]={10*1};15、以下程序执行后的输出结果是:(A)intfun (i nta , intb , intc){a=456 ;b=567; c=678;}voidmai n(){intx=10 , y=20, z=30;z=fun(x , y, z);printf( “ %d %d %d\n”,z , y , x);}A 30, 20 , 10B 10 , 20 , 30C 10 , 30 , 50D 10 , 30 , 4016、以下说法正确的是(A)如果在一个函数中的复合语句中定义了一个变量,则该变量A只在该复合语句中有效B在该函数中有效C在本程序范围内有效D为非法变量17、以下函数调用语句中含有的实参个数为(B)func((exp1 , exp2 , exp3), (exp4 , exp5));A 1B 2C 4D 518、在C语言程序中,以下说法正确的是(B)。
计算机c语言程序设计考试题及答案
计算机c语言程序设计考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B3. C语言中,用于计算两个整数相加的运算符是?A. +B. -C. *D. /答案:A4. 在C语言中,哪个函数用于将字符串转换成浮点数?A. atoiB. atolC. atofD. itoa答案:C5. 下列哪个选项是C语言中正确的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr = {0, 1, 2, 3, 4};答案:A6. C语言中,用于定义一个函数的关键字是?A. defineB. functionC. voidD. int答案:C7. 下列哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. include "stdio.h"D. include <stdio.h>答案:B8. 在C语言中,用于定义一个全局变量的关键字是?A. externB. staticC. autoD. register答案:A9. C语言中,用于定义一个指针的关键字是?A. pointerB. ptrC. *D. reference答案:C10. 下列哪个选项是C语言中正确的循环结构?A. forB. whileC. do-whileD. all of the above答案:D二、填空题(每题3分,共15分)1. 在C语言中,用于定义一个整型变量的关键字是_________。
c语言程序设计考试题及答案
c语言程序设计考试题及答案一、选择题(每题2分,共10分)1. 下列选项中,哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable-2答案:C2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是正确的C语言注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:B4. 在C语言中,以下哪个语句用于交换两个变量的值?A. a = b;B. b = a;C. a = a + b;D. a = a + b; b = a - b; a = a - b;答案:D5. C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:A二、填空题(每题3分,共15分)1. 在C语言中,___________关键字用于定义一个函数。
答案:int2. C语言中,___________函数用于输出字符串。
答案:printf3. 在C语言中,___________关键字用于定义一个结构体。
答案:struct4. C语言中,___________函数用于输入一个整数。
答案:scanf5. 在C语言中,___________关键字用于定义一个枚举类型。
答案:enum三、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
数组的每个元素可以通过指针偏移量来访问。
2. 解释C语言中的递归函数。
答案:递归函数是在其定义中调用自身的函数。
它通常用于解决可以分解为更小的、相似子问题的问题。
C语言程序设计习题集及参考答案
C语言程序设计习题集及参考答案C语言程序设计习题集及参考答案一、简介C语言是一种广泛使用的程序设计语言,它具有高效、灵活和易于维护的特点。
在学习C语言的过程中,通过练习题的方式可以帮助我们加深对语言的理解和应用。
本文将提供一些C语言的练习题,并给出参考答案,以帮助读者巩固所学知识。
二、习题集1、选择题(1) C语言中的基本数据类型包括哪些? A. int, float, char B. int, float, double C. char, float, double D. int, float, boolean (2) 下列哪个标识符是合法的C语言变量名? A. 123 B. _abc C. ab-c D. a bc(3) 下面哪个运算符的优先级最高? A. + B. && C. ++ D. !2、填空题(1) 在C语言中,整数的默认存储类型是____________。
(2) 写出计算a和b的最大值的表达式:max = a ______ b; (3) 写出判断一个数是否为偶数的表达式:num % ______ == 0。
3、编程题(1) 编写一个程序,输出1到10之间的所有奇数和偶数。
(2) 编写一个程序,判断一个整数是否为素数。
如果是素数,输出"Yes",否则输出"No"。
(3) 编写一个程序,输入一个字符串,然后将字符串中的所有字母转换为大写。
三、参考答案1、选择题(1) C语言中的基本数据类型包括int、float和char,因此答案为A。
(2) 在C语言中,合法的标识符不能以数字开头,不能包含特殊字符和空格,因此选项A和C是错误的。
选项B中使用下划线作为变量名的一部分是合法的,因此是正确的选项。
选项D中的a和bc之间没有分隔符,不符合标识符的命名规则,因此也是错误的。
因此,答案为B。
(3) 在C语言中,运算符的优先级从高到低依次为:()、[]、.&、!、++、--、~、* &、+ -、% 、/ %、<< >>、< > <= >= 、== !=、& ^ |、&& ||以及所有的逻辑运算符。
C语言程序设计试题和答案
C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。
错选、多选或未选均无分。
1. 以下正确的C语言自定义标识符是______。
A. _1aB. 2a_C. doD. a.123. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是_______。
A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。
A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 16. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是_________。
A. 12B. 17C.36 D. 4110. 设int x;,则与计算︱x︱等价的表达式是_________。
A. x>0?-x:xB. x>0?x:-xC. x<0?x:-xD. x<0?-x:-x11. 执行下面的程序段后,k的值是_______。
int k=1,n=325;do { k*=n%10;n/=10;}while(n);A. 3B. 30C. 523D. 32512. 表达式的值为0的是_________。
A. 5/5%5B. 5>2C. !4D. 0x7&&713. 设int a=11, b=2;执行下述程序段后,变量a和b的值分别是_______。
(完整版)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语言程序设计练习题含程序及参考答案
完整版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语言程序设计编程题库及详解答案
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语言程序设计试题第1、2、3章概述、类型、表达式一、选择题一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,,主函数必须在最后答案:A下列四个叙述中,正确的是:()A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写答案:D下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数答案:C下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x3答案:B以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示答案:DC语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型答案:BC语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型答案:A下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”答案:C在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<double答案:A在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe答案:A若有以下定义语句char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定答案:B以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);答案:B设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;答案:D在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&答案:C下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=0答案:C下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)答案:B设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)答案:A已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”答案:C表达式17%4 /8的值为:()A、0B、1C、2D、3答案:A语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、1答案:D一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数答案:C组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号答案:D若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double答案:D下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化答案:D与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z答案:C当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是( 知识点:程序的基本概念;难度系数:2;答案:C )以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合( 知识点:程序的基本概念;难度系数:2;答案:D )关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序( 知识点:程序设计的基本概念;难度系数:1;答案:C )目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语( 知识点:程序设计的基本概念;难度系数:1;答案:C )设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是( 知识点:算法的基本概念;难度系数:1;答案:C )算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性( 知识点:算法的基本概念;难度系数:3;答案:B )下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套( 知识点:结构化程序设计的概念;难度系数:2;答案:D )C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是( 知识点:C语言的特点;难度系数:1;答案:C )C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp( 知识点:C语言的特点;难度系数:1;答案:B )C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp( 知识点:C语言的特点;难度系数:1;答案:A )下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能( 知识点:C语言的特点;难度系数:3;答案:D )构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数( 知识点:C程序的特点;难度系数:1;答案:D )下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行( 知识点:C程序的特点;难度系数:2;答案:C )某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行( 知识点:C程序的特点;难度系数:1;答案:B )以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示( 知识点:C程序的特点;难度系数:1;答案:D )以下为C语句的是:()A.a=8B.a++;C.if(a>8)D.#include <stdio.h>( 知识点:C语句的特点;难度系数:2;答案:B )以下不是C语句的是:()A.a=8;B.a++;C.if(a>8);D.for(i=1;i<5;i++)( 知识点:C语句的特点;难度系数:2;答案:D )以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);( 知识点:C语句的特点;难度系数:2;答案:B )C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句D.就是函数体中的语句( 知识点:C语句的特点;难度系数:2;答案:C )当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( ) A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行( 知识点:C语句的特点;难度系数:2;答案:C )在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
C语言程序设计习题集(有答案)
C语言程序设计习题集(有答案) C语言程序设计习题集(有答案)C语言是一门广泛应用于软件开发和系统编程领域的计算机程序设计语言。
掌握C语言编程的基础知识和技能对于从事相关行业的人来说至关重要。
为了帮助读者加深对C语言的理解和应用,本文提供了一份C语言程序设计习题集,每道习题都附有答案,供读者参考和自我检测。
1. 输入输出问题描述:编程实现一个简单的输入输出程序。
要求从标准输入读入一个整数,然后输出该整数,并换行。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);printf("%d\n", num);return 0;}```2. 条件判断问题描述:编写一个程序,判断一个给定的整数是否为偶数。
如果是偶数,则输出"Even",否则输出"Odd"。
解答:```c#include <stdio.h>int main() {int num;scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```3. 循环结构问题描述:编写一个程序,计算并输出1到100之间所有偶数的和。
解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum: %d\n", sum);return 0;}```4. 数组问题描述:编写一个程序,从键盘输入5个整数,然后按照输入的顺序将它们输出。
《C语言程序设计》题库及答案
《C语言程序设计》题库及答案C语言程序设计题库及答案C语言是一门广泛应用于计算机科学领域的编程语言,掌握其基本知识和技能对于计算机专业的学生来说至关重要。
为了帮助学生更好地掌握C语言程序设计,以下是一份题库及答案,供大家学习和参考。
一、基础知识1. C语言中,如何表示注释?答案:使用“//”表示单行注释,使用“/*...*/”表示多行注释。
2. 声明一个整型变量x,并将其初始化为10。
答案:int x = 10;3. 下列哪种数据类型不能存储整数?A. intB. floatC. charD. double答案:B. float4. 以下哪个关键字用于声明常量?A. constB. staticC. volatileD. extern答案:A. const5. 请写出C语言中的三种基本数据类型。
答案:整型、浮点型、字符型。
二、控制语句1. 请写出一个简单的if语句的语法格式。
答案:if (条件表达式) {// 执行代码}2. 以下哪个关键字用于跳出当前循环?A. continueB. breakC. returnD. goto答案:B. break3. 请写出一个for循环的语法格式。
答案:for (初始化表达式; 条件表达式; 更新表达式) { // 循环体代码}4. 请写出一个while循环的语法格式。
答案:while (条件表达式) {// 循环体代码}5. 请写出一个switch语句的语法格式。
答案:switch (表达式) {case 值1:// 代码break;case 值2:// 代码break;default:// 默认代码}三、函数1. 请写出一个函数的定义和声明的语法格式。
答案:定义:返回类型函数名(参数列表) {// 函数体代码}声明:返回类型函数名(参数列表);2. 下列哪个关键字用于在函数定义中声明形式参数?A. intB. externC. voidD. char答案:C. void3. 请写出一个函数返回两个整数的最大值。
c语言程序设计考试题答案及解析
c语言程序设计考试题答案及解析一、选择题1. 在C语言中,以下哪个关键字用于声明变量?A. TypeB. VarC. DeclareD. None of the above答案:D解析:在C语言中,变量的声明是通过指定变量的类型和名称来实现的,而不是使用特定的关键字。
选项A、B和C都不是C语言中用于声明变量的关键字。
2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable!D. variable$答案:B解析:C语言中的标识符可以包含字母、数字和下划线,但不能以数字开头,也不能包含特殊字符如感叹号或美元符号。
因此,选项B 是合法的标识符。
二、填空题1. 在C语言中,____ 用于定义一个整型变量。
答案:int2. 以下代码片段的输出是什么?```cint main() {int a = 10;printf("%d", a);return 0;}```答案:10三、简答题1. 简述C语言中数组的定义和初始化方法。
答案:在C语言中,数组可以通过指定类型和大小来定义,例如`int arr[10];` 定义了一个包含10个整数的数组。
数组可以通过循环或直接赋值来初始化,例如:```cint arr[5] = {1, 2, 3, 4, 5};```或者使用循环:```cint arr[5];for(int i = 0; i < 5; i++) {arr[i] = i + 1;}```四、编程题1. 编写一个C语言程序,实现计算并输出1到10的和。
```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 10; i++) {sum += i;}printf("The sum of numbers from 1 to 10 is: %d\n", sum);return 0;}```解析:该程序使用一个for循环来累加1到10的整数,并将结果存储在变量`sum`中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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个整数,求出其中的最大值。