文档库 最新最全的文档下载
当前位置:文档库 › 浙江大学C语言上机练习参考答案汇总

浙江大学C语言上机练习参考答案汇总

浙江大学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 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32.在C语言中整数只能表示为十进制数的形式。 33.在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34. Turbo-C 语言中,字符类型数据占1个字节。 35.空语句是合法的C语句。 36. while语句的循环体不能是复合语句。 37. printf 函数是 c 语言的标准输出函数。 38. C程序的main函数可以有参数,但参数不能是指针类型。 39.在 main函数中定义的变量称为全局变量。 40.#include 和 #define 不是 C 语句。 41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42. C语言中 018是合法的八进制整数。 43. C程序中所要用到的变量应该先定义,后使用。 44.十六进制数0x11的十进制数是17。 45.赋值语句是一种可执行语句。

浙江大学刘加海C语言课件1

第1章C程序设计基础 ◆本章重点 1.C语言程序的结构。 2.变量与常量的表示方法。 3.运算符与表达式。 4.指针的概念及变量地址与指针的关系。 5.指针与数组的初步基本概念。 ◆本章难点 1.C语言中常量的表示方法。 2.整型数在计算机中存储的形式。 3.不同类型数据的转换。 4.转义字符。 5.各种运算符与表达式的正确理解。 6.指针的运算与数组的赋值。 1.1 C程序的结构 1.1.1 程序的概念 程序是指人们将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机的内部存储器中。当人们给出命令之后,它就按指令操作顺序自动进行,把这种可以连续执行的一条条指令的集合称为“程序”。目前,正在使用的计算机程序设计语言有上百种,有些语言是面向机器的,如二进制语言,而多数是面向问题的语言。面向问题的语言都被称为计算机的“高级语言”,如C语言等。当然把C++等称为面向对象的语言。这些语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。目前的程序设计一般可分为非结构化程序设计、结构化程序设计和面向对象的程序设计,C语言是结构化程序设计语言。 程序设计的过程一般包括: (1)问题的提出、要求及所采用的数据结构。 (2)算法的确定、程序的编制。 (3)程序的调试及修改。

(4)整理并写出文档资料。 结构化程序设计由三种结构组成:顺序结构、选择结构、循环结构。 (1)顺序结构:顺序结构的程序是一条语句接一条语句顺序地往下执行的。例如在图1.1中,先执行语句1,然后执行语句2,最后执行语句3,顺序结构 的程序是最简单的程序。 图1.1 顺序结构的程序段 (2)分支结构:若在程序执行过程中,程序的流程可由多路分支组成,根据不同的条件去执行不同的任务。例如在图1.2中程序执行到条件表达式时,首 先判断条件是否为“真“,如为真执行语句1,否则执行语句2。 图1.2 分支结构的程序段 (3)循环结构:如在程序中需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。例如在图1.3中程序执行 到循环条件表达式时,首先判断循环条件是否为“真“,如循环条件为“真 “,执行循环语句,循环语句执行完成后,又转去判断循环条件,如循环条 件仍为真,再次执行循环语句,如此反复,直到循环条件为假,退出此循环。

浙江大学C语言期末考试试卷-2001Bd

浙江大学“程序设计基础-C”参考答案 2001-2002学年春季学期(2002年6月30日) 一、单项选择题(每题2分,共20分) 1C2A3A4B5A C 6C7D8D9B1 B 二、填空题(每题2分,共30分) 1ch-'a'+'A'或toupper(ch) 2 1 3 045678或12345678 5a[k]<0 || k>10 (错1项扣1分) 6 100 7k=5, s=15 (错1项扣1分) 8 5, 9 (错1个数字扣1分) 9 -210-10 1 12, 1 (错1个数字扣1分) 12 un, g (un1分, g1分) 1 31, 3 (错1个数字扣1分) 14 1,0,0,1 (错1个数字扣1分) 1 5typedef int (*FP)(); (错1项扣1 分) 三、程序阅读题(每题5分,共15分) 12#18# 七进制转换十进制错1项扣2分 31#3# 21#1173# 错1项扣2分 370#63#92#55#0# 错1项扣1分 四、程序填空题(每空2分,共20分) (float f(float x)(return x*x+2*x+1

1)2) ( 3)if(x==0) return 0( 4) j=0 ( 5)a[j]

