当前位置:首页 > C语言期末考试试卷及答案2
一、单项选择题 (本大题共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
{ 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); }
共分享92篇相关文档