c语言程序题
c语言程序考试题及答案大学

c语言程序考试题及答案大学一、选择题1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. variable$2D. variable_2答案:D2. 下列关于C语言中数组的描述,错误的是?A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时必须确定D. 数组的大小可以在运行时改变答案:D3. C语言中,以下哪个关键字用于定义函数?A. intB. voidC. structD. return答案:B二、填空题1. 在C语言中,定义一个整型数组的语句是:______。
答案:int array_name[size];2. 以下代码段的输出结果是:______。
#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:5三、简答题1. 简述C语言中指针的概念及其作用。
答案:指针是C语言中的一种数据类型,它存储了变量的内存地址。
指针的作用包括直接访问内存地址、动态内存分配、函数参数传递等。
2. 解释C语言中“结构体”的概念及其应用场景。
答案:结构体是C语言中一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
结构体常用于表示复杂的数据结构,如学生信息、员工记录等。
四、编程题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("The sum of even numbers within 100 is: %d\n", sum);return 0;}```答案:以上代码段实现了题目要求的功能。
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、0c、4d、164、以下运算符中优先级最低的就是(b)a、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(“-=”,&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语言程序设计》练习题及答案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语言程序设计试题第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语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
(完整版)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语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
c语言程序设计考试题库及答案
c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2.2 C语言中,用于输入数据的库函数是______。
答案:scanf2.3 C语言中,用于输出数据的库函数是______。
答案:printf3. 简答题3.1 简述C语言中数组的定义方式。
答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。
例如,定义一个整型数组可以写作:int arrayName[arraySize];。
3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
定义指针的示例:int *ptr; 这里ptr是一个整型指针。
4. 编程题4.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;}```4.2 编写一个C语言函数,实现字符串反转的功能。
答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。
c语言程序期末考试试题及答案
c语言程序期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. structB. staticC. voidD. function答案:C2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D7. 在C语言中,以下哪个选项是正确的数组声明方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A8. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. if (condition) { }C. if (condition) { } else { }D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. while (condition)C. do { } while (condition);D. All of the above答案:D10. 在C语言中,以下哪个函数用于计算两个数的和?A. printf()B. scanf()C. sum()D. None of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确方式是:`int ____;`答案:变量名2. 要输出一个字符串,应该使用函数:`____`答案:printf3. 要读取一个字符,应该使用函数:`____`答案:scanf4. 在C语言中,数组的索引从____开始。
c语言程序设计试题及答案
c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
勾股弦数是满足公式: A^2+B^2=C^2 (假定A<B<C)的一组正整 数(A,B,C),例如,(3,4,5)是勾股弦数,因为: 3^2+4^2=5^2。求A,B,C均小于或等于100的勾股弦数的个数 。 勾股弦数是满足公式: A^2+B^2=C^2 (假定A<B<C)的一组正整 数(A,B,C),例如,(3,4,5)是勾股弦数,因为: 3^2+4^2=5^2。求A,B均小于25且A+B+C<=100的勾股弦数的 个数。 回文数是指正读和反读都一样的正整数。例如3773是回文数。 求出[1000,9999]以内的所有回文数的个数。 利用格里高利公式:α /4=1-1/3+1/5-1/7+1/9-1/11+…-1/99,求 α 的值。要求:按四舍五入的方式精确到小数点后第二位。 马克思曾经做过这样一道趣味数学题:有30个人在一家小饭店 里用餐,其中有男人、女人和小孩,每个男人花了3先令,每个 女人花了2先令,每个小孩花了1先令,共花去50先令。如果要 求男人、女人和小孩都有人参与,试求有多少种方案分配男人、 女人和小孩的人数。 某些分数的分子和分母都是二位正整数的真分数具有下列特 点:如果将该分数的分子的两位数字相加作分子,而将该分数的 分母的两位数字相加作分母,得到的新分子跟原分子相等。例 如,63/84=(6+3)/(8+4)。试求所有具有这种特点的真分子 (非约简真分数)的分子与分母之和的和。 求五位数各位数字的平方和为100的最大的五位数。 求[1,50]之间的所有整数能构成直角三角形的三边的组数。例 如:3*3+4*4=5*5,它们构成直角三角形,所以{3,4,5}作为一 组,但{4,3,5}视为跟{3,4,5}相同的一组。 求[1,999]之间能被3整除,且至少有一位数字是5的所有正整 数的个数。 求[200,300]之间有奇数个不同因子的最大的整数(在计算因子个 数时,包括该数本身)。 求[5,500]中相差为10的素数对(注:要求素数对的两个素数均 在该范围内)的个数(即: 有多少个这样的素数对)。 求1/(1*2)+1/(2*3)+1/(3*4)+....+1/(N*(N+1))的值,N=20, 要求: 按四舍五入的方式精确到小数点后第二位。 求500以内(含500)能被5或9整除的所有自然数的倒数之和。 按四舍五入的方式精确到小数点后第二位。
Байду номын сангаас
一个素数(设为p)依次从最高位去掉一位,二位,三位,… …,若得到的各数仍都是素数(注:1不是素数,2是素数),且数 p的各位数字均不为零,则称该数p为逆向超级素数。例如, 617,17,7都是素数,因此617是逆向超级素数,但尽管503, 03,3都是素数,但它不是逆向超级素数,因为它包含有零。试 求[100,999]之内的所有逆向超级素数从大到小数的第10个素数 是多少? 一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍 然是素数,称为超级素数。求[100,999]之内超级素数的个数。 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两 个素数(素数对)的和。但有些偶数可以分解成多种素数对的 和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数 对。试求1234可以分解成多少种不同的素数对(注: A+B与 B+A 认为是相同素数对) 梅森尼数是指能使 2^n-1为素数的数n,求[1,21]范围内有多少 个梅森尼数? A,B,C是三个小于或等于100正整数,当满足 1/A^2+1/B^2=1/C^2关系时,称为倒勾股数。求 130<A+B+C<150且A>B>C的倒勾股数有多少组。 编程求取:[121,140] 之间的弦数的个数(若某正整数的平方等 于另两个正整数平方之和,则称该数为弦数. 例如:3^2+4^2=5^2, 因此5是弦数)。 当m的值为50时,计算下列公式的值: T=1-1/2-1/3-1/4-…-1/m 要求:按四舍五入的方式精确到小数点后第四位。 当m的值为50时,计算下列公式之值: t=1+1/2^2+1/3^2+… +1/m^2(按四舍五入的方式精确到小数点后第四位)。 当m的值为50时,计算下列公式之值:t=1-1/(2*2)-1/(3*3)-…1/(m*m)要求:按四舍五入的方式精确到小数点后第四位。 当n=100时,计算S=(1-1/2)+(1/3-1/4)+……+(1/(2n-1)-1/(2n))的 值。.要求:按四舍五入的方式精确到小数点后第三位。 当n的值为25时,计算下列公式的值: s=1+1/1!+1/2!+1/3!+… +1/n!要求:按四舍五入的方式精确到小数点后第四位。 倒勾股数是满足公式: 1/A^2+1/B^2=1/C^2 的一组正整数 (A,B,C),例如,(156,65,60)是倒勾股数,因为: 1/156^2+1/65^2=1/60^2。假定A>B>C,求A,B,C之和小于 100的倒勾股数有多少组?
1 2 3 4
5
6 7 8 9
10
11
12
13
14 15
16 17
18
19 20 21 22 23 24
25
26
27 28 29
30
31 32
33 34 35 36 37
38
39 40 41
42 43 44
45
46 47
48 49 50 51
52
53 54 55
56
57
58 59
60
61
62
63 64
65 66
67
68 69
70 71
72
73 74
75
76 77 78 79 80 81 82
83
84
85
86
87
88 89 90
91
92
93
94 95
96
97 98 99
100 101 102
103
104 105 106
107 108 109 110
把一张一元钞票,换成一分、二分和五分硬币,每种至少8枚,问有 多少种方案? 把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问 有多少种方案? 50元的整币兑换成5元、2元和1元币值(三种币值均有、缺少一 种或两种都计算在内)的方法有多少种。 [100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位 数字与十位数字之和除以10所得的余数是百位数字;⑵该数是 素数; 求有多少个这样的数? 除1和它本身外,不能被其它整数整除的正整数称为素数(注: 1不是素数,2是素数)。若两素数之差为2 ,则称两素数为双胞 胎数,问[31,601]之间有多少对双胞胎数。 若两个素数之差为2,则称这两个素数为双胞胎数。求出[200, 1000]之内有多少对双胞胎数。 两个素数之差为2,则称这两个素数为双胞胎数。求出[200, 1000]之间的最大一对双胞胎数的和。 求[100,900]之间相差为12的素数对(注:要求素数对的两个素 数均在该范围内)的个数。 [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位 数字与十位数字之和除以10所得的余数是百位数字 ;⑵该数是 素数;求满足上述条件的最大的三位十进制数。 国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个 素数(素数对)的和。但有些偶数可以分解成多种素数对的和, 如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。 试求6744可以分解成多少种不同的素数对(注: A+B与B+A认 为是相同素数对) 若两个连续的自然数的乘积减1后是素数,则称此两个连续自然 数为友数对,该素数称为友素数。例如,由于 8*9-1=71, 因 此,8与9是友数对,71是友素数。求[100,200]之间的第10个 友素数对所对应的友素数的值(按由小到大排列)。 一个素数(设为p)依次从最高位去掉一位,二位,三位,… …,若得到的各数仍都是素数(注:除1和它本身外,不能被其它 整数整除的正整数称为素数,1不是素数,2是素数),且数p的 各位数字均不为零,则称该数p为逆向超级素数。例如,617, 17,7都是素数,因此617是逆向超级素数,尽管503,03,3都 是素数,但它不是逆向超级素数,因为它包含有零。试求 [100,999]之内的所有逆向超级素数的个数。
设某四位数的千位数字与十位数字的和等于百位数字与个位数 字的积,例如,对于四位数:9512,9+1=5*2,试问所有这样的 四位数之和是多少? 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的所有四位数abcd 的和。 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的最大四位数abcd 的值。 一个数如果恰好等于它的所有真因子之和,这个数就称为“完数” 。例如, 6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。 求[1,1000]之间的最大完数。 一个数如果恰好等于它的所有真因子之和,这个数就称为“完数” 。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数” 。求[1,1000]之间的第二大完数。 一个数如果恰好等于它的所有真因子之和,这个数就称为“完数” 。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数” 。求1000以内的所有完数之和。 已知 f(0)=1,f(1)=2,f(2)=3;f(n)=f(n-1)+2f(n-2)-5f(n3),f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+…f(30)。 已知 f(0)=f(1)=1 f(2)=0 f(n)=f(n-1)-2*f(n-2)+f(n-3) (n>2) 求f(0)到f(50)中的最大值 已知:非等腰三角形最长边是60,其它两边的长度都是正整 数,且三边之和能被3整除,试编程求取这类三角形的个数(注 意:两边的长度交换构成的三角形算作同一个三角形,如:其它 两边的长度为30和40的三角形与长度为40和30的三角形视为同 一个三角形)。 已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述: F(1)=1 if n=1 F(2)=1 if n=2 F(n)=F(n-1)+F(n-2) if n>2 试求F(2)+F(4)+F(6)+……+F(50)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出 某些语言的递归深度。