浙江大学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期末考试题及答案一、选择题(每题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语言期末复习题1.构成C语言源程序的基本单位是____A.子程序B.过程C.文本D.函数D2. 在一个C程序中,main()函数___A.必须出现在所有函数之前B.可以在任可地方出现C.必须出现在所有函数之后D.以上都不对B3.以下描述正确的是____A.最简单的C源程序可以不包括任何内容。
B.编译程序对C源程序编译时不检查语法。
C.C程序中没有输入输出语句。
D.在C程序中,至少必须有一个main()函数。
D4.C语言是一种_____化程序设计语言结构5.下面不正确的字符串常量是____A.‟AB‟B.”ab‟ab”C.”a”D.”“A6.下面四个选项中均是合法的整型常量的是:______A.340,025,-11B.02,0x,03fC.-0X2A,985.768,4d2D.0X15,0X2,-760xA7.设有定义:int a=10;则表达式a+=a*=a的值是:____A.10B.100C.1000D.200D8.设有如下定义:int a=1,b=2,c=3,d=4,x=2,y=2;则表达式(x=a>b)&&(y=c>d)运算后,y的值为_______A.1B.2D. 4B9.能正确表示逻辑关系“a大于等于10或小于等于0”的C语言表达式是____ A.a>=10 or a<=0B.a>=0 | a<=10C.a>=10 && a<=10D.a>=10 || a<=0D10.设m是int型变量,则表达式(m=2*3,m+4),m*3的值是______1811.以下程序段执行后z的值是____int x,y,z;x=1;y=2; z=1.0/y*x答:012.以下程序段的输出结果是____main(){ char m; m=‟B‟+32; printf(“%c\n”,m);}则输出的结果是:_____b13. 表达式7/3*(int)3.14/(int)(1.2*(5+2.3))的数据类型为_____,表达式的值为_____ 整型14.计算下列表达式的值:设int a=3,b=4,c=5;float k=3.6;(1)a/b*c 0(2)a*b%c 2(3)k/a+2*b 9.20000(4) (int)(k+6/a*b) 11(5) sizeof(a) 2 or 4(6)a+=a*=a+b 42(7) c%b-a/2 0(8) !(a*b-12) 1(9)(a*b-2)==c+3 0(10)c>b>a0 , 2, 9.200000, 11, 2, 42 ,2, 1, 0, 015.若有以下语句组,则输出结果是____int x=0; if(x++<0) printf(“%d”,- -x);printf(“%d”,x++);A.-1B.1C.-1-1D.-1 016.以下程序的输出结果是:___main(){int x=3,y=0,z=0;if(x=y+z) printf(“****”);else printf(“####”);}A.有语法错误不能通过编译B.输出****C.通过编译,但不能通过连接D.输出####答案D17.以下程序的运行结果是:____main(){ int x=1,y=1;switch (x){case 1:switch(y){case 0:printf(“y is 0.\n”); break;case 1: printf(y is 1.\n”); break;default:printf(“y is unknown.\n”); break;}case 2:printf(“I do this.\n”);}}答案: y is 1I do this18.C语言中,while与do—while语句的主要区别是____A.do—while 的循环体至少无条件执行一次。
浙江大学C程题库(更新)
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位小数。
c语言期末考试题库大题及详解答案
c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
计算机c语言综合试题及答案
计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在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对应的摄氏温度。
2022年浙江大学公共课《C语言》科目期末试卷B(有答案)
2022年浙江大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;2、C语言源程序的基本单位是________3、在C语言源程序中,一个变量代表【】。
4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+106、设x为无符号整数。
表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。
请按表达式的求值顺序写出分解步骤,并解释含义。
__________________________________7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、下面程序段将输出computer。
请填空。
char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、下面程序段的运行结果是_______。
int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);10、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。
浙江大学C语言模拟考试试题及解答资料
熊熊看星星整理浙江大学C语言模拟试题1一、判断题。
共10题,每题1分,共10分。
正确的请选择A,错误的请选择B。
1、在C语言中,数组名是一个不可改变的地址常量,不能对它进行赋值运算。
A、正确B、错误2、当顺利执行了文件关闭操作时,fclose函数的返回值是0。
A、正确B、错误3、判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。
A、正确B、错误4、C的double类型数据可以精确表示任何实数。
A、正确B、错误5、break语句只能用于循环语句内部。
A、正确B、错误6、可以根据需要在一个函数中定义另一个函数。
A、正确B、错误7、int *p1[5], (*p2)[5]; 试问语句p1=p1+2是否正确A、正确B、错误8、C语言源程序是可以用来直接运行的程序。
A、正确B、错误9、在C 语言程序中,在函数内部定义的变量称为全局变量。
A、正确B、错误10、在函数调用时,实参和形参共用存储单元。
A、正确B、错误二、单选题。
请从给定的选项中选择一个唯一正确的选项。
每小题2分,共10题,20分。
1、若有:long x=-123L,则以下能够正确输出变量x值的语句是____。
A.printf(“x=%d\n”,x);B.printf(“x=%ld\n”,x);C.printf(“x=%dl\n”,x);D.printf(“x=%LD\n”,x);2、若有以下说明和定义typedef int *INTEGER;INTEGER a,*b;以下叙述正确的是______。
A.a是int型变量B.b是int型的一级指针变量C.a是int型的指针变量D. 程序中可用INTEGER代替int类型名3、下列选项中正确的语句组是______。
A.char s[8]; s={"Beijing"}B.char *s; s={"Beijing"}C.char s[8]; s="Beijing"D.char *s=NULL; s="Beijing"4、若x是实型变量,表达式(x=19/4) 的值是______ 。
大学生C语言期末考试试题汇总
大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。
A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。
A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。
A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。
A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。
A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。
A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。
A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。
A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。
A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。
A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。
A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。
C语言综合试卷三答案
C语⾔综合试卷三答案综合测试三⼀、单项选择题(每题2分,共15题,共30分)(以下各题中,有四个选项A、B、C、D,其中只有⼀个选项是正确的,请将正确的选项填⼊括号中)01. 有定义语句:int b;char c[10],则正确的输⼊语句是()A. scanf(“%d%c”,&b,&c);B. scanf(“%d%c”,&b,c);C. scanf(“%d%s”,&b,c);D. scanf(“%d%s”,&b,&c);02.不属于C语⾔保留字的是( )A. elseB. returnC. printD. while03.函数rewind( )的功能是将⽂件内部指针()。
A. 重置于⽂件⾸B.重置于⽂件末C. 重置于⽂件中部D.重置于当前位置04.从键盘输⼊⼀串字符串的函数是()A.getchar B.putchar C.gets D.puts05. C语⾔中,⽂件的操作有以下四步:①打开⽂件②定义⽂件指针③关闭⽂件④对⽂件进⾏读写操作正确的操作顺序是()A. ①②③④B. ②①④③C. ②①③④D. ①②④③06.设int j=12,请问执⾏j+=j*j后j的值为( )A.144B.13 C.28 D.15607.有命令:FILE *fp; 以追加⽅式打开⽂件d:\a.txt的正确语句是( )A. fp=fopen("d:\a.txt","r");B. fp=fopen("d:\\a.txt","w");C. fp=fopen("d:\a.txt","a");D. fp=fopen("d:\\a.txt","a");08.对数组元素进⾏初始化的正确作法是( )A.int a[3]={1,2,3,4};B.int a[]={1,2,3};C.int a[3]=(1,2,3);D.int a[3]="key";09.设有定义int a=3,b,*p=&a ; 则下列语句中使b不为3的语句是( ).A.b=*&aB. b=*p;C. b=a;D. b=*a;10.不属于C基本算术运算符的是()A.*B./C.^D. %11.设字符变量ch的值为`b`,则函数putchar(ch-32)的输出是( ).A.BB. 66C.bD. 9612.在C语⾔中,下列()循环为⾮法的.A.until语句构成的循环循环B.for语句构成的循环C. while语句构成的循环D. do-while语句构成的循环13.C语⾔中,整型常数不包括的整数形式是()。
大一c语言考试题库及详解答案
大一c语言考试题库及详解答案大一C语言考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. 在C语言中,一个整型变量int占用的内存大小是多少字节?A. 1B. 2C. 4D. 8答案:C二、填空题1. 在C语言中,___________ 用于定义一个变量的存储类型、类型和变量名。
答案:声明2. 一个C语言程序的执行从___________ 函数开始。
答案:main三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储相同类型的多个元素。
数组的定义格式为:类型名数组名[数组大小]。
数组的初始化可以通过赋值语句逐个元素赋值,或者使用初始化列表在定义时直接初始化。
2. 描述C语言中函数的定义和调用过程。
答案:函数是C语言中实现代码复用的一种方式。
函数的定义包括返回类型、函数名、参数列表和函数体。
调用函数时,需要使用函数名和相应的参数列表。
函数的调用过程包括参数传递、函数执行和返回结果。
四、编程题1. 编写一个C语言程序,实现求两个整数的最大公约数。
```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2));return 0;}```答案:上述程序定义了一个名为gcd的函数,通过辗转相除法计算两个整数的最大公约数。
C综合复习题
C综合复习题复习题一、单选题1、一个C源程序至少应包括一个( C )。
A、功能函数B、自定义函数C、main函数D、头文件2、下面全不正确的字符常量是(C)。
A、A p_0 DoB、float la0 _AC、 b-a goto intD、_123 temp INT3、执行以下语句后b的值是( B )Aint a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);&&一边为0另一边不算,||一边为1另一边不算A、6B、0C、1D、44、若以下变量均是整型,且num=sum=7 ; 则计算表达式sum=num++,sum++,++num后sum的值为(B )A、7B、8C、9D、105、设a=10,b=4,执行以下赋值语句后,a的值为( A)a%=b+1A、0B、1C、2D、36、当a=5,b=4,c=2时,表达式a>b !=c的值是( D )A、5B、4C、2D、17、条件“2<x<-10”的c语言表达式是(="" )<=""></xA、2<x<-10<="" ||=""></xB、2<x<3&&x<-10< bdsfid="102" p=""></x<3&&x<-10<>C、x<3||x>2&&x<-10D、x<3&&x>2||x<-10 有交集用&&无交集用||8、以下程序的运行结果是( C)main (){int m=5 ;if(m++>5)printf(“%d ”,m);else printf(“%d”,m--);}A、4B、5C、6D、79、以下程序的输出结果是( B )A、main( ){int x=2,y=-1,z=2;if(x<y)< bdsfid="121" p=""></y)<>if(y<0)z=0;else z+=1;printf(“%d”,z);}A、3B、2C、1D、010、以下对二维数组a的正确说明是( C )A、int a[3][]B、float a(3,4)C、double a[1][3]D、float a(3)(4)11、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( D )。
浙江大学C语言总复习题—基本数据类型和运算.doc
第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+23+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。
字符型数据:以二进制的形式表示char 型用 8位二进制(一个字节)表示如‘a’,在程序中要用单引号表示,输出时无单引号,内存中表示为6+25+20=97 即ASCII 码 97实型数据:以二进制的形式表示(1) float 类型如 123.45 (+123.45)用 32 位二进制(四个字节)表示为 0.12345×103不同的系统,n的位数有不同,n长,精度高,但可表示的指数小,能表示的数的范围小。
浙大版《C语言程序设计(第3版)》题目集--总结
浙⼤版《C语⾔程序设计(第3版)》题⽬集--总结浙⼤版《C语⾔程序设计(第3版)》题⽬集此篇博客意义为总结pta上浙⼤版《C语⾔程序设计(第3版)》题⽬集所做题⽬的错误点,⼼得体会。
1.练习2-10 计算分段函数[1]题⽬截图本题⽬要求计算下列分段函数f(x)的值:公式输⼊格式:输⼊在⼀⾏中给出实数x。
输出格式:在⼀⾏中按“f(x) = result”的格式输出,其中x与result都保留⼀位⼩数。
输⼊样例1:10输出样例1:f(10.0) = 0.1输⼊样例2:输出样例2:f(0.0) = 0.0#include<stdio.h>#include<math.h>int main(void){double x,result;scanf("%lf",&x);if(x==0)result=0.0;elseresult=pow(x,-1);printf("f(%.1f) = %.1f",x,result);return 0;}错误点:(X=0)中少了⼀个'='号printf语句中,输出的格式控制字符为%.1f,意思是指定输出时保留⼀位⼩数,详见课本P25页pta作业上⾯对输出内容空格的要求**2.练习2-12 输出华⽒-摄⽒温度转换表 **输⼊2个正整数lower和upper(lower≤upper≤100),请输出⼀张取值范围为[lower,upper]、且每次增加2华⽒度的华⽒-摄⽒温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表⽰摄⽒温度,F表⽰华⽒温度。
输⼊格式:在⼀⾏中输⼊2个整数,分别表⽰lower和upper的值,中间⽤空格分开。
输出格式:第⼀⾏输出:"fahr celsius"接着每⾏输出⼀个华⽒温度fahr(整型)与⼀个摄⽒温度celsius(占据6个字符宽度,靠右对齐,保留1位⼩数)。
《C语言程序设计》综合练习试卷(一)范文
《C语言程序设计》综合练习试卷(一)试题一判断题 (每题1分,共10 分)(用T表示正确、F表示不正确) 1.C的任何类型数据在计算机内部都是以二进制形式存储的。
2.按格式符“%d”输出float类型变量时,截断小数位后取整输出。
3.字符数组中字符串可以整体输入输出。
4.传值调用的形参只有在被调用时,才被创建(分配存储单元)。
5.C语言中数组名是指针常量。
6.结构体类型中的各成员项数据类型可以不相同。
7.函数必须有返回值,否则不能使用函数。
8.C程序执行总是从第一个函数开始。
9.可以用关系运算符对字符串进行大小比较。
10.For循环只能用于循环次数已确定的场合。
试题二单选题(每题1分共15分)从A)、B)、C)、D)四个选项中,选出正确的一项。
1.以下程序运行后,输出结果是#include"stdio.h"void main( ){ char s[10]="abcde",*p;p=s+2;printf("%s \n",p);}A) cde B)字符c的ASCII码值 C)字符c的地址 D)出错2.对下面函数f,写出f(f(3))的值。
int f(int x){ static int k=0;x+=k--;return x;}A) 5 B) 3 C) 2 D) 43.以下程序运行后,输出结果是#define PT 5#define S(x) PT*x#include"stdio.h"void main( ){ int a=1,b=2;printf ("%d\n",S(a+b));}A) 15 B) 7 C) 8 D) 无正确答案4. 若有 float a[3][4]; 正确的引用第3行第1列的元素是A) **(a+2) B) *(*a+2) C) a[3][1] D) a[3][0]5.语句printf("%.1f,%d\n",10./4,10/8);的输出是A) 2.5, 1.25 B) 2.5, 1 C) 1, 1.25 D) 2, 1.256.下面对数组定义正确的是A) int a[ ]; B)int n=5,a[n];C) int n, a[n]={1,2,3,4,5}; D) int a[10/2];7.若有定义:struct person { char name[9]; int age; } ;person st[10]={{"john",17},{"paul",19},{"Mary",18}};能输出字母M的语句是A) printf("%c",st[2].name);B) printf("%c",st[3].name[1]);C) printf("%c",st[2].name[1]);D) printf("%c",st[2].name[0]);8.不能把字符串:“Hello!”赋给数组b的语句是A) char b[10]={'H','e','l','l','o','!','\0'};B) char b[10];b="Hello!";C) char b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";9.若有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则表达式值为6的是A)*p+6 B)*(p+6) C)*p+=5 D)p+510. 已知:int *p,m=5, n; 正确的程序段是A) p=&n; scanf(" %d",&p); B) p=&n; scanf(" %d", *p);C) scanf("%d",&n); *p=n; D) p=&n; *p=m;11. 下面程序的运行结果是:#include"stdio.h"void main( ){ int x[4]={ 2,4,6,8},*p, **pp;p=x;pp=&p;printf("%d",*p);printf("%3d",**pp);}A) 4 4 B) 2 4 C) 2 2 D) 4 612.下面程序执行后a的值是#include"stdio.h"void main( ){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1!=&m;printf("%d\n",a);}A)4 B)1 C)0 D)运行时出错,a无定值13.下列语句序列中,能够将变量u、s中最大值赋给变量t的是A) if (u>s) t=u; t=s; B) t=s; if (u>s) t=u;C) if (u>s) t=s; else t=u; D) t=u; if (u>s) t=s;14. 若有 int a=7,b=12;则语句printf("%d",a&b);输出结果A) 19 B) 9 C) 5 D) 415.若有 FILE *fp; 以“只读”方式打开文本文件a:\aa.dat,下列语句中正确的是A) fp=fopen("a:\aa.dat","w");B) fp=fopen("a:\aa.dat","r");C) fp=fopen("a:\\aa.dat","w");D) fp=fopen("a:\\aa.dat","r");试题三阅读程序题( 每题4分,共24分)写出读下列程序的输出结果1. #include<stdio.h>void main(){ char ch;for(ch='a';ch<'f'; ch++){ putchar(ch-32);putchar(ch);}}2. #include"stdio.h"void main(){ int i;for( i=1;i<=4;i++){ if ((i%3)==0) { printf("$"); continue;} else printf("*");printf("#");}}3. #include "stdio.h"void main(){ int i;for(i=1;i<5;i++)switch(i%5){ case 5: printf(" 5");case 3: printf(" 3");case 1: printf(" 1");default: printf("%2d",i);}}4. #include"stdio.h"void main(){ int x[10];int t,i,j,m=1;for(i=0;i<10;i++){ m=-m;x[i]=m*i;}for(i=1;i<10;i++){ t=x[i];for(j=i-1; j>=0; j--)if(t>x[j]) break;else x[j+1]=x[j];x[j+1]=t;}for(i=0;i<10;i++) printf("%3d",x[i]);}5. #include<stdio.h>void main(){ void swap1(int x ,int y );void swap2(int *x,int *y);void swap3(int &x,int &y);int a1,b1,a2,b2,a3,b3;a1=a2=a3=10;b1=b2=b3=5;swap1(a1,b1);swap2(&a2,&b2);swap3(a3,b3);printf("a1=%d b1=%d\n",a1,b1);printf("a2=%d b2=%d\n",a2,b2);printf("a3=%d b3=%d\n",a3,b3);}void swap1(int x,int y){ int t;t=x;x=y;y=t; }void swap2(int *x,int *y){ int t;t=*x; *x=*y; *y=t; }void swap3(int &x,int &y){ int t;t=x; x=y; y=t; }6.struct node{int num;node *next;};int fun( node *h){ int s,n=0,i;node *p=h ;while(p!=NULL){ for(s=0,i=1;i<p->num;i++)if ((p->num)%i==0) s+=i;if (s==p->num) n++;p=p->next;}return n;}写出执行语句“printf(“%d\n”,fun(head));”的输出结果。
浙江大学C程汇总题库(更新)
输入
3 (repeat=3)
0 (计算0+1+2+...+100)
10 (计算10+11+12+...+100)
50 (计算50+51+52+...+100)
输出
sum = 5050
sum = 5005
sum = 3825
#include <stdio.h>
int main(void)
}
}
20035程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
读入一个正整数n,计算1-1/4+1/7-1/10+……的前n项之和,输出时保留3位小数。
输入输出示例:括号内是说明
输入
2 (repeat=2)
3
10
输出
sum = 0.893
输入输出示例:括号内是说明
输入
2 (repeat=2)
10 (x=10)
0 (x=0)
输出
f(10.00) =0.1
f(0.00) = 0.0
#include <stdio.h>
int main(void)
{
int repeat, ri;
double x, y;
scanf("%d", &repeat);
double x, y;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合练习一、判断题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.赋值语句是一种可执行语句。
46. for语句的循环体不能是空语句。
47.可以调用putchar 函数输出字符。
48. C程序的main函数可以有参数,但参数不能是整型。
49. 在一个C程序中,全局变量和局部变量是不能同名的。
50.C 编译中的预处理是在编译之前进行的。
51.C 语言程序的三种基本结构是顺序结构、转移结构和循环结构。
52.C语言中 0xe 是合法的十六进制整数。
53.在程序的运行过程中,其值可以改变的量是变量。
54.八进制数0x11的十进制数是9。
55.在赋值表达式的尾部加上一个分号,就构成了赋值语句。
56. C语言不允许循环嵌套。
57.可以调用getchar 函数输入字符。
58. C程序中各函数之间允许直接递归调用不允许间接递归调用。
59. 局部变量不能在复合语句内部定义。
60. 宏定义是可以带参数的。
二、选择题1. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A.循环 B.递归 C.转移 D.嵌套2.以下选项中正确的整型常量是_____。
A. 12. B. -10 C. 1,900 D. 123x3.在C 语言程序中,用关键字______定义基本整型变量。
A. int B. float C. double D. char4. Turbo-C 语言中,字符类型数据占_____字节。
A. 1 个 B. 2 个 C. 4 个 D. 8 个5.若a、b、c、d都是int类型变量且初值为0, ______不是正确的赋值语句。
A.a=b=c=0; B.a=b; C.c+b; D.d=(c=22)-(b++);6.若变量已正确定义并赋值,符合C语言语法的表达式是______。
A. a=a±1 B. int(12.0%2) C. a=a+1; D.a=a7.若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。
A.scanf(‖%d,%f‖,&a,&c); B.scanf(‖%d%f‖,a,c);C.scanf(‖%d%f‖,&a,&c); D.scanf(‖d=%d,c=%f‖,&a,&c);8.对C程序在作逻辑运算时判断操作数真、假的表述,______是正确的。
A.0为假非0为真 B.只有1为真 C.-1为假1为真 D.0为真非0为假9. C 语言中的简单数据类型有____。
A.整型、实型、逻辑型 B.整型、实型、字符型C.整型、字符型、逻辑型 D.整型、实型、字符型、逻辑型10. C 语言程序规定必须用main作为______。
A.主函数名 B.子函数名 C.程序名 D.变量名11.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A.float f,*pf=f; B.float f,*pf=&f; C.float *pf=&f,f; D.float f,pf=f;12.若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。
A.p2=p1; B.p2=**p1; C.p2=&p1; D.p2=*p1;13.定义一个4个元素的一维整型数组,_____是正确的。
A.float a[4]; B.int a[ ]={1,2,3,4,5}; C.int a[ ]={1,2,3}; D.int a[4]={1};14. 数组定义为 int a[3][2],数组a中有_____个元素。
A.2 B. 3 C.5 D.615. 以下能正确进行字符串赋值或赋初值的语句组是______。
1A.char str[3]="key";B.char str[3]={'k','e','y'};C.char str[4];str="key";D.char *s; s="key";16.C语言中,形参的缺省的存储类说明是______。
A. auto B.static C. register D.extern17. 若变量已正确定义,表达式 (j=3,j++) 的值是_____ 。
A.3 B. 4 C.5 D.018. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_____ 。
A.2.5 B. 2.0 C. 3 D.219. 为读而打开文本文件 aa.dat,的正确写法是_____。
A.fopen(‖aa.dat‖,‖rb‖); B.fopen(‖aa.dat‖,‖w‖)C.fopen(‖aa.dat‖,‖wb‖); D.fopen(‖aa.dat‖,‖r‖)20. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____。
A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算21.C 语言程序的三种基本结构是顺序结构、______结构和循环结构。
A.选择 B.递归 C.转移 D.嵌套22.以下选项中不正确的整型常量是_____。
A.0 B.–10u C.20L D.-123423.在C 语言程序中,用关键字______定义短整型变量。
A.short B.float C.double D.char24.十进制数 16 的十六进制数是_____。
A.11 B.12 C.13 D.1025.若变量已正确定义,______是合法的 C 语句。
A.a=1,b=2 B.a=1=b; C.a=b=5; D.y=;26.若变量已正确定义并赋值,符合C语言语法的表达式是______。
A.a=3,5; B.a+=1 C.a=a+1=3 D.12.3%427.若a是单精度实型变量,c是基本整型变量,以下正确的输入语句是______。
A. scanf ("%f%d", a, c) ; B. scanf ("%f%d", &a, &c) ;C. scanf ("%f%f", &a, &c) ; D. scanf ("%d%f", &a, &c) ;28.在 C 程序中,用_____表示逻辑值“真”。
A.true B.非 0 的数 C.非 0 整数 D.大于 0 的数29. 设有说明语句char a=‘\n‘;,则变量a_____。
A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法30. C 语言程序由组成。
A.子程序 B.过程 C.函数 D.主程序和子程序31.下列语句定义pd为指向int类型变量d的指针,_____是正确的。
A.int d,*pd=&d; B.int *pd=&d,d; C.float d,*pd=&d; D.float *pd=&d,d;32. 若变量已正确定义并且指针p已经指向变量x,则&*p相当于_____。
A.x B.*p C.p D.*&x33.定义一个4个元素的一维整型数组,_____是不正确的。
A.int a[4]; B.int a[4]={1,2,3,4,5}; C.int a[4]={1,2,3}; D.int a[4]={1};34. 数组定义为 int a[3][2]={1,2,3,4,5,6},数组元素_____的值为6。
A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3]35. 不正确的字符串赋值或赋初值的方式是______。
A.char str[]="string";2B.char str[7]={'s','t','r','i','n','g'};C.char str[10];str="string";D.char str[7]={'s','t','r','i','n','g',‘\0‘};36. 要调用数学函数时,在#include命令行中应包含_____。