浙江大学C程题库(更新)

合集下载

浙江大学C语言总复习题--综合

浙江大学C语言总复习题--综合

综合练习一、判断题1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。

2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。

3.在程序的运行过程中,整型常量的值是可以改变的。

4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。

5.大括弧 { } 只能用来括复合语句。

6. do_while语句构成的循环不能用其它循环语句来代替。

7.不能用scanf 函数输入字符。

8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。

9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。

10.C 语言的一个编译预处理命令用 # 开始,最后加分号。

11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。

12. C语言中以 %o开头的数是八进制整数。

13.在程序的运行过程中,符号常量的值是可以改变的。

14.在 C 程序中,APH 和 aph 代表不同的变量。

15.一个复合语句在语法上被认为是一条语句。

16. 只能用while语句构成循环。

17.不能用printf函数输出字符。

18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。

19. 在函数外部定义的变量称为全局变量。

20.宏定义的命令行可以看作是一条C 语句。

21. C语言源程序是可以用来直接运行的程序。

22. C语言中以 %x 开头的数是十六进制整数。

23. C程序中定义的变量,代表内存中的一个存储单元。

24.在 C 程序中,9ab是非法的用户标识符。

25. C语句必须用一个分号作为结束。

26. do_while语句构成的循环不能用break语句退出。

27. scanf 函数是 c 语言的标准输入函数。

28. C程序的main函数不能有参数。

29. 在函数内部定义的变量称为局部变量。

30.用#include包含的头文件的后缀必须是.h。

31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言理论考试模拟试题答案一、判断题共10题,每题1分,共10分。

正确的请选择A,错误的请选择B。

1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。

AA、正确B、错误解答:A2、在程序中else 子句可以单独使用。

BA、正确B、错误解答:B3、C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。

( ) AA、正确B、错误解答:A4、_ya是不合法的C语言标识符。

BA、正确B、错误解答:B5、在数组初始化时,如果初值个数多于数组长度,将出现错误。

AA、正确B、错误解答:A6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。

BA、正确B、错误解答:B7、若有定义int *p, 则表达式p++ 的值就是p 所指向的变量的地址值加1。

BA、正确B、错误解答:B8、'\n'不是一个字符常量。

BA、正确B、错误解答:B9、表达式(z=0, (x=2)||(z=1),z) 的值是1。

BA、正确B、错误解答:B10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。

A、正确B、错误二、单选题请从给定的选项中选择一个唯一正确的选项。

每小题2分,共10题,20分。

1、 C下面有关变量的命名,不合法的是:( )A. _intB. __intintC. __int&intD. ___intintintC解答:C2、有变量定义int a;float c;下面输入语句有语法错误的是( )。

A. scanf("%d,%f", &a, &c);B. scanf("x=%d, c=%f", &a, &c);C. scanf("%d%f", &a, &c);D. scanf("%f %d",&a, &c);D解答:D3、下面关于函数参数使用的说法,不正确的是:()A. 函数调用时实参按顺序传递到形参;B. 函数调用时实参把值传递给形参;C. 函数的实参和形参个数可以不一致,但使用时应尽量一致;D. 函数的实参和形参可以同名;C解答:C4、已知int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )。

浙大c期末考试题及答案

浙大c期末考试题及答案

浙大c期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello, World!";B. string str = "Hello, World!";C. char* str = "Hello, World!";D. string str[] = "Hello, World!";答案:A4. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B6. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. square_root()C. root()D. pow()答案:A7. 以下哪个选项是C语言中正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. int add(int a, b);D. int add(a, int b);答案:A8. 在C语言中,哪个关键字用于创建一个循环,直到满足某个条件?B. whileC. do-whileD. foreach答案:B9. 以下哪个选项是C语言中合法的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个宏。

浙江大学“C程序设计及实验”试题卷

浙江大学“C程序设计及实验”试题卷

浙江大学“C程序设计及实验”试题卷2003-2004学年春季学期考试时间: 2004年6月25日上午8:30-10:30注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1. C 语言程序的三种基本结构是顺序结构、选择结构和__C____结构。

A.递归B.转移C.循环D.嵌套2. 下列运算符中,优先级最高的是__B___。

A.+= B.[ ] C.? : D.&3. 运算符___A__ 不能做为单目运算符。

A./ B.& C.* D.+4. 以下选项中不正确的字符常量是___C__。

A.'1' B.'\0' C.'%d' D.105. 表达式x&&1 等价于_C____。

A.x==0B.x==1C.x != 0D.x != 16. 已知字符‘a’ 的ASCII码为97 ,执行下列语句的输出是__A___。

printf ("%c%d", ’b’, ’b’+1 ) ;A.b99B.98c C.9899D.bc7. 在C 语言程序中,在函数内部定义的变量称为__C____。

