C语言期末考试试卷及答案2

更新时间:2023-12-01 10:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、单项选择题 (本大题共20小题,每小题1分,共20分) 1. C语言程序由什么组成? ( )

A. 子程序 B. 主程序和子程序 C. 函数 D. 过程 2.以下属于C语言中的简单数据类型的是( )

A. int、float、long B. int、float、char、boolean C. char、byte、double D. int、boolean、long 3.以下那一个不是C语言合法的关键字( ) A. switch B. cher C. int D. double

4.设ch是char型变量,其值为’A’,则下面表达式的值是 ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch

A. A B. a C. Z D. z

5. 若执行printf(\语句其输出结果是( )

A 8 B 7 C 6 D 4

6. 若int a, b, c; 则表达式(a=2, b=5, b++, a+b)的值是( )

A. 7 B. 8 C. 6 D. 2 7. 以下运算符中优先级最高的为( )

A. && B. + C. * D. = 8.数组名作为实参传递给形参时,数组名被处理为( )

A 该数组的长度 B 该数组的元素个数 C 该数组的首地址 D 该数组中各元素的值 9. 表达式0x13^0x17的值是

A. 0x04 B. 0x13 C. 0xE8 D. 0x17 10.执行下列程序

#include “stdio.h” main()

{ printf(“%d\\n”,NULL) ;} 后输出的结果是()

A. –1 B. 0 C. 1 D. 2

11. 若有定义typedef char STRING[255]; STRING s; 则s是( ) A 字符指针数组变量 B字符指针变量 C 字符变量 D 字符数组变量

12. 判断char型变量c1是否小写字母的正确表达式为( ) A 'a'<=c1<='z' B (c1>='a')&&(c1<='z') C (c1>=a)&&(c1<=z) D ('a'<=c1)||('z'>=c1)

13. 设E为表达式,以下与do?while(E);不等价的语句是( )

A do?while(!E==0); B do?while(E>0||E<0); C do?while(E==0); D do?while(E!=0);

14.以下程序计算园的面积,程序编译时出错,出错的原因是( ) main()

/* Beginning */ {

int r; float s; acanf(“%d”,&r);

s=3.14*r*r;

printf(“s=%f\\n”,s);

}

A. 注释语句书写位置错误 B. 存放圆半径的变量r不应该定义为整型 C. 输出语句格式描述符非法 D.函数名书写错误

15.设char c[5]={‘a’,’b’,’\\0’,’c’,’\\0’};则printf(“%s”,c);的输出是( )

A. ‘a’ ‘b’ B. ab C. abc D. “ab\\0c” 16. 全局变量的存储类型可以定义为

A. auto 或 static B. extern 或 register C. auto 或 extern D. extern 或 static

17. 以下对C语言函数的有关描述中,正确的是( )

A 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B C函数既可以嵌套定义又可以递归调用 C 函数必须有返回值,否则不能使用函数

D C程序中有调用关系的所有函数必须放在同一个源程序文件中 18. 用来将两个字符串合并为一个字符串的函数是( )

A strcmp() B strcpy() C strlen() D strcat()

19.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值( ) 51TeA 0 B 1 C -1 D 一个非0值的 20.标准库函数fputs(p1,p2)的功能是

A. 从p1指向的文件中读一个字符串存入p2指向的内存 B. 从p2指向的文件中读一个字符串存入p1指向的内存 C. 从p1指向的内存中读一个字符串存入p2指向的文件 D. 从p2指向的内存中读一个字符串存入p1指向的文件 二、填空题 (本大题共10小题,每小题2分,共20分) 1.“n是大于整数m的偶数”的C语言表达式____________________________

2.在C语言中,标准输出设备、标准输入设备对应的文件指针分别是_______和_______ 3.当a=3,b=4,c=5时,写出下列各式的值a!=c的值为________________, a+b>c&&b==c的值为______________________。

4.静态型局部变量的作用域是______________________________________

5.下列函数要求计算两个整数x、y之和,并通过形参z传回该和值,请填空: void add(int x,int y, __________z) {__________=x+y;return;} 6.在C语言中,求平方根的函数是_____________________,求正弦函数是_______________ 7.假设有如下结构体类型说明:

struct test{ int a; int b; };

用一条语句定义上述结构体类型变量x和y的正确形式为___________________

将x的成员a和b分别赋值为3和5的正确形式为_______________;将x的成员a和b之和赋给y的成员a的正确形式为______________________. 8. 定义枚举类型的关键字为_________________________.

9.在c语言中,利用fopen以只读的方式打开当前目录下的a.txt文件的正确形式为____________________;利用fopen以只写的方式打开d盘根目录下的a.txt文件的正确形式为________________________________。

10.定义计算园面积的宏(r为半径) #define S(r) ___________________________ 三、程序分析题 (本大题共5小题,每小题5分,共25分)

1、若运行时输入:16<回车>,则以下程序的运行结果是__________________。 #include main()

{ int age;

printf(“Input your age : “); scanf(“%d”, &age); if (age>=18)

printf(“your $4.5yuan/hour”); else

printf(“Your $3.0yuan/hour”); }

2. 写出下列程序的输出结果_________________________ main() {

int x=100,a=10,b=20,ok1=5,ok2=0; if(a

printf(“%d\\n”,x); }

3. 写出下列程序的运行结果____________________________________________ #define PR(ar) printf(“%d ,” , ar) main() {

int j,a[]={2,4,6,8,10,12,14,16},*p=a+5; for(j=3; j ; j--) switch(j) {

case 1:

case 2: PR(*p++);break; case 3:PR(*(--p)); } }

4.以下程序的执行结果是________________________________________

#include

main( ) {

char str[]={“1a2b3c”}; int i;

for (i=0; str[i]!=’\\0’; i++) if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”, str[i]); printf(“\\n”); }

