程序练习题
清华大学C语言程序练习题

一、选择题1.一个C语言程序是由(D )构成。
A.语句B.行号C.数据D.函数2.下面标识符中正确的是()。
A.d&ef B.6a C.z4x5c D.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A.缩排位置相同的B.在其之前未配对的C.在其之前未配对的最近的ifD.在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2 B.3 C. 1 D.56.设有int x=11 ;则表达式(x+1/3)的值是(C )。
A.3 B.4 C.11 D.127.设有字符串A=“He has 钱!”,则该字符串的长度为( C )。
A.9B.10C.11D.88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){printf("%d ",m-3);m++;}A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出B.结果不确定C.-1 D.110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x;Char y;Char z[20];A.scanf("%d%c%c",&x,&y,&z);B.scanf("%d%c%s",&x,&y,&z);C.scanf("%d%c%c",&x,&y,z);D.scanf("%d%c%s",&x,&y,z);11.struct ex{int x ;float y;char z ;} example;则下面的叙述中不正确的是()。
《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. 以下______是正确的转义字符。
编写程序练习题程序

历年考试题1,在文本框Text1、Text2中分别输入一个任意正整数,按下“计算累加和”按钮Command1,计算这两个数之间所有整数的累加和,并将结果显示在标签Label1中。
2,假设邮费计算方法为:100克以内(含100克)收费5元,超过100克的部分每克加收0。
2元。
试编写程序,要求从键盘输入邮寄物品质量,计算并输出邮费。
3, 输入出租车行驶里程S ,输出应付车费F 。
S 和F 的关系如下: 335.1)3(66>≤⎩⎨⎧⨯-+=S S S F4,假设一个快递公司针对个人小宗业务(即物品总重量不超过20公斤)的收费规定如下:物品在5公斤(含5公斤)以下,收费8元;在10公斤(含10公斤)以下,超过5公斤部分,每公斤收费0.5元;在20公斤(含20公斤)以下,超过10公斤部分,每公斤收费1。
5元。
不足1公斤均按1公斤计算。
编写程序,输入用户的快递物品重量,计算并输出所需邮费。
(6分)计算公式如下:(教科书P35、P205,冲刺班编程第5题,模考班第5题) ⎪⎩⎪⎨⎧≤<-≤<+≤=20105.45.11055.55.058x x x x x y5, 现有一元二次方程:ax 2+bx+c=0,其中a 、b 、c 、是整数,且a 0。
若存在实根,则输出“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。
(5分)二、循环结构【1】单循环1,产生1-100以内的素数(for嵌if结构)33。
编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现).调用该过程.(提示:只能被1 和自身整除的自然数成为素数)2,0到200 被5 或11 整除的数的和(for嵌if结构)3,计算100~300之间所有能被3和7整除的数之和。
4,编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
) 5,找出被3、5、7除,余数均为1的最小的5个正整数.6,某次歌曲大奖赛,有7个评委。
python程序练习题集

python程序练习题集1.#输⼊a,b,c,d4个整数,计算a+b-c*d的结果a=input("please input a nimber:")b=input("please input a number:")c=input("please input a number:")d=input("please input a number:")print a+b-c*d输出结果:please input a nimber:3please input a number:3please input a number:3please input a number:3-32.#计算⼀个12.5m*16.7m的矩形房间的⾯积和周长a=12.5b=16.7s=a*bc=a+a+b+bprint "⾯积是%f,周长是%f"%(s,c)输出结果是⾯积是208.750000,周长是58.4000003.#怎么得到9/2的⼩数结果>>> float(9/2)4.04.#python计算中7*7*7*7.可以有多少种写法第⼀种:>>> 7*7*7*72401第⼆种:>>>pow(7,4)2401第三种:>>>7**424401第四种:>>> eval("%s*%s*%s*%s"%(7,7,7,7))2401第五种:>>> a=7>>> for i in range(3):... a*=7...>>> a2401第六种:>>> "*7"*4'*7*7*7*7'>>> "*7"*4[1:]Traceback (most recent call last)File "<stdin>", line 1, in <modTypeError: 'int' object has no at>>> ("*7"*4)[1:]'7*7*7*7'>>> eval(("*7"*4)[1:])2401第七种:>>> a=['7']*4>>> "*".join(a)'7*7*7*7'>>> eval("*".join(['7']*4))5.#写程序将温度从华⽒温度转换为摄⽒温度。
(完整版)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语言程序基础练习题500道附答案

