浙江大学C语言期末考试试卷 2000A
浙江大学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语言概述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语言程序设计理论考试模拟试题答案

浙江大学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语言期末考试练习题(带详解答案)

一、单项选择题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 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。
C语言期末考试试卷附参考答案

C语言期末考试一试卷附参照答案序列中 10 个数的次序为:,若使用次序比较法,经过三轮排序后,这10 个数的次序为:。
3. 调用字符串办理函数时,应在程序的开头增添预编译命令:#include<>,puts( )函数将一个以结束的字符序列(字符串)输出到终端4.C 语言中,函数分为系统供给的和用户自定义函数两类,也可分为有参函数和两类。
5.函数的递归调用指在调用一个函数的过程中又。
6.函数值只好经过语句返回主调函数。
四、程序改错(求出两个非零正整数的最大条约数在右侧写出正确内容, 5× 2)#include<stdio.h>int fun(int a, b ){ int r,t;if(a<b) {t=a;b=a;a=t;}r=a%b;while(r!=0){a=b;b=r;r=a/b;}return a;}五、阅读程序写出运转结果(4×5)1.# include<stdio.h>int main( ){ void fun(int x);fun(8);printf("\n");}void fun(int x){if(x/2>0) fun(x/2);printf("%d",x);}运转结果为:3. #include <stdio.h># include<math.h>int main( ){ int i,j,n=0;for(i=― 5;i<=5;i++){ if(i%2!=0) n++;for(j=1;j<=abs(i);j++) printf( “ “);,并作为函数值返回。
在错误下边划横线,void main( ){ int n1,n2,a;printf( “please input n1,n2:\n ”);scanf( “%d%d”,&n1,&n2); a=fun(n1,n2);printf("最大条约数是: %d\n",a);}2.# include <stdio.h>void main ( ){ char s1[ ]=” This book ”;char s2[ ]= ” THIS hook ”;int i;for (i=0;s1[i]!= 0’ &&s2[i]!= 0’i++);if(s1[i]!=s2[i]) printf( “ %c” ,s1[i]);}运转结果为:4.#include <stdio.h>int main( ){int i,j,x;int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++){x=a[i];j=i-1;while(j>=0&&x<a[j])六、程序填空题(结果按次号填在下方对应横线上, 10× 2 分)1、编程实现将十进制整数 n 变换成十六进制 2、编写判断能否为素数的函数,在主函数 数输出。
浙大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语言中,使用____关键字可以定义一个宏。
2000年秋浙江省计算机等级考试二级C试卷及答案

2000年秋等级(二级C语言)考试试卷试题一、计算机基础题(本题共15分)单选题(每题1分,共10分)1.软盘加上写保护后,对它可以进行的操作是()A.只能读盘,不能写盘B.只能写盘,不能读盘C.既可读盘,又可写盘D.既不能读盘,也不能写盘2.在语言处理程序中,编译程序的功能是()A.解释执行高级语言程序B.将汇编语言程序编译成目标程序C.解释执行汇编语言程序D.将高级语言程序翻译成目标程序3.下列有关计算机病毒的说法中,是错误的。
A.游戏软件常常是计算机病毒的载体B.尽量做到专机专用或安装正版软件,是预防计算机病毒的有效措施C.用消毒软件将一片软盘消毒之后,该软盘就没有病毒了D. 计算机病毒在某些条件下被激活之后,才开始起干扰和破坏作用4.在Window95中,桌面是指。
A.电脑桌面B.活动窗口C.文档窗口D.窗口、图标和对话框所在屏幕背景5.在Windows95资源管理器窗口的左窗格中,文件夹图标含有“+”时,表示该文件夹。
A.只含有文件B.是空文件夹C.含有子文件夹D.只含有文件而不含有文件夹6.以下是用十六进制表示的两个连续的存储单元的内容,其中一定不是汉字编码。
A.A0A0H B.1234H C.BBBBH D.ABCDH7.下列有关Word97格式刷的叙述中,是正确的。
A.格式刷既可以复制字体格式也可以复制段落格式B.格式刷只能复制字体格式C.格式刷只能复制段落格式D.格式刷只能复制纯文本的内容8.在Word97表格中,单元格内能填写的信息。
A.只能是文字B.只能是文字或符号C.只能是图像D.文字、符号、图像均可9.调制解调器的功能是实现。
A.数字信号与模拟信号的转换B.数字信号的整形C.模拟信号的放大D.数字信号的编码10.计算机网络最突出的优点是。
A.存储最大B.资源共享C.运算速度快D.运算精度高填空题(每题1分,共5分)1.CPU是计算机的核心部件,该部件主要由组成。
2.十进制数157.375转换成对应的十六进制数是。
2000年秋浙江省二级C语言笔试试卷