五、编程题(共15分) 1、int ff(char *str, char ch) /* 说明1 分*/ { int count=0; while(*str){ /* 循环3分条件、查找、str递增各1 分*/ if(*str==ch) count++; str++; } return count; /* 返回1 分*/ } 2、#include /*头文件、变量说明、打开关闭文件、输入ch 共2 分*/ #include void main() { char ch,c,s[80]; int k; FILE *fp; if((fp=fopen("input.txt","r"))==NULL) { printf("error\n"); exit(0); } ch=getchar(); k=0; while(1){ /*循环+beaak 1 分*/ c=fgetc(fp); /* 读入1 分*/ if(c=='\n'||c==EOF){ /* 共6 分*/ s[k]='\0'; k=0; printf("%d\n",ff(s,ch)); if(c==EOF) break;

浙江大学C语言总复习题基础数据类型和运算

第2章基本数据类型和运算 学习和解题要点 1.数据类型 C 语言中的数据类型比别的语言丰富。要学好这部分内容,首先要掌握C 语言的数据在内存中的表示。 整型数据:以二进制的形式表示 (1) int 类型 正数:如 123 (+123)用 16 位二进制(二个字节)表示 原码 最大正整数 215-1=214+213 +23+22+21+20=32767 负数:如–123 原码 反码(符号位不动,其它取反) 补码(补码加 已知补码求原负数符号位不动,其它取反加 1 加 最大负整数 -215=32768 因为 -215 < -(215-1) 所以用 -215而不用 -(215-1) (2) unsigned (int) 类型 称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16 位二进制都用来表示数,因此 最大数 215+214 +213+2 3+22+21+20=65535 最小数 0 (3) long (int) 类型 用 32 位二进制(四个字节)表示,其他同 int 型 (4) short 类型 有的计算机(小型、中型、大型机)int 即是 long ,而short用16 位二进制(二个字节)表示。因此C语言中,short一定是短整型,long一定是长整型,而int因不同的系统而不同。PC 586 机int即short,所以一般不用short 。 (5) 在C语言中,整型常量有三种形式的写法: 十进制整数(0 - 9)表示。通常整数的写法。 八进制整数(0 - 7)表示。在整数的前面加数字0。 十六进制整数(0 - f)表示。在整数的前面加0x。 长整型常量表示方法:在整数的后面加L或 l。

浙大c语言程序习题答案

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: 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); } } 【程序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,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: 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)

大学C语言考试题库(答案)

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、11 和 11 C、10 和 11 D、10 和 10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值

答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++;