A.全局变量B.外部变量C.局部变量D.内部变量8. 执行语句printf(" ___D___", "hello"); 将得到出错信息。

A.%u B.%s C.%x D.%f9. 对于以下的变量定义,表达式___D___是不正确的。

struct node {float x, y;} point, *p=&point;A.p->x=2.0 B.(*p).y=3.0 C.point.x=2.0 D.*p->y=3.010. 对于变量定义:int **p[10], p 是一个__B___。

A.指针B.数组C.函数D.数组元素二、填空题(每题2分,共30分)1. 写出计算s(s-a)(s-b)(s-c)的C语言表达式______。

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷一.单项选择题(每题2分,共20分)1.C语言程序的三种基本结构是顺序结构、选择结构和______结构。

A.递归B.转移C.循环D.嵌套2.下列运算符中,优先级最高的是_____。

A.->B.++C.&&D.=3.表达式!(x>0&&y>0)等价于_____。

A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y >0D.!(x>0)&&!(y>0)4.表达式sizeof("\nsum=%d\n")的值是______。

A.8B.9C.10D.115.以下选项中不正确的实型常量是_____。

A.0.23EB.2.3e-1C.1E3.2D.2.3e06.表达式______的值不是1。

A.0?0:1B.5%4C.!EOFD.!NULL7.数组定义为inta[11][11],则数组a有_____个数组元素。

A.12B.144C.100D.1218.对于以下的变量定义,表达式______是不正确的。

structnode{intj,k;}x,*p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=2 9.不正确的赋值或赋初值的方式是______。

A.charstr[]="string";B.charstr[10];str="stri ng";C.char*p="string";D.char*p;p="string";10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。

#include<stdio.h>intz;intp(intx){staticinty;return(x+y);}voidmain(){inta,b;printf("%d\n",p(a));……}A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z二、填空题(每题2分,共30分)1.设字符型变量ch的值是小写英文字母,将它转换为相应大写字母的表达式是______。

C程序设计题目集答案之第4章

C程序设计题目集答案之第4章

第四章判断题1-1continue 不是结束本次循环,而是终止整个循环的执行。

(1分)T F1-2do-while循环的while后的分号可以省略。

(1分)T F1-3do-while循环至少要执行一次循环语句。

(1分)T F1-4C语言的三种循环不可以互相嵌套。

(1分)T F1-5continue 只能用于循环体中。

(1分)T F在多层循环中, 一个break语句只向外跳一层。

(1分)T F1-7do - while语句的一般形式如下,其中的循环体语句至少执行一次。

(1分)T F1-8在嵌套循环(多层循环)中, 每一层循环都应该使用自己的循环变量,以免互相干扰。

(1分)T F1-9while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了。

(1分)T F在循环中使用break语句或者continue语句,其作用是相同的。

(1分)T F选择题答案BCDCD CCCBC2-1The following piece of code prints out__. (2分)A. 2 3 1B.-1C. 1 2 0D.32-2A.15B.9C.6D.52-3A.15B.10C.9D.62-4The following code fragment prints out __. (2分)A.B.C.D.2-5A.15B.10C.9D.62-6A.8B.9C.10D.112-7若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足()。

(2分)A.item的绝对值小于0.0001B.item的绝对值大于0.0001C.item的绝对值大于等于0.0001D.item的绝对值小于等于0.00012-8设有程序段则下面描述中正确的是()。

(2分)A.B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2-9下面的这个循环的循环次数是()。

(2分)A.语法错误,不能执行B.无限次C.10D.12-10对下列代码的描述:正确的是:(2分)A.程序有编译错误,不能执行B.循环条件永为真,循环无限次,程序根本停不下来,打印输出无限行C.循环有限次,程序正常结束,打印输出有限行D.程序运行过程必定会出错(崩溃),结果打印输出有限行。

浙大c程题库答案

浙大c程题库答案

浙大c程题库答案20011求华氏温度100°F对应的摄氏温度。

220012求华氏温度150°F对应的摄氏温度。

320013求摄氏温度26°C对应的华氏温度。

320015当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

320026输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。