5.以下程序的执行结果是_______________________________________

struct st { int x; int *y; } *p;

int s[]={1,2,3,4};

struct st a[]={1, &s[0], 2, &s[1], 3, &s[2], 4, &s[3]}; main( ) { p=a;

printf(\ printf(\ printf(\

printf(\ }

四、程序填充题 (本大题共5小题,每小题4分。共20分)

1.以下程序从键盘输入一个整数,判断其是否为偶数,请填空。 main()

{ __________________;

scanf(“%d”,&x);

if(______________) printf(“偶数!”); ______________ printf(“奇数!”); }

2.以下程序从键盘输入10个数,输出总和及平均数,请填空。 main() { int k;

_____________________ for(k=1,sum=0;k<=10;k++) {

scanf(“%f”,&f); ________________

}

printf(“sum=%f, \\t average=%f\\n”,sum,sum/10); }

3. 以下函数用选择法对一个整数数组进行排序,请填空:

sort(int x[],int n) {

int h,j,k,t;

for(h=0;____________;h++) {

k=h;

for(j=h+1;j

if(x[j]>x[k]) ___________________;

if(k!=h)

{ t=x[h];x[h]=x[k];x[k]=t;} } }

4.以下程序用数组求Fibonacci数列的前20项,每5个一行输出,请填空:

#include main() {int I;

int f[20]={________________}; /*填空*/ for(I=2;I<20;I++) f[I]=f[I-2]+f[I-1]; for(I=0;I<20;I++) {

if(I%5==0) printf(______________);/*填空*/ printf(“d”,f[I]); } }

5. 下列程序的功能是将一个结构体数组写入一个文件中保存起来,请填空: #include struct Test { char a[20] ; } ; main(){

________________________;

struct Test x[3]= { {“test1”},{“test2”},{“test3”}}; int i;

fp = fopen (“d:\\\\cwz\\\\abc.bat”, ”wb”) ; for (i=0; i<3; i++)

________________________; _________________________; }

五、程序设计题 (本大题共2小题,第一题7分,第二题8分,共15分) 1. 设计一个显示文本文件内容的程序,文件名随程序执行时输入。

2.编写程序,根据输入的三个边长a、b、c,判断它们是否构成三角形,若能构成三角形,继续判断该三角形是等边、等腰还是一般三角形,并求出此三角形的面积和周长。

参考答案:

一、单项选择题

1.C 2.A 3.B 4.B 5.D 6.B 7.C 8.C 9.A 10.B 11.D 12.B 13.C 14.D 15.B 16.C 17.A 18.D 19.A 20.C 二、填空题

1. (n>m)&&(n%2==0) 2. stdin stdout 3. 1 0

4. 定义它的函数范围内有效

5. int * *z 6. sqrt() sin()

7. struct test x,y x.a=3;x.b=5 y.a=x.a+x.b 8. enum

9. fopen(“a.txt”, “r”) fopen(10. 3.14*(r)*(r) 三、程序分析题

1. Your $3.0yuan/hour 2. -1

3. 10,10,12, 4. 123

5. 1,2,3,5 四、程序填充题 1. int x;

x%2==0 else

2. float f,sum;

sum=sum+f; 3. h

k=j 4. 0,1

“\\n” 5. FILE *fp;

fwrite(&x[i],sizeof(struct test),1,fp); fclose(fp) 五、程序设计题

1. #include

main() {FILE *fp;

char name[20];

printf(“input filename”); scanf(“%s”, name);

if((fp=fopen(name,”r”))==NULL)

“a.txt”, “w”) {printf(“cannot open file\\n”); exit(0);

}

while (!feof(fp)) putc(fgetc(fp)); fclose(fp); }

2.#include \#include \main()

{ float a,b,c,cir,area;

scanf(\

if ((a+b>c)&&(b+c>a)&&(a+c>b))

{if (fabs(a-b)<1e-6&&fabs(b-c)<1e-6&&fabs(a-c)<1e-6) printf(\

else if (fabs(a-b)<1e-6||fabs(b-c)<1e-6||fabs(a-c)<1e-6) printf(\ else printf(\ cir=(a+b+c)/2;

area=sqrt(cir*(cir-a)*(cir-b)*(cir-c));

printf(\ area=%.2f\\n\ }

else printf(\ a triangle\ getch(); }

本文来源:https://www.bwwdw.com/article/d3ft.html

Top