2000年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)说明:考生应将全部答案填写在答卷上,否则作无效处理。
考试时间为120分钟。
试题一、计算机基础题(本题共15分)(一)单选题(每题1分,共10分)1.软盘加上写保护后,对它可以进行的操作是(1)。
A.只能读盘,不能写盘B.只能写盘,不能读盘C.既可读盘,又可写盘D.不能读盘,也不能写盘2.在语言处理程序中,编译程序的功能是(2)。
A.解释执行高级语言程序B.将汇编语言程序编译成目标程序C.解释执行汇编语言程序D.将高级语言程序翻译成目标程序3.下列有关计算机病毒的说法中,(3)是错误的。
A.游戏软件常常是计算机病毒的载体B.尽量做到专机专用或安装正版软件,是预防计算机病毒的有效措施C.用消毒软件将一片软盘消毒之后,该软盘就没有病毒了D.计算机病毒在某些条件下被激活之后,才开始起干扰和破坏作用4.在Windows95中,桌面是指(4)。
A.电脑桌B.活动窗口C.文档窗口D.窗口、图标和对话框所在的屏幕背景5.在Windows95资源管理器窗口的左窗格中,文件夹图标含有“+”时,表示该文件夹(5)。
A.只含有文件B.是空文件夹C.含有子文件夹D.只含有文件而不含有文件夹6.以下是用十六进制表示的两个连续的存储单元的内容,其中 6)一定不是汉字编码。
A.A0A0H B.1234H C.BBBBH D.ABCDH7.下列有关Word 97格式刷的叙述中,(7)是正确的。
A.格式刷既可以复制字体格式也可以复制段落格式B.格式刷只能复制字体格式C.格式刷只能复制段落格式D.格式刷只能复制纯文本的内容8.在Word 97表格中,单元格内能填写的信息(8)。
A.只能是文字B.只能是文字或符号C.只能是图像D.文字、符号、图像均可9.调制解调器的功能是实现(9)。
A.数字信号与模拟信号的转换B.数字信号的整形C.模拟信号的放大D.数字信号的编码10.计算机网络最突出的优点是(10)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
z=*x+y+z; printf("%d, %d, %d#", *x, y, z); } void main() { int x=1, y=5, z=9; p(&x, y); printf("%d, %d, %d#", x, y, z); } 4. 若输入 -6+15*3/5=<回车> , 则以下程序的输出结果是_______。 #include <stdio.h> void main() { int m=0, sum=0; char c, oldc='+'; do {
#define A 10
#define B (A<A+2)-2
printf("%d", B*2);
4. 写出判断字符变量 c 是英文字母的表达式
。
5. 写出下列程序段的输出结果。
int k, x;
for (k=0, x=0; k<=9&&x!=10; k++)
x+=2;
printf ("%d, %d", k, x) ; 6. 写出下列程序段的输出结果。
c=getchar(); if(c<='9'&&c>='0') m=10*m+c - '0'; else {
if(oldc=='+') sum += m; else sum -= m; m=0; oldc=c; printf("%d, ", sum); } } while(c!='='); }
四、程序填空题(每空 2 分,共 20 分)
for(c=getchar(); getchar()!=’#’; c=getchar())
putchar(c);
}
10. 执行程序 find –nx ould text.txt 时,*++argv[1]的值是_______。 三、程序阅读题(每题5分,共20分)
1. 若输入 3 1 2 3 <回车> , 则以下程序的输出结果是_______。
二、填空题(每小题 2 分,共 20 分)
1. 写出下列程序段的输出结果。 float x1, x2;
x1=3/2; x2=x1/2; printf("%d, %.1f", (int)x1, x2) ; 2. 表达式 (7<<1>>2^2 ) 的值是_______。 3. 写出下列程序段的输出结果。
main()
{
char
name[10];
int mark;
struct link * t;
while ( 1 ) {
scanf("%s %d", name, &mark); if ( strcmp(name, "#") == 0 ) break; ______(1)_______; } for (t=head; ______(2)_______) printf("<%s>: %d\n", t->name, t->mark); } void insert(char * name, int mark) { struct link * p; p = ______(3)_______ ; strcpy(p->name, name); p->mark = mark; ______(4)_______; if ( head != NULL ) ______(5)_______; head = p; } 2. prog.c 是带命令行参数的程序。运行 prog filename 时,将文本文件 filename 中的内容原样 输出;运行 prog -u filename 时,将文本文件 filename 中的所有字母以大写方式输出(其余 字符原样输出);运行 prog -d filename 时,只将文本文件 filename 中的数字输出。 # include <stdio.h> # include <ctype.h> void main(int argc, char * argv[]) { FILE *fp; char * filename, ch; int tag=0; if (argc <2 || argc>3) { printf(“Argument error\n”); return; } if (argc == 3) { if (strcmp(argv[1], “-u”) == 0) tag=1; else if (strcmp(argv[1], “-d”) == 0) tag=2; else {printf(“Option error\n”); return;} ______(6)_______; } else filename = argv[1]; if (______(7)_______) { printf(“Cannot open file\n”); return; } while (______(8)_______ ) { ch = fgetc(fp); if ( tag == 0 ) putchar(ch); else if ( tag == 1 ) ______(9)_______; else if ( ______(10)_______) putchar(ch); } fclose(fp); }
五、编程题 ( 共 10 分,混合班学生做第2题,其他学生做第1题)
1. [程序说明] (10 分) 输入 m 和 n(m≥n≥0)后,计算下列表达式的值并输出。 m! n!*(m-n)! 要求将计算阶乘的运算写成函数 fact(n),函数返回值的类型为 float。
2. [程序说明] (10 分) 编写函数 strcmp(char * s1, char * s2)。若 s1 和 s2 均是数字串(包括+/-号),则按照十进制
} 2. 若输入89 76 24 25 9 8 11 16 35 4 <回车> , 则以下程序的输出结果是_______。
#include "stdio.h" #define N 10 main() {
int x[N], y1[N], y2[N]; int i, j, n1, n2, t, p; n1=n2=0; for(i=0;i<N;i++){
C、“/*”和”*/” D、“*/”和”/*”
2. 下列运算符中,优先级最低的是_____。
A、*
B、!=
C、+
D、=
3. 若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。
A、3
B、 4
C、5
D、0
4. 已知字符 ‘a’ 的 ASCII 码为 97 ,执行下列语句的输出是_____。
struct {
int len;
char *str;
} *p;
A、指针 str 上 B、指针 p 上
C、str 指的内容上
15. 对于如下说明,语法和语义都正确的赋值是_____。
int c, *s, a[]={1, 3, 5};
A、c=*s;
B、 s[0]=a[0];
C、s=&a[1];
D、以上均不是 D、 c=a;
2000~2001 学年《程序设计基础-C》试卷
考试时间: 2000 年 12 月 31 日上午 8:30-10:30
注: 请将答案写在答卷上
一、单项选择题(每小题 2 分,共 30 分)
1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A、‘{‘ 和’}’ B、‘[‘和’]’
A、 i!=0 && j!=0 B、i*j!=0
C、!(i==0 || j==0) D、i&&j
9. 若 a 是基本整型变量,c 是单精度实型变量,输入语句______是错误的。
A、scanf(”%d,%f”, &a, &c);
B、scanf(”d=%d, c=%f”, &a, &c);
C、scanf(”%d%f”, &a, &c);
#include "stdio.h"
void main()
{ int i, j, n, a[10]; scanf("%d", &n); for (i=0; i<n; i++) scanf("%d",&a[i]); for (i=0; i<n; i++) for (j=0; j<n; j++) printf("%d, ", a[(i+j)%n]);
if(y2[p]<y2[j]) p=j; if(p!=i){
t=y2[i]; y2[i]=y2[p]; y2[p]=t; } } for(i=0; i<n1; i++) printf("%d, ", y1[i]); for(i=0; i<n2; i++) printf("%d, ", y2[i]); } 3. 以下程序的输出结果是_______。 #include <stdio.h> int z; void p(int *x, int y) { ++*x; y--;
1. 下列程序的功能是创建单向链表。
#include <stdio.h>
#include <alloc.h>