4第3周(M3)520031求1+2+3+......+100(调试示例error02_5)520032求m+(m+1)+(m+2)+......+100520033求1/m+1/(m+1)+1/(m+2)+......+1/n620034求1+1/3+1/5+......的前n项和720035求1-1/4+1/7-1/10+……的前n项之和720036输出华氏-摄氏温度转换表(改错题error02_6)820038求某的n次幂920041生成3的乘方表1020044求100^0.5+101^0.5+……+1000^0.51020053计算物体自由下落的距离1120056计算分段函数1120061阶梯电价1220062求m某m+1/m+(m+1)某(m+1)+1/(m+1)+(m+2)某(m+2)+1/(m+2)+......+n某n+1/n1320063求1-2/3+3/5-4/7+5/9-6/11+ (14)20064求2^1+2^2+2^3+……+2^n15第4周(M4)1510007显示图案(复习printf()的字符串输出)1520042生成阶乘表1620043使用函数求n!/(m!某(n-m)!)1620054求平均值1720057求1+1/2+1/3+......+1/n1820065求0!+1!+2!+……+n!1840015求最小值1940018求a+aa+aaa+aa…a20第5周(M5)2130001求一元二次方程的根2130002求分段函数的值2330003分类统计字符2330004显示五级记分制成绩所对应的百分制成绩区间(使用witch)24 30005显示水果的价格(使用witch)2530007求三角形的面积和周长2730008计算个人所得税2830051判断闰年2930052统计学生平均成绩与及格人数3030053分段计算水费(使用嵌套的if-ele语句)31浙大c程序语言设计(第2版)题库答案40011求最小公倍数和最大公约数(调试示例error04_1)32 40012求1-1/4+1/7-1/10+1/13-1/16+ (33)40014求整数的位数3440023换硬币3540024找出各位数字的立方和等于它本身的数3640025找完数(改错题error04_2)3840027从高位开始逐位输出一个整数的各位数字(选作)39 40052判断素数4040053逆序输出整数4140054输出斐波那契序列42第7周(M7)4250002使用函数判断数的符号4250003使用函数求奇数和4350005使用函数统计素数并求和4450006使用函数统计一个整数中数字的个数4550007使用函数找水仙花数4650009使用函数求余弦函数的近似值4850052使用函数找最大值4950062使用函数输出指定范围内的Fibonacci数50 50063使用函数找出指定范围内的完数51第8周(M8)5240013求奇数和5240062求某+某某某/2!+某某某某某/3!+某某某某某某某/4!+……的值5350004使用函数计算两点间的距离5450061使用函数求a+aa+aaa+aa…a5560002整数的十进制、八进制和十六进制表现形式5660003分类统计字符5760006验证歌德巴赫猜想5860007使用函数输出整数的逆序数5960009统计单词6060062简单计算器61第2周(M2)20011求华氏温度100°F对应的摄氏温度。

浙大版C语言程序设计期末考试模拟题2

浙大版C语言程序设计期末考试模拟题2

一、判断题。

共10题,每题1分,共10分。

正确的请选择A,错误的请选择B。

1、C语句必须用一个分号作为结束。

A、正确B、错误正确答案:A,结果:正确2、设有以下定义"int a[10],*p=a;", 则*p被赋初值为数组元素a[0]的地址。

A、正确B、错误正确答案:B,结果:正确3、设变量定义为 char cc[ ]="12\n345" ,则表达式 sizeof(cc) 的值是7。

A、正确B、错误正确答案:A,结果:正确4、若执行fopen函数时发生错误,则函数的返回值是0。

A、正确B、错误正确答案:A,结果:正确5、在函数内部定义的变量称为局部变量。

A、正确B、错误正确答案:A,结果:正确6、在c程序中,else的个数不能多于if的个数。

A、正确B、错误正确答案:A,结果:正确7、若函数f()要返回表达式a+b的值,则必须写成return (a+b)。

A、正确B、错误正确答案:B,结果:正确8、有以下语句,输出结果是:0int x=40,y=4,z=4;x=x==(y=z); printf("%d\n",x);A、正确B、错误正确答案:A,结果:正确9、表达式 3.14%2 不符合C语言语法。

A、正确B、错误正确答案:A,结果:正确10、对于下列for循环语句,循环一次也不能执行A、正确B、错误正确答案:A,结果:正确二、单选题。

请从给定的选项中选择一个唯一正确的选项。

每小题2分,共10题,20分。

1、表达式 strlen("hello\nWang\n") 的值是_______。

A. 10B. 11C. 12D. 13正确答案:B,结果:正确2、C下面有关变量的命名,不合法的是:( )A. _intB. __intintC. __int&intD. ___intintint正确答案:C,结果:正确3、设变量定义为 int a[2]={1,3}, *p=&a[0]+1;,则*p的值是_____。

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

c语言程序设计题目及答案20021程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入 x,计算并输出下列分段函数 f(x) 的值(保留1位小数)。

当 x 不等于0时,y = f(x) = 1/x,当 x 等于0时,y = f(x) = 0。

输入输出示例:括号是说明输入2 (repeat=2)10 (x=10)0 (x=0)输出f(10.00) = 0.1f(0.00) = 0.0#include <stdio.h>int main(void){int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%lf", &x);/*---------*/if(x!=0) y=1/x;else y=0;printf("f(%.2f) = %.1f\n", x, y);}}20022程序填空,不要改变与输入输出有关的语句。

输入华氏温度,输出对应的摄氏温度。

计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。

