您当前的位置:首页 > 互联网教程

C语言期末考试试题(谭浩强版)

发布时间:2025-05-13 10:34:21    发布人:远客网络

C语言期末考试试题(谭浩强版)

一、C语言期末考试试题(谭浩强版)

1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer代表的是()。

B存放读入数据的地址或指向此地址的指针

D一个整形变量,代表要读入的数据项总数

printf("%d,%d\n",i++,j--);

3.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

4.设i和k都是int类型,则for循环语句()。

case'c':printf("%c,",c);break;

6.函数调用语句:fseek(fp,-10L,2);的含义是()。

A将文件位置指针从文件末尾处向文件头的方向移动10个字节

B将文件位置指针从当前位置向文件头的方向移动10个字节

C将文件位置指针从当前位置向文件末尾方向移动10个字节

D将文件位置指针移到距离文件头10个字节处

while(s1[i]!='\0')

while(s2[j]!='\0')

A主函数main中定义的变量在整个文件或程序中有效

B不同函数中,可以使用相同名字的变量

D在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

9.在下列程序段中,枚举变量 c1的值是()。

enum color{ red,yellow,blue=4,green,white}c1;

10.设有说明 int(*ptr)();其中标识符ptr是()。

B是一个指针,它指向一个函数值是int的函数

11.定义由n个指向整形数据的指针组成的数组p,其正确的方式为()。

12.具有相同类型的指针类型变量p与数组a,不能进行的操作是()。

二判断对错,对的划“√”,错的划“×”(20分,每小题2分)

1.参加位运算的数据可以是任何类型的数据。()

3.C语言把文件看作是一个字符(字节)的序列。()

由于变量t没定义,所以此宏定义是错误的。()

5.在Turbo C中,下面的定义和语句是合法的:

则Turbo C系统为数组s开辟6个字节的内存单元。()

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

s[5]={{1,"lili",98.5},{9,"xiaohua",66}},*p=s;printf("%d",*p++);

9.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。()

10.在Turbo C中,此定义和语句是合法的:

三写出下列程序的运行结果(36分,每小题6分)

while(x%3==0);//先执行,后判断

printf(“x=%d\ty=%d\ts=%d\n”,x,y,s);

int a[6]={10,20,30,40,50,60},i;

invert(int s[ ],int i,int j)//倒置

invert(s,i+1,j-1);//函数自身的嵌套调用,形成循环

char str[ ]="The C program",c;

for(i=2;(c=str[i])!='\0';i++)

case'g':++i; break;//由于++i,跳过了g后面的1个字母

default: printf(“%c”,c); continue;

printf("word value:%04x\n",uw.word);

printf("high byte:%02x\n",uw.byte.high);

printf("low byte:%02x\n",uw.byte.low);

printf("word value:%04x\n",uw.word);

printf("the result:%04x\n",result);

char*s2="I love China!",**s1=&s2;

printf("%s\t%c\t%s\t%c\n",s2,*s3,s4,**s1);

四阅读下列程序,在处填入适当内容,使程序完整(20分,每个空2分)

1.百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?

for(hm=0;hm<=100-hb;hm+=(2))

printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);

2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。

3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

