浙江大学C语言期末考试试卷-2000Ad
- 格式:doc
- 大小:42.50 KB
- 文档页数:2
第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。
但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。
如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是 C 。
A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。
因此,如果注释中存在错误,系统是不可能发现的。
另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。
1.3以下叙述不正确的是 D 。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。
C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。
1.4 C语言规定:在一个源程序中,main函数的位置 C 。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。
A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是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期末考试题及答案一、选择题(每题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语言中,使用____关键字可以定义一个宏。
(word 版)C 语言程序设计期末考试卷及答案.doc,文档1 / 91装 装 .--C 语言程序设计期末考试卷及答案- -- -- -- - --- -- - - - - - --- - 得分 阅卷人 复核人 --- -- -- - - - - -- ---- -A 、B 、C 、D 四个选项中,选择一个最正确答案填入括号内 (每题 1分,共计 30分)。
- -一、单项选择题。
从- -- -- -- -〕。
- -1.一个C 语言程序的执行是从〔- -2 1 - -- 号 - A 〕本程序文件的第一个函数开始,到本程序文件的最后一个函数结束-- - - -- 学 -- - -- - - B 〕本程序的main 函数开始,到main 函数结束- - -- - -- - -- - -- - - C 〕本程序的main 函数开始,到本程序文件的最后一个函数结束- - -- - -- - - - -- D 〕本程序文件的第一个函数开始,到本程序的main 函数结束- --- - -- - -- - -C 语言关键字的是〔 〕。
- - -2.以下选项中不属于- - - ...- --- ---- -- A 〕switch B 〕printf C〕default D 〕case- --- - -- -3.设有语句inta=4; ,那么执行了语句a+=a-=a*a; 后,变量a 的值是〔 〕。
-- --名A 〕24B 〕-24C 〕4D 〕16-- -姓第 第 --- 4.inti;floatd; ,那么正确的表达式是〔 〕。
--- --A 〕(intd)B 〕int(d)%i C 〕(int)d%iD 〕int(d%i) -- -- -,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是〔 - 线 -5.inti,a;〕。
- - - - -- - - - --- - -A 〕5B 〕16C 〕27D 〕38 - - - - - - - - -- - - 〕。
大学生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值的语句是。
一、单项选择题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.-a1B.a[i]C.a2_iD.int t5~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)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30分)1、以下关于C语言标识符的描述中,正确的是【】。
A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。
int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
A)’a’&&’b’ B)a<=b C)((a>b)||(b<c)D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0]D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。
A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】A. p1=&kB. p2=p1C. *p1=k+12D. k=p1+p29、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】A. 静态(static)B.外部(extern)C. 自动(auto)D. 寄存器(register)10、如下程序的输出结果是【】main( ){ int x=2,a=0,b=0;switch(x){ case 2: a++; b++;case 1: ++a; b--; break;case 0: b++;}printf("a=%d, b=%d\n", a, b);}A. a=2, b=0B. a=2, b=1C. a=1, b=1D. a=1, b=011、表示关系a<b<=c的C语言表达式为【】A. (a<b)&&(b<=c)B. (a<b)AND(b<=c)C. (a<b<=c)D. (a<b)&(b<=c)12、有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3) ; elseif(x !=10)printf(“%d\n”,x); }程序运行时,输入的值在哪个范围才会有输出结果。
..C语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。
1.一个C 语言程序的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
2000~2001学年《程序设计基础C》参考答案
1 1, 0.521
3 -3
4 c>=‟a‟&&c<=‟z‟|| c>=‟A‟&&c<=‟Z‟
5 5, 10 60, -1
7 -17 813, d
9 135 10…n‟
三、程序阅读题(每题5分,共20分)
1 1, 2, 3, 2, 3, 1, 3, 1, 2,24, 8, 16, 24, 76, 89, 35, 25, 11, 9,
3 2, 4, 6#2, 5, 9#
4 0, -6, 9, 6, 1,
四、程序填空题(每空 2 分,共 20 分)
(1)insert(name, mark)
(2)t!=NULL; t=t->next
(3)(struct link *)malloc(sizeof(struct link))
(4)
(5)p->next = head
(6)
(7)(fp=fopen(filename, “r”)) == NULL
(8)! feof(fp)
(9)putchar(toupper(ch))
(10)tag== 2&& isdigit(ch)
五、编程题 ( 共 10 分,混合班学生做第2题,其他学生做第1题)
1、
#include <stdio.h>
float fact(int);
main()
{
int m, n;
float val;
scanf(“%d%d”, &m, &n);
val = fact(m) / (fact(n) * fact(m-n));
printf(“V alue: %f\n”, val);
}
float fact(int n)
{
if ( n <= 0 ) return 1;
return(fact(n-1) * n); } float fact(int n)
{ int i; float f=1;
for(i=1; i<=n; i++)
f=f*i;
return f;
}
2、
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int strcmp(char * s1, char * s2)
{
int token =0, val1, val2, n, i;
for (i=0; s1[i]!=‟\0‟; i++)
if ( s1[i]!=‟+‟ && s1[i] !=‟-… && !isdigit(s1[i])) { token = 1; break; } for (i=0; !token && s2[i]!=‟\0‟; i++)
if ( s2[i]!=‟+‟ && s2[i] !=‟-… && !isdigit(s2[i])) { token = 1; break; } if ( token == 0 )
{
val1 = atoi(s1);
val2 = atoi(s2);
if ( val1 > val2 ) n = 1;
else if ( val1 < val2 ) n = -1;
else n = 0;
return n;
}
else
{
for (i=0; s1[i]!=‟\0‟ && s2[i]!=‟\0‟; i++)
if ( s1[i] > s2[i] ) return 1;
else if ( s1[i] < s2[i] ) return –1;
if ( strlen(s1) = = strlen(s2) ) return 0;
if ( s[i] = = …\0‟ ) return –1;
else return 1;
}
}。