C语言期末考试试题(谭浩强版)
发布时间:2025-05-13 10:34:21 发布人:远客网络
一、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语言提供的预处理命令主要包括如下三种:宏定义、______、______。