c语言程序基础练习题500道(附答案)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,0122e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( 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)MainD)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)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 )个字节。
程序练习题
程序典型题一、选择题1、在Visual foxpro中,用来建立程序文件的命令是( )A、create command <文件名>B、create file <文件名>C、modify file <文件名>D、modify command <文件名>2、在Visual foxpro中,程序文件的扩展名为( )A、prgB、qprC、appD、scx3、在input、accept和wait三个命令中,必须要以回车键表示输入结束的命令是( )A、input、acceptB、input、waitC、accept、waitD、input、accept和wait4、结构化程序设计的3种基本结构是( )A、顺序结构、选择结构和模块结构B、选择结构、循环结构和模块结构C、顺序结构、循环结构和模块结构D、顺序结构、选择结构和循环结构5、在Visual foxpro中,条件语句属于( )A、顺序结构B、选择结构C、循环结构D、模块结构6、下列关于do case - endcase语句说法不正确的是( )A、do case和endcase必须成对出现B、只要case条件成立,就执行这个case条件对应的命令序列C、所有的case条件都不成立且没有otherwise语句,则直接跳出本结构,执行endcase后面的语句D、在do case和第一个case之间的任何语句都不被执行7、在do while循环语句中,如果条件永远为真,则利用下列( )语句可以退出此循环体。
A、loopB、exitC、closeD、quit8、在循环结构程序设计中,在指定范围内扫描数据表文件,查找符合条件的记录并执行循环体中的命令,应使用的循环结构为( )A、scan–endscanB、for--endforC、do while–enddoD、do case--endcase9、关于过程文件下列说法错误的是( ).A、过程文件的建立使用modidy command命令B、过程文件的默认扩展名为prgC、在调用过程文件中的过程之前不必打开过程文件D、过程文件只包含过程,可以被其他程序所调用10、在Visual foxpro中,根据变量的作用域来分,内存变量可分为( ).A、字段变量和内存变量B、公共变量和私有变量C、公共变量和局部变量D、公共变量、私有变量和局部变量11、在某个程序模块中用private语句定义的内存变量( )A、可以在该程序的所有模块中使用B、只能在定义该变量的模块中使用C、只能在定义该变量的模块及其上层模块中使用D、只能在定义该变量的模块及其下属模块中使用12、只能被本层模块调用,而不能被上层模块或下层模块调用的变量类型是( )A、公共变量B、私有变量C、局部变量D、局部变量和私有变量13、通过public命令建立内存变量,系统默认的内存变量初值为( ).A、.t.B、.f.C、0D、114、下列各组语句可以将变量a,b的值互换的是( )A、a = bB、a=(a+b)/2b=a b=(a+b)/2C、a=a+bD、a=cb=a-b c=ba=a-b b=a15、设有如下程序段:A=10B=20C=40If a>bIf c>aC=a+bElseC=a-bEndifEndif?C执行该程序,显示结果为( ).A、30B、–10C、10D、4016、设成绩表当前记录中"计算机"字段的值为85,执行下面程序段之后,输出结果为( ).Do caseCase计算机<60?"计算机等级是" +"不及格"Case计算机>=60?"计算机等级是" +"及格"Case计算机>=75?"计算机等级是" +"良好"Case计算机>=85?"计算机等级是" +"优"EndcaseA、不及格B、及格C、良好D、优17、执行如下程序,如果输入x的值为5,则最后s的显示值为( ).set talk offs =0i=1input "x=" to xdo while s<= xs=s+ii=1+1enddo?sset talk onA、1B、3C、5D、618、有如下程序: _____.local x1?x1do piprocedure p1xl=l??xlreturnendproc执行程序的结果为____.A、.f. 1B、1 .f.C、.f. .f.D、1 1二、填空题1、结构化程序设计所包含的3种基本结构是、和 .其中scan-endscan语句属于结构。
c程序设计习题及答案
第一章C程序概述一、选择题1、以下关于C语言标志符的描述中,正确的是()A)标志符可以由汉字组成B)标志符只能以字母开头C)关键字可以作为用户标志符D)Area与area是不同的标志符2、以下正确的叙述是()A)在C语言中,main函数必须位于文件的开头B)C语言每行只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误3、下面说法正确的是()A)C程序由符号构成B)C程序由标示符构成C)C程序由函数构成D)C程序由C语句构成4、以下叙述不正确的是()A)一个C源程序可以由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言规定:在一个源程序中,main函数的位置()A)必须在最开始B)必须在系统调用的库函熟的后面C)可以任意D)必须在最后二、填空题1、在TURBO C环境中用RUN命令运行一个C程序,所运行的程序的扩展名是---------------。
2、结构化程序由-------------------、----------------------、------------------------三种基本结构组成。
3、C语言源程序文件的扩展名是-------------------,经过编译后,生成的扩展名是---------------------,经过连接后,生成的扩展名是--------------------------。
4、在C程序中,输入操作是由库函数----------------------完成的,输出操作是由库函数---------------------------完成的。
5、一个C源程序中至少应包括一个----------------------------。
第二章数据类型、运算符与表达式一、选择题1、若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。
Java程序设计单元练习题一与答案
一、单选题1、解释Java源文件,生成字节码文件所用到的命令A.cmd.exeB.java.exeC.javac.exeD.keytool.exe正确答案:C2、Java 源程序文件的后缀是A.cB.classC.txtD.java正确答案:D3、下列特点不是Java语言的特点A.跨平台B.安全性C.面向过程D.多线程正确答案:C4、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}该源代码保存的文件名为()A.Text.javaB.Text.classC.Text.java.txtD.Test.txt正确答案:A5、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}编译上述文件的命令为()A.java TestB.java Test.javaC.javac TestD.javac Test.java正确答案:D6、public class Test{public static void main(String[] args){System.out.println("欢迎参加《Java编程基础》在线课程学习!"); }}编译后生成的字节码文件名为()A.Test.class.txtB.Test.classC.Test.txtD.Test.java正确答案:B7、下面标识符正确的是A.hello worldB.DemoC.classD.123stu正确答案:B8、执行下面的语句后,a,b,c的值分别()int a=2;int b=(a++)*3;int c=(++a)*3A.4,6,12B.2,6,6C.3,9,9D.4,9,9正确答案:A9、下面的数据类型是float型的是()A.129B.8.6FC.33.8D.89l正确答案:B10、为一个boolean类型变量a赋值时,下列语句正确的是()A.boolean a="false";B.boolean a="真";C.boolean a=1;D.boolean a=(9>=10);正确答案:D11、以下标识符不合法的是()A.x3xB.de$fC.voidD.STRING正确答案:C12、int m=3,n=2,max=0;if(m>n){max=m;}else{max=n;}程序段执行后,max的值为()A.2B.3C.0D.1正确答案:B13、以下代码运行后,i的值和输出内容int i=2;if(i++==3){System.out.println("i==3");}A.i值为2,控制台输出i==3B.i值为2,控制台没有内容输出C.i值为3,控制台没有内容输出D.i值为3,控制台输出i==3正确答案:C14、switch(表达式) {case 值1:语句块1;break; case 值2:语句块2;break; case 值3:语句块3;break;……case 值n:语句块n;break; default:语句块n+1;}语句中“表达式”的类型不能为()A.浮点数类型B.字符串类型C.字符类型D.整数类型正确答案:A15、int i=10;while(i>0){i=i+1;if(i==10){break;}}A.循环一次都不执行B.while循环执行10次C.循环执行一次D.死循环正确答案:D16、如果有以下程序代码for(int i=1;i<10;i++){if(i==5){continue;}System.out.println("i=%d%n",i); }A.显示i=1到4,以及6到9B.显示i=1到9C.显示i=6到9D.显示i=1到4正确答案:A二、判断题1、Java中使用的是英文半角的字符正确答案:√2、可以将一个char类型赋值给int类型正确答案:√3、可以将一个double类型的值赋值给float类型的变量正确答案:×三、填空题1、Java字节码文件的后缀名字是()。
java程序设计练习题
《java程序设计》1.填空题(1)Java程序编译成(class )文件(2)Java程序在(JVM )上执行(3)Java程序的执行方式是(半编译和半解释型)执行的(4)在Java程序中,创建对象的操作是(new )(5)在Java语言中,指明一个类从父类派生的关键字是(extends )(6)线程是进程中的一个执行(单元)(7)在Java语言中,指代父类的关键字是(super )(8)表明一个变量是数组的符号是([] )(9)在Java程序中,用关键字(import )引入其它文件中的类(10)在Java程序中定义包的关键字为(package )2.简答题(1)简述Java语言的特点。
答:Java语言的特点有以下几点:1.简单性。
2.面向对象。
3.平台无关性。
4.可移植性。
5.解释性。
6.离性能。
7.动态性。
8.可靠性和安全性。
9.多线程。
10.分布式处理。
(2)简述面向对象程序设计的三大基本特点。
(3)答:封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。
封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。
继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。
多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。
(4)解释Java程序跨平台的原理。
答:ava源码--->JVM虚拟机编译---->.class文件--->各个平台的Java虚拟机加载执行.class文件Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class 文件,也就是Java程序的跨平台性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
允许重复)。证一个数是不是回文数。k=k*10+m%10(P155 4.30)
经典(不可扩展)
辗转相除法求最大公约数(多个数的最大公约数)
杨辉三角形 猴子吃桃问题 幻方问题、八皇后问题、马踏全盘问题
技巧
以特定数据为结束标志的数据输入问题。例3.9
录取新生 字母加密问题的处理。分类法、矫枉修正法。 猴子吃桃问题 人为溢出问题
程序练习题
1.
多项表达式的和的计算(等差、等比数据,如人口 增长问题)。
1-3+5-7...+101 1/(1*2)+1/(2*3)+1/(3*4)+...+1/(n*(n+1)) x0/0!+x1/1!+x2/2!+...xn/n! 思路:s=s+m 其中m=k*fz/fm
2.
简单文本图形的输出(P153 4.22)
编程练习
1.空心梯形的输出,上底5,下底13 2.倒九九乘法口诀表输出 3.计算1+1/x+1/x^2…(精度为1e-6) 4.统计用户输入的各类字符的个数。 5.逆序输出用户输入的数字 6.一个自然数的7进制数表达式是一个三位数,而这个自然数的 9进制数也是一个三位数,且这两个三位数的数码顺序恰好 相反,求这个数。 7.如果整数A的全部因子之和(不含本身)等于B;且整数B的 全部因子等于A,则称A和B为亲密数。求3000以内的全部亲 密数。 8.编写程序,以字符形式输入一个二进制数,将其变换为一个 十进制数。(P155 4.31)
多个数的最小公倍数问题
5.迭代算法
Fibonacci数列问题: 牛顿迭代法求a的平方根 例3.21P88 一元方程的迭代解法:二分法,牛顿迭代(切线)法,弦割法
6.一票否决法(素数判断法)
判断一个数是否为素数。 输出100-200之间的所有素数 作业:输出所有三位的正看反看都是素数的素数对(不
百钱百鸡问题:鸡翁一值钱五,鸡母一值钱三,
鸡雏三值钱一。 (人民币兑换问题)百钱百鸡 搬砖 不重复数 搬砖问题:36块砖,36人搬,男搬4,女搬3, 两个小孩抬一砖。 三个不重复数的问题:用0123456789可以组成 多少个不重复的三位数。
4.高效穷举算法(不定方程)
爱因斯坦台阶问题
8行6列星阵的输出(P155 4.32) 思路:外循环控制行,内循环控制列 P201 5.15将内循环j的终值改为<=i和10-i 两类:两种图形的叠加(三角星阵) 符合条件字符与不符合条件字符(x字符) 补充作业:输 出由*组成的菱形图形。(P202 5.24) 输出由%字符组成的N字符。
3.穷举算法