void maxmin(int arr[],int*pt1,int*pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

void maxmin(int arr[],int*pt1,int*pt2,int n)

二判断对错,对的划“√”,错的划“×”(20分,每小题2分)

三写出下列程序的运行结果(36分,每小题6分)

四阅读下列程序,在处填入适当内容,使程序完整(20分,每个空2分)

2.(4) str(5) str[i]=str[i+1](6) str[i+1]=t

4.(9)*ptr1=arr[i](10)*ptr2=arr[i]

二、北京工业大学计算机专业近几年c语言期末考试题

北京工业大学实验学院2012―2013学年第一学期

适用专业:计算机科学与技术考试方式:机考考试时间:2012年12月

班级学号 12570219姓名:李志伟成绩

编程题,将程序源代码粘贴到试卷相应题目下端,以学号姓名命名文件。

选择或填空题(每小题2分共20分)

1.完整的计算机系统应包括( B)。

A.主机和外部设备 B.硬件系统和软件系统

C.操作系统和应用软件系统 D.输入设备和输出设备

A.do-while语句构成的循环不能用其它语句构成的循环来代替。

B.do-while语句构成的循环只能用break语句退出。

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

3. C语言中运算对象必须是整型的运算符是。

4.将高级语言编写的程序翻译成机器语言程序,采用的两种翻译方式是

5.微型计算机系统的中央处理器是由组成的

A.内存储器和控制器 B.主存储器和运算器

C.控制器和运算器 D.内存储器.控制器和运算器

6.以下符号在C语言中不能用作用户标识符。

7.计算机能直接执行的程序设计语言是。

8.下列能正确表示a≥10或a≤0的关系表达式是_______。

A. a>=10or a<=0 B. a>=10| a<=0

C. a>=10|| a<=0 D. a>=10&& a<=0

9.C语言中用 1表示逻辑值“真”,用 0表示逻辑值“假”。

10.微机中1个字节表示的二进制位数是 8位数。

1.下面这个程序用于读入5个整数,当程序读入的数据n为正整数时,则显示该数,请补充程序。(5分)

if(n> 0)printf(“该整数为:%d”,n);

printf("Programis over!\n");

2.改写下段程序,实现从控制台输入任意字符如果是大写转换成小写,如果是小写转换成大写,其它字符原样输出。(10分)

if(c1<='z'&& c1>='a')

printf("大写字母为:%c\n\n",c2);}

else if(c1<='Z'&& c1>='A')

printf("小写字母为:%c\n\n",c2);

printf("原字符为:%c\n\n",c1);

3.下列程序有何错误?请改正。(10分)

4.阅读程序,补充程序的功能。(10分)

从键盘任意输入一个年号(year),判断它是否是闰年。若是闰年,输出“它是闰年”,否则输出“它不是闰年”。已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。能被400整除。

if((year%4=0&&year%100!=0)||year%400=0)

三、编写程序,并调试程序正确运行。

1.编写一个程序,从键盘输入某计算机的价格,再输出该价格打7折后的价格。(15分)

printf("输入一台计算机的价格:");

printf("打7折后的价格为:%.1f\n\n",b);

2.从键盘输入一个三位数,求各位数字之和。例如:输入的三位数是385,输出结果为3+8+5=16;(15分)

printf("请输入一个三位数:");

printf("各位数字之和为:%d\n\n",e);

3.日本一位中学生发现一个奇妙的“定理”,请角古教授证明,而角古教授无能为力,于是产生角古猜想,猜想的内容是:任意自然数,若为偶数除以2,若为奇数则乘以3加1,得到一个新的自然数,按照上面的法则继续演算,若干次后结果必然为1,请编程验证。(15分)

printf("所得结果为:%d\n",a);

我是实验学院的,这是我们2012大一期末的,希望有帮助,里面的答案是自己写的,可忽略

三、大一期末C语言考试的重点是什么

(A)调用函数时,实参可以是表达式

(B)调用函数时,实参与形参可以共用内存单元

(C)调用函数时,将为形参分配内存单元

(D)调用函数时,实参与形参的类型必须一致

(B) C语言的主函数最多允许有1个形式参数

(C) C语言的主函数最多允许2个形式参数

(D) C语言的主函数可以有2个以上形式参数

3、C语言中函数返回值的类型是由【】决定的。

4、若x为int型变量,则以下函数fun【】。

(A)不同函数中可以使用相同名字的变量

(C)一个函数内部定义的变量只能在本函数范围内有效

(D)在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

6、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是【】。

(C)由实参传给形参,并由形参传回来给实参十

7、若用数组名作为函数调用时的实参,则实际上传递给形参的是【】。