case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; while(i<10) { if(i<1) continue;

浙江大学C语言上机考试题库

上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 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 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 #include 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= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5

数据结构C语言版-浙江大学软件学院

2009年推荐选拔攻读软件工程硕士综合测试笔试部分科目组成和参考书目:

计算机应用基础考试大纲: 主要考查计算机应用基础知识,参考参考用书课后练习内容。(其它同类型的计算机应用基础教材均可作为复习用书) 高等数学考试大纲: (一)函数 (二)极限 (1)数列极限的概念 (2)数列极限的性质 (3)函数极限的概念 (4)函数极限的定理 (5)无穷小量和无穷大量 (6)两个重要极限 sinx 1 lim =1 lim(1+ )x = e x→0 x x→∞ x (三)连续 (1)函数连续的概念 函数在一点连续的定义左连续和右连续函数在一点连续的充分必要条件函数的间断点及其分类(2)函数在一点处连续的性质 连续函数的四则运算复合函数的连续性反函数的连续性 (3)闭区间上连续函数的性质 有界性定理最大值和最小值定理介值定理(包括零点定理)

(4)初等函数的连续性 (四)导数与微分 (1)导数概念 导数的定义左导数与右导数导数的几何意义可导与连续的关系 (2)求导法则与导数的基本公式 导数的四则运算反函数的导数导数的基本公式 (3)求导方法 复合函数的求导法隐函数的求导法对数求导法由参数方程确定的函数的求导法求分段函数的导数(4)高阶导数的概念:高阶导数的定义高阶导数的计算 (5)微分:微分的定义微分与导数的关系微分法则一阶微分形式不变性 (5)理解高阶导数的概念,会求简单函数的n阶导数。 (6)理解函数的微分概念,掌握微分法则,了解可微与可导的关系,会求函数的一阶微分。 (五)不定积分 1. 知识范围 (1)不定积分的概念(2)基本积分公式 (3)换元积分法(4)分部积分法 (5)一些简单有理函数的积分 (六)定积分 (1)定积分的概念:定积分的定义及其几何意义 (2)定积分的性质 (3)定积分的计算 (4)无穷区间的广义积分

大学C语言复习题附答案

判断题 1.运算器是完成算术和逻辑操作的处理部件,通常称为CPU。×控制器 2.通常硬盘安装在主机箱内,因此它属于主存储器。×内存 3.指令与数据在计算机内是以ASCII码进行存储的。×二进制 4.操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集 合。√ 5.用计算机机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过 编译才能执行。√ 6.计算机的所有计算都是在内存中进行的。×运算器 7.字长是指计算机能直接处理的二进制信息的位数。√ 8.计算机区别于其他计算工具的本质特点是能存储数据和程序。√ 9.系统软件就是市场上买来的软件,应用软件就是自己编写的软件。×买的也可以 10.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、小写英文字母、 大写英文字母。×大写小写 11.多台计算机相连,就形成了一个网络系统。×什么叫网络系统哦? 12.在Internet网上,IP地址、E-mail地址都是唯一的。√ 13.不同类型的变量在内存中占用存储空间的大小都是一样的。×错了 14.表示数学式3

2019年大学C语言期末考试卷(带详解答案)

2019年大学C语言期末考试卷 一、单项选择题 1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。

大学C语言程序设计(编程题)

C语言程序设计习题(编程题 C语言程序设计习题(编程题 习题1(编程题)[知识点:基础知识编制程序,要求输入整数a和b,若 a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。习题1-参考答案 main() printf("Input a & b:"); if (a*a+b*b>100) printf("%d\n",(a*a+b*b)/100); else printf("%d\n",a+b); } 习题2(编程题)[知识点:基础知识试编 程判断输入的正整数是否既是5又是7的整数倍,若是输出yes,否则输出no。习题2-参考答案 main() printf("Input a:"); if (a%5==0&&a%7==0) printf("yes\n"); else printf("no\n"); } 习题 3(编程题)[知识点:选择结构输入一个整数,判断它能否被3,5,7整 除,并输出以下信息之一: (1)能同时被3,5,7整除 (2)能被其中两 数整除(要指出哪两个)。 (3)能被其中一个数整除(要指出哪一个)。 (4)不能被任何一个整除。习题3-参考答案 main() printf("Input a number:"); if(m%3==0&&m%5==0&&m%7==0) printf("能同时被3,5,7整除 else if((m%3==0&&m%5==0)||(m%3==0&&m%7==0)||(m%5==0&&m%7==0)) {printf("能被其中两数整除 if(m%3==0&&m%5==0) printf("(3,5)"); else if(m%3==0&&m%7==0) printf("(3,7)"); else printf("(5,7)"); else if(m%3==0||m%5==0||m%7==0) {printf("能被其中一个数整除 C语言程序设计习题(编程题if(m%3==0) printf("(3)"); else if(m%5==0) printf("(5)"); else printf("不能被任何一个整除"); } 习题4(编程题)[知识点:选择结构将以下程序段改用非嵌套的if语句实现。 int s,t,m; t=(int)(s/10); {case 10:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0; 习题4-参考答案 if(s>=100&&s<110) m=5; if(s>=90&&s<100) m=4; if(s>=80&&s<90) m=3; if(s>=70&&s<80) m=2; if(s>=60&&s<70) m=1; 习题5(编程题)[知识点:选择结构用switch编程实现: -1 (x<0) 习题5-参考答案 void main() {float x; printf("Input a x:"); scanf("%f",&x); switch(x<0) {case 1:y=-1;break; case 0:switch(x==0) {case 1:y=0;break; case 0:y=1; } printf("y=%d\n",y); } C语言程序 设计习题(编程题习题6(编程题)[知识点:选择结构将以下程序段改用嵌套的if语句实现。 int s,t,m; t=(int)(s/10); {case:m=5;break; case 9:m=4;break; case 8:m=3;break; case 7:m=2;break; case 6:m=1;break; default: m=0; 习题6-参考答案 if(s>=110&&s<60) m=0 else if(s<110) m=5; else if(s<100) m=4; else if(s<90) m=3; else if(s<80) m=2; else m=1; 习题7(编程题)[知识 点:选择结构编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,- ,*,/(用switch语句实现)。习题7-参考答案 #include

大学C语言知识点

大学C语言知识点 1.程序中基本的控制结构是三种: 顺序结构、选择结构(分支结构)、循环结构。2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3.计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是它的地址. 4.bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5. 编译预处理不是C语言的一部分,不占运行时间,不要加分号。(常考!) #define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 6. 每个C语言程序中main函数是有且只有一个。 7. 用C语言编写的程序称为源程序,扩展名是.c。C程序必须经过编辑、编译、 链接、运行四个步骤才可得到运行结果。注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!) 8. C语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行。 9. 一个C语言程序有且只有一个main函数,是程序运行的起点。 10. Cfree、VC/VC++、CodeBlock等是软件,用来运行写的C语言程序。(编译环境) 11.标识符(必考内容): 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 12. 标识符分为关键字、预定义标识符、用户标识符。 关键字(P259):不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方是If、Main等可以做为用户标识符。因为If、Main 中的第一个字母大写了,所以不是关键字和特定字了。 预定义标识符:如define scanf printf include。记住预定义标识符可以做为用户标识符,但因为它们有特定含义,一般不做用户标识符。 用户标识符:可作为常量名、变量名、函数名、构造类型名等。 13. 整型常量:C语言只有八、十、十六进制整数,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)

浙江大学C语言2006试卷.doc

浙江大学2005-2006学年春夏学期期终考试试卷 考试时间2006年6月28日 一.单项选择题(每题1分,共10分) 1. 在C语言中,下面描述正确的是:______。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用不可以嵌套 C、函数的定义可以嵌套,函数的调用也可以嵌套 D、函数的定义不可以嵌套,但函数的调用可以嵌套 2. 在C语言中,_____存储类型的变量,只在使用时才分配空间。 A、static和auto B、register 和extern C、register 和static D、auto 和register 3. 下列运算符中,优先级最低的是:_____ A、* B、+ C、== D、= 4. 有程序段如下: int k=10; while(k=0) k=k-1; 以下选项中描述正确的是_____。 A. 语句“k=k-1;”被执行10次。 B. 语句“k=k-1;”被执行1次。 C. 语句“k=k-1;”被执行无限多次。 D. 语句“k=k-1;”一次也不执行。 5. 若以下定义:char s[20],*ps=s; 则,以下赋值语句正确的是: A、s=ps+s; B、ps=ps+20; C、s[5]= *ps[9]; D、ps=s[0]; 6. 有程序段如下: int a=1,b=2,c=3; if(a>b) c=a;a=b;b=c; 执行该程序段后,变量a,b,c的值是_____。 A.a=1,b=2,c=3 B.a=2,b=3,c=3 C.a=2,b=3,c=1 D. a=3,b=2,c=1 7. 假设所有变量均为int类型,则表达式(a=2,b=5,b+1,a+b)的值为______。 A.7 B.8 C.6 D.2 8. 以下叙述正确的是______。 A. 在C程序中,main()函数必须位于程序的最前面。 B. C程序的每一行中只能写一条语句。 C. 在对C程序进行编译的过程中,可发现注释中的拼写错误。 D. C语言本身没有输入、输出语句。 9. 设有语句 struct st { int n; int *t; }*p; static struct st s[3]={5,'\0',7,'\0',9,'\0'}; p=s; 则printf(“%d\n”,______)的值是6。 A.p++->n B.p->n++ C.(*p).n++ D.++p->n

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

浙江大学C语言理论考试模拟试题答案 一、判断题 共10题,每题1分,共10分。正确的请选择A,错误的请选择B。 1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。A A、正确 B、错误 解答:A 2、在程序中else 子句可以单独使用。B A、正确 B、错误 解答:B 3、C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。( ) A A、正确 B、错误 解答:A 4、_ya是不合法的C语言标识符。B A、正确 B、错误 解答:B 5、在数组初始化时,如果初值个数多于数组长度,将出现错误。A A、正确 B、错误 解答:A 6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。B A、正确 B、错误 解答:B 7、若有定义int *p, 则表达式p++ 的值就是p 所指向的变量的地址值加1。B A、正确 B、错误 解答:B 8、'\n'不是一个字符常量。B A、正确 B、错误 解答:B 9、表达式(z=0, (x=2)||(z=1),z) 的值是1。B A、正确 B、错误 解答:B 10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。 A、正确 B、错误

二、单选题 请从给定的选项中选择一个唯一正确的选项。每小题2分,共10题,20分。 1、 C下面有关变量的命名,不合法的是:( ) A. _int B. __intint C. __int&int D. ___intintint C 解答:C 2、有变量定义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 解答:D 3、下面关于函数参数使用的说法,不正确的是:() A. 函数调用时实参按顺序传递到形参; B. 函数调用时实参把值传递给形参; C. 函数的实参和形参个数可以不一致,但使用时应尽量一致; D. 函数的实参和形参可以同名; C 解答:C 4、已知int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )。 A. 0 B. 1 C. 2 D. 无限次 B 解答:B 5、下面定义的max函数返回值的数据类型是() max(float a,float b) { return(a>b?a :b) ; } A. int B. float

浙江大学c语言试卷资料讲解

浙江大学C语言2006 试卷

浙江大学2005-2006学年春夏学期期终考试试卷 考试时间 2006年6月28日 一.单项选择题(每题1分,共10分) 1. 在C语言中,下面描述正确的是:______。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用不可以嵌套 C、函数的定义可以嵌套,函数的调用也可以嵌套 D、函数的定义不可以嵌套,但函数的调用可以嵌套 2. 在C语言中,_____存储类型的变量,只在使用时才分配空间。 A、static和auto B、register 和extern C、register 和 static D、auto 和 register 3. 下列运算符中,优先级最低的是:_____ A、* B、+ C、== D、= 4. 有程序段如下: int k=10; while(k=0) k=k-1; 以下选项中描述正确的是_____。 A. 语句“k=k-1;”被执行10次。 B. 语句“k=k-1;”被执行1次。 C. 语句“k=k-1;”被执行无限多次。 D. 语句“k=k-1;”一次也不执行。 5. 若以下定义:char s[20],*ps=s; 则,以下赋值语句正确的是: A、s=ps+s; B、ps=ps+20; C、s[5]= *ps[9]; D、ps=s[0]; 6. 有程序段如下:

int a=1,b=2,c=3; if(a>b) c=a;a=b;b=c; 执行该程序段后,变量a,b,c的值是_____。 A.a=1,b=2,c=3 B.a=2,b=3,c=3 C.a=2,b=3,c=1 D. a=3,b=2,c=1 7. 假设所有变量均为int类型,则表达式(a=2,b=5,b+1,a+b)的值为______。 A.7 B.8 C.6 D.2 8. 以下叙述正确的是 ______。 A. 在C程序中,main()函数必须位于程序的最前面。 B. C程序的每一行中只能写一条语句。 C. 在对C程序进行编译的过程中,可发现注释中的拼写错误。 D. C语言本身没有输入、输出语句。 9. 设有语句 struct st { int n; int *t; }*p; static struct st s[3]={5,'\0',7,'\0',9,'\0'}; p=s; 则printf(“%d\n”,______)的值是6。 A.p++->n B.p->n++ C.(*p).n++ D.++p->n 10. 设有语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则以下______不是对a数组元素的正确引用,其中0≤i<10。 A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i)) 二、填空题(每题2分,共20分) 1. 设ch为字符变量,写出判断ch为数字字符的C语言表达式______。 2. int a=3,则a+=a-=a*a的值是_____。

浙江大学C语言作业

题目内容描述: 程序填空,不要改变与输入输出有关的语句。 编写一个函数,利用参数传入一个3位数number,找出101~number之间所有满足下列两个条件的数: 它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。请同时编写主函数。 例:(括号内为说明) 输入 3 (repeat=3) 150 500 999 输出 count=2 count=6 count=8 -------------------------------------------------------------------------------- #include #include int search(int n); int main(void) { intnumber,ri,repeat; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ do{ scanf("%d",&number); }while(number<101||number>999); printf("count=%d\n",search(number)); } } /*---------*/

#include #include int search(int n); int main(void) { intnumber,ri,repeat; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ do{ scanf("%d",&number); }while(number<101||number>999); printf("count=%d\n",search(number)); } } int search(int n) { int i,j,k1,k2,k3,count=0; for(i=101;i<=n;i++) { for(j=1;j*j<=i;j++) { if(j*j==i) { k1=i%10; k2=i/10%10; k3=i/100%10; if((k1==k2)||(k3==k2)||(k1==k3)) { count++; break; } } } } return count; }

相关文档
相关文档 最新文档