输入输出示例:括号为说明输入150 (fahr=150)输出celsius = 65#include <stdio.h>int main(void){int celsius, fahr;/*---------*/scanf(“%d”,&fahr);celsius=5.0*(fahr-32)/9;printf("celsius = %d\n", celsius);}20023程序填空,不要改变与输入输出有关的语句。

输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest = money(1+rate)^year - money输入输出示例:括号为说明输入1000 3 0.025 (money = 1000, year = 3, rate = 0.025)输出interest = 76.89#include <stdio.h>#include <math.h>int main(void){int money, year;double interest, rate;/*---------*/scanf(“%d%d%lf”,&money,&year,&rate);interest=money*pow((1+rate),year)-money;printf("interest = %.2f\n", interest);}20024程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入 x,计算并输出下列分段函数 f(x) 的值(保留2位小数),请调用 sqrt 函数求平方根,调用 pow 函数求幂。

当x >= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。

输入输出示例:括号是说明输入3 (repeat=3)10-0.5输出f(10.00) = 3.16f(-0.50) = -2.75f(0.00) = 0.00#include <stdio.h>#include <math.h>int main(void){int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){/*---------*/scanf("%lf", &x);if(x>=0) y=sqrt(x);else y=pow((x+1),2)+2*x+1/x;printf("f(%.2f) = %.2f\n", x, y);}}20025程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入实数 x,计算并输出下列分段函数 f(x) 的值,输出时保留1位小数。

当 x 不等于10时,y = f(x) = x,当 x 等于10时,y = f(x) = 1/x。

输入输出示例:括号是说明输入2 (repeat=2)10234输出f(10.0) = 0.1f(234.0) = 234.0#include <stdio.h>int main(void){int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){/*---------*/scanf("%lf", &x);if(x!=10) y=x;else y=1/x;printf("f(%.1f) = %.1f\n", x, y);}}20026程序填空,不要改变与输入输出有关的语句。

输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。

输出两个整数的余数可以用 printf("%d %% %d = %d\n", num1, num2, num1%num2); 输入输出示例:括号是说明输入5 3 (num1=5,num2=3)输出5 + 3 = 85 - 3 = 25 * 3 = 155 / 3 = 15 % 3 = 2#include <stdio.h>int main(void){int num1, num2;/*---------*/scanf("%d%d", &num1,&num2);printf("%d + %d = %d\n", num1, num2, num1+num2); printf("%d - %d = %d\n", num1, num2, num1-num2); printf("%d * %d = %d\n", num1, num2, num1*num2); printf("%d / %d = %d\n", num1, num2, num1/num2); printf("%d %% %d = %d\n", num1, num2, num1%num2); return 0;20031程序填空,不要改变与输入输出有关的语句。

计算表达式 1 + 2 + 3 + ...... + 100的值。

输出示例:sum = 5050#include <stdio.h>int main(void){int i, sum;/*---------*/sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("sum = %d\n", sum);}20032程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数m(0<=m<=100),计算表达式 m + (m+1) + (m+2) + ...... + 100的值。

输入输出示例:括号为说明输入3 (repeat=3)0 (计算0+1+2+ (100)10 (计算10+11+12+ (100)50 (计算50+51+52+ (100)输出sum = 5050sum = 5005sum = 3825#include <stdio.h>int main(void){int i, m, sum;int repeat, ri;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%d", &m);/*---------*/sum=0;for(i=m;i<=100;i++)sum=sum+i;printf("sum = %d\n", sum);}}20033程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数 m 和 n(m<=n),计算表达式 1/m + 1/(m+1) + 1/(m+2) + ...... + 1/n 的值,输出时保留3位小数。

输入输出示例:括号为说明输入3 (repeat=3)5 15 (计算1/5+1/6+1/7+...+1/15)10 20 (计算1/10+1/11+1/12+...+1/20)1 3 (计算1+1/2+1/3)输出sum = 1.235sum = 0.769sum = 1.833#include <stdio.h>int main(void){int i, m, n;int repeat, ri;double sum;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d%d", &m, &n);/*---------*/sum=0;for(i=m;i<=n;i++)sum=sum+1.0/i;printf("sum = %.3f\n", sum);}}20034程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数 n,计算表达式 1 + 1/3 + 1/5 + ...... 的前 n 项之和,输出时保留6位小数。

输入输出示例:括号为说明输入2 (repeat=2)5 (计算1+1/3+1/5+1/7+1/9)23 (计算1+1/3+1/5+...+1/45)输出sum = 1.787302sum = 2.549541#include <stdio.h>int main(void){int i, n;int repeat, ri;double sum;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%d", &n);/*---------*/sum=0;for(i=1;i<=n;i++)sum=sum+1.0/(2*i-1);printf("sum = %.6f\n", sum);}}20035程序填空,不要改变与输入输出有关的语句。

相关文档
最新文档