8、凡是函数中未指定存储类别的变量,其隐含的存储类别为【】。//应该为局部变量

9、在C语言中,对于存储类型为【】的变量,只有在使用它们时才占用内存单元。

10、在一个源文件中定义的全局变量的作用域为【】。

(D)从定义变量的位置开始至文件结束

11、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别为【】。

(A)在函数之外定义的变量称为外部变量,外部变量是全局变量

(B)在一个函数中既可以使用本函数中的局部变量,又可以使用全局变量

(C)外部变量定义和外部变量说明的含义不同

(D)若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用

13、以下正确的函数定义形式是【】。

(A)实参和与其对应的形参各占用独立的存储单元

(B)实参和与其对应的形参共占用一个存储单元

(C)只有当实参和与其对应的形参同名时才共用存储单元

(D)形参是虚拟的,不占用存储单元

15、若调用一个函数,且此函数中没有return语句,则正确的说法是【】。

(C)能返回一个用户所希望的函数值

(A)定义函数时,形参的类型说明可以放在函数体内

(B) return后边的值不能为表达式

(C)如果函数的类型与返回值类型不一致,以函数类型为准

(D)如果形参与实参的类型不一致,以实参类型为准

17、以下程序有语法性错误,有关错误的原因的正确说法是【】。

(A)语句void prt_char();有错,它是函数调用语句,不能用void说明

(C)函数说明和函数调用语句之间有矛盾

(A)函数的定义可以嵌套,但函数的调用不可以嵌套

(B)函数的定义不可以嵌套,但函数的调用可以嵌套

(C)函数的定义和函数的调用均不可以嵌套

(D)函数的定义和函数的调用均可以嵌套

如果在一个函数中的复合语句中定义了一个变量,则该变量

20、以下程序的正确运行结果是【】。

for(i=0;i<3;i++) printf("%4d",f(a));

21、请选择正确的运行结果填入【】中。

(A) 08, 20(B) 8, 8(C) 8, 17(D) 8, 16

22、请选择正确的运行结果填入【】中。

(A) 12,2(B) 5,25(C) 2,12(D)不确定

1、一个C语言程序的语句至少应包含一个______。

2、C语言源程序文件的扩展名是______,经过编译、连接后,生成文件的扩展名是______。

3、结构化程序由顺序结构、______和______三种基本结构组成。

4、C语言的执行是从______开始执行的。

5、C源程序的语句分隔符是______。

6、在C语言中,用关键字______定义单精度实型变量。

7、表达式S=12应当读做“______”。

8、C语言源程序的基本单位是______。

9、设int x=9,y=8;表达式x-=y+1的结果是______。

10、若a为整型变量,a=12,则表达式:a*=2+3的值______。

11、调用C语言对输入输出处理的库函数时,在# include命令行中应包含的头文件是______。

13、若a为整型变量,a=12,则表达式:a+=4的值______。

14、在C语言中,要求运算数必须是整型的运算符是______。

15、在C语言中,用______表示逻辑“真”值。

16、7、表达式10/3的结果是______。

17、通常一个字节包含______个二进制位。

18、假设所有变量均为整型,a=2,b=5,b++则表达式a+b的值是______。

19、在C语言中,最基本的数据类型只有四种,它们分别是:______、______、______和double。

20、一个C程序有且仅有一个______函数。

21、若a为整型变量,a=12,则表达式:a-=2的值______。

22、在C语言中,有三种逻辑运算符,它们分别是:______、______、______。

23、在C语言中,字符输入函数和字符输出函数分别是:______和______。

24、C程序开发的四个步骤是______、______、______和执行。

25、C程序的结构分别是:顺序结构、______、______。

26、if语句中的表达式可以是关系表达式、______、______。

27、______是C语言中惟一一个三元运算符。

28、C语言提供的预处理命令主要包括如下三种:宏定义、______、______。